cvs: pearweb /include pear-auth.php /public_html logout.php xmlrpc.php /sql releases.sql

From: Date: Thu, 19 Apr 2001 11:45:52 +0000
Subject: cvs: pearweb /include pear-auth.php /public_html logout.php xmlrpc.php /sql releases.sql
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-49@lists.php.net to get a copy of this message
ssb Thu Apr 19 04:45:52 2001 EDT Added files: /pearweb/public_html xmlrpc.php Modified files: /pearweb/include pear-auth.php /pearweb/public_html logout.php /pearweb/sql releases.sql Log: * work so far on uploading packages (XML-RPC interface) Index: pearweb/include/pear-auth.php diff -u pearweb/include/pear-auth.php:1.2 pearweb/include/pear-auth.php:1.3 --- pearweb/include/pear-auth.php:1.2 Wed Apr 18 17:59:05 2001 +++ pearweb/include/pear-auth.php Thu Apr 19 04:45:48 2001 @@ -1,5 +1,7 @@ <?php +define('PEAR_AUTH_REALM', 'PEAR user'); + function auth_reject($realm, $message = "Login Failed!") { Header("HTTP/1.0 401 Unauthorized"); @@ -14,10 +16,10 @@ { global $PHP_AUTH_USER, $PHP_AUTH_PW, $dbh, $auth_user; - $realm = "PEAR user"; $auth_user =& new PEAR_User(&$dbh, strtolower($PHP_AUTH_USER)); + $auth_user->_readonly = true; if (DB::isError($auth_user) || md5($PHP_AUTH_PW) != $auth_user->password) { - auth_reject($realm); + auth_reject(PEAR_AUTH_REALM); } } Index: pearweb/public_html/logout.php diff -u pearweb/public_html/logout.php:1.1 pearweb/public_html/logout.php:1.2 --- pearweb/public_html/logout.php:1.1 Wed Apr 18 17:57:04 2001 +++ pearweb/public_html/logout.php Thu Apr 19 04:45:50 2001 @@ -4,6 +4,6 @@ Header("WWW-authenticate: basic realm=\"PEAR user\""); Header("Refresh: 1; url=\"./\""); -auth_reject("PEAR user", "Logging out"); +auth_reject(PEAR_AUTH_REALM, "Logging out"); ?> Index: pearweb/sql/releases.sql diff -u pearweb/sql/releases.sql:1.2 pearweb/sql/releases.sql:1.3 --- pearweb/sql/releases.sql:1.2 Wed Apr 18 17:59:05 2001 +++ pearweb/sql/releases.sql Thu Apr 19 04:45:51 2001 @@ -5,6 +5,8 @@ doneby VARCHAR(20) NOT NULL REFERENCES users(handle), releasedate DATETIME NOT NULL, releasenotes TEXT DEFAULT '', + md5sum VARCHAR(32), + distfile VARCHAR(200), PRIMARY KEY(id), UNIQUE INDEX(package, version) Index: pearweb/public_html/xmlrpc.php +++ pearweb/public_html/xmlrpc.php <?php // -*- C++ -*- require_once "xmlrpc.inc"; require_once "xmlrpcs.inc"; $test_sig = array(array($xmlrpcString)); $test_doc = "Test XML-RPC method"; function test_wrp($m) { $marg = $m->getParam(0); $arg = $marg->scalarval(); } $release_upload_sig = array(array($xmlrpcStruct, // return type $xmlrpcString, // package $xmlrpcString, // version $xmlrpcString, // release notes $xmlrpcBase64, // tar ball $xmlrpcString // md5sum )); $release_upload_doc = "Upload a new release for a package."; function release_upload($m) { // parameters: package, version, releasenotes, tarball, md5sum // implicit: doneby, releasedate // 1. verify that package exists // 2. verify that user has access // 3. verify that version does not exist // 4. store tar ball to temp file // 5. verify md5 checksum // later: do lots of integrity checks on the tarball global $xmlrpcerruser; $mpackage = $m->getParam(0); $mversion = $m->getParam(1); $mrelnotes = $m->getParam(2); $mdistfile = $m->getParam(3); $mmd5sum = $m->getParam(4); $package = $mpackage->scalarval(); $version = $mversion->scalarval(); $relnotes = $mrelnotes->scalarval(); $distfile = $mdistfile->scalarval(); $md5sum = $mmd5sum->scalarval(); if (md5($distfile) != $md5sum) { return new xmlrpcresp(0, $xmlrpcerruser, "bad md5 checksum"); } return new xmlrpcresp(new xmlrpcval("ok", "string")); } $s = new xmlrpc_server(array("release.upload" => array("function" => "release_upload", "signature" => $release_upload_sig, "docstring" => $release_upload_doc), )); ?>

« previous php.pear.cvs (#49) next »