# # # delete "www/automation.php" # # patch "www/admin-source_control.php" # from [7e051f8e151fc1c289cf364650ba81894dd0a098] # to [efa1ca7ed548b0f1ad07f7941666273c2a008eee] # # patch "www/admin-source_control_backend.php" # from [f51b654a12c5f94dfb9c75ac5d9502e4f4f4fd3f] # to [cd3cba112b959cf0c1b40ce2c25999aa1b98f9da] # # patch "www/admin.php" # from [fbd0d8196092c77c9c4fbd917f242cf2b113e79a] # to [6e1172e8a4dab9e605caef54d3024dca26c725d8] # # patch "www/common-ctrl.php" # from [faa67a0b50337520ed254b6056b9a2bb36796580] # to [d41653c72c600e71bfbb3701bc2ea53201939c1d] # ============================================================ --- www/admin-source_control.php 7e051f8e151fc1c289cf364650ba81894dd0a098 +++ www/admin-source_control.php efa1ca7ed548b0f1ad07f7941666273c2a008eee @@ -2,7 +2,7 @@ People allowed to write to the database: @@ -11,12 +11,16 @@ Keys already in the database:
Keys already in the database:
"); + print($key_item["hash"][0] . " " . $key_item["local_name"][0] . "
"); } } ?>
============================================================ --- www/admin-source_control_backend.php f51b654a12c5f94dfb9c75ac5d9502e4f4f4fd3f +++ www/admin-source_control_backend.php cd3cba112b959cf0c1b40ce2c25999aa1b98f9da @@ -1,6 +1,6 @@ include_once("common-ctrl.php"); encode(array("error" => "Key data doesn't look like a key.")); } else { - $result = mtn_automate(array("read_packets", $args->keydata), array()); - if ($result === false) { - print $json->encode(array("error" => "Unknown error.")); - } elseif ($result["errcode"] != 0) { - print $json->encode(array("error" => "Internal error: " . $result["error"])); + $command = "$monotone automate remote --db :memory: --remote-stdio-host $project.$hostname read_packets"; + exec("$command " . escapeshellarg($args->keydata) . " 2>&1", $output = array(), $return_code); + if ($return_code != 0) { + print $json->encode(array("error" => "Internal error: " . implode("\n", $output))); } else { print $json->encode(array("result" => "ok")); } ============================================================ --- www/admin.php fbd0d8196092c77c9c4fbd917f242cf2b113e79a +++ www/admin.php 6e1172e8a4dab9e605caef54d3024dca26c725d8 @@ -4,7 +4,6 @@ render_type; if($_ $project = $args->project; if($_REQUEST['project']) $project = $_REQUEST['project']; $render_type = $args->render_type; if($_REQUEST['render_type']) $render_type = $_REQUEST['render_type']; -$projdir = $project_dir . "/" . basename($project); -$projwww = $www_dir . "/projects/" . basename($project); -$monotone = "$monotone --confdir '$projdir'"; function getarg($name) { @@ -26,6 +23,11 @@ if (!$project) { if (basename(dirname(dirname($_SERVER['PHP_SELF']))) == "projects") $project = basename(dirname($_SERVER['PHP_SELF'])); } + +$projdir = $project_dir . "/" . basename($project); +$projwww = $www_dir . "/projects/" . basename($project); +$monotone = "$monotone --confdir '$projdir'"; + function allowed($what) { global $json, $permissions, $validuser, $username; if(!$validuser)
People allowed to write to the database:
-(key name)
+(key hash, or optionally name)