Commit Graph

60 Commits (336faa4503df5b232aeb219b7dc9829b99811765)

Author SHA1 Message Date
Thomas Keller 74baebde96 I changed my mind: remote automate access should be prevented for
private projects and we should also take care that the symlink that
enables it is dynamically created / removed when the private flag
changes for a project.
2011-01-18 15:43:35 +01:00
William MARTIN d654c95689 Fix issue 553 : Git escape too much character in a UTF-8 shell
Add an option to configure the git core.quotepath option
2011-01-06 14:03:07 +01:00
Thomas Keller dd05a58c8c Major configuration changes for SyncMonotone - we're now using a predefined
configuration tree as template for a new project and copy / symlink that on
project creation. To make this process a little more configurable, two new
configuration options, 'mtn_confdir' and 'mtn_confdir_extra', have been
added which allow the forge admin to adapt the directory structure and its
default hooks to his likings for all new projects. (More on that in
doc/syncmonotone.mdtext).
The 'mtn_remote_auth' configuration option was removed, because setting this
to false would have not worked for setups which did not allow write access
to remote automate commands for anonymous users and opening this would have
meant a huge security hole. Instead, for every project which is created a
corresponding client key is created as well which is used as authentication
in the IDF source frontend.
Finally the monolithic monotonerc file has been split up into individual,
easily configurable lua files which are linked / copied underknees hooks.d/
and which do not conflict with each other (for example by overwriting certain
main notification hooks).
2011-01-06 01:44:41 +01:00
Thomas Keller 039ae01cfa Use an even smarter way of including additional resources for monotone
by using a wildcard dir matcher and document this accordingly.
2010-10-30 22:09:55 +00:00
Thomas Keller 8a55952204 * use the built-in push_hook_functions to register the netsync hooks,
this way additional hooks which need these notifications as well
  do not override earlier hooks
* optionally include an additional hooks.lua file at the very end
  in which custom hooks can be defined
2010-10-28 19:45:45 +02:00
Thomas Keller 07aec736f5 Add --timestamp and --ticker=dot as default options for newly created
servers, which make it easier to follow the logs of individual servers.
2010-10-14 18:46:08 +00:00
Thomas Keller 50638c768f Ensure that the SyncMonotone plugin does not throw around errors
in case of a local (non-usher) monotone setup.
2010-09-17 02:36:48 +02:00
Thomas Keller b138548a10 * check if the project actually uses mtn as scm for the
membershipsUpdated signal
* code cleanup and simplification
2010-09-14 22:58:34 +00:00
Thomas Keller 36a58dcae2 * update the permissions on IDF_Project::membershipsUpdated - listen
to the same signal also for the initial setup, since the memberships
haven't been added at the time the create signal is thrown
* my array references goo was slightly stupid (the usage of foreach
is of course hazardous in cases like this)
* always insert a trailing new line in write-permissions and skip
read-in newlines from being processed
2010-09-14 22:30:28 +00:00
Thomas Keller a32d6d8265 * its late - put_public_key of course needs a specific database
* do not throw around exceptions if a key which should be removed is not found in the database
2010-09-13 01:13:49 +00:00
Thomas Keller 0f9f337e66 * configure whether or not to set remote client authentication for IDF -> remote_stdio
* hook into IDF_Project::preDelete, IDF_Key::postSave and IDF_Key::preDelete
* this is all not quite finished, but a big leap forward to completion
2010-09-13 00:53:24 +00:00
Thomas Keller 6b4abac08e - PHP doesn't like the $var = <init> kind of initialization and
won't return variable references properly, so revert that change
  again
- since we're requiring 0.99 now, we also have to use au generate_key
  instead of au genkey
2010-08-30 13:46:05 +00:00
Thomas Keller 82aaf43d5d - initial work on a mtn-post-push script which updates IDF's timeline
when new revisions arrive. this still needs some more tests, but
  its a start.
- refactor out the monotonerc template from SyncMonotone.php and
  place it in a separate template file (access control hooks are
  still missing from there)
2010-08-30 11:20:47 +00:00
Thomas Keller adae73080c simplify and harden the configuration file writeouts, didn't knew
file_put_contents was around for so long already...
2010-08-30 09:00:20 +02:00
Thomas Keller b648e6f7a7 - now that we have to configure usher's configuration file anyway,
we can skip the explicit configuration of its host and admin
  password, as we can directly read that from the configuration file
  itself
- expand the SyncMonotone plugin a bit to where this actually becomes
  useful, i.e.  create an accompanying key for each created database
  and also add some initial database-specific configuration
- update the config docs in idf.php-dist to reflect the changes and
  add more details about the inner workings of the SyncMonotone plugin
2010-08-29 23:01:25 +00:00
Thomas Keller af3df142d4 First attempt on a monotone plugin which creates a new database upon
project creation and adds the new server to the running usher instance.
If everything goes well, the usher instance is told to reload its
configuration, so the new server / database is picked up and started
automatically.
2010-08-28 23:10:08 +00:00
Thomas Keller 7f32a5679d * removed `type` field in IDF_Key on request of Loic and automatically detect
and validate raw key data
* reworked the parseMonotoneKeyData() function to parse ssh and monotone keys
* tweak help texts and exception strings
2010-08-24 23:30:12 +02:00
Thomas Keller e47d51d14c Add the possibility to save mtn public keys per user
* src/IDF/Key.php: new column "type" which is either "ssh" or "mtn";
  utility functions to query the mtn key name and id as well as
  all available key types for the current IDF installation
* src/IDF/Migrations/16KeyType.php: needed migration script
* src/IDF/Plugin/SyncGit/Cron.php: ensure only SSH keys are handled
* adapt forms and templates accordingly
2010-08-11 23:48:09 +02:00
Loic d'Anterroches 3e9229be5f Updated to set the subversion hooks at creation of the repository. 2010-05-20 10:42:51 +02:00
Vladimir Solomatin 430c9cb00e Fixed issue 467, exception when deleting an orphan git repo. 2010-05-17 19:40:26 +02:00
Mehdi Kabab 8f914c44a1 Fixed issue 459, variables not defined for exec in PHP 5.3. 2010-05-11 10:13:38 +02:00
Loic d'Anterroches b7833b5d23 Updated to have the latest .pot file. 2010-04-19 09:27:37 +02:00
Loic d'Anterroches 0f617f8e09 Fixed to directly use a PHP internal function, thanks piouPiouM. 2010-04-19 09:16:56 +02:00
Loic d'Anterroches 10f08386f7 Fixed to have a simpler code. 2010-04-15 15:40:36 +02:00
Loic d'Anterroches 45fa309c07 Fixed to have a simpler code. 2010-04-15 15:38:03 +02:00
Loic d'Anterroches 2ad13a96f9 Added the changegroup hook for Mercurial.
This is the last commit for 1.0, yeah\!
2010-04-15 15:20:50 +02:00
Loic d'Anterroches 73f95de843 Fixed a stupid typo in the hook configuration check. 2010-04-15 10:48:39 +02:00
Loic d'Anterroches 42f561dc75 Added the subversion post commit hook. 2010-04-15 10:00:05 +02:00
Loic d'Anterroches 8280add935 Moved the event logging just before the action. 2010-04-14 13:43:58 +02:00
Loic d'Anterroches bbc29c889f Added the post-update hook at the creation of the git repository. 2010-04-14 13:31:30 +02:00
Loic d'Anterroches e5ee6d8fca Added the first work on the scm post commit hooks. 2010-04-14 10:54:16 +02:00
Loic d'Anterroches cc6f1c7cd8 Added ticket 165, multiple SSH keys per user. 2010-02-22 22:27:31 +01:00
Loic d'Anterroches a5a5c7b2b6 Fixed security issue, read access on a git project marked as private and source access marked as login in/all access. 2010-02-19 17:43:29 +01:00
Loic d'Anterroches 3a28fe9d28 Fixed ticket 208, added more logging in GitServe and Scm backend. 2010-02-17 21:57:28 +01:00
Loic d'Anterroches 2b107c1610 Added ticket 391, password storage configuration variable for Mercurial. 2010-02-06 14:24:11 +01:00
Loic d'Anterroches 8d32905913 Fixed transient error when the git cron job creates the repository before the first push. 2009-10-09 10:35:13 +02:00
Loic d'Anterroches 157819195b Fixed issue 285, weird mkdir() error sometimes on first git push. 2009-09-21 10:03:33 +02:00
Loic d'Anterroches 82e2684004 Fixed to match with the name of configuration setting. 2009-07-13 16:11:20 +02:00
Loic d'Anterroches 2ab52e7eaf Added the possible deletion of the repository when deleting a subversion project. 2009-06-25 21:37:46 +02:00
Mehdi Kabab e235242ea6 Fixed issue 204, deleting a project does not remove the repository 2009-06-19 16:44:35 +02:00
Manuel Eidenberger 42c6f53fbc Added the ability to configure the paths to the SCM executables. 2009-02-25 14:28:14 +01:00
Loic d'Anterroches 6153cd0b13 Fixed issue 119, no environment for the shell_exec and exec calls.
For each call exec or shell_exec, I have added the ability to prepend a
string. For example '/usr/bin/env -i '.
2009-01-29 20:29:45 +01:00
Loic d'Anterroches d47530e128 Fixed stupid mistake in copy/paste. 2009-01-26 21:22:59 +01:00
Loic d'Anterroches fccdcaa878 Fully fix issue 112, creating Mercurial also gives Subversion repos. 2009-01-25 21:22:38 +01:00
Loic d'Anterroches dd6517c709 Fixed Issue 112, creating Mercurial also gives Subversion repos. 2009-01-25 21:09:31 +01:00
Loic d'Anterroches 6b32413e69 Automatically create the git repository during the cron run. 2009-01-21 20:05:03 +01:00
Loic d'Anterroches 49c8510d31 Fixed the rights in the sync file. 2009-01-21 19:29:03 +01:00
Loic d'Anterroches 28432296bf Fixed the bad static call. 2009-01-20 17:37:37 +01:00
Loic d'Anterroches 5d3ce34c4b Fixed to correctly update the git daemon export flag as needed. 2009-01-20 17:31:55 +01:00
Loic d'Anterroches 61f53c518f Added the latest elements of the git repositories control.
Now, need to write the documentation.
2009-01-20 10:33:56 +01:00