#!/usr/bin/env php \n\n", basename($argv[0])); exit(1); } list(, $pkg, $src) = $argv; $basename = basename($src); $dir = __DIR__."/../public/sigs/$pkg"; $key = __DIR__."/../build/replicator.key"; if (!is_dir($dir) && !mkdir($dir, 0755, true)) { exit(2); } if (($pwd = getenv("REPLICATOR_PWD"))) { if (!($stream = fopen("php://temp", "r+"))) { exit(4); } fwrite($stream, $pwd); rewind($stream); } else { $stream = STDIN; } $proc = proc_open("openssl dgst -sha256 -sign $key -passin fd:3 -out $dir/$basename.sig $src", [ ["pipe", "r"], ["pipe", "w"], ["file", $log, "a"], $stream ], $fds); if (!is_resource($proc)) { exit(3); } fclose($fds[0]); fpassthru($fds[1]); fclose($fds[1]); exit(proc_close($proc));