You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cacert-webdb/includes/account.php

2516 lines
96 KiB
PHTML

<? /*
18 years ago
Copyright (C) 2004-2006 by Duane Groth <duane_at_CAcert_dot_org>
This file is part of CAcert.
CAcert has been released under a CAcert Source license
which can be found included with these source files or can
be downloaded from the internet from the following address:
http://www.cacert.org/src-lic.php
CAcert is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the License for more details.
*/
require_once("../includes/loggedin.php");
loadem("account");
19 years ago
$id = intval($_REQUEST['id']);
$oldid = intval($_REQUEST['oldid']);
18 years ago
if($id == 45 || $id == 46 || $oldid == 45 || $oldid == 46)
{
$id = 1;
unset($oldid);
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 1)
{
$id = 1;
19 years ago
if(strstr($_REQUEST['newemail'], "xn--") && $_SESSION['profile']['codesign'] <= 0)
{
showheader(_("My CAcert.org Account!"));
echo _("Due to the possibility for punycode domain exploits we currently do not allow any certificates to sign punycode domains or email addresses.");
showfooter();
exit;
}
18 years ago
if(trim(mysql_real_escape_string(stripslashes($_REQUEST['newemail']))) == "")
{
showheader(_("My CAcert.org Account!"));
19 years ago
printf(_("Not a valid email address. Can't continue."), $_REQUEST['email']);
showfooter();
exit;
}
unset($oldid);
18 years ago
$_REQUEST['email'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['newemail'])));
19 years ago
$query = "select * from `email` where `email`='".$_REQUEST['email']."' and `deleted`=0";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0)
{
showheader(_("My CAcert.org Account!"));
19 years ago
printf(_("The email address '%s' is already in the system. Can't continue."), $_REQUEST['email']);
showfooter();
exit;
}
19 years ago
$checkemail = checkEmail($_REQUEST['newemail']);
18 years ago
if($checkemail != "OK")
{
showheader(_("My CAcert.org Account!"));
echo "<p>"._("Email Address given was invalid, or a test connection couldn't be made to your server, or the server rejected the email address as invalid")."</p>\n";
echo "<p>$checkemail</p>\n";
showfooter();
exit;
}
18 years ago
$hash = make_hash();
19 years ago
$query = "insert into `email` set `email`='".$_REQUEST['email']."',`memid`='".$_SESSION['profile']['id']."',`created`=NOW(),`hash`='$hash'";
mysql_query($query);
$emailid = mysql_insert_id();
18 years ago
$body = _("Below is the link you need to open to verify your email address. Once your address is verified you will be able to start issuing certificates to your heart's content!")."\n\n";
$body .= "http://".$_SESSION['_config']['normalhostname']."/verify.php?type=email&emailid=$emailid&hash=$hash\n\n";
$body .= _("Best regards")."\n"._("CAcert.org Support!");
19 years ago
sendmail($_REQUEST['email'], "[CAcert.org] "._("Email Probe"), $body, "support@cacert.org", "", "", "CAcert Support");
showheader(_("My CAcert.org Account!"));
19 years ago
printf(_("The email address '%s' has been added to the system, however before any certificates for this can be issued you need to open the link in a browser that has been sent to your email address."), $_REQUEST['email']);
showfooter();
exit;
}
19 years ago
if($_REQUEST['makedefault'] != "" && $oldid == 2)
{
$id = 2;
$emailid = intval($emailid);
$query = "select * from `email` where `id`='$emailid' and `memid`='".$_SESSION['profile']['id']."' and `hash` = '' and `deleted`=0";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
showheader(_("Error!"));
echo _("You currently don't have access to the email address you selected, or you haven't verified it yet.");
showfooter();
exit;
}
$row = mysql_fetch_assoc($res);
18 years ago
$body = sprintf(_("Hi %s,"),$_SESSION['_config']['user']['fname'])."\n";
$body .= _("You are receiving this email because you or someone else")."\n";
$body .= _("has changed the default email on your account.")."\n\n";
$body .= _("Best regards")."\n"._("CAcert.org Support!");
sendmail($_SESSION['_config']['user']['email'], "[CAcert.org] "._("Default Account Changed"), $body,
"support@cacert.org", "", "", "CAcert Support");
$_SESSION['profile']['email'] = $row['email'];
$query = "update `users` set `email`='".$row['email']."' where `id`='".$_SESSION['profile']['id']."'";
mysql_query($query);
showheader(_("My CAcert.org Account!"));
printf(_("Your default email address has been updated to '%s'."), $row['email']);
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 2)
{
$id = 2;
showheader(_("My CAcert.org Account!"));
18 years ago
$delcount = 0;
if(is_array($delid))
foreach($delid as $id)
{
$id = intval($id);
$query = "select * from `email` where `id`='$id' and `memid`='".$_SESSION['profile']['id']."' and
`email`!='".$_SESSION['profile']['email']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
echo $row['email']."<br>\n";
$query = "select `emailcerts`.`id`
from `emaillink`,`emailcerts` where
`emailid`='$id' and `emaillink`.`emailcertsid`=`emailcerts`.`id` and
`revoked`=0 and UNIX_TIMESTAMP(`expire`)-UNIX_TIMESTAMP() > 0
group by `emailcerts`.`id`";
$dres = mysql_query($query);
while($drow = mysql_fetch_assoc($dres))
mysql_query("update `emailcerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$drow['id']."'");
$query = "update `email` set `deleted`=NOW() where `id`='$id'";
mysql_query($query);
18 years ago
$delcount++;
}
}
18 years ago
if($delcount > 0)
{
echo _("The following accounts have been removed:")."<br>\n";
} else {
echo _("You failed to select any accounts to be removed, or you attempted to remove the default account. No action was taken.");
}
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 3)
{
if(!is_array($addid))
{
showheader(_("My CAcert.org Account!"));
echo _("I didn't receive a valid Certificate Request, hit the back button and try again.");
showfooter();
exit;
}
$_SESSION['_config']['addid'] = $addid;
if($_SESSION['profile']['points'] >= 50)
$_SESSION['_config']['incname'] = intval($incname);
if($_REQUEST['codesign'] != 0 && ($_SESSION['profile']['codesign'] == 0 || $_SESSION['profile']['points'] < 100))
20 years ago
{
$_REQUEST['codesign'] = 0;
20 years ago
}
if($_SESSION['profile']['points'] >= 100 && $_SESSION['profile']['codesign'] > 0 && $_REQUEST['codesign'] == 1)
20 years ago
{
if($_SESSION['_config']['incname'] < 1 || $_SESSION['_config']['incname'] > 4)
$_SESSION['_config']['incname'] = 1;
}
if($_REQUEST['codesign'] == 1 && $_SESSION['profile']['points'] >= 100)
20 years ago
$_SESSION['_config']['codesign'] = 1;
else
$_SESSION['_config']['codesign'] = 0;
$_SESSION['_config']['rootcert'] = 1;
if($_SESSION['profile']['points'] >= 50)
{
$_SESSION['_config']['rootcert'] = intval($_REQUEST['rootcert']);
if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2)
$_SESSION['_config']['rootcert'] = 1;
}
19 years ago
$csr = "";
if(trim($_REQUEST['optionalCSR']) == "")
19 years ago
{
$id = 4;
} else {
$oldid = 4;
$_REQUEST['keytype'] = "MS";
$csr = trim($_REQUEST['optionalCSR']);
19 years ago
}
}
if($oldid == 4)
{
if($_REQUEST['keytype'] == "NS")
{
if($_REQUEST['SPKAC'] == "" || $_REQUEST['SPKAC'] == "deadbeef")
{
$id = 4;
showheader(_("My CAcert.org Account!"));
echo _("I didn't receive a valid Certificate Request, hit the back button and try again.");
showfooter();
exit;
}
$emailcount = 0;
$emails = "";
$addys = array();
if(is_array($_SESSION['_config']['addid']))
foreach($_SESSION['_config']['addid'] as $id)
{
$res = mysql_query("select * from `email` where `memid`='".$_SESSION['profile']['id']."' and `id`='$id'");
if(mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
if(!$emails)
$defaultemail = $row['email'];
19 years ago
$emails .= "$count.emailAddress = ".$row['email']."\n";
$count++;
$addys[] = $row['id'];
}
}
19 years ago
if($count <= 0)
{
$id = 4;
showheader(_("My CAcert.org Account!"));
echo _("You submitted invalid email addresses, or email address you no longer have control of. Can't continue with certificate request.");
showfooter();
exit;
}
18 years ago
$user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."'"));
18 years ago
if(strlen($user['mname']) == 1)
$user['mname'] .= '.';
if($_SESSION['_config']['incname'] <= 0 || $_SESSION['_config']['incname'] > 4)
$emails .= "commonName = CAcert WoT User\n";
if($_SESSION['_config']['incname'] == 1)
18 years ago
$emails .= "commonName = ".$user['fname']." ".$user['lname']."\n";
if($_SESSION['_config']['incname'] == 2)
18 years ago
$emails .= "commonName = ".$user['fname']." ".$user['mname']." ".$user['lname']."\n";
if($_SESSION['_config']['incname'] == 3)
18 years ago
$emails .= "commonName = ".$user['fname']." ".$user['lname']." ".$user['suffix']."\n";
if($_SESSION['_config']['incname'] == 4)
18 years ago
$emails .= "commonName = ".$user['fname']." ".$user['mname']." ".$user['lname']." ".$user['suffix']."\n";
$emails .= "SPKAC = ".str_replace("\n", "", str_replace("\r", "", $_REQUEST['SPKAC']));
$query = "insert into `emailcerts` set `CN`='$defaultemail', `keytype`='NS',
`memid`='".$_SESSION['profile']['id']."',
20 years ago
`created`=FROM_UNIXTIME(UNIX_TIMESTAMP()),
`codesign`='".$_SESSION['_config']['codesign']."',
`rootcert`='".$_SESSION['_config']['rootcert']."'";
mysql_query($query);
$emailid = mysql_insert_id();
if(is_array($addys))
foreach($addys as $addy)
mysql_query("insert into `emaillink` set `emailcertsid`='$emailid', `emailid`='$addy'");
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/client-$emailid.csr";
$fp = fopen($CSRname, "w");
fputs($fp, $emails);
fclose($fp);
mysql_query("update `emailcerts` set `csr_name`='$CSRname' where `id`='$emailid'");
} else if($_REQUEST['keytype'] == "MS") {
19 years ago
if($csr == "")
$csr = "-----BEGIN CERTIFICATE REQUEST-----\n".$CSR."-----END CERTIFICATE REQUEST-----\n";
$tmpfname = tempnam("/tmp", "CSR");
$fp = fopen($tmpfname, "w");
fputs($fp, $csr);
fclose($fp);
$addys = array();
$defaultemail = "";
18 years ago
$user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."'"));
18 years ago
if(strlen($user['mname']) == 1)
$user['mname'] .= '.';
if($_SESSION['_config']['incname'] <= 0 || $_SESSION['_config']['incname'] > 4)
$csrsubject = "/CN=CAcert WoT User";
if($_SESSION['_config']['incname'] == 1)
18 years ago
$csrsubject = "/CN=".$user['fname']." ".$user['lname'];
if($_SESSION['_config']['incname'] == 2)
18 years ago
$csrsubject = "/CN = ".$user['fname']." ".$user['mname']." ".$user['lname']."\n";
if($_SESSION['_config']['incname'] == 3)
18 years ago
$csrsubject = "/CN = ".$user['fname']." ".$user['lname']." ".$user['suffix']."\n";
if($_SESSION['_config']['incname'] == 4)
18 years ago
$csrsubject = "/CN = ".$user['fname']." ".$user['mname']." ".$user['lname']." ".$user['suffix']."\n";
if(is_array($_SESSION['_config']['addid']))
foreach($_SESSION['_config']['addid'] as $id)
{
$res = mysql_query("select * from `email` where `memid`='".$_SESSION['profile']['id']."' and `id`='$id'");
if(mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
if($defaultemail == "")
$defaultemail = $row['email'];
$csrsubject .= "/emailAddress=".$row['email'];
$addys[] = $row['id'];
}
}
$tmpname = tempnam("/tmp", "CSR");
$do = `/usr/bin/openssl req -in $tmpfname -out $tmpname`; // -subj "$csr"`;
@unlink($tmpfname);
$csr = "";
$fp = fopen($tmpname, "r");
while($data = fgets($fp, 4096))
$csr .= $data;
fclose($fp);
@unlink($tmpname);
if($csr == "")
{
$id = 4;
showheader(_("My CAcert.org Account!"));
echo _("I didn't receive a valid Certificate Request, hit the back button and try again.");
showfooter();
exit;
}
$query = "insert into `emailcerts` set `CN`='$defaultemail', `keytype`='MS',
`memid`='".$_SESSION['profile']['id']."',
`created`=FROM_UNIXTIME(UNIX_TIMESTAMP()),
18 years ago
`subject`='".mysql_real_escape_string($csrsubject)."',
`codesign`='".$_SESSION['_config']['codesign']."',
`rootcert`='".$_SESSION['_config']['rootcert']."'";
mysql_query($query);
$emailid = mysql_insert_id();
if(is_array($addys))
foreach($addys as $addy)
18 years ago
mysql_query("insert into `emaillink` set `emailcertsid`='$emailid', `emailid`='".mysql_real_escape_string($addy)."'");
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/client-$emailid.csr";
$fp = fopen($CSRname, "w");
fputs($fp, $csr);
fclose($fp);
mysql_query("update `emailcerts` set `csr_name`='$CSRname' where `id`='$emailid'");
}
20 years ago
$do = `../scripts/runclient`;
$query = "select * from `emailcerts` where `id`='$emailid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
$id = 4;
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
showfooter();
exit;
} else {
$id = 6;
$cert = $emailid;
}
}
if($oldid == 7)
{
18 years ago
list($newdomain, $crud) = explode(" ", $newdomain, 2);
while($newdomain['0'] == '-')
$newdomain = substr($newdomain, 1);
if(strstr($newdomain, "xn--") && $_SESSION['profile']['codesign'] <= 0)
{
showheader(_("My CAcert.org Account!"));
echo _("Due to the possibility for punycode domain exploits we currently do not allow any certificates to sign punycode domains or email addresses.");
showfooter();
exit;
}
20 years ago
$newdom = trim(escapeshellarg($newdomain));
18 years ago
$newdomain = mysql_real_escape_string(trim($newdomain));
20 years ago
$res1 = mysql_query("select * from `orgdomains` where `domain`='$newdomain'");
$query = "select * from `domains` where `domain`='$newdomain' and `deleted`=0";
$res2 = mysql_query($query);
if(mysql_num_rows($res1) > 0 || mysql_num_rows($res2))
{
unset($oldid);
$id = 7;
showheader(_("My CAcert.org Account!"));
printf(_("The domain '%s' is already in the system and is listed as valid. Can't continue."), $newdomain);
showfooter();
exit;
}
}
if($oldid == 7)
{
unset($oldid);
$id = 8;
$addy = array();
if(strtolower(substr($newdom, -4, 3)) != ".jp")
$adds = explode("\n", trim(`/usr/bin/whois $newdom|grep "@"`));
if(substr($newdomain, -4) == ".org" || substr($newdomain, -5) == ".info")
{
if(is_array($adds))
foreach($adds as $line)
{
$bits = explode(":", $line, 2);
$line = trim($bits[1]);
if(!in_array($line, $addy) && $line != "")
18 years ago
$addy[] = trim(mysql_real_escape_string(stripslashes($line)));
}
} else {
if(is_array($adds))
foreach($adds as $line)
{
$line = trim(str_replace("\t", " ", $line));
20 years ago
$line = trim(str_replace("(", "", $line));
$line = trim(str_replace(")", " ", $line));
$bits = explode(" ", $line);
foreach($bits as $bit)
{
if(strstr($bit, "@"))
$line = $bit;
}
if(!in_array($line, $addy) && $line != "")
18 years ago
$addy[] = trim(mysql_real_escape_string(stripslashes($line)));
}
}
$rfc = array("root@$newdomain", "hostmaster@$newdomain", "postmaster@$newdomain", "admin@$newdomain", "webmaster@$newdomain");
foreach($rfc as $sub)
if(!in_array($sub, $addy))
$addy[] = $sub;
$_SESSION['_config']['addy'] = $addy;
18 years ago
$_SESSION['_config']['domain'] = mysql_real_escape_string($newdomain);
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 8)
{
unset($oldid);
$id = 8;
$authaddy = trim(mysql_real_escape_string(stripslashes($_REQUEST['authaddy'])));
if($authaddy == "" || !is_array($_SESSION['_config']['addy']))
{
showheader(_("My CAcert.org Account!"));
echo _("The address you submitted isn't a valid authority address for the domain.");
showfooter();
exit;
}
if(!in_array($authaddy, $_SESSION['_config']['addy']))
{
showheader(_("My CAcert.org Account!"));
echo _("The address you submitted isn't a valid authority address for the domain.");
showfooter();
exit;
}
18 years ago
$query = "select * from `domains` where `domain`='".mysql_real_escape_string($_SESSION['_config']['domain'])."' and `deleted`=0";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0)
{
showheader(_("My CAcert.org Account!"));
printf(_("The domain '%s' is already in the system and is listed as valid. Can't continue."), $_SESSION['_config']['domain']);
showfooter();
exit;
}
18 years ago
$checkemail = checkEmail($authaddy);
18 years ago
if($checkemail != "OK")
{
showheader(_("My CAcert.org Account!"));
echo "<p>"._("Email Address given was invalid, or a test connection couldn't be made to your server, or the server rejected the email address as invalid")."</p>\n";
echo "<p>$checkemail</p>\n";
showfooter();
exit;
}
18 years ago
$hash = make_hash();
18 years ago
$query = "insert into `domains` set `domain`='".mysql_real_escape_string($_SESSION['_config']['domain'])."',
`memid`='".$_SESSION['profile']['id']."',`created`=NOW(),`hash`='$hash'";
mysql_query($query);
$domainid = mysql_insert_id();
18 years ago
$body = _("Below is the link you need to open to verify your email address. Once your address is verified you will be able to start issuing certificates to your heart's content!")."\n\n";
$body .= "http://".$_SESSION['_config']['normalhostname']."/verify.php?type=domain&domainid=$domainid&hash=$hash\n\n";
$body .= _("Best regards")."\n"._("CAcert.org Support!");
sendmail($authaddy, "[CAcert.org] "._("Email Probe"), $body, "support@cacert.org", "", "", "CAcert Support");
showheader(_("My CAcert.org Account!"));
printf(_("The domain '%s' has been added to the system, however before any certificates for this can be issued you need to open the link in a browser that has been sent to your email address."), $_SESSION['_config']['domain']);
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 9)
{
$id = 9;
showheader(_("My CAcert.org Account!"));
echo _("The following domains have been removed:")."<br>
("._("Any valid certificates will be revoked as well").")<br>\n";
if(is_array($delid))
foreach($delid as $id)
{
$id = intval($id);
$query = "select * from `domains` where `id`='$id' and `memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
echo $row['domain']."<br>\n";
mysql_query("update `domains` set `deleted`=NOW() where `id`='$id'");
$dres = mysql_query("select * from `domlink` where `domid`='$id'");
while($drow = mysql_fetch_assoc($dres))
mysql_query("update `domaincerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$drow['certid']."' and `revoked`=0 and UNIX_TIMESTAMP(`expire`)-UNIX_TIMESTAMP() > 0");
}
}
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 10)
{
18 years ago
$CSR = trim($_REQUEST['CSR']);
20 years ago
$_SESSION['_config']['tmpfname'] = tempnam("/tmp", "FOO");
$fp = fopen($_SESSION['_config']['tmpfname'], "w");
fputs($fp, $CSR);
fclose($fp);
$CSR = $_SESSION['_config']['tmpfname'];
$_SESSION['_config']['subject'] = trim(`/usr/bin/openssl req -text -noout -in "$CSR"|tr -d "\\0"|grep "Subject:"`);
$bits = explode(",", trim(`/usr/bin/openssl req -text -noout -in "$CSR"|tr -d "\\0"|grep -A1 'X509v3 Subject Alternative Name:'|grep DNS:`));
foreach($bits as $val)
{
$_SESSION['_config']['subject'] .= "/subjectAltName=".trim($val);
}
$id = 11;
$_SESSION['_config']['0.CN'] = $_SESSION['_config']['0.subjectAltName'] = "";
extractit();
getcn();
getalt();
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
showfooter();
exit;
}
$_SESSION['_config']['rootcert'] = 1;
if($_SESSION['profile']['points'] >= 50)
{
$_SESSION['_config']['rootcert'] = intval($_REQUEST['rootcert']);
if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2)
$_SESSION['_config']['rootcert'] = 1;
}
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 11)
{
$id = 11;
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
showfooter();
exit;
}
20 years ago
$subject = "";
$count = 0;
if(is_array($_SESSION['_config']['rows']))
foreach($_SESSION['_config']['rows'] as $row)
{
$count++;
if($count <= 1)
{
$subject .= "/CN=$row";
19 years ago
$subject .= "/subjectAltName=DNS:$row";
$subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$row";
} else {
19 years ago
$subject .= "/subjectAltName=DNS:$row";
$subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$row";
}
}
if(is_array($_SESSION['_config']['altrows']))
foreach($_SESSION['_config']['altrows'] as $row)
19 years ago
{
if(substr($row, 0, 4) == "DNS:")
{
$row = substr($row, 4);
$subject .= "/subjectAltName=DNS:$row";
$subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$row";
}
}
20 years ago
if($_SESSION['_config']['rowid']['0'] > 0)
{
18 years ago
$query = "insert into `domaincerts` set `CN`='".mysql_real_escape_string($_SESSION['_config']['rows']['0'])."',
`domid`='".mysql_real_escape_string($_SESSION['_config']['rowid']['0'])."',
`created`=NOW(),`subject`='".mysql_real_escape_string($subject)."',
`rootcert`='".mysql_real_escape_string($_SESSION['_config']['rootcert'])."'";
} else {
18 years ago
$query = "insert into `domaincerts` set `CN`='".mysql_real_escape_string($_SESSION['_config']['altrows']['0'])."',
`domid`='".mysql_real_escape_string($_SESSION['_config']['altid']['0'])."',
`created`=NOW(),`subject`='".mysql_real_escape_string($subject)."',
`rootcert`='".mysql_real_escape_string($_SESSION['_config']['rootcert'])."'";
}
mysql_query($query);
$CSRid = mysql_insert_id();
if(is_array($_SESSION['_config']['rowid']))
foreach($_SESSION['_config']['rowid'] as $dom)
mysql_query("insert into `domlink` set `certid`='$CSRid', `domid`='$dom'");
if(is_array($_SESSION['_config']['altid']))
foreach($_SESSION['_config']['altid'] as $dom)
mysql_query("insert into `domlink` set `certid`='$CSRid', `domid`='$dom'");
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/server-$CSRid.csr";
if(!file_exists($_SESSION['_config']['tmpfname']))
{
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
showfooter();
exit;
}
20 years ago
rename($_SESSION['_config']['tmpfname'], $CSRname);
mysql_query("update `domaincerts` set `CSR_name`='$CSRname' where `id`='$CSRid'");
$do = `../scripts/runserver`;
$query = "select * from `domaincerts` where `id`='$CSRid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
showfooter();
exit;
} else {
$id = 15;
$cert = $CSRid;
}
}
20 years ago
if($oldid == 12 && $renew != "")
{
$id = 12;
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now renewing the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`domaincerts`.`revoked`) as `revoke` from `domaincerts`,`domains`
where `domaincerts`.`id`='$id' and
`domaincerts`.`domid`=`domains`.`id` and
`domains`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
mysql_query("update `domaincerts` set `renewed`='1' where `id`='$id'");
$row = mysql_fetch_assoc($res);
18 years ago
$query = "insert into `domaincerts` set `domid`='".$row['domid']."', `CN`='".mysql_real_escape_string($row['CN'])."',
`csr_name`='".$row['csr_name']."', `created`='".$row['created']."',
`modified`=NOW(), `rootcert`='".$row['rootcert']."'";
mysql_query($query);
$newid = mysql_insert_id();
20 years ago
$newfile = $_SESSION['_config']['filepath']."/csr/server-$newid.csr";
copy($row['csr_name'], $newfile);
$_SESSION['_config']['subject'] = trim(`/usr/bin/openssl req -text -noout -in "$newfile"|tr -d "\\0"|grep "Subject:"`);
$bits = explode(",", trim(`/usr/bin/openssl req -text -noout -in "$newfile"|tr -d "\\0"|grep -A1 'X509v3 Subject Alternative Name:'|grep DNS:`));
foreach($bits as $val)
{
$_SESSION['_config']['subject'] .= "/subjectAltName=".trim($val);
}
$_SESSION['_config']['0.CN'] = $_SESSION['_config']['0.subjectAltName'] = "";
20 years ago
extractit();
getcn();
getalt();
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
20 years ago
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
20 years ago
showfooter();
exit;
}
$subject = "";
$count = 0;
if(is_array($_SESSION['_config']['rows']))
foreach($_SESSION['_config']['rows'] as $row)
{
$count++;
if($count <= 1)
{
$subject .= "/CN=$row";
if(!strstr($subject, "=$row/") &&
substr($subject, -strlen("=$row")) != "=$row")
$subject .= "/subjectAltName=$row";
} else {
if(!strstr($subject, "=$row/") &&
substr($subject, -strlen("=$row")) != "=$row")
$subject .= "/subjectAltName=$row";
}
}
if(is_array($_SESSION['_config']['altrows']))
foreach($_SESSION['_config']['altrows'] as $row)
if(!strstr($subject, "=$row/") &&
substr($subject, -strlen("=$row")) != "=$row")
$subject .= "/subjectAltName=$row";
18 years ago
$subject = mysql_real_escape_string($subject);
20 years ago
mysql_query("update `domaincerts` set `subject`='$subject',`csr_name`='$newfile' where `id`='$newid'");
echo _("Renewing").": ".$_SESSION['_config']['0.CN']."<br>\n";
$do = `../scripts/runserver`;
$query = "select * from `domaincerts` where `id`='$newid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
} else {
$drow = mysql_fetch_assoc($res);
$cert = `/usr/bin/openssl x509 -in $drow[crt_name]`;
echo "<pre>\n$cert\n</pre>\n";
}
}
}
showfooter();
exit;
}
20 years ago
if($oldid == 12 && $revoke != "")
{
$id = 12;
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now revoking the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`domaincerts`.`revoked`) as `revoke` from `domaincerts`,`domains`
where `domaincerts`.`id`='$id' and
`domaincerts`.`domid`=`domains`.`id` and
`domains`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
mysql_query("update `domaincerts` set `revoked`='1970-01-01 10:00:01' where `id`='$id'");
$do = `../scripts/runserver`;
printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']);
}
}
if(is_array($delid))
{
echo _("Now deleting the following pending requests:")."<br>\n";
foreach($delid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`domaincerts`.`expire`) as `expired` from `domaincerts`,`domains`
where `domaincerts`.`id`='$id' and
`domaincerts`.`domid`=`domains`.`id` and
`domains`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row['expired'] > 0)
{
printf(_("Couldn't remove the request for `%s`, request had already been processed.")."<br>\n", $row['CN']);
continue;
}
mysql_query("delete from `domaincerts` where `id`='$id'");
@unlink($row['csr_name']);
@unlink($row['crt_name']);
printf(_("Removed a pending request for '%s'")."<br>\n", $row['CN']);
}
}
showfooter();
exit;
}
20 years ago
if($oldid == 5 && $renew != "")
{
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now renewing the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`revoked`) as `revoke` from `emailcerts`
where `id`='$id' and `memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
mysql_query("update `emailcerts` set `renewed`='1' where `id`='$id'");
$row = mysql_fetch_assoc($res);
18 years ago
$query = "insert into `emailcerts` set `memid`='".$row['memid']."', `CN`='".mysql_real_escape_string($row['CN'])."',
`keytype`='".$row['keytype']."', `csr_name`='".$row['csr_name']."',
`created`='".$row['created']."', `modified`=NOW(),
`rootcert`='".$row['rootcert']."'";
mysql_query($query);
$newid = mysql_insert_id();
20 years ago
$newfile = $_SESSION['_config']['filepath']."/csr/client-$newid.csr";
copy($row['csr_name'], $newfile);
mysql_query("update `emailcerts` set `csr_name`='$newfile' where `id`='$newid'");
$res = mysql_query("select * from `emaillink` where `emailcertsid`='".$row['id']."'");
while($r2 = mysql_fetch_assoc($res))
{
mysql_query("insert into `emaillink` set `emailid`='".$r2['emailid']."',
`emailcertsid`='$newid'");
}
20 years ago
$do = `../scripts/runclient`;
$query = "select * from `emailcerts` where `id`='$newid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
} else {
printf(_("Certificate for '%s' has been renewed."), $row['CN']);
echo "<a href='account.php?id=6&cert=$newid' target='_new'>".
_("Click here")."</a> "._("to install your certificate.");
}
}
}
showfooter();
exit;
}
20 years ago
if($oldid == 5 && $revoke != "")
{
$id = 5;
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now revoking the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`revoked`) as `revoke` from `emailcerts`
where `id`='$id' and `memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
mysql_query("update `emailcerts` set `revoked`='1970-01-01 10:00:01' where `id`='$id'");
20 years ago
$do = `../scripts/runclient`;
printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']);
}
}
if(is_array($delid))
{
echo _("Now deleting the following pending requests:")."<br>\n";
foreach($delid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`expire`) as `expired` from `emailcerts`
where `id`='$id' and `memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row['expired'] > 0)
{
printf(_("Couldn't remove the request for `%s`, request had already been processed.")."<br>\n", $row['CN']);
continue;
}
mysql_query("delete from `emailcerts` where `id`='$id'");
@unlink($row['csr_name']);
@unlink($row['crt_name']);
printf(_("Removed a pending request for '%s'")."<br>\n", $row['CN']);
}
}
showfooter();
exit;
}
if($id == 13 && $_SESSION['_config']['user']['set'] != 1)
{
$_SESSION['_config']['user'] = $_SESSION['profile'];
$_SESSION['_config']['user']['set'] = 1;
}
19 years ago
if($oldid == 13 && $_REQUEST['process'] != "")
{
$_SESSION['_config']['user']['fname'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['fname']))));
$_SESSION['_config']['user']['mname'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['mname']))));
$_SESSION['_config']['user']['lname'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['lname']))));
$_SESSION['_config']['user']['suffix'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['suffix']))));
$_SESSION['_config']['user']['day'] = intval($_REQUEST['day']);
$_SESSION['_config']['user']['month'] = intval($_REQUEST['month']);
$_SESSION['_config']['user']['year'] = intval($_REQUEST['year']);
$_SESSION['_config']['user']['Q1'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['Q1']))));
$_SESSION['_config']['user']['Q2'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['Q2']))));
$_SESSION['_config']['user']['Q3'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['Q3']))));
$_SESSION['_config']['user']['Q4'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['Q4']))));
$_SESSION['_config']['user']['Q5'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['Q5']))));
$_SESSION['_config']['user']['A1'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['A1']))));
$_SESSION['_config']['user']['A2'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['A2']))));
$_SESSION['_config']['user']['A3'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['A3']))));
$_SESSION['_config']['user']['A4'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['A4']))));
$_SESSION['_config']['user']['A5'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['A5']))));
18 years ago
if($_SESSION['_config']['user']['Q1'] == $_SESSION['_config']['user']['Q2'] ||
$_SESSION['_config']['user']['Q1'] == $_SESSION['_config']['user']['Q3'] ||
$_SESSION['_config']['user']['Q1'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['Q1'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['Q2'] == $_SESSION['_config']['user']['Q3'] ||
$_SESSION['_config']['user']['Q2'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['Q2'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['Q3'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['Q3'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['Q4'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['Q1'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['Q2'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['Q3'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['Q3'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['A3'] == $_SESSION['_config']['user']['Q4'] ||
$_SESSION['_config']['user']['A3'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['A4'] == $_SESSION['_config']['user']['Q5'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['A2'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['A3'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['A4'] ||
$_SESSION['_config']['user']['A1'] == $_SESSION['_config']['user']['A5'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['A3'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['A4'] ||
$_SESSION['_config']['user']['A2'] == $_SESSION['_config']['user']['A5'] ||
$_SESSION['_config']['user']['A3'] == $_SESSION['_config']['user']['A4'] ||
$_SESSION['_config']['user']['A3'] == $_SESSION['_config']['user']['A5'] ||
$_SESSION['_config']['user']['A4'] == $_SESSION['_config']['user']['A5'])
{
$_SESSION['_config']['errmsg'] .= _("For your own security you must enter 5 different password questions and answers. You aren't allowed to duplicate questions, set questions as answers or use the question as the answer.")."<br>\n";
$id = $oldid;
unset($oldid);
}
if($_SESSION['_config']['user']['Q1'] == "" || $_SESSION['_config']['user']['Q2'] == "" ||
$_SESSION['_config']['user']['Q3'] == "" || $_SESSION['_config']['user']['Q4'] == "" ||
$_SESSION['_config']['user']['Q5'] == "")
{
$_SESSION['_config']['errmsg'] .= _("For your own security you must enter 5 lost password questions and answers.")."<br>";
$id = $oldid;
unset($oldid);
}
}
19 years ago
if($oldid == 13 && $_REQUEST['process'] != "")
{
19 years ago
$ddquery = "select sum(`points`) as `total` from `notary` where `to`='".$_SESSION['profile']['id']."' group by `to`";
$ddres = mysql_query($ddquery);
$ddrow = mysql_fetch_assoc($ddres);
$_SESSION['profile']['points'] = $ddrow['total'];
if($_SESSION['profile']['points'] == 0)
{
if($_SESSION['_config']['user']['fname'] == "" || $_SESSION['_config']['user']['lname'] == "")
{
$_SESSION['_config']['errmsg'] .= _("First and Last name fields can not be blank.")."<br>";
$id = $oldid;
unset($oldid);
}
if($_SESSION['_config']['user']['year'] < 1900 || $_SESSION['_config']['user']['month'] < 1 || $_SESSION['_config']['user']['month'] > 12 ||
$_SESSION['_config']['user']['day'] < 1 || $_SESSION['_config']['user']['day'] > 31)
{
$_SESSION['_config']['errmsg'] .= _("Invalid date of birth")."<br>\n";
$id = $oldid;
unset($oldid);
}
}
}
19 years ago
if($oldid == 13 && $_REQUEST['process'] != "")
{
19 years ago
if($_SESSION['profile']['points'] == 0)
{
$query = "update `users` set `fname`='".$_SESSION['_config']['user']['fname']."',
`mname`='".$_SESSION['_config']['user']['mname']."',
`lname`='".$_SESSION['_config']['user']['lname']."',
`suffix`='".$_SESSION['_config']['user']['suffix']."',
`dob`='".$_SESSION['_config']['user']['year']."-".$_SESSION['_config']['user']['month']."-".$_SESSION['_config']['user']['day']."'
where `id`='".$_SESSION['profile']['id']."'";
mysql_query($query);
}
$query = "update `users` set `Q1`='".$_SESSION['_config']['user']['Q1']."',
`Q2`='".$_SESSION['_config']['user']['Q2']."',
`Q3`='".$_SESSION['_config']['user']['Q3']."',
`Q4`='".$_SESSION['_config']['user']['Q4']."',
`Q5`='".$_SESSION['_config']['user']['Q5']."',
`A1`='".$_SESSION['_config']['user']['A1']."',
`A2`='".$_SESSION['_config']['user']['A2']."',
`A3`='".$_SESSION['_config']['user']['A3']."',
`A4`='".$_SESSION['_config']['user']['A4']."',
`A5`='".$_SESSION['_config']['user']['A5']."'
where `id`='".$_SESSION['profile']['id']."'";
mysql_query($query);
$_SESSION['_config']['user']['set'] = 0;
$_SESSION['profile'] = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."'"));
$_SESSION['profile']['loggedin'] = 1;
$id = 13;
showheader(_("My CAcert.org Account!"));
echo _("Your details have been updated with the database.");
showfooter();
exit;
}
19 years ago
if($oldid == 14 && $_REQUEST['process'] != "")
{
$_SESSION['_config']['user']['oldpass'] = trim(mysql_real_escape_string(stripslashes($oldpassword)));
$_SESSION['_config']['user']['pword1'] = trim(mysql_real_escape_string(stripslashes($pword1)));
$_SESSION['_config']['user']['pword2'] = trim(mysql_real_escape_string(stripslashes($pword2)));
$id = 14;
showheader(_("My CAcert.org Account!"));
if($_SESSION['_config']['user']['pword1'] == "" || $_SESSION['_config']['user']['pword1'] != $_SESSION['_config']['user']['pword2'])
{
echo _("New Pass Phrases specified don't match or were blank.");
} else {
$score = checkpw($_SESSION['_config']['user']['pword1'], $_SESSION['profile']['email'], $_SESSION['profile']['fname'],
$_SESSION['profile']['mname'], $_SESSION['profile']['lname'], $_SESSION['profile']['suffix']);
18 years ago
if($_SESSION['_config']['hostname'] != $_SESSION['_config']['securehostname'])
{
$match = mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."' and
19 years ago
(`password`=old_password('".$_SESSION['_config']['user']['oldpass']."') or
`password`=sha1('".$_SESSION['_config']['user']['oldpass']."'))");
18 years ago
$rc = mysql_num_rows($match);
} else {
$rc = 1;
}
if(strlen($_SESSION['_config']['user']['pword1']) < 6) {
echo _("The Pass Phrase you submitted was too short.");
} else if($score < 3) {
printf(_("The Pass Phrase you submitted failed to contain enough differing characters and/or contained words from your name and/or email address. Only scored %s points out of 6."), $score);
18 years ago
} else if($rc <= 0) {
echo _("You failed to correctly enter your current Pass Phrase.");
} else {
19 years ago
mysql_query("update `users` set `password`=sha1('".$_SESSION['_config']['user']['pword1']."')
where `id`='".$_SESSION['profile']['id']."'");
echo _("Your Pass Phrase has been updated and your primary email account has been notified of the change.");
18 years ago
$body = sprintf(_("Hi %s,"),$_SESSION['_config']['user']['fname'])."\n";
$body .= _("You are receiving this email because you or someone else")."\n";
$body .= _("has changed the password on your account.")."\n";
$body .= _("Best regards")."\n"._("CAcert.org Support!");
sendmail($_SESSION['_config']['user']['email'], "[CAcert.org] "._("Password Update Notification"), $body,
"support@cacert.org", "", "", "CAcert Support");
}
}
showfooter();
exit;
}
if($oldid == 16)
{
$id = 16;
$_SESSION['_config']['emails'] = array();
foreach($_REQUEST['emails'] as $val)
{
18 years ago
$val = mysql_real_escape_string(stripslashes(trim($val)));
$bits = explode("@", $val);
$count = count($bits);
if($count != 2)
continue;
if(checkownership($bits[1]) == false)
continue;
if(!is_array($_SESSION['_config']['row']))
continue;
else if($_SESSION['_config']['row']['id'] > 0)
$_SESSION['_config']['domids'][] = $_SESSION['_config']['row']['id'];
if($val != "")
$_SESSION['_config']['emails'][] = $val;
}
18 years ago
$_SESSION['_config']['name'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['name'])));
$_SESSION['_config']['OU'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['OU'])));
}
if($oldid == 16 && (intval(count($_SESSION['_config']['emails'])) + 0) <= 0)
{
$id = 16;
showheader(_("My CAcert.org Account!"));
echo _("I couldn't match any emails against your organisational account.");
showfooter();
exit;
}
19 years ago
if($oldid == 16 && $_REQUEST['process'] != "")
{
$_SESSION['_config']['rootcert'] = intval($_REQUEST['rootcert']);
if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2)
$_SESSION['_config']['rootcert'] = 1;
if(@count($_SESSION['_config']['emails']) > 0)
$id = 17;
}
if($oldid == 17)
{
$org = $_SESSION['_config']['row'];
if($_REQUEST['keytype'] == "NS")
{
if($_REQUEST['SPKAC'] == "" || strlen($_REQUEST['SPKAC']) < 128)
{
$id = 17;
showheader(_("My CAcert.org Account!"));
echo _("I didn't receive a valid Certificate Request, hit the back button and try again.");
showfooter();
exit;
}
19 years ago
$count = 0;
$emails = "";
$addys = array();
if(is_array($_SESSION['_config']['emails']))
19 years ago
foreach($_SESSION['_config']['emails'] as $_REQUEST['email'])
{
if(!$emails)
19 years ago
$defaultemail = $_REQUEST['email'];
$emails .= "$count.emailAddress = $_REQUEST[email]\n";
$count++;
}
if($_SESSION['_config']['name'] != "")
$emails .= "commonName = ".$_SESSION['_config']['name']."\n";
if($org['OU'])
18 years ago
$emails .= "organizationalUnitName = ".$_SESSION['_config']['OU']."\n";
if($org['O'])
$emails .= "organizationName = ".$org['O']."\n";
if($org['L'])
$emails .= "localityName = ".$org['L']."\n";
if($org['ST'])
$emails .= "stateOrProvinceName = ".$org['ST']."\n";
if($org['C'])
$emails .= "countryName = ".$org['C']."\n";
$emails .= "SPKAC = ".str_replace("\n", "", str_replace("\r", "", $_REQUEST['SPKAC']));
$query = "insert into `orgemailcerts` set `CN`='$defaultemail', `keytype`='NS',
`orgid`='".$org['orgid']."',
`created`=FROM_UNIXTIME(UNIX_TIMESTAMP()),
`rootcert`='".$_SESSION['_config']['rootcert']."'";
mysql_query($query);
$emailid = mysql_insert_id();
foreach($_SESSION['_config']['domids'] as $addy)
mysql_query("insert into `domemaillink` set `emailcertsid`='$emailid', `emailid`='$addy'");
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/orgclient-$emailid.csr";
$fp = fopen($CSRname, "w");
fputs($fp, $emails);
fclose($fp);
mysql_query("update `orgemailcerts` set `csr_name`='$CSRname' where `id`='$emailid'");
} else if($_REQUEST['keytype'] == "MS") {
$csr = "-----BEGIN CERTIFICATE REQUEST-----\n".$CSR."-----END CERTIFICATE REQUEST-----\n";
$tmpfname = tempnam("/tmp", "CSR");
$fp = fopen($tmpfname, "w");
fputs($fp, $csr);
fclose($fp);
$addys = array();
$defaultemail = "";
if($_SESSION['_config']['name'] != "")
$csrsubject = "/CN=".$_SESSION['_config']['name'];
if(is_array($_SESSION['_config']['emails']))
19 years ago
foreach($_SESSION['_config']['emails'] as $_REQUEST['email'])
{
if($defaultemail == "")
19 years ago
$defaultemail = $_REQUEST['email'];
$csrsubject .= "/emailAddress=$_REQUEST[email]";
}
if($org['OU'])
18 years ago
$csrsubject .= "/organizationalUnitName=".$_SESSION['_config']['OU'];
if($org['O'])
$csrsubject .= "/organizationName=".$org['O'];
if($org['L'])
$csrsubject .= "/localityName=".$org['L'];
if($org['ST'])
$csrsubject .= "/stateOrProvinceName=".$org['ST'];
if($org['C'])
$csrsubject .= "/countryName=".$org['C'];
$tmpname = tempnam("/tmp", "CSR");
$do = `/usr/bin/openssl req -in $tmpfname -out $tmpname`;
@unlink($tmpfname);
$csr = "";
$fp = fopen($tmpname, "r");
while($data = fgets($fp, 4096))
$csr .= $data;
fclose($fp);
@unlink($tmpname);
if($csr == "")
{
showheader(_("My CAcert.org Account!"));
echo _("I didn't receive a valid Certificate Request, hit the back button and try again.");
showfooter();
exit;
}
$query = "insert into `orgemailcerts` set `CN`='$defaultemail', `keytype`='MS',
`orgid`='".$org['orgid']."',
`created`=FROM_UNIXTIME(UNIX_TIMESTAMP()),
`subject`='$csrsubject',
`rootcert`='".$_SESSION['_config']['rootcert']."'";
mysql_query($query);
$emailid = mysql_insert_id();
foreach($_SESSION['_config']['domids'] as $addy)
mysql_query("insert into `domemaillink` set `emailcertsid`='$emailid', `emailid`='$addy'");
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/orgclient-$emailid.csr";
$fp = fopen($CSRname, "w");
fputs($fp, $csr);
fclose($fp);
mysql_query("update `orgemailcerts` set `csr_name`='$CSRname' where `id`='$emailid'");
}
20 years ago
$do = `../scripts/runclient`;
$query = "select * from `orgemailcerts` where `id`='$emailid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
showfooter();
exit;
} else {
$id = 19;
$cert = $emailid;
}
}
20 years ago
if($oldid == 18 && $renew != "")
{
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
$id = 18;
echo _("Now renewing the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`revoked`) as `revoke` from `orgemailcerts`, `org`
where `orgemailcerts`.`id`='$id' and `org`.`memid`='".$_SESSION['profile']['id']."' and
`org`.`orgid`=`orgemailcerts`.`orgid`";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
mysql_query("update `orgemailcerts` set `renewed`='1' where `id`='$id'");
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
$query = "insert into `orgemailcerts` set `orgid`='".$row['orgid']."', `CN`='".$row['CN']."',
`keytype`='".$row['keytype']."', `csr_name`='".$row['csr_name']."',
`created`='".$row['created']."', `modified`=NOW(),
`subject`='".$row['subject']."', `rootcert`='".$row['rootcert']."'";
mysql_query($query);
$newid = mysql_insert_id();
20 years ago
$newfile = $_SESSION['_config']['filepath']."/csr/orgclient-$newid.csr";
copy($row['csr_name'], $newfile);
mysql_query("update `orgemailcerts` set `csr_name`='$newfile' where `id`='$newid'");
20 years ago
$do = `../scripts/runclient`;
$query = "select * from `orgemailcerts` where `id`='$newid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
} else {
printf(_("Certificate for '%s' has been renewed."), $row['CN']);
echo "<a href='account.php?id=19&cert=$newid' target='_new'>".
_("Click here")."</a> "._("to install your certificate.");
}
}
}
showfooter();
exit;
}
20 years ago
if($oldid == 18 && $revoke != "")
{
$id = 18;
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now revoking the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`revoked`) as `revoke` from `orgemailcerts`, `org`
where `orgemailcerts`.`id`='$id' and `org`.`memid`='".$_SESSION['profile']['id']."' and
`org`.`orgid`=`orgemailcerts`.`orgid`";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
mysql_query("update `orgemailcerts` set `revoked`='1970-01-01 10:00:01' where `id`='$id'");
20 years ago
$do = `../scripts/runclient`;
printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']);
}
}
if(is_array($delid))
{
echo _("Now deleting the following pending requests:")."<br>\n";
foreach($delid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`expire`) as `expired` from `orgemailcerts`, `org`
where `orgemailcerts`.`id`='$id' and `org`.`memid`='".$_SESSION['profile']['id']."' and
`org`.`orgid`=`orgemailcerts`.`orgid`";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row['expired'] > 0)
{
printf(_("Couldn't remove the request for `%s`, request had already been processed.")."<br>\n", $row['CN']);
continue;
}
mysql_query("delete from `orgemailcerts` where `id`='$id'");
@unlink($row['csr_name']);
@unlink($row['crt_name']);
printf(_("Removed a pending request for '%s'")."<br>\n", $row['CN']);
}
}
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 20)
{
$CSR = trim($CSR);
20 years ago
$_SESSION['_config']['tmpfname'] = tempnam("/tmp", "FOO");
$fp = fopen($_SESSION['_config']['tmpfname'], "w");
fputs($fp, $CSR);
fclose($fp);
$CSR = $_SESSION['_config']['tmpfname'];
$_SESSION['_config']['subject'] = trim(`/usr/bin/openssl req -text -noout -in "$CSR"|tr -d "\\0"|grep "Subject:"`);
$bits = explode(",", trim(`/usr/bin/openssl req -text -noout -in "$CSR"|tr -d "\\0"|grep -A1 'X509v3 Subject Alternative Name:'|grep DNS:`));
foreach($bits as $val)
{
$_SESSION['_config']['subject'] .= "/subjectAltName=".trim($val);
}
$id = 21;
$_SESSION['_config']['0.CN'] = $_SESSION['_config']['0.subjectAltName'] = "";
extractit();
getcn2();
getalt2();
$query = "select * from `orginfo`,`org`,`orgdomains` where
`org`.`memid`='".$_SESSION['profile']['id']."' and
`org`.`orgid`=`orginfo`.`id` and
`org`.`orgid`=`orgdomains`.`orgid` and
20 years ago
`orgdomains`.`domain`='".$_SESSION['_config']['0.CN']."'";
$_SESSION['_config']['CNorg'] = mysql_fetch_assoc(mysql_query($query));
$query = "select * from `orginfo`,`org`,`orgdomains` where
`org`.`memid`='".$_SESSION['profile']['id']."' and
`org`.`orgid`=`orginfo`.`id` and
`org`.`orgid`=`orgdomains`.`orgid` and
`orgdomains`.`domain`='".$_SESSION['_config']['0.subjectAltName']."'";
$_SESSION['_config']['SANorg'] = mysql_fetch_assoc(mysql_query($query));
//echo "<pre>"; print_r($_SESSION['_config']); die;
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
{
$id = 20;
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
showfooter();
exit;
}
$_SESSION['_config']['rootcert'] = intval($_REQUEST['rootcert']);
if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2)
$_SESSION['_config']['rootcert'] = 1;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 21)
{
20 years ago
$id = 21;
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
showfooter();
exit;
}
if($_SESSION['_config']['rowid']['0'] > 0)
{
$query = "select * from `org`,`orginfo` where
`orginfo`.`id`='".$_SESSION['_config']['rowid']['0']."' and
`orginfo`.`id`=`org`.`orgid` and
`org`.`memid`='".$_SESSION['profile']['id']."'";
} else {
$query = "select * from `org`,`orginfo` where
`orginfo`.`id`='".$_SESSION['_config']['altid']['0']."' and
`orginfo`.`id`=`org`.`orgid` and
`org`.`memid`='".$_SESSION['profile']['id']."'";
}
$org = mysql_fetch_assoc(mysql_query($query));
19 years ago
$csrsubject = "";
if($org['OU'])
18 years ago
$csrsubject .= "/organizationalUnitName=".$_SESSION['_config']['OU'];
if($org['O'])
$csrsubject .= "/organizationName=".$org['O'];
if($org['L'])
$csrsubject .= "/localityName=".$org['L'];
if($org['ST'])
$csrsubject .= "/stateOrProvinceName=".$org['ST'];
if($org['C'])
$csrsubject .= "/countryName=".$org['C'];
if($org['contact'])
$csrsubject .= "/emailAddress=".trim($org['contact']);
if(is_array($_SESSION['_config']['rows']))
foreach($_SESSION['_config']['rows'] as $row)
$csrsubject .= "/commonName=$row";
if(is_array($_SESSION['_config']['altrows']))
foreach($_SESSION['_config']['altrows'] as $subalt)
{
if($SAN != "")
$SAN .= ",";
$SAN .= "$subalt";
}
if($SAN != "")
19 years ago
$csrsubject .= "/subjectAltName=".$SAN;
if($_SESSION['_config']['rowid']['0'] > 0)
{
$query = "insert into `orgdomaincerts` set `CN`='".$_SESSION['_config']['rows']['0']."',
`orgid`='".$org['id']."',
`created`=NOW(),`subject`='$csrsubject',
`rootcert`='".$_SESSION['_config']['rootcert']."'";
} else {
$query = "insert into `orgdomaincerts` set `CN`='".$_SESSION['_config']['altrows']['0']."',
`orgid`='".$org['id']."',
`created`=NOW(),`subject`='$csrsubject',
`rootcert`='".$_SESSION['_config']['rootcert']."'";
}
mysql_query($query);
$CSRid = mysql_insert_id();
20 years ago
$CSRname = $_SESSION['_config']['filepath']."/csr/orgserver-$CSRid.csr";
20 years ago
rename($_SESSION['_config']['tmpfname'], $CSRname);
mysql_query("update `orgdomaincerts` set `CSR_name`='$CSRname' where `id`='$CSRid'");
if(is_array($_SESSION['_config']['rowid']))
foreach($_SESSION['_config']['rowid'] as $id)
mysql_query("insert into `orgdomlink` set `orgdomid`='$id', `orgcertid`='$CSRid'");
if(is_array($_SESSION['_config']['altid']))
foreach($_SESSION['_config']['altid'] as $id)
mysql_query("insert into `orgdomlink` set `orgdomid`='$id', `orgcertid`='$CSRid'");
$do = `../scripts/runserver`;
$query = "select * from `orgdomaincerts` where `id`='$CSRid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
showfooter();
exit;
} else {
$id = 23;
$cert = $CSRid;
}
}
20 years ago
if($oldid == 22 && $renew != "")
{
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now renewing the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`orgdomaincerts`.`revoked`) as `revoke` from
`orgdomaincerts`,`org`
where `orgdomaincerts`.`id`='$id' and
`orgdomaincerts`.`orgid`=`org`.`orgid` and
`org`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
mysql_query("update `orgdomaincerts` set `renewed`='1' where `id`='$id'");
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
$query = "insert into `orgdomaincerts` set `orgid`='".$row['orgid']."', `CN`='".$row['CN']."',
`csr_name`='".$row['csr_name']."', `created`='".$row['created']."',
`modified`=NOW(), `subject`='".$row['subject']."', `rootcert`='".$row['rootcert']."'";
mysql_query($query);
$newid = mysql_insert_id();
20 years ago
$newfile = $_SESSION['_config']['filepath']."/csr/orgserver-$newid.csr";
copy($row['csr_name'], $newfile);
mysql_query("update `orgdomaincerts` set `csr_name`='$newfile' where `id`='$newid'");
echo _("Renewing").": ".$row['CN']."<br>\n";
$res = mysql_query("select * from `orgdomlink` where `orgcertid`='".$row['id']."'");
while($r2 = mysql_fetch_assoc($res))
mysql_query("insert into `orgdomlink` set `orgdomid`='".$r2['id']."', `orgcertid`='$newid'");
$do = `../scripts/runserver`;
$query = "select * from `orgdomaincerts` where `id`='$newid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
} else {
$drow = mysql_fetch_assoc($res);
$cert = `/usr/bin/openssl x509 -in $drow[crt_name]`;
echo "<pre>\n$cert\n</pre>\n";
}
}
}
showfooter();
exit;
}
20 years ago
if($oldid == 22 && $revoke != "")
{
showheader(_("My CAcert.org Account!"));
if(is_array($revokeid))
{
echo _("Now revoking the following certificates:")."<br>\n";
foreach($revokeid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`orgdomaincerts`.`revoked`) as `revoke` from
`orgdomaincerts`,`org`
where `orgdomaincerts`.`id`='$id' and
`orgdomaincerts`.`orgid`=`org`.`orgid` and
`org`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row[revoke] > 0)
{
printf(_("It would seem '%s' has already been revoked. I'll skip this for now.")."<br>\n", $row['CN']);
continue;
}
mysql_query("update `orgdomaincerts` set `revoked`='1970-01-01 10:00:01' where `id`='$id'");
$do = `../scripts/runserver`;
printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']);
}
}
if(is_array($delid))
{
echo _("Now deleting the following pending requests:")."<br>\n";
foreach($delid as $id)
{
$id = intval($id);
$query = "select *,UNIX_TIMESTAMP(`orgdomaincerts`.`expire`) as `expired` from
`orgdomaincerts`,`org`
where `orgdomaincerts`.`id`='$id' and
`orgdomaincerts`.`orgid`=`org`.`orgid` and
`org`.`memid`='".$_SESSION['profile']['id']."'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
printf(_("Invalid ID '%s' presented, can't do anything with it.")."<br>\n", $id);
continue;
}
$row = mysql_fetch_assoc($res);
if($row['expired'] > 0)
{
printf(_("Couldn't remove the request for `%s`, request had already been processed.")."<br>\n", $row['CN']);
continue;
}
mysql_query("delete from `orgdomaincerts` where `id`='$id'");
@unlink($row['csr_name']);
@unlink($row['crt_name']);
printf(_("Removed a pending request for '%s'")."<br>\n", $row['CN']);
}
}
showfooter();
exit;
}
if(($id == 24 || $oldid == 24 || $id == 25 || $oldid == 25 || $id == 26 || $oldid == 26 ||
$id == 27 || $oldid == 27 || $id == 28 || $oldid == 28 || $id == 29 || $oldid == 29 ||
$id == 30 || $oldid == 30 || $id == 31 || $oldid == 31) &&
18 years ago
$_SESSION['profile']['orgadmin'] != 1)
{
showheader(_("My CAcert.org Account!"));
echo _("You don't have access to this area.");
showfooter();
exit;
}
19 years ago
if($oldid == 24 && $_REQUEST['process'] != "")
{
$id = intval($oldid);
18 years ago
$_SESSION['_config']['O'] = trim(mysql_real_escape_string(stripslashes($O)));
$_SESSION['_config']['contact'] = trim(mysql_real_escape_string(stripslashes($contact)));
$_SESSION['_config']['L'] = trim(mysql_real_escape_string(stripslashes($L)));
$_SESSION['_config']['ST'] = trim(mysql_real_escape_string(stripslashes($ST)));
$_SESSION['_config']['C'] = trim(mysql_real_escape_string(stripslashes($C)));
$_SESSION['_config']['comments'] = trim(mysql_real_escape_string(stripslashes($comments)));
if($_SESSION['_config']['O'] == "" || $_SESSION['_config']['contact'] == "")
{
$_SESSION['_config']['errmsg'] = _("Organisation Name and Contact Email are required fields.");
} else {
mysql_query("insert into `orginfo` set `O`='".$_SESSION['_config']['O']."',
`contact`='".$_SESSION['_config']['contact']."',
`L`='".$_SESSION['_config']['L']."',
`ST`='".$_SESSION['_config']['ST']."',
`C`='".$_SESSION['_config']['C']."',
`comments`='".$_SESSION['_config']['comments']."'");
showheader(_("My CAcert.org Account!"));
printf(_("'%s' has just been successfully added as an organisation to the database."), $_SESSION['_config']['O']);
showfooter();
exit;
}
}
19 years ago
if($oldid == 27 && $_REQUEST['process'] != "")
{
$id = intval($oldid);
18 years ago
$_SESSION['_config']['O'] = trim(mysql_real_escape_string(stripslashes($O)));
$_SESSION['_config']['contact'] = trim(mysql_real_escape_string(stripslashes($contact)));
$_SESSION['_config']['L'] = trim(mysql_real_escape_string(stripslashes($L)));
$_SESSION['_config']['ST'] = trim(mysql_real_escape_string(stripslashes($ST)));
$_SESSION['_config']['C'] = trim(mysql_real_escape_string(stripslashes($C)));
$_SESSION['_config']['comments'] = trim(mysql_real_escape_string(stripslashes($comments)));
if($_SESSION['_config']['O'] == "" || $_SESSION['_config']['contact'] == "")
{
$_SESSION['_config']['errmsg'] = _("Organisation Name and Contact Email are required fields.");
} else {
mysql_query("update `orginfo` set `O`='".$_SESSION['_config']['O']."',
`contact`='".$_SESSION['_config']['contact']."',
`L`='".$_SESSION['_config']['L']."',
`ST`='".$_SESSION['_config']['ST']."',
`C`='".$_SESSION['_config']['C']."',
`comments`='".$_SESSION['_config']['comments']."'
where `id`='".$_SESSION['_config']['orgid']."'");
showheader(_("My CAcert.org Account!"));
printf(_("'%s' has just been successfully updated in the database."), $_SESSION['_config']['O']);
showfooter();
exit;
}
}
19 years ago
if($oldid == 28 && $_REQUEST['process'] != "")
{
18 years ago
$domain = $_SESSION['_config']['domain'] = trim(mysql_real_escape_string(stripslashes($domainname)));
$res1 = mysql_query("select * from `orgdomains` where `domain`='$domain'");
20 years ago
if(mysql_num_rows($res1) > 0)
{
$_SESSION['_config']['errmsg'] = sprintf(_("The domain '%s' is already in the system and is listed as valid. Can't continue."), $domain);
$id = $oldid;
unset($oldid);
}
}
if($_SESSION['_config']['orgid'] <= 0 && $oldid == 28)
{
unset($oldid);
$id = 25;
}
19 years ago
if($oldid == 28 && $_REQUEST['process'] != "")
{
mysql_query("insert into `orgdomains` set `orgid`='".$_SESSION['_config']['orgid']."', `domain`='$domain'");
showheader(_("My CAcert.org Account!"));
printf(_("'%s' has just been successfully added to the database."), $domain);
echo "<br><br><a href='account.php?id=26&orgid=".$_SESSION['_config']['orgid']."'>"._("Click here")."</a> "._("to continue.");
showfooter();
exit;
}
19 years ago
if($oldid == 29 && $_REQUEST['process'] != "")
{
18 years ago
$domain = mysql_real_escape_string(stripslashes(trim($domainname)));
$res1 = mysql_query("select * from `orgdomains` where `domain` like '$domain' and `id`!='".$_SESSION['_config']['domid']."'");
$res2 = mysql_query("select * from `domains` where `domain` like '$domain' and `deleted`=0");
if(mysql_num_rows($res1) > 0 || mysql_num_rows($res2) > 0)
{
$_SESSION['_config']['errmsg'] = sprintf(_("The domain '%s' is already in the system and is listed as valid. Can't continue."), $domain);
$id = $oldid;
unset($oldid);
}
}
19 years ago
if(($oldid == 29 || $oldid == 30) && $_REQUEST['process'] != _("Cancel"))
{
$query = "select `orgdomaincerts`.`id` as `id` from `orgdomlink`, `orgdomaincerts`, `orgdomains` where
`orgdomlink`.`orgdomid`=`orgdomains`.`id` and
`orgdomaincerts`.`id`=`orgdomlink`.`orgcertid` and
`orgdomains`.`id`='".$_SESSION['_config']['domid']."'";
$res = mysql_query($query);
while($row = mysql_fetch_assoc($res))
mysql_query("update `orgdomaincerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$row['id']."'");
$query = "select `orgemailcerts`.`id` as `id` from `orgemailcerts`, `orgemaillink`, `orgdomains` where
`orgemaillink`.`domid`=`orgdomains`.`id` and
`orgemailcerts`.`id`=`orgemaillink`.`emailcertsid` and
`orgdomains`.`id`='".$_SESSION['_config']['domid']."'";
$res = mysql_query($query);
while($row = mysql_fetch_assoc($res))
mysql_query("update `orgemailcerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$row['id']."'");
$do = `../scripts/runserver`;
20 years ago
$do = `../scripts/runclient`;
}
19 years ago
if($oldid == 29 && $_REQUEST['process'] != "")
{
$row = mysql_fetch_assoc(mysql_query("select * from `orgdomains` where `id`='".$_SESSION['_config']['domid']."'"));
mysql_query("update `orgdomains` set `domain`='$domain' where `id`='".$_SESSION['_config']['domid']."'");
showheader(_("My CAcert.org Account!"));
printf(_("'%s' has just been successfully updated in the database."), $domain);
echo "<br><br><a href='account.php?id=26&orgid=".$_SESSION['_config']['orgid']."'>"._("Click here")."</a> "._("to continue.");
showfooter();
exit;
}
19 years ago
if($oldid == 30 && $_REQUEST['process'] != "")
{
$row = mysql_fetch_assoc(mysql_query("select * from `orgdomains` where `id`='".$_SESSION['_config']['domid']."'"));
$domain = $row['domain'];
mysql_query("delete from `orgdomains` where `id`='".$_SESSION['_config']['domid']."'");
showheader(_("My CAcert.org Account!"));
printf(_("'%s' has just been successfully deleted from the database."), $domain);
echo "<br><br><a href='account.php?id=26&orgid=".$_SESSION['_config']['orgid']."'>"._("Click here")."</a> "._("to continue.");
showfooter();
exit;
}
if($oldid == 30)
{
$id = 26;
$orgid = 0;
}
19 years ago
if($oldid == 31 && $_REQUEST['process'] != _("Cancel"))
{
$query = "select * from `orgdomains` where `orgid`='".$_SESSION['_config']['orgid']."'";
$dres = mysql_query($query);
while($drow = mysql_fetch_assoc($dres))
{
$query = "select `orgdomaincerts`.`id` as `id` from `orgdomlink`, `orgdomaincerts`, `orgdomains` where
`orgdomlink`.`orgdomid`=`orgdomains`.`id` and
`orgdomaincerts`.`id`=`orgdomlink`.`orgcertid` and
`orgdomains`.`id`='".$drow['id']."'";
$res = mysql_query($query);
while($row = mysql_fetch_assoc($res))
{
mysql_query("update `orgdomaincerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$row['id']."'");
$do = `../scripts/runserver`;
mysql_query("delete from `orgdomaincerts` where `orgid`='".$row['id']."'");
mysql_query("delete from `orgdomlink` where `domid`='".$row['id']."'");
}
$query = "select `orgemailcerts`.`id` as `id` from `orgemailcerts`, `orgemaillink`, `orgdomains` where
`orgemaillink`.`domid`=`orgdomains`.`id` and
`orgemailcerts`.`id`=`orgemaillink`.`emailcertsid` and
`orgdomains`.`id`='".$drow['id']."'";
$res = mysql_query($query);
while($row = mysql_fetch_assoc($res))
{
mysql_query("update `orgemailcerts` set `revoked`='1970-01-01 10:00:01' where `id`='".$row['id']."'");
20 years ago
$do = `../scripts/runclient`;
mysql_query("delete from `orgemailcerts` where `id`='".$row['id']."'");
mysql_query("delete from `orgemaillink` where `domid`='".$row['id']."'");
}
}
mysql_query("delete from `org` where `orgid`='".$_SESSION['_config']['orgid']."'");
mysql_query("delete from `orgdomains` where `orgid`='".$_SESSION['_config']['orgid']."'");
mysql_query("delete from `orginfo` where `id`='".$_SESSION['_config']['orgid']."'");
}
if($oldid == 31)
{
$id = 25;
$orgid = 0;
}
if($id == 32 || $oldid == 32 || $id == 33 || $oldid == 33 || $id == 34 || $oldid == 34 ||
$id == 35 || $oldid == 35)
{
$query = "select * from `org` where `memid`='".$_SESSION['profile']['id']."' and `masteracc`='1'";
$_macc = mysql_num_rows(mysql_query($query));
if($_SESSION['profile']['admin'] != 1 && $_macc <= 0)
{
showheader(_("My CAcert.org Account!"));
echo _("You don't have access to this area.");
showfooter();
exit;
}
}
if($id == 33 && $_SESSION['profile']['admin'] != 1)
{
18 years ago
$orgid = intval($_SESSION['_config']['orgid']);
18 years ago
$query = "select * from `org` where `orgid`='$orgid' and `memid`='".$_SESSION['profile']['id']."' and `masteracc`='1'";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
$id = 35;
}
}
19 years ago
if($oldid == 33 && $_REQUEST['process'] != "")
{
if($_SESSION['profile']['admin'] == 1)
$masteracc = $_SESSION['_config'][masteracc] = intval($masteracc);
else
$masteracc = $_SESSION['_config'][masteracc] = 0;
18 years ago
$_REQUEST['email'] = $_SESSION['_config']['email'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['email'])));
$OU = $_SESSION['_config']['OU'] = mysql_real_escape_string(stripslashes(trim($OU)));
$comments = $_SESSION['_config']['comments'] = mysql_real_escape_string(stripslashes(trim($comments)));
19 years ago
$res = mysql_query("select * from `users` where `email`='".$_REQUEST['email']."'");
if(mysql_num_rows($res) <= 0)
{
$id = $oldid;
unset($oldid);
19 years ago
$_SESSION['_config']['errmsg'] = sprintf(_("Wasn't able to match '%s' against any user in the system"), $_REQUEST['email']);
} else {
$row = mysql_fetch_assoc($res);
18 years ago
mysql_query("insert into `org` set `memid`='".$row['id']."', `orgid`='".intval($_SESSION['_config']['orgid'])."',
`masteracc`='$masteracc', `OU`='$OU', `comments`='$comments'");
}
}
18 years ago
if(($oldid == 34 || $id == 34) && $_SESSION['profile']['admin'] != 1)
{
18 years ago
$orgid = intval($_SESSION['_config']['orgid']);
18 years ago
$res = mysql_query("select * from `org` where `orgid`='$orgid' and `memid`='".$_SESSION['profile']['id']."' and `masteracc`='1'");
if(mysql_num_rows($res) <= 0)
18 years ago
$id = 32;
}
19 years ago
if($oldid == 34 && $_REQUEST['process'] != "")
{
18 years ago
$orgid = intval($_SESSION['_config']['orgid']);
18 years ago
$memid = intval($_REQUEST['memid']);
18 years ago
$query = "delete from `org` where `orgid`='$orgid' and `memid`='$memid'";
mysql_query($query);
}
if($oldid == 34 || $oldid == 33)
{
unset($oldid);
$id = 32;
$orgid = 0;
}
18 years ago
if($id == 36)
{
$row = mysql_fetch_assoc(mysql_query("select * from `alerts` where `memid`='".$_SESSION['profile']['id']."'"));
$_REQUEST['general'] = $row['general'];
$_REQUEST['country'] = $row['country'];
$_REQUEST['regional'] = $row['regional'];
$_REQUEST['radius'] = $row['radius'];
}
if($oldid == 36)
{
$rc = mysql_num_rows(mysql_query("select * from `alerts` where `memid`='".$_SESSION['profile']['id']."'"));
if($rc > 0)
{
$query = "update `alerts` set `general`='".intval($_REQUEST['general'])."',
`country`='".intval($_REQUEST['country'])."',
`regional`='".intval($_REQUEST['regional'])."',
`radius`='".intval($_REQUEST['radius'])."'
where `memid`='".$_SESSION['profile']['id']."'";
} else {
$query = "insert into `alerts` set `general`='".intval($_REQUEST['general'])."',
`country`='".intval($_REQUEST['country'])."',
`regional`='".intval($_REQUEST['regional'])."',
`radius`='".intval($_REQUEST['radius'])."',
`memid`='".$_SESSION['profile']['id']."'";
}
mysql_query($query);
$id = $oldid;
unset($oldid);
}
18 years ago
if($oldid == 41 && $_REQUEST['action'] == 'default')
20 years ago
{
$lang = mysql_real_escape_string($_REQUEST['lang']);
20 years ago
foreach($_SESSION['_config']['translations'] as $key => $val)
{
if($key == $lang)
{
mysql_query("update `users` set `language`='$lang' where `id`='".$_SESSION['profile']['id']."'");
19 years ago
$_SESSION['profile']['language'] = $lang;
20 years ago
showheader(_("My CAcert.org Account!"));
echo _("Your language setting has been updated.");
showfooter();
exit;
}
}
showheader(_("My CAcert.org Account!"));
echo _("You tried to use an invalid language.");
showfooter();
exit;
}
18 years ago
if($oldid == 41 && $_REQUEST['action'] == 'addsec')
{
18 years ago
$addlang = mysql_real_escape_string($_REQUEST['addlang']);
mysql_query("insert into `addlang` set `userid`='".$_SESSION['profile']['id']."', `lang`='$addlang'");
showheader(_("My CAcert.org Account!"));
echo _("Your language setting has been updated.");
showfooter();
exit;
}
if($oldid == 41 && $_REQUEST['action'] == 'dellang')
{
$remove = mysql_real_escape_string($_REQUEST['remove']);
mysql_query("delete from `addlang` where `userid`='".$_SESSION['profile']['id']."' and `lang`='$remove'");
18 years ago
showheader(_("My CAcert.org Account!"));
echo _("Your language setting has been updated.");
showfooter();
exit;
}
if(($id == 42 || $id == 43 || $id == 44 || $id == 48 || $id == 49 || $id == 50 ||
$oldid == 42 || $oldid == 43 || $oldid == 44 || $oldid == 48 || $oldid == 49 || $oldid == 50) &&
$_SESSION['profile']['admin'] != 1)
{
showheader(_("My CAcert.org Account!"));
echo _("You don't have access to this area.");
showfooter();
exit;
}
19 years ago
if(($id == 53 || $id == 54 || $oldid == 53 || $oldid == 54) &&
$_SESSION['profile']['locadmin'] != 1)
{
showheader(_("My CAcert.org Account!"));
echo _("You don't have access to this area.");
showfooter();
exit;
}
19 years ago
if($oldid == 54 || ($id == 53 && $_REQUEST['action'] != "") || ($id == 54 && $_REQUEST['action'] != "" &&
18 years ago
$_REQUEST['action'] != "aliases" && $_REQUEST['action'] != "edit" && $_REQUEST['action'] != "add"))
19 years ago
{
$id = 53;
$ccid = intval($_REQUEST['ccid']);
$regid = intval($_REQUEST['regid']);
$newreg = intval($_REQUEST['newreg']);
$locid = intval($_REQUEST['locid']);
18 years ago
$name = mysql_real_escape_string($_REQUEST['name']);
$long = mysql_real_escape_string($_REQUEST['longitude']);
$lat = mysql_real_escape_string($_REQUEST['latitude']);
19 years ago
19 years ago
if($locid > 0 && $_REQUEST['action'] == "edit" && $name == htmlentities($name))
19 years ago
{
$query = "update `locations` set `name`='$name', `lat`='$lat', `long`='$long' where `id`='$locid'";
mysql_query($query);
$row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'"));
$_REQUEST['regid'] = $row['regid'];
unset($_REQUEST['ccid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
19 years ago
} else if($regid > 0 && $_REQUEST['action'] == "edit" && $name == htmlentities($name)) {
19 years ago
$query = "update `regions` set `name`='$name' where `id`='$regid'";
mysql_query($query);
$row = mysql_fetch_assoc(mysql_query("select * from `regions` where `id`='$regid'"));
$_REQUEST['ccid'] = $row['ccid'];
unset($_REQUEST['regid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
19 years ago
} else if($regid > 0 && $_REQUEST['action'] == "add" && $name == htmlentities($name)) {
19 years ago
$row = mysql_fetch_assoc(mysql_query("select `ccid` from `regions` where `id`='$regid'"));
$ccid = $row['ccid'];
$query = "insert into `locations` set `ccid`='$ccid', `regid`='$regid', `name`='$name', `lat`='$lat', `long`='$long'";
mysql_query($query);
unset($_REQUEST['ccid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
18 years ago
} else if($ccid > 0 && $_REQUEST['action'] == "add" && $name == htmlentities($name) && $name != "") {
19 years ago
$query = "insert into `regions` set `ccid`='$ccid', `name`='$name'";
mysql_query($query);
$row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'"));
unset($_REQUEST['regid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
} else if($locid > 0 && $_REQUEST['action'] == "delete") {
$row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'"));
$_REQUEST['regid'] = $row['regid'];
19 years ago
mysql_query("delete from `localias` where `locid`='$locid'");
19 years ago
mysql_query("delete from `locations` where `id`='$locid'");
unset($_REQUEST['ccid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
} else if($locid > 0 && $_REQUEST['action'] == "move") {
$row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'"));
$oldregid = $row['regid'];
mysql_query("update `locations` set `regid`='$newreg' where `id`='$locid'");
mysql_query("update `users` set `regid`='$newreg' where `regid`='$oldregid'");
$row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'"));
$_REQUEST['regid'] = $row['regid'];
unset($_REQUEST['ccid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
} else if($regid > 0 && $_REQUEST['action'] == "delete") {
$row = mysql_fetch_assoc(mysql_query("select * from `regions` where `id`='$regid'"));
$_REQUEST['ccid'] = $row['ccid'];
mysql_query("delete from `locations` where `regid`='$regid'");
mysql_query("delete from `regions` where `id`='$regid'");
unset($_REQUEST['regid']);
unset($_REQUEST['locid']);
unset($_REQUEST['action']);
19 years ago
} else if($locid > 0 && $_REQUEST['action'] == "alias") {
$id = 54;
$_REQUEST['action'] = "aliases";
$_REQUEST['locid'] = $locid;
$name = htmlentities($name);
$row = mysql_query("insert into `localias` set `locid`='$locid',`name`='$name'");
} else if($locid > 0 && $_REQUEST['action'] == "delalias") {
$id = 54;
$_REQUEST['action'] = "aliases";
$_REQUEST['locid'] = $locid;
$row = mysql_query("delete from `localias` where `locid`='$locid' and `name`='$name'");
19 years ago
}
}
if($oldid == 42 && $_REQUEST['email'] == "")
{
$id = $oldid;
unset($oldid);
}
if($oldid == 42)
{
$id = 43;
unset($oldid);
}
18 years ago
if($oldid == 43 && $_REQUEST['action'] == "updatedob")
{
$id = 43;
unset($oldid);
18 years ago
$lname = mysql_real_escape_string($_REQUEST['lname']);
18 years ago
$day = intval($_REQUEST['day']);
$month = intval($_REQUEST['month']);
$year = intval($_REQUEST['year']);
$userid = intval($_REQUEST['userid']);
18 years ago
$query = "select `lname`,`dob` from `users` where `id`='$userid'";
$details = mysql_fetch_assoc(mysql_query($query));
$query = "insert into `adminlog` set `when`=NOW(),`old-lname`='${details['lname']}',`old-dob`='${details['dob']}',
`new-lname`='$lname',`new-dob`='$year-$month-$day',`uid`='$userid',`adminid`='".$_SESSION['profile']['id']."'";
mysql_query($query);
18 years ago
$query = "update `users` set `lname`='$lname',`dob`='$year-$month-$day' where `id`='$userid'";
18 years ago
mysql_query($query);
}
if($oldid == 48 && $_REQUEST['domain'] == "")
{
$id = $oldid;
unset($oldid);
}
if($oldid == 48)
{
$id = 49;
unset($oldid);
}
if($id == 44)
{
if($_REQUEST['userid'] != "")
$_REQUEST['userid'] = intval($_REQUEST['userid']);
$row = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_REQUEST['userid']."'"));
if($row['email'] == "")
$id = 42;
else
$_REQUEST['email'] = $row['email'];
}
if($oldid == 44)
{
showheader(_("My CAcert.org Account!"));
if(intval($_REQUEST['userid']) <= 0)
{
echo _("No such user found.");
} else {
mysql_query("update `users` set `password`=sha1('".mysql_real_escape_string(stripslashes($_REQUEST['newpass']))."') where `id`='".intval($_REQUEST['userid'])."'");
$row = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_REQUEST['userid']."'"));
19 years ago
printf(_("The password for %s has been updated successfully in the system."), $row['email']);
}
showfooter();
exit;
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 45)
20 years ago
{
$CSR = trim($CSR);
$_SESSION['_config']['CSR'] = $CSR;
$_SESSION['_config']['subject'] = trim(`echo "$CSR"|/usr/bin/openssl req -text -noout|tr -d "\\0"|grep "Subject:"`);
$bits = explode(",", trim(`echo "$CSR"|/usr/bin/openssl req -text -noout|tr -d "\\0"|grep -A1 'X509v3 Subject Alternative Name:'|grep DNS:`));
foreach($bits as $val)
{
$_SESSION['_config']['subject'] .= "/subjectAltName=".trim($val);
}
20 years ago
$id = 46;
$_SESSION['_config']['0.CN'] = $_SESSION['_config']['0.subjectAltName'] = "";
20 years ago
extractit();
getcn();
getalt();
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
20 years ago
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
20 years ago
showfooter();
exit;
}
}
19 years ago
if($_REQUEST['process'] != "" && $oldid == 46)
20 years ago
{
$CSR = $_SESSION['_config']['CSR'];
$_SESSION['_config']['subject'] = trim(`echo "$CSR"|/usr/bin/openssl req -text -noout|tr -d "\\0"|grep "Subject:"`);
$bits = explode(",", trim(`echo "$CSR"|/usr/bin/openssl req -text -noout|tr -d "\\0"|grep -A1 'X509v3 Subject Alternative Name:'|grep DNS:`));
foreach($bits as $val)
{
$_SESSION['_config']['subject'] .= "/subjectAltName=".trim($val);
}
20 years ago
$id = 11;
$_SESSION['_config']['0.CN'] = $_SESSION['_config']['0.subjectAltName'] = "";
20 years ago
extractit();
getcn();
getalt();
if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "")
20 years ago
{
showheader(_("My CAcert.org Account!"));
echo _("CommonName field was blank. This is usually caused by entering your own name when openssl prompt's you for 'YOUR NAME', or if you try to issue certificates for domains you haven't already verified, as such this process can't continue.");
20 years ago
showfooter();
exit;
}
20 years ago
$query = "insert into `domaincerts` set `CN`='".$_SESSION['_config']['0.CN']."',
20 years ago
`domid`='".$_SESSION['_config']['row']['id']."',
`created`=NOW()";
mysql_query($query);
$CSRid = mysql_insert_id();
foreach($_SESSION['_config']['rowid'] as $dom)
mysql_query("insert into `domlink` set `certid`='$CSRid', `domid`='$dom'");
if(is_array($_SESSION['_config']['altid']))
foreach($_SESSION['_config']['altid'] as $dom)
mysql_query("insert into `domlink` set `certid`='$CSRid', `domid`='$dom'");
$CSRname = $_SESSION['_config']['filepath']."/csr/server-$CSRid.csr";
$fp = fopen($CSRname, "w");
fputs($fp, $_SESSION['_config']['CSR']);
fclose($fp);
mysql_query("update `domaincerts` set `CSR_name`='$CSRname' where `id`='$CSRid'");
$do = `../scripts/runserver`;
$query = "select * from `domaincerts` where `id`='$CSRid' and `crt_name` != ''";
$res = mysql_query($query);
if(mysql_num_rows($res) <= 0)
{
showheader(_("My CAcert.org Account!"));
18 years ago
printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions."), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>");
20 years ago
showfooter();
exit;
} else {
$id = 47;
$cert = $CSRid;
}
}
if($id == 43 && $_REQUEST['tverify'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['tverify']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['tverify'];
mysql_query("update `users` set `tverify`='$ver' where `id`='$memid'");
}
18 years ago
if($id == 43 && $_REQUEST['locked'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['locked']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['locked'];
mysql_query("update `users` set `locked`='$ver' where `id`='$memid'");
}
if($id == 43 && $_REQUEST['codesign'] > 0)
20 years ago
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['codesign']);
20 years ago
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['codesign'];
mysql_query("update `users` set `codesign`='$ver' where `id`='$memid'");
}
18 years ago
if($id == 43 && $_REQUEST['orgadmin'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['orgadmin']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['orgadmin'];
mysql_query("update `users` set `orgadmin`='$ver' where `id`='$memid'");
}
if($id == 43 && $_REQUEST['ttpadmin'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['ttpadmin']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['ttpadmin'];
mysql_query("update `users` set `ttpadmin`='$ver' where `id`='$memid'");
}
if($id == 43 && $_REQUEST['adadmin'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['adadmin']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = $row['adadmin'] + 1;
if($ver > 2)
$ver = 0;
mysql_query("update `users` set `adadmin`='$ver' where `id`='$memid'");
}
if($id == 43 && $_REQUEST['locadmin'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['locadmin']);
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['locadmin'];
mysql_query("update `users` set `locadmin`='$ver' where `id`='$memid'");
}
if($id == 43 && $_REQUEST['admin'] > 0)
19 years ago
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['admin']);
19 years ago
$query = "select * from `users` where `id`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
$ver = !$row['admin'];
mysql_query("update `users` set `admin`='$ver' where `id`='$memid'");
}
18 years ago
if($id == 43 && $_REQUEST['general'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['general']);
18 years ago
$query = "select * from `alerts` where `memid`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
18 years ago
$ver = !$row['general'];
18 years ago
mysql_query("update `alerts` set `general`='$ver' where `memid`='$memid'");
18 years ago
}
if($id == 43 && $_REQUEST['country'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['country']);
18 years ago
$query = "select * from `alerts` where `memid`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
18 years ago
$ver = !$row['country'];
18 years ago
mysql_query("update `alerts` set `country`='$ver' where `memid`='$memid'");
18 years ago
}
if($id == 43 && $_REQUEST['regional'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['regional']);
18 years ago
$query = "select * from `alerts` where `memid`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
18 years ago
$ver = !$row['regional'];
18 years ago
mysql_query("update `alerts` set `regional`='$ver' where `memid`='$memid'");
18 years ago
}
if($id == 43 && $_REQUEST['radius'] > 0)
{
$memid = $_REQUEST['userid'] = intval($_REQUEST['radius']);
18 years ago
$query = "select * from `alerts` where `memid`='$memid'";
$row = mysql_fetch_assoc(mysql_query($query));
18 years ago
$ver = !$row['radius'];
18 years ago
mysql_query("update `alerts` set `radius`='$ver' where `memid`='$memid'");
18 years ago
}
19 years ago
if($id == 50)
{
19 years ago
if($_REQUEST['userid'] != "")
$_REQUEST['userid'] = intval($_REQUEST['userid']);
19 years ago
$row = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_REQUEST['userid']."'"));
if($row['email'] == "")
$id = 42;
else
19 years ago
$_REQUEST['email'] = $row['email'];
}
if($oldid == 50)
{
$id = 43;
19 years ago
$_REQUEST['userid'] = intval($_REQUEST['userid']);
}
19 years ago
if($oldid == 50 && $_REQUEST['process'] != "")
{
19 years ago
$_REQUEST['userid'] = intval($_REQUEST['userid']);
$res = mysql_query("select * from `users` where `id`='".$_REQUEST['userid']."'");
if(mysql_num_rows($res) > 0)
{
19 years ago
$query = "update `domaincerts`,`domains` SET `domaincerts`.`revoked`='1970-01-01 10:00:01'
WHERE `domaincerts`.`domid` = `domains`.`id` AND `domains`.`memid`='".$_REQUEST['userid']."'";
mysql_query($query);
19 years ago
$query = "update `domains` SET `deleted`=NOW() WHERE `domains`.`memid`='".$_REQUEST['userid']."'";
mysql_query($query);
19 years ago
$query = "update `emailcerts` SET `revoked`='1970-01-01 10:00:01' WHERE `memid`='".$_REQUEST['userid']."'";
mysql_query($query);
19 years ago
$query = "update `email` SET `deleted`=NOW() WHERE `memid`='".$_REQUEST['userid']."'";
mysql_query($query);
19 years ago
$query = "delete from `org` WHERE `memid`='".$_REQUEST['userid']."'";
mysql_query($query);
19 years ago
$query = "update `users` SET `deleted`=NOW() WHERE `id`='".$_REQUEST['userid']."'";
mysql_query($query);
}
}
20 years ago
if(($id == 51 || $id == 52 || $oldid == 52) && $_SESSION['profile']['tverify'] <= 0)
{
showheader(_("My CAcert.org Account!"));
echo _("You don't have access to this area.");
showfooter();
exit;
}
if($oldid == 52)
{
$uid = intval($_REQUEST['uid']);
20 years ago
$query = "select * from `tverify` where `id`='$uid' and `modified`=0";
$rc = mysql_num_rows(mysql_query($query));
if($rc <= 0)
{
showheader(_("My CAcert.org Account!"));
echo _("Unable to find a valid tverify request for this ID.");
showfooter();
exit;
}
}
if($oldid == 52)
{
$query = "select * from `tverify-vote` where `tverify`='$uid' and `memid`='".$_SESSION['profile']['id']."'";
$rc = mysql_num_rows(mysql_query($query));
if($rc > 0)
{
showheader(_("My CAcert.org Account!"));
echo _("You have already voted on this request.");
showfooter();
exit;
}
}
if($oldid == 52 && ($_REQUEST['agree'] != "" || $_REQUEST['disagree'] != ""))
20 years ago
{
$vote = -1;
if($_REQUEST['agree'] != "")
20 years ago
$vote = 1;
$query = "insert into `tverify-vote` set
`tverify`='$uid',
`memid`='".$_SESSION['profile']['id']."',
`when`=NOW(), `vote`='$vote',
`comment`='".mysql_real_escape_string($_REQUEST['comment'])."'";
20 years ago
mysql_query($query);
$rc = mysql_num_rows(mysql_query("select * from `tverify-vote` where `tverify`='$uid' and `vote`='1'"));
if($rc >= 8)
20 years ago
{
mysql_query("update `tverify` set `modified`=NOW() where `id`='$uid'");
$tverify = mysql_fetch_assoc(mysql_query("select * from `tverify` where `id`='$uid'"));
$memid = $tverify['memid'];
$user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='$memid'"));
$tmp = mysql_fetch_assoc(mysql_query("select sum(`points`) as `points` from `notary` where `to`='$memid'"));
$points = 0;
if($tverify['URL'] != "" && $tverify['photoid'] != "")
$points = 150 - intval($tmp['points']);
if($tverify['URL'] != "" && $tverify['photoid'] == "")
$points = 90 - intval($tmp['points']);
if($tverify['URL'] == "" && $tverify['photoid'] == "")
$points = 50 - intval($tmp['points']);
if($points < 0)
$points = 0;
if($points > 0)
{
mysql_query("insert into `notary` set `from`='0', `to`='$memid', `points`='$points',
`method`='Thawte Points Transfer', `when`=NOW()");
}
$totalpoints = intval($tmp['points']) + $points;
19 years ago
$body = _("Your request to have points transfered was successful. You were issued $points points as a result, and you now have $totalpoints in total")."\n\n"._("The following comments were made by reviewers")."\n\n";
20 years ago
$res = mysql_query("select * from `tverify-vote` where `tverify`='$uid' and `vote`='1'");
while($row = mysql_fetch_assoc($res))
$body .= $row['comment']."\n";
$body .= "\n";
$body .= _("Best regards")."\n";
$body .= _("CAcert Support Team");
sendmail($user['email'], "[CAcert.org] Thawte Notary Points Transfer", $body, "website-form@cacert.org", "support@cacert.org", "", "CAcert Tverify");
20 years ago
}
$rc = mysql_num_rows(mysql_query("select * from `tverify-vote` where `tverify`='$uid' and `vote`='-1'"));
if($rc >= 4)
{
mysql_query("update `tverify` set `modified`=NOW() where `id`='$uid'");
$tverify = mysql_fetch_assoc(mysql_query("select * from `tverify` where `id`='$uid'"));
$memid = $tverify['memid'];
$user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='$memid'"));
$body = _("Unfortunately your request for a points increase has been denied, below is the comments from people that reviewed your request as to why they rejected your application.")."\n\n";
$res = mysql_query("select * from `tverify-vote` where `tverify`='$uid' and `vote`='-1'");
while($row = mysql_fetch_assoc($res))
$body .= $row['comment']."\n";
$body .= "\n";
$body .= _("You are welcome to try submitting another request at any time in the future, please make sure you take the reviewer comments into consideration or you risk having your application rejected again.")."\n\n";
$body .= _("Best regards")."\n";
$body .= _("CAcert Support Team");
sendmail($user['email'], "[CAcert.org] Thawte Notary Points Transfer", $body, "website-form@cacert.org", "support@cacert.org", "", "CAcert Tverify");
20 years ago
}
showheader(_("My CAcert.org Account!"));
echo _("Your vote has been accepted.");
showfooter();
exit;
}
if(intval($cert) > 0)
$_SESSION['_config']['cert'] = intval($cert);
if(intval($orgid) > 0)
$_SESSION['_config']['orgid'] = intval($orgid);
if(intval($memid) > 0)
$_SESSION['_config']['memid'] = intval($memid);
if(intval($domid) > 0)
$_SESSION['_config']['domid'] = intval($domid);
$_SESSION['_config']['agent'] = $HTTP_USER_AGENT;
?>