diff options
author | Michael Tänzer <neo@nhng.de> | 2011-07-27 01:03:24 +0200 |
---|---|---|
committer | Michael Tänzer <neo@nhng.de> | 2011-07-27 01:03:24 +0200 |
commit | b2c1b55f1be7930dadcdb656e929b9e9e0b54aa2 (patch) | |
tree | 76b1d1ee6cb0c84945085b521dc18147725ebcdf /includes/lib | |
parent | b5ee07271aea9e0722a7ed58e52f80b495d190d0 (diff) | |
download | cacert-devel-b2c1b55f1be7930dadcdb656e929b9e9e0b54aa2.tar.gz cacert-devel-b2c1b55f1be7930dadcdb656e929b9e9e0b54aa2.tar.xz cacert-devel-b2c1b55f1be7930dadcdb656e929b9e9e0b54aa2.zip |
bug 841: extract the whole cert-login into a function
Signed-off-by: Michael Tänzer <neo@nhng.de>
Diffstat (limited to 'includes/lib')
-rw-r--r-- | includes/lib/general.php | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/includes/lib/general.php b/includes/lib/general.php index 5a84303..7353d11 100644 --- a/includes/lib/general.php +++ b/includes/lib/general.php @@ -16,15 +16,32 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -function rootcertid($CertIssuerCN) +/** + * Checks if the user may log in and retrieve the user id + * + * Usually called with $_SERVER['SSL_CLIENT_M_SERIAL'] and + * $_SERVER['SSL_CLIENT_I_DN_CN'] + * + * @param $serial string + * usually $_SERVER['SSL_CLIENT_M_SERIAL'] + * @param $issuer_cn string + * usually $_SERVER['SSL_CLIENT_I_DN_CN'] + * @return int + * the user id, -1 in case of error + */ +function get_user_id_from_cert($serial, $issuer_cn) { - $query = "select * from `root_certs` where `Cert_Text`='".$CertIssuerCN."'"; + $query = "select `id` from `emailcerts` where + `serial`='".mysql_escape_string($serial)."' and + `rootcert`= (select `id` from `root_certs` where + `Cert_Text`='".mysql_escape_string($issuer_cn)."') and + `revoked`=0 and disablelogin=0 and + UNIX_TIMESTAMP(`expire`) - UNIX_TIMESTAMP() > 0"; $res = mysql_query($query); if(mysql_num_rows($res) > 0) { $row = mysql_fetch_assoc($res); - $rootcertid = intval($row['id']); - return $rootcertid; + return intval($row['id']); } return -1; |