diff options
author | Markus Warg <mw@it-sls.de> | 2010-03-29 09:54:06 +0200 |
---|---|---|
committer | Markus Warg <mw@it-sls.de> | 2010-03-29 09:54:06 +0200 |
commit | 9dceece06fbdc98add6f76f0b1aec05891a394c4 (patch) | |
tree | f7227c28ca5f79f30c2ec81ba1a09a4fe3972436 /cacert | |
parent | 5b68967def224a00f54eb54946ff17301bbd3cdb (diff) | |
download | cacert-devel-9dceece06fbdc98add6f76f0b1aec05891a394c4.tar.gz cacert-devel-9dceece06fbdc98add6f76f0b1aec05891a394c4.tar.xz cacert-devel-9dceece06fbdc98add6f76f0b1aec05891a394c4.zip |
remove cacert/ prefix
Diffstat (limited to 'cacert')
665 files changed, 0 insertions, 194123 deletions
diff --git a/cacert/CVS/Entries b/cacert/CVS/Entries deleted file mode 100644 index 00ce1ea..0000000 --- a/cacert/CVS/Entries +++ /dev/null @@ -1,15 +0,0 @@ -D/cgi-bin//// -D/includes//// -D/locale//// -D/pages//// -D/scripts//// -D/tverify//// -D/www//// -D/stamp//// -D/CommModule//// -/Makefile/1.2/Sun Apr 22 17:42:25 2007// -/LICENSE/1.2/Sun Apr 6 19:45:24 2008// -/cacertupload.pl/1.4/Sun Sep 7 22:20:28 2008// -/messages.po/1.80/Thu Jun 25 20:09:26 2009// -/README/1.3/Mon Sep 7 22:36:29 2009// -D/tmp//// diff --git a/cacert/CVS/Repository b/cacert/CVS/Repository deleted file mode 100644 index 97ea8c8..0000000 --- a/cacert/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -cacert diff --git a/cacert/CVS/Root b/cacert/CVS/Root deleted file mode 100644 index da7816b..0000000 --- a/cacert/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -/var/lib/cvs/ diff --git a/cacert/CommModule/CVS/Entries b/cacert/CommModule/CVS/Entries deleted file mode 100644 index b156d1e..0000000 --- a/cacert/CommModule/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/clientloop.sh/1.1/Sun Jan 13 00:05:44 2008// -/error.txt/1.1/Sun Jan 13 00:05:44 2008// -/readme.txt/1.1/Sun Jan 13 00:05:44 2008// -/usbclient.pl/1.3/Fri Jul 18 16:37:02 2008// -/logclean.sh/1.2/Sun May 24 18:08:23 2009// -/client.pl/1.12/Sat Sep 19 23:32:57 2009// -/serial.conf/1.3/Sat Sep 19 23:32:57 2009// -D diff --git a/cacert/CommModule/CVS/Repository b/cacert/CommModule/CVS/Repository deleted file mode 100644 index 4e4c1e9..0000000 --- a/cacert/CommModule/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -cacert/CommModule diff --git a/cacert/CommModule/CVS/Root b/cacert/CommModule/CVS/Root deleted file mode 100644 index a363882..0000000 --- a/cacert/CommModule/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -/var/lib/cvs diff --git a/cacert/CommModule/client.pl b/cacert/CommModule/client.pl deleted file mode 100755 index 7b417d1..0000000 --- a/cacert/CommModule/client.pl +++ /dev/null @@ -1,1150 +0,0 @@ -#!/usr/bin/perl -w - -# CommModule - CAcert Communication Module -# Copyright (C) 2006-2009 CAcert Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -# Production Client / CommModule - -use strict; -use Device::SerialPort qw( :PARAM :STAT 0.07 ); -use POSIX; -use IO::Select; -use Time::HiRes q(usleep); -use File::CounterFile; -use IPC::Open3; -use File::Copy; -use DBI; -use Locale::gettext; -use IO::Socket; -use MIME::Base64; -use Digest::SHA1 qw(sha1_hex); - -#Protocol version: -my $ver=1; - -my $paranoid=1; - -my $debug=0; - -#my $serialport="/dev/ttyS0"; -my $serialport="/dev/ttyUSB0"; - -my $gpgbin="/usr/bin/gpg"; - -my $opensslbin="/usr/bin/openssl"; - - -my $mysqlphp="/home/cacert/www/includes/mysql.php"; - -my %revokefile=(2=>"../www/class3-revoke.crl",1=>"../www/revoke.crl"); - -my $newlayout=1; - -#End of configurations - -######################################################## - - -my %monarr = ("Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12); - - -my $password=""; -if(open IN,"<$mysqlphp") -{ - my $content=""; -undef $/; -$content=<IN>; -$password=$1 if($content=~m/mysql_connect\s*\("[^"]+",\s*"\w+",\s*"(\w+)"/); -close IN; -$/="\n"; - -} -else -{ - die "Could not read file: $!\n"; -} - - -my $dbh = DBI->connect("DBI:mysql:cacert:localhost","cacert",$password, { RaiseError => 1, AutoCommit => 1 }) || die ("Error with the database connection.\n"); - -sub readfile($) -{ - my $save=$/; - undef $/; - open READIN,"<$_[0]"; - my $content=<READIN>; - close READIN; - $/=$save; - return $content; -} - - - -#Logging functions: -my $lastdate = ""; - -sub SysLog($) -{ - return if(not defined($_[0])); - my $timestamp = strftime("%Y-%m-%d %H:%M:%S", localtime); - my $currdate = substr($timestamp, 0, 10); - if ($lastdate ne $currdate) { - close LOG if ($lastdate ne ""); - $lastdate = $currdate; - open LOG,">>logfile$lastdate.txt"; - } - print LOG "$timestamp $_[0]"; - flush LOG; -} - -sub Error($) -{ -SysLog($_[0]); -if($paranoid) -{ -die $_[0]; -} -} - - -my $timestamp=strftime("%Y-%m-%d %H:%M:%S",localtime); - -#mkdir "revokehashes"; -foreach (keys %revokefile) -{ - next unless (-f $revokefile{$_}); - my $revokehash=sha1_hex(readfile($revokefile{$_})); - SysLog "Root $_: Hash $revokefile{$_} = $revokehash\n"; -} - - - -sub mysql_query($) -{ -$dbh->do($_[0]); -} - -sub trim($) -{ -my $new=$_[0]; -$new=~s/^\s*//; -$new=~s/\s*$//; -return($new); -} -sub addslashes($) -{ -my $new=$_[0]; -$new=~s/['"\\]/\\$1/g; -return($new); -} - -sub recode -{ -return $_[1]; -} - - - -SysLog("Opening Serial interface:\n"); -sub SerialSettings($) -{ -my $PortObj=$_[0]; -if(!defined($PortObj)) -{ -Error "Could not open Serial Port!\n" ; -} -else -{ -$PortObj->baudrate(115200); -$PortObj->parity("none"); -$PortObj->databits(8); -$PortObj->stopbits(1); -} -} - -#We have to open the SerialPort and close it again, so that we can bind it to a Handle -if(! -f "serial.conf") -{ -my $PortObj = new Device::SerialPort($serialport); -SerialSettings($PortObj); -$PortObj->save("serial.conf"); -undef $PortObj; -} - -my $PortObj = tie (*SER, 'Device::SerialPort', "serial.conf") || Error "Can't tie using Configuration_File_Name: $!\n"; - -Error "Could not open Serial Interface!\n" if(not defined($PortObj)); -SerialSettings($PortObj); -#open SER,">$serialport"; - -SysLog("Serial interface opened: $PortObj\n"); - -my $sel = new IO::Select( \*SER ); - - - -#Hexdump function: Returns the hexdump representation of a string -sub hexdump($) -{ -return "" if(not defined($_[0])); -my $content=""; -$content.=sprintf("%02X ",unpack("C",substr($_[0],$_,1))) foreach (0 .. length($_[0])-1); -return $content; -} - -#pack3 packs together the length of the data in 3 bytes and the data itself, size limited to 16MB. In case the data is more than 16 MB, it is ignored, and a 0 Byte block is transferred -sub pack3 -{ - return "\x00\x00\x00" if(!defined($_[0])); - my $data=(length($_[0]) >= 2**24)? "":$_[0]; - my $len=pack("N",length($data)); - SysLog "len: ".length($data)."\n" if($debug); - return substr($len,1,3).$data; -} - - -#unpack3 unpacks packed data. -sub unpack3($) -{ -return undef if((not defined($_[0])) or length($_[0])<3); -#SysLog "hexdump: ".hexdump("\x00".substr($_[0],0,3))."\n"; -my $len=unpack("N","\x00".substr($_[0],0,3)); -#SysLog "len3: $len length(): ".length($_[0])." length()-3: ".(length($_[0])-3)."\n"; -return undef if(length($_[0])-3 != $len); -return substr($_[0],3); -} - - -#unpack3array extracts a whole array of concatented pack3ed data. -sub unpack3array($) -{ -my @retarr=(); -if((not defined($_[0])) or length($_[0])<3) -{ -SysLog "Begin of structure corrupt\n"; -return (); -} -my $dataleft=$_[0]; -while(length($dataleft)>=3) -{ -#SysLog "hexdump: ".hexdump("\x00".substr($dataleft,0,3))."\n"; -my $len=unpack("N","\x00".substr($dataleft,0,3)); -#SysLog "len3: $len length(): ".length($dataleft)." length()-3: ".(length($dataleft)-3)."\n"; -if(length($dataleft)-3 < $len) -{ -SysLog "Structure cut off\n"; -return (); -} -push @retarr, substr($dataleft,3,$len); -$dataleft=substr($dataleft,3+$len); -} -if(length($dataleft)!=0) -{ -SysLog "End of structure cut off\n"; -return (); -} -return @retarr; -} - - -#Raw send function over the Serial Interface (+debugging) -sub SendIt($) -{ - return unless defined($_[0]); - SysLog "Sending ".length($_[0])."\n"; #hexdump($_[0])."\n" if($debug); - my $data=$_[0]; - my $runcount=0; - my $total=0; - my $mtu=30; - while(length($data)) - { - my $iwrote=scalar($PortObj->write(substr($data,0,$mtu)))||0; - #usleep(270*$iwrote+9000); # On Linux, we have to wait to make sure it is being sent, and we dont loose any data. - $total+=$iwrote; - $data=substr($data,$iwrote); - if ($debug) { - print "i wrote: $iwrote total: $total left: ".length($data)."\n" if(!($runcount++ %10)); - } - } - SysLog "Sent message.\n" if($debug); - # print "Sending ".length($_[0])."\n"; #hexdump($_[0])."\n"; - # foreach(0 .. length($_[0])) - # { - # $PortObj->write(substr($_[0],$_,1)); - # } - -} - - -my $modus=0; -my $cnt=0; - - -#Send data over the Serial Interface with handshaking: -sub SendHandshaked($) -{ - SysLog "Shaking hands ...\n" if($debug); - SendIt("\x02"); - - Error "Handshake uncompleted. Connection lost2! $!\n" if(!scalar($sel->can_read(20))); - my $data=""; - my $length=read SER,$data,1; - if($length && $data eq "\x10") - { - #print "OK ...\n"; - my $xor=0; - foreach(0 .. length($_[0])-1) - { - #print "xor mit ".unpack("C",substr($_[0],$_,1))."\n"; - $xor ^= unpack("C",substr($_[0],$_,1)); - } - #print "XOR: $xor\n"; - - my $tryagain=1; - while($tryagain) - { - SendIt($_[0].pack("C",$xor)."rie4Ech7"); - - Error "Packet receipt was not confirmed in 5 seconds. Connection lost!\n" if(!scalar($sel->can_read(5))); - - $data=""; - $length=read SER,$data,1; - - if($length && $data eq "\x10") - { - SysLog "Sent successfully!...\n"; - $tryagain=0; - } - elsif($length && $data eq "\x11") - { - $tryagain=1; - } - else - { - Error "I cannot send! $length ".unpack("C",$data)."\n"; - } - } - - } - else - { - print "!Cannot send! $length \n"; - Error "!Stopped sending.\n"; - } -} - - - -sub Receive -{ -my $data=""; -my @ready = $sel->can_read(120); - -my $length=read SER,$data,1,0; - -#SysLog "Data: ".hexdump($data)."\n"; - -if($data eq "\x02") -{ -$modus=1; -SysLog "Start received, sending OK\n" if($debug); -SendIt("\x10"); - -my $block=""; -my $blockfinished=0; -my $tries=100000; - -while(!$blockfinished) -{ -Error("Tried reading too often\n") if(($tries--)<=0); -# SysLog ("tries: $tries") if(!($tries%10)); - -$data=""; -if(!scalar($sel->can_read(5))) -{ -Error "Handshake uncompleted. Connection lost variant3! $!\n" ; -return; -} -$length=read SER,$data,100,0; -if($length) -{ -$block.=$data; -} -#SysLog("Received: $length ".length($block)."\n"); -$blockfinished=defined(unpack3(substr($block,0,-9)))?1:0; - -if(!$blockfinished and substr($block,-8,8) eq "rie4Ech7") -{ -SysLog "BROKEN Block detected!\n"; -SendIt("\x11"); -$block=""; -$blockfinished=0; -$tries=100000; -} - -} -SysLog "Block done: ".hexdump($block)."\n" if($debug); -SendIt("\x10"); -return($block); -} -else -{ -Error("Error: No Answer received, Timeout.\n") if(length($data)==0); -Error("Error: Wrong Startbyte: ".hexdump($data)." !\n"); -} - -SysLog "Waiting on next request ...\n"; - -} - - - -# @result(Version,Action,Errorcode,Response)=Request(Version=1,Action=1,System=1,Root=1,Configuration="...",Parameter="...",Request="..."); -sub Request($$$$$$$$$$$) -{ - SysLog "Version: $_[0] Action: $_[1] System: $_[2] Root: $_[3] Config: $_[4]\n"; - $_[3]=0 if($_[3]<0); - SendHandshaked(pack3(pack3(pack("C*",$_[0],$_[1],$_[2],$_[3],$_[4],$_[5],$_[6]>>8,$_[6]&255,$_[7])).pack3($_[8]).pack3($_[9]).pack3($_[10]))); - my $data=Receive(); - my @fields=unpack3array(substr($data,3,-9)); - - SysLog "Answer from Server: ".hexdump($data)."\n" if($debug); - - #if(open OUT,">result.dat") - #{ - # print OUT $data; - # close OUT; - #} - #else - #{ - # SysLog "Could not write result: $!\n"; - #} - return $fields[1]; -} - - -sub calculateDays($) -{ - if($_[0]) - { - my @sum = $dbh->selectrow_array("select sum(`points`) as `total` from `notary` where `to`='".$_[0]."' group by `to`"); - SysLog("Summe: $sum[0]\n") if($debug); - - return ($sum[0]>=50)?730:180; - } - return 180; -} - -sub X509extractSAN($) -{ - my @bits = split("/", $_[0]); - my $SAN=""; - my $newsubject=""; - foreach my $val(@bits) - { - my @bit=split("=",$val); - if($bit[0] eq "subjectAltName") - { - $SAN.="," if($SAN ne ""); - $SAN.= trim($bit[1]); - } - else - { - $newsubject .= "/".$val; - } - } - $newsubject=~s{^//}{/}; - $newsubject=~s/[\n\r\t\x00"\\']//g; - $SAN=~s/[ \n\r\t\x00"\\']//g; - return($SAN,$newsubject); -} - -sub X509extractExpiryDate($) -{ - # TIMEZONE ?!? - my $data=`$opensslbin x509 -in "$_[0]" -noout -enddate`; - - #notAfter=Aug 8 10:26:34 2007 GMT - if($data=~m/notAfter=(\w{2,4}) *(\d{1,2}) *(\d{1,2}:\d{1,2}:\d{1,2}) (\d{4}) GMT/) - { - my $date="$4-".$monarr{$1}."-$2 $3"; - SysLog "Expiry Date found: $date\n" if($debug); - return $date; - } - else - { - SysLog "Expiry Date not found: $data\n"; - } - return ""; -} - -sub CRLuptodate($) -{ - return 0 unless(-f $_[0]); - my $data=`$opensslbin crl -in "$_[0]" -noout -lastupdate -inform der`; - SysLog "CRL: $data\n"; - #lastUpdate=Aug 8 10:26:34 2007 GMT - # Is the timezone handled properly? - if($data=~m/lastUpdate=(\w{2,4}) *(\d{1,2}) *(\d{1,2}:\d{1,2}:\d{1,2}) (\d{4}) GMT/) - { - my $date=sprintf("%04d-%02d-%02d",$4,$monarr{$1},$2); - SysLog "CRL Issueing Date found: $date\n" if($debug); - my $compare = strftime("%Y-%m-%d", localtime); - SysLog "Comparing $date with $compare\n" if($debug); - return $date eq $compare; - } - else - { - SysLog "Expiry Date not found. Perhaps DER format is necessary? Hint: $data\n"; - } - return 0; -} - - -sub X509extractSerialNumber($) -{ - # TIMEZONE ?!? - my $data=`$opensslbin x509 -in "$_[0]" -noout -serial`; - if($data=~m/serial=([0-9A-F]+)/) - { - return $1; - } - return ""; -} - -sub OpenPGPextractExpiryDate ($) -{ - my $r=""; - my $cts; - my @date; - - open(RGPG, $gpgbin.' -vv '.$_[0].' 2>&1 |') or Error('Can\'t start GnuPG($gpgbin): '.$!."\n"); - open(OUT, '> infogpg.txt' ) or Error('Can\'t open output file: infogpg.txt: '.$!); - $/="\n"; - while (<RGPG>) - { - print OUT $_; - unless ($r) - { - if ( /^\s*version \d+, created (\d+), md5len 0, sigclass \d+\s*$/ ) - { - SysLog "Detected CTS: $1\n"; - $cts = int($1); - } elsif ( /^\s*critical hashed subpkt \d+ len \d+ \(sig expires after ((\d+)y)?((\d+)d)?((\d+)h)?(\d+)m\)\s*$/ ) - { - SysLog "Detected FRAME $2 $4 $6 $8\n"; - $cts += $2 * 31536000; # secs per year (60 * 60 * 24 * 365) - $cts += $4 * 86400; # secs per day (60 * 60 * 24) - $cts += $6 * 3600; # secs per hour (60 * 60) - $cts += $8 * 60; # secs per min (60) - $r = $cts; - } - elsif(/version/) - { - SysLog "Detected VERSION\n"; - } - } - } - - close(OUT ); - close(RGPG); - - SysLog "CTS: $cts R: $r\n"; - - if ( $r ) - { - @date = gmtime($r); - $r = sprintf('%.4i-%.2i-%.2i %.2i:%.2i:%.2i', # date format - $date[5] + 1900, $date[4] + 1, $date[3], # day - $date[2], $date[1], $date[0], # time - ); - - } - SysLog "$r\n"; - return $r; -} - -#sub OpenPGPextractExpiryDate($) -#{ -# my $data=`$gpgbin -v $_[0]`; -# open OUT,">infogpg.txt"; -# print OUT $data; -# close OUT; -# if($data=~m/^sig\s+[0-9A-F]{8} (\d{4}-\d\d-\d\d) [^\[]/) -# { -# return "$1 00:00:00"; -# } -# return ""; -#} - - -# Sets the locale according to the users preferred language -sub setUsersLanguage($) -{ - my $lang="de_DE"; - print "Searching for the language of the user $_[0]\n"; - my @a=$dbh->selectrow_array("select language from users where id='".int($_[0])."'"); - $lang = $1 if($a[0]=~m/(\w+_[\w.@]+)/); - - SysLog "The users preferred language: $lang\n"; - - if($lang ne "") - { - $ENV{"LANG"}=$lang; - setlocale(LC_ALL, $lang); - } else { - $ENV{"LANG"}="en_AU"; - setlocale(LC_ALL, "en_AU"); - } -} - - -sub getUserData($) -{ - return() unless($_[0]=~m/^\d+$/); - my $sth = $dbh->prepare("select * from users where id='$_[0]'"); - $sth->execute(); - #SysLog "USER DUMP:\n"; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %tmp=%{$rowdata}; - #foreach (sort keys %tmp) - #{ - #SysLog " $_ -> $tmp{$_}\n"; - #} - return %tmp; - } - return (); -} - - -sub _($) -{ - return gettext($_[0]); -} - -sub sendmail($$$$$$$) -{ - my ($to, $subject, $message, $from, $replyto, $toname, $fromname)=@_; - my $errorsto="returns\@cacert.org"; - my $extra=""; - - - # sendmail($user{email}, "[CAcert.org] Your GPG/PGP Key", $body, "support\@cacert.org", "", "", "CAcert Support"); - my @lines=split("\n",$message); - $message = ""; - foreach my $line (@lines) - { - $line = trim($line); - if($line eq ".") - { - $message .= " .\n"; - } else - { - $message .= $line."\n"; - } - } - - $fromname = $from if($fromname eq ""); - - my @bits = split(",", $from); - $from = addslashes($bits['0']); - $fromname = addslashes($fromname); - - my $smtp = IO::Socket::INET->new(PeerAddr => 'localhost:25'); - $/="\n"; - SysLog "SMTP: ".<$smtp>; - print $smtp "HELO hlin.cacert.org\r\n"; - SysLog "SMTP: ".<$smtp>; - print $smtp "MAIL FROM: <returns\@cacert.org>\r\n"; - SysLog "MAIL FROM: ".<$smtp>; - - @bits = split(",", $to); - foreach my $user (@bits) - { - print $smtp "RCPT TO: <".trim($user).">\r\n"; - SysLog "RCPT TO: ".<$smtp>; - } - print $smtp "DATA\r\n"; - SysLog "DATA: ".<$smtp>; - - print $smtp "X-Mailer: CAcert.org Website\r\n"; - print $smtp "X-OriginatingIP: ".$ENV{"REMOTE_ADDR"}."\r\n"; - print $smtp "Sender: $errorsto\r\n"; - print $smtp "Errors-To: $errorsto\r\n"; - if($replyto ne "") - { - print $smtp "Reply-To: $replyto\r\n"; - } - else - { - print $smtp "Reply-To: $from\r\n"; - } - print $smtp "From: $from ($fromname)\r\n"; - print $smtp "To: $to\r\n"; - my $newsubj=encode_base64(recode("html..utf-8", trim($subject))); - #SysLog("NewSubj: --".$newsubj."--\n") if($debug); - $newsubj=~s/\n*$//; - #SysLog("NewSubj: --".$newsubj."--\n") if($debug); - print $smtp trim($subject)=~m/[^a-zA-Z0-9 ,.\[\]\/-]/?"Subject: =?utf-8?B?$newsubj?=\r\n":"Subject: $subject\r\n"; - print $smtp "Mime-Version: 1.0\r\n"; - if($extra eq "") - { - print $smtp "Content-Type: text/plain; charset=\"utf-8\"\r\n"; - print $smtp "Content-Transfer-Encoding: 8bit\r\n"; - } - else - { - print $smtp "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"; - print $smtp "Content-Transfer-Encoding: quoted-printable\r\n"; - print $smtp "Content-Disposition: inline\r\n"; - }; -# print $smtp "Content-Transfer-Encoding: BASE64\r\n"; - print $smtp "\r\n"; -# print $smtp chunk_split(encode_base64(recode("html..utf-8", $message)))."\r\n.\r\n"; - print $smtp recode("html..utf-8", $message)."\r\n.\r\n"; - SysLog "ENDOFTEXT: ".<$smtp>; - print $smtp "QUIT\n"; - SysLog "QUIT: ".<$smtp>; - close($smtp); -} - - -sub HandleCerts($$) -{ - my $org=$_[0]?"org":""; - my $server=$_[1]; - - - my $table=$org.($server?"domaincerts":"emailcerts"); - - SysLog "HandleCerts $table\n"; - - my $sth = $dbh->prepare("select * from $table where crt_name='' and csr_name!='' and warning<3"); - $sth->execute(); - #$rowdata; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - my $prefix=$org.($server?"server":"client"); - my $short=int($row{'id'}/1000); - my $csrname = "../csr/$prefix-".$row{'id'}.".csr"; - $csrname = "../csr/$prefix/$short/$prefix-".$row{'id'}.".csr" if($newlayout); - SysLog("New Layout: "."../csr/$prefix/$short/$prefix-".$row{'id'}.".csr\n"); - - #my $crtname = "../crt/$prefix-".$row{'id'}.".crt"; - my $crtname=$csrname; $crtname=~s/^\.\.\/csr/..\/crt/; $crtname=~s/\.csr$/.crt/; - my $dirname=$crtname; $dirname=~s/\/[^\/]*\.crt//; - mkdir $dirname,0777; - SysLog("New Layout: $crtname\n"); - - if($server) - { - #Weird SQL structure ... - my @sqlres=$dbh->selectrow_array("select memid from domains where id='".int($row{'domid'})."'"); - $row{'memid'}=$sqlres[0]; - SysLog("Fetched memid: $row{'memid'}\n") if($debug); - } - - SysLog "Opening $csrname\n"; - - my $crt=""; - - my $profile=0; - - # "0"=>"client.cnf", - # "1"=>"client-org.cnf", - # "2"=>"client-codesign.cnf", - # "3"=>"client-machine.cnf", - # "4"=>"client-ads.cnf", - # "5"=>"server.cnf", - # "6"=>"server-org.cnf", - # "7"=>"server-jabber.cnf", - # "8"=>"server-ocsp.cnf", - # "9"=>"server-timestamp.cnf", - # "10"=>"proxy.cnf", - # "11"=>"subca.cnf" - - - if($row{"type"} =~ m/^(8|9)$/) - { - $profile=$row{"type"}; - } - elsif($org) - { - if($row{'codesign'}) - { - $profile=2; ## TODO! - } - elsif($server) - { - $profile=6; - } - else - { - $profile=1; - } - } - else - { - if($row{'codesign'}) - { - $profile=2; - } - elsif($server) - { - $profile=5; - } - else - { - $profile=0; - } - - - } - - - - if(open(IN,"<$csrname")) - { - undef $/; - my $content=<IN>; - close IN; - SysLog "Read $csrname.\n" if($debug); - SysLog "Subject: --$row{'subject'}--\n" if($debug); - - my ($SAN,$subject)=X509extractSAN($row{'subject'}); - SysLog "Subject: --$subject--\n" if($debug); - SysLog "SAN: --$SAN--\n" if($debug); - SysLog "memid: $row{'memid'}\n" if($debug); - - my $days=$org?($server?(365*2):365):calculateDays($row{"memid"}); - - - $crt=Request($ver,1,1,$row{'rootcert'}-1,$profile,$row{'md'}eq"sha1"?2:0,$days,$row{'keytype'}eq"NS"?1:0,$content,$SAN,$subject); - if(length($crt)) - { - if($crt=~m/^-----BEGIN CERTIFICATE-----/) - { - open OUT,">$crtname"; - print OUT $crt; - close OUT; - } - else - { - open OUT,">$crtname.der"; - print OUT $crt; - close OUT; - system "$opensslbin x509 -in $crtname.der -inform der -out $crtname"; - } - } - else - { - SysLog "ZERO Length certificate received.\n"; - } - } - else - { - print "Error: $! Konnte $csrname nicht laden\n"; - } - - - - if(-s $crtname) - { - SysLog "Opening $crtname\n"; - - my $date=X509extractExpiryDate($crtname); - my $serial=X509extractSerialNumber($crtname); - - setUsersLanguage($row{memid}); - - my %user=getUserData($row{memid}); - - foreach (sort keys %user) - { - SysLog " $_ -> $user{$_}\n" if($debug); - } - - SysLog("update `$table` set `crt_name`='$crtname', modified=now(), serial='$serial', `expire`='$date' where `id`='".$row{'id'}."'\n"); - - $dbh->do("update `$table` set `crt_name`='$crtname', modified=now(), serial='$serial', `expire`='$date' where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("You can collect your certificate for %s by going to the following location:")."\n\n", $row{'email'}.$row{'CN'}); - $body .= "https://www.cacert.org/account.php?id=".($server?"15":"6")."&cert=$row{id}\n\n"; - $body .= _("If you have not imported CAcert´s root certificate, please go to:")."\n"; - $body .= "https://www.cacert.org/index.php?id=3\n"; - $body .= "Root cert fingerprint = A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B\n"; - $body .= "Root cert fingerprint = 135C EC36 F49C B8E9 3B1A B270 CD80 8846 76CE 8F33\n\n"; - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - sendmail($user{email}, "[CAcert.org] "._("Your certificate"), $body, "support\@cacert.org", "", "", "CAcert Support"); - } - else - { - SysLog("Could not find the issued certificate. $crtname ".$row{"id"}."\n"); - $dbh->do("update `$table` set warning=warning+1 where `id`='".$row{'id'}."'"); - } - } -} - - -sub DoCRL($$) -{ - my $crl=$_[0]; - my $crlname=$_[1]; - - if(length($crl)) - { - if($crl=~m/^-----BEGIN X509 CRL-----/) - { - open OUT,">$crlname.pem"; - print OUT $crl; - close OUT; - system "$opensslbin crl -in $crlname.pem -outform der -out $crlname.tmp"; - } - else - { - open OUT,">$crlname.patch"; - print OUT $crl; - close OUT; - my $res=system "xdelta patch $crlname.patch $crlname $crlname.tmp"; - #print "xdelta res: $res\n"; - if($res==512) - { - open OUT,">$crlname.tmp"; - print OUT $crl; - close OUT; - } - } - - my $res=`openssl crl -verify -in $crlname.tmp -inform der -noout 2>&1`; - SysLog "verify: $res\n"; - if($res=~m/verify OK/) - { - rename "$crlname.tmp","$crlname"; - } - else - { - SysLog "VERIFICATION OF NEW CRL DID NOT SUCCEED! PLEASE REPAIR!\n"; - SysLog "Broken CRL is available as $crlname.tmp\n"; - #Override for testing: - rename "$crlname.tmp","$crlname"; - } - return 1; - } - else - { - SysLog("RECEIVED AN EMPTY CRL!\n"); - } - return 0; -} - - -sub RefreshCRLs() -{ - foreach my $rootcert (keys %revokefile) - { - if(!CRLuptodate($revokefile{$rootcert})) - { - SysLog "Update of the CRL $rootcert is necessary!\n"; - my $crlname = $revokefile{$rootcert}; - my $revokehash=sha1_hex(readfile($crlname)); - my $crl=Request($ver,2,1,$rootcert-1,0,0,365,0,"","",$revokehash); - #print "Received ".length($crl)." ".hexdump($crl)."\n"; - DoCRL($crl,$crlname); - } - } -} - - -sub RevokeCerts($$) -{ - my $org=$_[0]?"org":""; - my $server=$_[1]; - - my $table=$org.($server?"domaincerts":"emailcerts"); - - my $sth = $dbh->prepare("select * from $table where revoked='1970-01-01 10:00:01'"); # WHICH TIMEZONE? - $sth->execute(); - #$rowdata; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - - my $prefix=$org.($server?"server":"client"); - my $short=int($row{'id'}/1000); - - my $csrname = "../csr/$prefix-".$row{'id'}.".csr"; - $csrname = "../csr/$prefix/$short/$prefix-".$row{'id'}.".csr" if($newlayout); - SysLog("New Layout: "."../csr/$prefix/$short/$prefix-".$row{'id'}.".csr\n"); - - #my $crtname = "../crt/$prefix-".$row{'id'}.".crt"; - my $crtname=$csrname; $crtname=~s/^\.\.\/csr/..\/crt/; $crtname=~s/\.csr$/.crt/; - SysLog("New Layout: $crtname\n"); - - #my $csrname = "../csr/".$org.($server?"server-":"client-").$row{'id'}.".csr"; - #my $crtname = "../crt/".$org.($server?"server-":"client-").$row{'id'}.".crt"; - my $crlname = $revokefile{$row{'rootcert'}}; - - my $crt=""; - - - if(open(IN,"<$crtname")) - { - undef $/; - my $content=<IN>; - close IN; - my $revokehash=sha1_hex(readfile($crlname)); - - my $crl=Request($ver,2,1,$row{'rootcert'}-1,0,0,365,0,$content,"",$revokehash); - my $result=DoCRL($crl,$crlname); - - if($result) - { - setUsersLanguage($row{memid}); - - my %user=getUserData($row{memid}); - - $dbh->do("update `$table` set `revoked`=now() where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("Your certificate for %s has been revoked, as per request.")."\n\n", $row{'CN'}); - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - SysLog("Sending email to ".$user{"email"}."\n") if($debug); - sendmail($user{email}, "[CAcert.org] "._("Your certificate"), $body, "support\@cacert.org", "", "", "CAcert Support"); - } - - } - else - { - SysLog("Error in RevokeCerts: $crtname $!\n") if($debug); - } - - } - -} - - - - -sub HandleGPG() -{ - my $sth = $dbh->prepare("select * from gpg where crt='' and csr!='' "); - $sth->execute(); - my $rowdata; - while ( $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - - my $prefix="gpg"; - my $short=int($row{'id'}/1000); - my $csrname = "../csr/$prefix-".$row{'id'}.".csr"; - $csrname = "../csr/$prefix/$short/$prefix-".$row{'id'}.".csr" if($newlayout); - SysLog("New Layout: "."../csr/$prefix/$short/$prefix-".$row{'id'}.".csr\n"); - - #my $crtname = "../crt/$prefix-".$row{'id'}.".crt"; - my $crtname=$csrname; $crtname=~s/^\.\.\/csr/..\/crt/; $crtname=~s/\.csr$/.crt/; - SysLog("New Layout: $crtname\n"); - - - #my $csrname = "../csr/gpg-".$row{'id'}.".csr"; - #my $crtname = "../crt/gpg-".$row{'id'}.".crt"; - - SysLog "Opening $csrname\n"; - - my $crt=""; - - if(-s $csrname && open(IN,"<$csrname")) - { - undef $/; - my $content=<IN>; - close IN; - SysLog "Read $csrname.\n"; - $crt=Request($ver,1,2,0,0,2,366,0,$content,"",""); - if(length($crt)) - { - open OUT,">$crtname"; - print OUT $crt; - close OUT; - } - - } - else - { - #Error("Error: $!\n"); - next; - } - - if(-s $crtname) - { - SysLog "Opening $crtname\n"; - setUsersLanguage($row{memid}); - - my $date=OpenPGPextractExpiryDate($crtname); - my %user=getUserData($row{memid}); - - $dbh->do("update `gpg` set `crt`='$crtname', issued=now(), `expire`='$date' where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("Your CAcert signed key for %s is available online at:")."\n\n", $row{'email'}); - $body .= "https://www.cacert.org/gpg.php?id=3&cert=$row{id}\n\n"; - $body .= _("To help improve the trust of CAcert in general, it's appreciated if you could also sign our key and upload it to a key server. Below is a copy of our primary key details:")."\n\n"; - $body .= "pub 1024D/65D0FD58 2003-07-11 CA Cert Signing Authority (Root CA) <gpg\@cacert.org>\n"; - $body .= "Key fingerprint = A31D 4F81 EF4E BD07 B456 FA04 D2BB 0D01 65D0 FD58\n\n"; - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - sendmail($user{email}, "[CAcert.org] Your GPG/PGP Key", $body, "support\@cacert.org", "", "", "CAcert Support"); - } else { - SysLog("Could not find the issued gpg key. ".$row{"id"}."\n"); - #$dbh->do("delete from `gpg` where `id`='".$row{'id'}."'"); - } - } -} - - -# Main program loop - -my $crlcheck=0; - -while ( -f "./client.pl-active" ) -{ - SysLog("Handling GPG database ...\n"); - HandleGPG(); - SysLog("Issueing certs ...\n"); - HandleCerts(0,0); #personal client certs - HandleCerts(0,1); #personal server certs - HandleCerts(1,0); #org client certs - HandleCerts(1,1); #org server certs - SysLog("Revoking certs ...\n"); - RevokeCerts(0,0); #personal client certs - RevokeCerts(0,1); #personal server certs - RevokeCerts(1,0); #org client certs - RevokeCerts(1,1); #org server certs - - $crlcheck++; - RefreshCRLs() if(($crlcheck%100) == 1); - - #print "Sign Request X.509, Root0\n"; - #my $reqcontent=""; - #Request($ver,1,1,0,5,2,365,0,$reqcontent,"","/CN=supertest.cacert.at"); - - SysLog("NUL Request:\n"); - my $timestamp=strftime("%m%d%H%M%Y.%S",gmtime); - Request($ver,0,0,0,0,0,0,0,$timestamp,"",""); - sleep(1); - usleep(1700000); -} diff --git a/cacert/CommModule/clientloop.sh b/cacert/CommModule/clientloop.sh deleted file mode 100755 index c1254f2..0000000 --- a/cacert/CommModule/clientloop.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -while true -do -perl ./client.pl -#mail -s CAcert-Alert pg@futureware.at <error.txt -echo ****************************************************************** -echo ****************************************************************** -echo ****************************************************************** -sleep 1 -done - diff --git a/cacert/CommModule/commdaemon b/cacert/CommModule/commdaemon deleted file mode 100755 index d07495a..0000000 --- a/cacert/CommModule/commdaemon +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/bash -# @(#)(CAcert) $Id: commdaemon,v 1.2 2009-12-28 15:14:40 wytze Exp $ -# commdaemon - script to run CommModule script in a loop, -# while checking for removal of activation by external script - -NAME=CommModule/commdaemon -PID=$$ -TAG=${NAME}\[${PID}] - -case $# in - 1) SCRIPT=$1 - ACTIVE=${SCRIPT}-active - ;; - *) echo "Usage: $0 <script>" 1>&2 - exit 1 - ;; -esac - -syslog_error() -{ - logger -t ${TAG} -p user.err $1 -} - -syslog_notice() -{ - logger -t ${TAG} -p user.notice $1 -} - -if [ ! -x ${SCRIPT} ] -then - syslog_error "${SCRIPT} not found or not executable" - exit 1 -fi - -(echo -n "${TAG}: "; date) >${ACTIVE} - -syslog_notice "main loop started" -while [ -f ${ACTIVE} ] -do - syslog_notice "${SCRIPT} started" - ${SCRIPT} >>nohup.out 2>&1 - syslog_notice "${SCRIPT} ended" - sleep 1 -done -syslog_notice "main loop stopped" diff --git a/cacert/CommModule/commmodule b/cacert/CommModule/commmodule deleted file mode 100755 index f003f30..0000000 --- a/cacert/CommModule/commmodule +++ /dev/null @@ -1,166 +0,0 @@ -#! /bin/sh -# @(#)(CAcert) $Id: commmodule,v 1.1 2009-12-28 15:09:24 wytze Exp $ -### BEGIN INIT INFO -# Provides: commmodule -# Required-Start: $local_fs $remote_fs $syslog mysql -# Required-Stop: $local_fs $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start and stop the CAcert CommModule processes -# Description: This file should be used to start and stop the CAcert -# CommModule processes from /etc/init.d. -### END INIT INFO - -# Author: Wytze van der Raay <wytze@cacert.org> -# -# Please remove the "Author" lines above and replace them -# with your own name if you copy and modify this script. - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="CAcert CommModule processes start/stop" -NAME=commmodule -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -if [ "$1" != "setup" ] -then - if [ "${COMMROOT}" = "" ] - then - echo "$0: COMMROOT not set" - exit 1 - fi - if [ "${COMMROLE}" = "" ] - then - echo "$0: COMMROLE not set" - exit 1 - fi - if [ ! -d ${COMMROOT} ] - then - echo "$0: ${COMMROOT} is not a directory" - exit 1 - fi - if [ ! -x ${COMMROOT}/commdaemon ] - then - echo "$0: ${COMMROOT}/commdaemon not present or non-executable" - exit 1 - fi - if [ ! -x ${COMMROOT}/${COMMROLE}.pl ] - then - echo "$0: ${COMMROOT}/${COMMROLE}.pl not present or non executable" - exit 1 - fi - - DAEMON=${COMMROOT}/commdaemon - DAEMON_ARGS="${COMMROOT}/${COMMROLE}.pl" - ACTIVE=${COMMROOT}/${COMMROLE}.pl-active -fi - -# Load usbserial module with proper parameters -/sbin/modprobe usbserial vendor=0x067b product=0x2501 - -# -# Function that starts the daemon/service -# -do_start() -{ - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --chdir ${COMMROOT} --background --exec $DAEMON --test \ - > /dev/null \ - || return 1 - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --chdir ${COMMROOT} --background --exec $DAEMON -- \ - $DAEMON_ARGS \ - || return 2 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - rm -f ${ACTIVE} - sleep 5 - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - restart|force-reload) - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - setup) - # setup default installation of commmodule scripts - cp ${NAME} /etc/init.d - chown root.root /etc/init.d/${NAME} - update-rc.d -f ${NAME} remove - update-rc.d ${NAME} defaults 90 20 - (echo "COMMROOT=/home/cacert/www/CommModule"; - echo "COMMROLE=client") >/etc/default/${NAME} - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|setup}" >&2 - exit 3 - ;; -esac - -: diff --git a/cacert/CommModule/error.txt b/cacert/CommModule/error.txt deleted file mode 100644 index 7224707..0000000 --- a/cacert/CommModule/error.txt +++ /dev/null @@ -1 +0,0 @@ -The CommModule has a problem. diff --git a/cacert/CommModule/logclean.sh b/cacert/CommModule/logclean.sh deleted file mode 100755 index 99963ee..0000000 --- a/cacert/CommModule/logclean.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/sh -# logclean.sh - maintenance script for logfiles generated by CommModule -# run this daily or weekly from cron - -syslog_error() -{ - logger -i -t CommModule/logclean.sh -p user.err $1 -} - -syslog_notice() -{ - logger -i -t CommModule/logclean.sh -p user.notice $1 -} - -# determine location of CommModule -if [ -d /home/cacert/www/CommModule ] -then # webdb server - cd /home/cacert/www/CommModule -elif [ -d /root/CommModule ] -then # signing server - cd /root/CommModule -else - echo "$0: cannot find CommModule directory" 1>&2 - syslog_error "cannot find CommModule directory" - exit 1 -fi - -# compress logfiles which have not been modified in at least 48 hours -FILES=`find logfile20*.txt -mtime +1 -print` -if [ -n "${FILES}" ] -then - for F in ${FILES} - do - syslog_notice "Compressing ${F}" && bzip2 ${F} - done -fi - -# move compressed logfiles to oldlogs directory -FILES=`find logfile20*.txt.bz2 -print` -if [ -n "${FILES}" ] -then - mkdir -p oldlogs - for F in ${FILES} - do - syslog_notice "Moving ${F} to oldlogs" && mv ${F} oldlogs - done -fi - -# delete old logfiles which have not been modified in at least 2.5+ years -FILES=`find oldlogs/logfile20*.txt.bz2 -mtime +913 -print` -if [ -n "${FILES}" ] -then - for F in ${FILES} - do - syslog_notice "Deleting ${F}" && rm -f ${F} - done -fi diff --git a/cacert/CommModule/readme.txt b/cacert/CommModule/readme.txt deleted file mode 100644 index d832491..0000000 --- a/cacert/CommModule/readme.txt +++ /dev/null @@ -1,6 +0,0 @@ -client.pl The real client, running on the webserver -commdaemon Script to run client.pl or server.pl -commmodule Script for startup/shutdown of CommModule from /etc/init.d -logclean.sh Maintenance script for logfiles generated by CommModule -serial.conf Serial Port configuration file -usbclient.pl Obsoleted USB version of client.pl above diff --git a/cacert/CommModule/serial.conf b/cacert/CommModule/serial.conf deleted file mode 100755 index bd9980c..0000000 --- a/cacert/CommModule/serial.conf +++ /dev/null @@ -1,32 +0,0 @@ -Device::SerialPort_Configuration_File -- DO NOT EDIT -- -/dev/ttyUSB0 - -C_CFLAG,7346 -C_IFLAG,0 -C_ISPEED,4098 -C_LFLAG,2608 -C_OFLAG,4 -C_OSPEED,4098 -C_VERASE,127 -C_VQUIT,28 -C_VSUSP,26 -C_VINTR,3 -C_VSTOP,19 -C_VSTART,17 -C_VKILL,21 -C_VMIN,0 -C_VEOF,4 -C_VEOL,0 -C_VTIME,0 -CFG_1,none -RCONST,0 -CFG_2,none -HNAME,localhost -ALIAS,/dev/ttyUSB0 -CFG_3,none -U_MSG,0 -DATYPE,raw -E_MSG,0 -HADDR,0 -RTOT,0 -DVTYPE,none diff --git a/cacert/CommModule/usbclient.pl b/cacert/CommModule/usbclient.pl deleted file mode 100755 index 3cbe2c3..0000000 --- a/cacert/CommModule/usbclient.pl +++ /dev/null @@ -1,1019 +0,0 @@ -#!/usr/bin/perl -w - -# CommModule - CAcert Communication module -# Copyright (C) 2004-2008 CAcert Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# Production Client / CommModule - -use strict; -use Device::USB; -use POSIX; -use Time::HiRes q(usleep); -use File::CounterFile; -use File::Copy; -use DBI; -use Locale::gettext; -use IO::Socket; -use MIME::Base64; -use Digest::SHA1 qw(sha1_hex sha1); - -#Protocol version: -my $ver=1; - -#Debugging does not delete work-files for later inspection -my $debug=0; - -#Paranoid exists the program on a malicious request -my $paranoid=1; - -#Location of the openssl and gpg binaries -my $gpgbin="/usr/bin/gpg"; -my $opensslbin="/usr/bin/openssl"; - -my $mysqlphp="/home/cacert/www/includes/mysql.php"; - -my %revokefile=(2=>"../www/class3-revoke.crl",1=>"../www/revoke.crl",0=>"../www/revoke.crl"); - -#USB-Link settings -my $PACKETSIZE=0x100; -my $SALT="Salz"; -my $HASHSIZE=20; - -#End of configurations - -######################################################## - - -#Reads a while file and returns the content -#Returns undef on failure -sub readfile($) -{ - my $olds=$/; - my $content=undef; - if(open READIN,"<$_[0]") - { - binmode READIN; - undef $/; - $content=<READIN>; - close READIN; - $/=$olds; - } - return $content; -} - -#Writes/Overwrites a file with content. -#Returns 1 on success, 0 on failure. -sub writefile($$) -{ - if(open WRITEOUT,">$_[0]") - { - binmode WRITEOUT; - print WRITEOUT $_[1]; - close WRITEOUT; - return 1; - } - return 0; -} - -#mkdir "revokehashes"; -foreach (keys %revokefile) -{ - my $revokehash=sha1_hex(readfile($revokefile{$_})); - print "Root $_: Hash $revokefile{$_} = $revokehash\n"; -} - -my %monarr = ("Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12); - -my $content=readfile($mysqlphp); -my $password="";$password=$1 if($content=~m/mysql_connect\("[^"]+",\s*"\w+",\s*"(\w+)"/); -$content=""; - -my $dbh = DBI->connect("DBI:mysql:cacert:localhost",$password?"cacert":"",$password, { RaiseError => 1, AutoCommit => 1 }) || die ("Error with the database connection.\n"); - - -#Logging functions: -sub SysLog($) -{ - my @ltime=localtime; - my $date=strftime("%Y-%m-%d",@ltime); - open LOG,">>logfile$date.txt"; - return if(not defined($_[0])); - my $timestamp=strftime("%Y-%m-%d %H:%M:%S",@ltime); - #$syslog->write($_[0]."\x00"); - print LOG "$timestamp $_[0]"; - print "$timestamp $_[0]"; - flush LOG; - close LOG; -} - - -sub Error($) -{ - SysLog($_[0]); - if($paranoid) - { - die $_[0]; - } -} - - -my $timestamp=strftime("%Y-%m-%d %H:%M:%S",localtime); - - -sub mysql_query($) -{ - $dbh->do($_[0]); -} - -sub trim($) -{ - my $new=$_[0]; - $new=~s/^\s*//; - $new=~s/\s*$//; - return($new); -} - -sub addslashes($) -{ - my $new=$_[0]; - $new=~s/['"\\]/\\$1/g; - return($new); -} - -sub recode -{ - return $_[1]; -} - - -#Hexdump function: Returns the hexdump representation of a string -sub hexdump($) -{ - return "" if(not defined($_[0])); - my $content=""; - $content.=sprintf("%02X ",unpack("C",substr($_[0],$_,1))) foreach (0 .. length($_[0])-1); - return $content; -} - -#pack3 packs together the length of the data in 3 bytes and the data itself, size limited to 16MB. In case the data is more than 16 MB, it is ignored, and a 0 Byte block is transferred -sub pack3 -{ - return "\x00\x00\x00" if(!defined($_[0])); - my $data=(length($_[0]) >= 2**24)? "":$_[0]; - my $len=pack("N",length($data)); - #print "len: ".length($data)."\n"; - return substr($len,1,3).$data; -} - - -#unpack3 unpacks packed data. -sub unpack3($) -{ - return undef if((not defined($_[0])) or length($_[0])<3); - #print "hexdump: ".hexdump("\x00".substr($_[0],0,3))."\n"; - my $len=unpack("N","\x00".substr($_[0],0,3)); - #print "len3: $len length(): ".length($_[0])." length()-3: ".(length($_[0])-3)."\n"; - return undef if(length($_[0])-3 != $len); - return substr($_[0],3); -} - - -#unpack3array extracts a whole array of concatented packed data. -sub unpack3array($) -{ - my @retarr=(); - if((not defined($_[0])) or length($_[0])<3) - { - SysLog "Datenanfang kaputt\n"; - return (); - } - my $dataleft=$_[0]; - while(length($dataleft)>=3) - { - #print "hexdump: ".hexdump("\x00".substr($dataleft,0,3))."\n"; - my $len=unpack("N","\x00".substr($dataleft,0,3)); - #print "len3: $len length(): ".length($dataleft)." length()-3: ".(length($dataleft)-3)."\n"; - if(length($dataleft)-3 < $len) - { - SysLog "Datensatz abgeschnitten\n"; - return (); - } - push @retarr, substr($dataleft,3,$len); - $dataleft=substr($dataleft,3+$len); - } - if(length($dataleft)!=0) - { - SysLog "Ende abgeschnitten\n"; - return (); - } - return @retarr; -} - -#Pack4 packs and secret-key signs some data. -sub pack4($) -{ - return pack("N",length($_[0])).$_[0].sha1($SALT.$_[0]); -} - - - - - -$timestamp=strftime("%Y-%m-%d %H:%M:%S",localtime); - -SysLog("Starting Server at $timestamp\n"); - -$SALT=readfile(".salt.key"); - -SysLog("Opening USB-Link interface:\n"); - -#Opening USB device: -my $usb = Device::USB->new(); -my @list=$usb->list_devices(0x067b,0x2501); -my $dev = $list[0]; -if(defined($dev)) -{ - #print "USB-Link Device found: ", $dev->filename(), "\n"; - if($dev->open()) - { - #print "\t", $dev->manufacturer(), ": ", $dev->product(), "\n"; - $dev->claim_interface(0); - - my $buffer=" "; - - $dev->control_msg(0xc0 , 0xfb, 0, 0, $buffer, 2, 1000); - - if($buffer ne "\x04\x08" and $buffer ne "\x0c\x04" and $buffer ne "\x00\x0c" and $buffer ne "\x04\x0c") - { - print "Please plug the USB-Link cable into the other computer.\n"; - } - else - { - print "USB-Link ok.\n"; - } - } - else - { - print "Unable to work with USB-Link device: $!\n"; - } -} -else -{ - print "USB-Link Device not found. Please plug the cable into this computer.\n"; -} - - - - - - -#sends a single packet (pack4 encoded). Returns the returncode -sub send_packet($) -{ - if((14+length($_[0])+$HASHSIZE) > $PACKETSIZE) - { - return -1; - } - # 4 Bytes Length, N Bytes Data, 20 Bytes SHA1 Hash, 0 Padding - my $data="CommModule".pack4($_[0]); - $data.=("\x00"x($PACKETSIZE-length($data))); - my $ret=$dev->bulk_write(0x2,$data,length($data),1000); - print "Send-result: $ret\n"; - return $ret; -} - -#Receives several consecutive packets. Returns the concatenated payload -sub receive_packets() -{ - print "Receiving packets ...\n"; - my $collectedpayload=""; - my $done=0; - while(!$done) - { - my $data=" "x$PACKETSIZE; - my $re=$dev->bulk_read(0x83,$data,length($data),10000); - writefile("usbpacket.dat",$data); - print "Read: $re Bytes: ".length($data)."\n"; - if($re > 0) - { - $data=~s/^.*?CommModule//s; - my $len=unpack("N",substr($data,0,4)); - print "len: $len\n"; - if($len>=0 and $len<=$PACKETSIZE-$HASHSIZE-4) - { - my $payload=substr($data,4,$len); - if(sha1($SALT.$payload) eq substr($data,4+$len,$HASHSIZE)) - { - print "Hash OK!\n"; - $collectedpayload.=substr($payload,1); - $done=1 if(substr($payload,0,1)eq "0"); - } - else - { - print "Hash NOT OK: ".sha1_hex($SALT.$payload)." vs. ".hexdump(substr($data,4+$len,$HASHSIZE))." !\n"; - return ""; - } - } - } - elsif($re == 0) - { - print "USB-Link cable disconnected?\n"; - #return ""; - } - } - print "Receiving done.\n"; - return $collectedpayload; -} - - - - -my $MAXCHUNK=$PACKETSIZE-100; - -#Sends data over the USB-Link, without handshaking -sub SendPackets($) -{ - print "Sending Packets ...\n"; - my $data=pack4($_[0]); - my $done=0; - return if(!defined($data) or !length($data)); - - while(!$done) - { - while(length($data)>0) - { - my $d=substr($data,0,$MAXCHUNK); - if(length($data)>$MAXCHUNK) - { - send_packet("1".$d); - $data=substr($data,$MAXCHUNK); - } - else - { - send_packet("0".$d); - $data=""; - } - } - $done=1; - } - print "Sending Packets done.\n"; -} - -#Receives several packets, verifies the secret key signature and extracts the payload -#Returns the payload -sub Receive -{ - my $data=receive_packets(); - if (!defined($data) or length($data)<4) - { - print "Received data too short!\n"; - return ""; - } - my $len=unpack("N",substr($data,0,4)); - if($len != (length($data)-$HASHSIZE-4)) - { - print "Length field does not match data on Receive!\n"; - return ""; - } - my $payload=substr($data,4,$len); - if(sha1($SALT.$payload) ne substr($data,4+$len,$HASHSIZE)) - { - print "Hash on Receive is BROKEN!\n"; - return ""; - } - return $payload; -} - - - - -# @result(Version,Action,Errorcode,Response)=Request(Version=1,Action=1,System=1,Root=1,Configuration="...",Parameter="...",Request="..."); -sub Request($$$$$$$$$$$) -{ - print "Version: $_[0] Action: $_[1] System: $_[2] Root: $_[3] Config: $_[4]\n"; - $_[3]=0 if($_[3]<0); - SendPackets(pack3(pack3(pack("C*",$_[0],$_[1],$_[2],$_[3],$_[4],$_[5],$_[6]>>8,$_[6]&255,$_[7])).pack3($_[8]).pack3($_[9]).pack3($_[10]))); - my $data=Receive(); - if(defined($data) and length($data)>6) - { - my @fields=unpack3array(substr($data,3)); - - SysLog "Answer from Server: ".hexdump($data)."\n" if($debug); - - #writefile("result.dat",$data); - - return $fields[1]; - } - return ""; -} - - -sub calculateDays($) -{ - if($_[0]) - { - my @sum = $dbh->selectrow_array("select sum(`points`) as `total` from `notary` where `to`='".$_[0]."' group by `to`"); - SysLog("Summe: $sum[0]\n") if($debug); - - return ($sum[0]>=50)?730:180; - } - return 180; -} - -sub X509extractSAN($) -{ - my @bits = split("/", $_[0]); - my $SAN=""; - my $newsubject=""; - foreach my $val(@bits) - { - my @bit=split("=",$val); - if($bit[0] eq "subjectAltName") - { - $SAN.="," if($SAN ne ""); - $SAN.= trim($bit[1]); - } - else - { - $newsubject .= "/".$val; - } - } - $newsubject=~s{^//}{/}; - $newsubject=~s/[\n\r\t\x00"\\']//g; - $SAN=~s/[ \n\r\t\x00"\\']//g; - return($SAN,$newsubject); -} - -sub X509extractExpiryDate($) -{ - # TIMEZONE ?!? - my $data=`$opensslbin x509 -in "$_[0]" -noout -enddate`; - - #notAfter=Aug 8 10:26:34 2007 GMT - if($data=~m/notAfter=(\w{2,4}) *(\d{1,2}) *(\d{1,2}:\d{1,2}:\d{1,2}) (\d{4}) GMT/) - { - my $date="$4-".$monarr{$1}."-$2 $3"; - SysLog "Expiry Date found: $date\n" if($debug); - return $date; - } - else - { - SysLog "Expiry Date not found: $data\n"; - } - return ""; -} -sub X509extractSerialNumber($) -{ - # TIMEZONE ?!? - my $data=`$opensslbin x509 -in "$_[0]" -noout -serial`; - if($data=~m/serial=([0-9A-F]+)/) - { - return $1; - } - return ""; -} - -sub OpenPGPextractExpiryDate ($) -{ - my $r=""; - my $cts; - my @date; - - open(RGPG, $gpgbin.' -vv '.$_[0].' 2>&1 |') or Error('Can\'t start GnuPG($gpgbin): '.$!."\n"); - open(OUT, '> infogpg.txt' ) or Error('Can\'t open output file: infogpg.txt: '.$!); - $/="\n"; - while (<RGPG>) - { - print OUT $_; - unless ($r) - { - if ( /^\s*version \d+, created (\d+), md5len 0, sigclass \d+\s*$/ ) - { - SysLog "Detected CTS: $1\n"; - $cts = int($1); - } elsif ( /^\s*critical hashed subpkt \d+ len \d+ \(sig expires after ((\d+)y)?((\d+)d)?((\d+)h)?(\d+)m\)\s*$/ ) - { - SysLog "Detected FRAME $2 $4 $6 $8\n"; - $cts += $2 * 31536000; # secs per year (60 * 60 * 24 * 365) - $cts += $4 * 86400; # secs per day (60 * 60 * 24) - $cts += $6 * 3600; # secs per hour (60 * 60) - $cts += $8 * 60; # secs per min (60) - $r = $cts; - } - elsif(/version/) - { - SysLog "Detected VERSION\n"; - } - } - } - - close(OUT ); - close(RGPG); - - SysLog "CTS: $cts R: $r\n"; - - if ( $r ) - { - @date = gmtime($r); - $r = sprintf('%.4i-%.2i-%.2i %.2i:%.2i:%.2i', # date format - $date[5] + 1900, $date[4] + 1, $date[3], # day - $date[2], $date[1], $date[0], # time - ); - - } - SysLog "$r\n"; - return $r; -} - - -# Sets the locale according to the users preferred language -sub setUsersLanguage($) -{ - my $lang="de_DE"; - print "Searching for the language of the user $_[0]\n"; - my @a=$dbh->selectrow_array("select language from users where id='".int($_[0])."'"); - $lang = $1 if($a[0]=~m/(\w+_[\w.@]+)/); - - SysLog "The users preferred language: $lang\n"; - - if($lang ne "") - { - $ENV{"LANG"}=$lang; - setlocale(LC_ALL, $lang); - } else { - $ENV{"LANG"}="en_AU"; - setlocale(LC_ALL, "en_AU"); - } -} - - -sub getUserData($) -{ - my $sth = $dbh->prepare("select * from users where id='$_[0]'"); - $sth->execute(); - #SysLog "USER DUMP:\n"; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %tmp=%{$rowdata}; - #foreach (sort keys %tmp) - #{ - #SysLog " $_ -> $tmp{$_}\n"; - #} - return %tmp; - } - return (); -} - - -sub _($) -{ - return gettext($_[0]); -} - -sub sendmail($$$$$$$) -{ - my ($to, $subject, $message, $from, $replyto, $toname, $fromname)=@_; - my $errorsto="returns\@cacert.org"; - my $extra=""; - - - # sendmail($user{email}, "[CAcert.org] Your GPG/PGP Key", $body, "support\@cacert.org", "", "", "CAcert Support"); - my @lines=split("\n",$message); - $message = ""; - foreach my $line (@lines) - { - $line = trim($line); - if($line eq ".") - { - $message .= " .\n"; - } else - { - $message .= $line."\n"; - } - } - - $fromname = $from if($fromname eq ""); - - my @bits = split(",", $from); - $from = addslashes($bits['0']); - $fromname = addslashes($fromname); - - my $smtp = IO::Socket::INET->new(PeerAddr => 'localhost:25'); - $/="\n"; - SysLog "SMTP: ".<$smtp>."\n"; - print $smtp "HELO hlin.cacert.org\r\n"; - SysLog "SMTP: ".<$smtp>."\n"; - print $smtp "MAIL FROM: <returns\@cacert.org>\r\n"; - SysLog "MAIL FROM: ".<$smtp>."\n"; - - @bits = split(",", $to); - foreach my $user (@bits) - { - print $smtp "RCPT TO: <".trim($user).">\r\n"; - SysLog "RCPT TO: ".<$smtp>."\n"; - } - print $smtp "DATA\r\n"; - SysLog "DATA: ".<$smtp>."\n"; - - print $smtp "X-Mailer: CAcert.org Website\r\n"; - print $smtp "X-OriginatingIP: ".$ENV{"REMOTE_ADDR"}."\r\n"; - print $smtp "Sender: $errorsto\r\n"; - print $smtp "Errors-To: $errorsto\r\n"; - if($replyto ne "") - { - print $smtp "Reply-To: $replyto\r\n"; - } - else - { - print $smtp "Reply-To: $from\r\n"; - } - print $smtp "From: $from ($fromname)\r\n"; - print $smtp "To: $to\r\n"; - my $newsubj=encode_base64(recode("html..utf-8", trim($subject))); - #SysLog("NewSubj: --".$newsubj."--\n") if($debug); - $newsubj=~s/\n*$//; - #SysLog("NewSubj: --".$newsubj."--\n") if($debug); - print $smtp "Subject: =?utf-8?B?$newsubj?=\r\n"; - print $smtp "Mime-Version: 1.0\r\n"; - if($extra eq "") - { - print $smtp "Content-Type: text/plain; charset=\"utf-8\"\r\n"; - print $smtp "Content-Transfer-Encoding: 8bit\r\n"; - } else { - print $smtp "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"; - print $smtp "Content-Transfer-Encoding: quoted-printable\r\n"; - print $smtp "Content-Disposition: inline\r\n"; - }; -# print $smtp "Content-Transfer-Encoding: BASE64\r\n"; - print $smtp "\r\n"; -# print $smtp chunk_split(encode_base64(recode("html..utf-8", $message)))."\r\n.\r\n"; - print $smtp recode("html..utf-8", $message)."\r\n.\r\n"; - SysLog "ENDOFTEXT: ".<$smtp>."\n"; - print $smtp "QUIT\n"; - SysLog "QUIT: ".<$smtp>."\n"; - close($smtp); -} - - -sub HandleCerts($$) -{ - my $org=$_[0]?"org":""; - my $server=$_[1]; - - my $table=$org.($server?"domaincerts":"emailcerts"); - - my $sth = $dbh->prepare("select * from $table where crt_name='' and csr_name!='' "); - $sth->execute(); - #$rowdata; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - - my $csrname = "../csr/".$org.($server?"server-":"client-").$row{'id'}.".csr"; - my $crtname = "../crt/".$org.($server?"server-":"client-").$row{'id'}.".crt"; - - - if($server) - { - #Weird SQL structure ... - my @sqlres=$dbh->selectrow_array("select memid from domains where id='".int($row{'domid'})."'"); - $row{'memid'}=$sqlres[0]; - SysLog("Fetched memid: $row{'memid'}\n") if($debug); - } - - SysLog "Opening $csrname\n"; - - my $crt=""; - - my $profile=0; - - # "0"=>"client.cnf", - # "1"=>"client-org.cnf", - # "2"=>"client-codesign.cnf", - # "3"=>"client-machine.cnf", - # "4"=>"client-ads.cnf", - # "5"=>"server.cnf", - # "6"=>"server-org.cnf", - # "7"=>"server-jabber.cnf", - # "8"=>"server-ocsp.cnf", - # "9"=>"server-timestamp.cnf", - # "10"=>"proxy.cnf", - # "11"=>"subca.cnf" - - - if($row{"type"} =~ m/^(8|9)$/) - { - $profile=$row{"type"}; - } - elsif($org) - { - if($row{'codesign'}) - { - $profile=2; ## TODO! - } - elsif($server) - { - $profile=6; - } - else - { - $profile=1; - } - } - else - { - if($row{'codesign'}) - { - $profile=2; - } - elsif($server) - { - $profile=5; - } - else - { - $profile=0; - } - - - } - - - - if(open(IN,"<$csrname")) - { - undef $/; - my $content=<IN>; - close IN; - SysLog "Read.\n" if($debug); - SysLog "Subject: --$row{'subject'}--\n" if($debug); - - my ($SAN,$subject)=X509extractSAN($row{'subject'}); - SysLog "Subject: --$subject--\n" if($debug); - SysLog "SAN: --$SAN--\n" if($debug); - SysLog "memid: $row{'memid'}\n" if($debug); - - my $days=$org?($server?(365*2):365):calculateDays($row{"memid"}); - - - $crt=Request($ver,1,1,$row{'rootcert'}-1,$profile,$row{'md'}eq"sha1"?2:0,$days,$row{'keytype'}eq"NS"?1:0,$content,$SAN,$subject); - if(length($crt)) - { - if($crt=~m/^-----BEGIN CERTIFICATE-----/) - { - open OUT,">$crtname"; - print OUT $crt; - close OUT; - } - else - { - open OUT,">$crtname.der"; - print OUT $crt; - close OUT; - system "$opensslbin x509 -in $crtname.der -inform der -out $crtname"; - } - } - - } - else - { - print "Error: $! Konnte $csrname nicht laden\n"; - } - - - - if(-s $crtname) - { - SysLog "Opening $crtname\n"; - - my $date=X509extractExpiryDate($crtname); - my $serial=X509extractSerialNumber($crtname); - - setUsersLanguage($row{memid}); - - my %user=getUserData($row{memid}); - - foreach (sort keys %user) - { - SysLog " $_ -> $user{$_}\n" if($debug); - } - - SysLog("update `$table` set `crt_name`='$crtname', modified=now(), serial='$serial', `expire`='$date' where `id`='".$row{'id'}."'\n"); - - $dbh->do("update `$table` set `crt_name`='$crtname', modified=now(), serial='$serial', `expire`='$date' where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("You can collect your certificate for %s by going to the following location:")."\n\n", $row{'email'}); - $body .= "https://www.cacert.org/account.php?id=".($server?"15":"6")."&cert=$row{id}\n\n"; - $body .= _("If you havent imported CAcert´s root certificate, please go to:")."\n"; - $body .= "https://www.cacert.org/index.php?id=3\n"; - $body .= "Root cert fingerprint = A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B\n"; - $body .= "Root cert fingerprint = 135C EC36 F49C B8E9 3B1A B270 CD80 8846 76CE 8F33\n\n"; - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - sendmail($user{email}, "[CAcert.org] "._("Your certificate"), $body, "support\@cacert.org", "", "", "CAcert Support"); - } else { - $dbh->do("delete from `$table` where `id`='".$row{'id'}."'"); - } - } -} - -sub HandleNewCRL($$) -{ - my ($crl,$crlname)=@_; - if(length($crl)) - { - if($crl=~m/^\%XD/) - { - writefile("$crlname.patch",$crl); - system "xdelta patch $crlname.patch $crlname $crlname.tmp"; - } - elsif($crl=~m/^-----BEGIN X509 CRL-----/) - { - writefile("$crlname.pem",$crl); - system "$opensslbin crl -in $crlname.pem -outform der -out $crlname.tmp"; - } - elsif($crl=~m/^\x30/) - { - writefile("$crlname.tmp",$crl); - } - else - { - Error "Unknown CRL format!".(substr($crl,0,5))."\n"; - } - rename "$crlname.tmp","$crlname"; # Atomic move - } -} - - -sub RevokeCerts($$) -{ - my $org=$_[0]?"org":""; - my $server=$_[1]; - - my $table=$org.($server?"domaincerts":"emailcerts"); - - my $sth = $dbh->prepare("select * from $table where revoked='1970-01-01 10:00:01'"); # WHICH TIMEZONE? - $sth->execute(); - #$rowdata; - while ( my $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - - my $csrname = "../csr/".$org.($server?"server-":"client-").$row{'id'}.".csr"; - my $crtname = "../crt/".$org.($server?"server-":"client-").$row{'id'}.".crt"; - my $crlname = $revokefile{$row{'rootcert'}}; - - my $crt=""; - - - if(open(IN,"<$crtname")) - { - undef $/; - my $content=<IN>; - close IN; - my $revokehash=sha1_hex(readfile($crlname)); - - my $crl=Request($ver,2,1,$row{'rootcert'}-1,0,0,365,0,$content,"",$revokehash); - HandleNewCRL($crl,$crlname); - - if(-s $crlname) - { - setUsersLanguage($row{memid}); - - my %user=getUserData($row{memid}); - - $dbh->do("update `$table` set `revoked`=now() where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("Your certificate for %s has been revoked, as per request.")."\n\n", $row{'CN'}); - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - sendmail($user{email}, "[CAcert.org] "._("Your certificate"), $body, "support\@cacert.org", "", "", "CAcert Support"); - } - - } - else - { - SysLog("Error: $crtname $!\n") if($debug); - } - - } - -} - - - - - -sub HandleGPG() -{ - my $sth = $dbh->prepare("select * from gpg where crt='' and csr!='' "); - $sth->execute(); - my $rowdata; - while ( $rowdata = $sth->fetchrow_hashref() ) - { - my %row=%{$rowdata}; - - my $csrname = "../csr/gpg-".$row{'id'}.".csr"; - my $crtname = "../crt/gpg-".$row{'id'}.".crt"; - - SysLog "Opening $csrname\n"; - - my $crt=""; - - if(-s $csrname && open(IN,"<$csrname")) - { - undef $/; - my $content=<IN>; - close IN; - SysLog "Read.\n"; - $crt=Request($ver,1,2,0,0,2,366,0,$content,"",""); - if(length($crt)) - { - open OUT,">$crtname"; - print OUT $crt; - close OUT; - } - - } - else - { - #Error("Error: $!\n"); - next; - } - - if(-s $crtname) - { - SysLog "Opening $crtname\n"; - setUsersLanguage($row{memid}); - - my $date=OpenPGPextractExpiryDate($crtname); - my %user=getUserData($row{memid}); - - $dbh->do("update `gpg` set `crt`='$crtname', issued=now(), `expire`='$date' where `id`='".$row{'id'}."'"); - - my $body = _("Hi")." $user{fname},\n\n"; - $body .= sprintf(_("Your CAcert signed key for %s is available online at:")."\n\n", $row{'email'}); - $body .= "https://www.cacert.org/gpg.php?id=3&cert=$row{id}\n\n"; - $body .= _("To help improve the trust of CAcert in general, it's appreciated if you could also sign our key and upload it to a key server. Below is a copy of our primary key details:")."\n\n"; - $body .= "pub 1024D/65D0FD58 2003-07-11 CA Cert Signing Authority (Root CA) <gpg\@cacert.org>\n"; - $body .= "Key fingerprint = A31D 4F81 EF4E BD07 B456 FA04 D2BB 0D01 65D0 FD58\n\n"; - $body .= _("Best regards")."\n"._("CAcert.org Support!")."\n\n"; - sendmail($user{email}, "[CAcert.org] Your GPG/PGP Key", $body, "support\@cacert.org", "", "", "CAcert Support"); - } else { - $dbh->do("delete from `gpg` where `id`='".$row{'id'}."'"); - } - } -} - - -# Main program loop - -while(1) -{ - SysLog("Handling GPG database ...\n"); -# HandleGPG(); - SysLog("Issueing certs ...\n"); -# HandleCerts(0,0); #personal client certs -# HandleCerts(0,1); #personal server certs -# HandleCerts(1,0); #org client certs -# HandleCerts(1,1); #org server certs -# SysLog("Revoking certs ...\n"); -# RevokeCerts(0,0); #personal client certs -# RevokeCerts(0,1); #personal server certs -# RevokeCerts(1,0); #org client certs -# RevokeCerts(1,1); #org server certs - - #print "Sign Request X.509, Root0\n"; - #my $reqcontent=""; - #Request($ver,1,1,0,5,2,365,0,$reqcontent,"","/CN=supertest.cacert.at"); - - SysLog("NUL Request:\n"); - my $timestamp=strftime("%m%d%H%M%Y.%S",gmtime); - my $ret=Request($ver,0,0,0,0,0,0,0,$timestamp,"",""); - print "RET: $ret\n"; - - SysLog("Generate regular CRLs:\n"); - foreach my $root ((1,2)) - { - my $crlname = $revokefile{$root}; - my $revokehash=sha1_hex(readfile($crlname)); - print "Aktueller Hash am Webserver: $revokehash\n"; - my $crl=Request($ver,2,1,$root-1,0,0,365,0,"","",$revokehash); - HandleNewCRL($crl,$crlname); - } - - usleep(700000); -} diff --git a/cacert/LICENSE b/cacert/LICENSE deleted file mode 100644 index 21b9363..0000000 --- a/cacert/LICENSE +++ /dev/null @@ -1,341 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/cacert/Makefile b/cacert/Makefile deleted file mode 100644 index 914d979..0000000 --- a/cacert/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -all: - xgettext -s -o messages.po --no-wrap --foreign-user includes/*.php www/*.php pages/account/*.php pages/index/*.php pages/wot/*.php pages/gpg/*.php pages/disputes/*.php pages/help/*.php pages/disputes/*.php scripts/removedead.php - perl cacertupload.pl - cd locale; php make.php - -other: all - cat messages.po|sed "s/CHARSET/iso-8859-1/"|sed "s/PACKAGE VERSION/CAcert/"|sed "s/This file is put in the public domain./This file is distributed under the same license as the CAcert package./"|sed "s/# SOME DESCRIPTIVE TITLE.//" > messages.po diff --git a/cacert/README b/cacert/README deleted file mode 100644 index 6e07b04..0000000 --- a/cacert/README +++ /dev/null @@ -1,16 +0,0 @@ -LibreSSL Documentation - -(c) 2005-2008 by CAcert Inc. -License: GNU-GPLv2 - -System Requirements: -Linux/POSIX -PHP -GetText -UFPDF - PDF generation library from http://acko.net/node/56 -OpenSSL - X.509 toolkit from http://www.openssl.org/ -GnuPG - OpenPGP toolkit from http://www.gnupg.org/ -whois - whois client from http://www.linux.it/~md/software/ -XEnroll - Enrollment Active-X control for IE5/6 from Microsoft (search for xenroll.cab) -CommModule - CAcert Communication Module - diff --git a/cacert/cacertupload.pl b/cacert/cacertupload.pl deleted file mode 100644 index 4c883c8..0000000 --- a/cacert/cacertupload.pl +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl - -#LibreSSL - CAcert web application -#Copyright (C) 2004-2008 CAcert Inc. -# -#This program is free software; you can redistribute it and/or modify -#it under the terms of the GNU General Public License as published by -#the Free Software Foundation; version 2 of the License. -# -#This program is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. -# -#You should have received a copy of the GNU General Public License -#along with this program; if not, write to the Free Software -#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -use LWP::UserAgent; -$ua = LWP::UserAgent->new(agent => 'Translingo Client 1.0'); -use HTTP::Request::Common qw(POST); - -$ua->cookie_jar({}); -$ua->timeout(10000); - -my $req = POST 'http://translingo.cacert.org/login.php', -[ -]; -# ggf. Referer faken -$req->referer('http://translingo.cacert.org/'); - $ua->request($req)->as_string; - -# 1.Test - Umgebung -my $req = POST 'http://translingo.cacert.org/login.php', -[ - username => 'support@cacert.org', - password => 'ilccSSAMNIemU', - submit => 'Login', -]; -# ggf. Referer faken -$req->referer('http://translingo.cacert.org/'); -$ua->request($req)->as_string; - -# 2.Test - FileUpload -my $req = POST 'http://translingo.cacert.org/upload.php', -Content_Type => 'form-data', -Content => [ - project => '1', - fileformat => '1', - pofile => ["messages.po" => "messages.po", 'Content_Type' => "application/x-gettext"], -]; -print $ua->request($req)->as_string; - diff --git a/cacert/cgi-bin/CVS/Entries b/cacert/cgi-bin/CVS/Entries deleted file mode 100644 index 883ec37..0000000 --- a/cacert/cgi-bin/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/siteseal.cgi/1.4/Sun Apr 6 19:45:25 2008// -D diff --git a/cacert/cgi-bin/CVS/Repository b/cacert/cgi-bin/CVS/Repository deleted file mode 100644 index 0dca230..0000000 --- a/cacert/cgi-bin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -cacert/cgi-bin diff --git a/cacert/cgi-bin/CVS/Root b/cacert/cgi-bin/CVS/Root deleted file mode 100644 index a363882..0000000 --- a/cacert/cgi-bin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -/var/lib/cvs diff --git a/cacert/cgi-bin/siteseal.cgi b/cacert/cgi-bin/siteseal.cgi deleted file mode 100755 index ac28697..0000000 --- a/cacert/cgi-bin/siteseal.cgi +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/php -q -<? -/** - * check site seal - * - * @package org.cacert.framework - * @author Duane Groth <duane@groth.net> - * @copyright Copyright (C) 2003-2008, {@link http://www.cacert.org/ CAcert Inc.} - * @license GPL Version 2 - * @version $Id: siteseal.cgi,v 1.4 2008-04-06 19:44:25 root Exp $ - */ - -if($_SERVER["HTTPS"] == "on") - $http = "https"; -else - $http = "http"; - -/* obfuscate var names */ -srand((double)microtime()*1000000); -$var1 = "ca1-".md5(rand(0,9999999)); -$var2 = "ca2-".md5(rand(0,9999999)); -$var3 = "ca3-".md5(rand(0,9999999)); -$var4 = "ca4-".md5(rand(0,9999999)); -$var5 = "ca5-".md5(rand(0,9999999)); -$var6 = "ca6-".md5(rand(0,9999999)); -$var7 = "ca7-".md5(rand(0,9999999)); -$var8 = "ca8-".md5(rand(0,9999999)); -$var9 = "ca9-".md5(rand(0,9999999)); -$var10 = "caa-".md5(rand(0,9999999)); -$var11 = "cab-".md5(rand(0,9999999)); - -header("Content-Type: text/javascript"); -header("Content-Disposition: inline; filename=\"siteseal.js\""); - -?> - -var <?=$var1?> = window.location.href; -<? // var <?=$var2?> = '<?=$http?>://www.cacert.org/certdetails.php?referer=' + <?=$var1?>; ?> -var <?=$var2?> = '<?=$http?>://www.cacert.org'; -var <?=$var3?> = (new Date()).getTimezoneOffset(); - -var <?=$var4?> = navigator.userAgent.toLowerCase(); -var <?=$var5?> = false; -if (<?=$var4?>.indexOf("msid") != 1) { - <?=$var5?> = (<?=$var4?>.indexOf("msie 5") == -1 && <?=$var4?>.indexOf("msie 6") == -1); -} - -function <?=$var6?>(e) { - if (document.addEventListener) { - if (e.target.name == '<?=$var7?>') { - <?=$var8?>(); - return false; - } - } else if (document.captureEvents) { - if (e.target.toString().indexOf('certdetails') != -1) { - <?=$var8?>(); - return false; - } - } - return true; -} - -function <?=$var9?>() { - if (event.button == 1) { - if (<?=$var5?>) { - return true; - } else { - <?=$var8?>(); - return false; - } - } else if (event.button == 2) { - <?=$var8?>(); - return false; - } -} - -function <?=$var8?>() { - cacertWindow = window.open(<?=$var2?>, '<?=$var10?>', config='height=420,width=523,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=yes'); - cacertWindow.focus(); -} - -if (document.addEventListener) { - document.addEventListener('mouseup', <?=$var6?>, true); -} else { - if (document.layers) { - document.captureEvents(Event.MOUSEDOWN); - document.onmousedown=<?=$var6?>; - } -} - -document.write("<a href='" + <?=$var2?> + "' target='<?=$var10?>' tabindex='-1' onmousedown='<?=$var9?>(); return false;'><img name='<?=$var7?>' border='0' src='<?=$http?>://www.cacert.org/sealgen.php?cert=<?=$cert?>&referer=" + <?=$var1?> + "' alt='Click to verify' oncontextmenu='return false;' /></a>"); ?> - diff --git a/cacert/includes/.cvsignore b/cacert/includes/.cvsignore deleted file mode 100644 index 3317ea5..0000000 --- a/cacert/includes/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -mysql.php -hash_password.php diff --git a/cacert/includes/CVS/Entries b/cacert/includes/CVS/Entries deleted file mode 100644 index b077642..0000000 --- a/cacert/includes/CVS/Entries +++ /dev/null @@ -1,12 +0,0 @@ -/mysql.php.sample/1.10/Sun Apr 6 19:45:25 2008// -/shutdown.php/1.2/Sun Apr 6 19:45:25 2008// -/.cvsignore/1.2/Thu Sep 4 13:54:37 2008// -/loggedin.php/1.17/Sun Nov 23 05:09:08 2008// -/sponsorinfo.php/1.4/Sun May 31 16:50:55 2009// -/tverify_stuff.php/1.6/Sun May 31 16:50:55 2009// -/account.php/1.144/Sun Sep 20 17:38:19 2009// -/about_menu.php/1.10/Mon Sep 21 18:27:01 2009// -/account_stuff.php/1.53/Mon Sep 21 18:27:01 2009// -/general.php/1.82/Mon Sep 21 18:27:01 2009// -/general_stuff.php/1.46/Sat Sep 26 14:07:26 2009// -D diff --git a/cacert/includes/CVS/Repository b/cacert/includes/CVS/Repository deleted file mode 100644 index 4cf480c..0000000 --- a/cacert/includes/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -cacert/includes diff --git a/cacert/includes/CVS/Root b/cacert/includes/CVS/Root deleted file mode 100644 index a363882..0000000 --- a/cacert/includes/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -/var/lib/cvs diff --git a/cacert/includes/about_menu.php b/cacert/includes/about_menu.php deleted file mode 100644 index ff1e265..0000000 --- a/cacert/includes/about_menu.php +++ /dev/null @@ -1,21 +0,0 @@ - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('misc')">+ <?=_("About CAcert.org")?></h3> - <ul class="menu" id="misc"> - <li><a href="http://blog.cacert.org/"><?=_("CAcert News")?></a></li> - <li><a href="/help.php"><?=_("Howto Information")?></a></li> - <li><a href="http://wiki.CAcert.org/"><?=_("Wiki Documentation")?></a></li> - <li><a href="/policy/"><?=_("Policies")?></a></li> - <li><a href="/index.php?id=19"><?=_("Point System")?></a></li> - <li><a href="/policy/NRPDisclaimerAndLicence.php" target="_blank"><?=_("Disclaimer")?></a></li> - <li><a href="http://bugs.CAcert.org/"><?=_("Bug Database")?></a></li> -<? // <li><a href="/index.php?id=47">< = _ ("PR Materials" ) > </a></li> ?> -<? // <li><a href="/logos.php">< ? = _ ( " CAcert Logos " ) ? > </a></li> ?> -<? if(array_key_exists('mconn',$_SESSION) && $_SESSION['mconn']) { ?> <li><a href="/stats.php"><?=_("CAcert Statistics")?></a></li> <? } ?> - <li><a href="http://blog.CAcert.org/feed/"><?=_("RSS News Feed")?></a></li> -<? //- <li><a href="/index.php?id=7"> < ? = _ ( " Credits " ) ? > </a></li> ?> - <li><a href="/index.php?id=8"><?=_("CAcert Board")?></a></li> - <li><a href="https://lists.cacert.org/wws"><?=_("Mailing Lists")?></a></li> - <li><a href="/src-lic.php"><?=_("Sourcecode")?></a></li> - </ul> - </div> - diff --git a/cacert/includes/account.php b/cacert/includes/account.php deleted file mode 100644 index c264a09..0000000 --- a/cacert/includes/account.php +++ /dev/null @@ -1,2830 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - require_once("../includes/loggedin.php"); - - loadem("account"); - - $id = 0; if(array_key_exists("id",$_REQUEST)) $id=intval($_REQUEST['id']); - $oldid = 0; if(array_key_exists("oldid",$_REQUEST)) $oldid=intval($_REQUEST['oldid']); - $process = ""; if(array_key_exists("process",$_REQUEST)) $process=$_REQUEST['process']; - - $cert=0; if(array_key_exists('cert',$_REQUEST)) $cert=intval($_REQUEST['cert']); - $orgid=0; if(array_key_exists('orgid',$_REQUEST)) $orgid=intval($_REQUEST['orgid']); - $memid=0; if(array_key_exists('memid',$_REQUEST)) $memid=intval($_REQUEST['memid']); - $domid=0; if(array_key_exists('domid',$_REQUEST)) $domid=intval($_REQUEST['domid']); - - - if(!$_SESSION['mconn']) - { - echo _("Several CAcert Services are currently unavailable. Please try again later."); - exit; - } - - - if($id == 45 || $id == 46 || $oldid == 45 || $oldid == 46) - { - $id = 1; - $oldid=0; - } - - if($process != "" && $oldid == 1) - { - $id = 1; - csrf_check('addemail'); - 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; - } - if(trim(mysql_real_escape_string(stripslashes($_REQUEST['newemail']))) == "") - { - showheader(_("My CAcert.org Account!")); - printf(_("Not a valid email address. Can't continue.")); - showfooter(); - exit; - } - $oldid=0; - $_REQUEST['email'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['newemail']))); - $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!")); - printf(_("The email address '%s' is already in a different account. Can't continue."), sanitizeHTML($_REQUEST['email'])); - showfooter(); - exit; - } - $checkemail = checkEmail($_REQUEST['newemail']); - if($checkemail != "OK") - { - showheader(_("My CAcert.org Account!")); - if (substr($checkemail, 0, 1) == "4") - { - echo "<p>"._("The mail server responsible for your domain indicated a temporary failure. This may be due to anti-SPAM measures, such as greylisting. Please try again in a few minutes.")."</p>\n"; - } else { - 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; - } - $hash = make_hash(); - $query = "insert into `email` set `email`='".$_REQUEST['email']."',`memid`='".$_SESSION['profile']['id']."',`created`=NOW(),`hash`='$hash'"; - mysql_query($query); - $emailid = mysql_insert_id(); - - $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!"); - - sendmail($_REQUEST['email'], "[CAcert.org] "._("Email Probe"), $body, "support@cacert.org", "", "", "CAcert Support"); - - showheader(_("My CAcert.org Account!")); - 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."), sanitizeHTML($_REQUEST['email'])); - showfooter(); - exit; - } - - if(array_key_exists("makedefault",$_REQUEST) && $_REQUEST['makedefault'] != "" && $oldid == 2) - { - $id = 2; - $emailid = intval($_REQUEST['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); - $body = sprintf(_("Hi %s,"),$_SESSION['profile']['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['profile']['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'."), sanitizeHTML($row['email'])); - showfooter(); - exit; - } - - if($process != "" && $oldid == 2) - { - $id = 2; - csrf_check("chgdef"); - showheader(_("My CAcert.org Account!")); - $delcount = 0; - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - foreach($_REQUEST['delid'] as $id) - { - $id = intval($id); - $query = "select * from `email` where `id`='$id' and `memid`='".intval($_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); - $delcount++; - } - } - } - else - { - echo _("You did not select any email accounts for removal."); - } - 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; - } - - if($process != "" && $oldid == 3) - { - if(!(array_key_exists('addid',$_REQUEST) && is_array($_REQUEST['addid'])) && $_REQUEST['SSO'] != '1') - { - 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']['SSO'] = intval($_REQUEST['SSO']); - - $_SESSION['_config']['addid'] = $_REQUEST['addid']; - if($_SESSION['profile']['points'] >= 50) - $_SESSION['_config']['incname'] = intval($_REQUEST['incname']); - if(array_key_exists('codesign',$_REQUEST) && $_REQUEST['codesign'] != 0 && ($_SESSION['profile']['codesign'] == 0 || $_SESSION['profile']['points'] < 100)) - { - $_REQUEST['codesign'] = 0; - } - if($_SESSION['profile']['points'] >= 100 && $_SESSION['profile']['codesign'] > 0 && array_key_exists('codesign',$_REQUEST) && $_REQUEST['codesign'] == 1) - { - if($_SESSION['_config']['incname'] < 1 || $_SESSION['_config']['incname'] > 4) - $_SESSION['_config']['incname'] = 1; - } - if(array_key_exists('codesign',$_REQUEST) && $_REQUEST['codesign'] == 1 && $_SESSION['profile']['points'] >= 100) - $_SESSION['_config']['codesign'] = 1; - else - $_SESSION['_config']['codesign'] = 0; - - if(array_key_exists('login',$_REQUEST) && $_REQUEST['login'] == 1) - $_SESSION['_config']['disablelogin'] = 0; - else - $_SESSION['_config']['disablelogin'] = 1; - - $_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; - } - $csr = ""; - if(trim($_REQUEST['optionalCSR']) == "") - { - $id = 4; - } else { - $oldid = 4; - $_REQUEST['keytype'] = "MS"; - $csr = clean_csr($_REQUEST['optionalCSR']); - } - } - - if($oldid == 4) - { - if($_REQUEST['keytype'] == "NS") - { - $spkac=""; if(array_key_exists('SPKAC',$_REQUEST) && preg_match("/^[a-zA-Z0-9+=\/]+$/", trim(str_replace("\n", "", str_replace("\r", "",$_REQUEST['SPKAC']))))) $spkac=trim(str_replace("\n", "", str_replace("\r", "",$_REQUEST['SPKAC']))); - - if($spkac=="" || $spkac == "deadbeef") - { - $id = 4; - showheader(_("My CAcert.org Account!")); - echo _("I didn't receive a valid Certificate Request, please try a different browser."); - showfooter(); - exit; - } - $count = 0; - $emails = ""; - $addys = array(); - $defaultemail=""; - 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`='".intval($id)."'"); - if(mysql_num_rows($res) > 0) - { - $row = mysql_fetch_assoc($res); - if(!$emails) - $defaultemail = $row['email']; - $emails .= "$count.emailAddress = ".$row['email']."\n"; - $count++; - $addys[] = intval($row['id']); - } - } - if($count <= 0 && $_SESSION['_config']['SSO'] != 1) - { - $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; - } - $user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."'")); - if($_SESSION['_config']['SSO'] == 1) - $emails .= "$count.emailAddress = ".$user['uniqueID']."\n"; - - if(strlen($user['mname']) == 1) - $user['mname'] .= '.'; - if(!array_key_exists('incname',$_SESSION['_config']) || $_SESSION['_config']['incname'] <= 0 || $_SESSION['_config']['incname'] > 4) - { - $emails .= "commonName = CAcert WoT User\n"; - } - else - { - if($_SESSION['_config']['incname'] == 1) - $emails .= "commonName = ".$user['fname']." ".$user['lname']."\n"; - if($_SESSION['_config']['incname'] == 2) - $emails .= "commonName = ".$user['fname']." ".$user['mname']." ".$user['lname']."\n"; - if($_SESSION['_config']['incname'] == 3) - $emails .= "commonName = ".$user['fname']." ".$user['lname']." ".$user['suffix']."\n"; - if($_SESSION['_config']['incname'] == 4) - $emails .= "commonName = ".$user['fname']." ".$user['mname']." ".$user['lname']." ".$user['suffix']."\n"; - } - if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - $emails .= "SPKAC = $spkac"; - $query = "insert into emailcerts set - `CN`='$defaultemail', - `keytype`='NS', - `memid`='".intval($_SESSION['profile']['id'])."', - `created`=FROM_UNIXTIME(UNIX_TIMESTAMP()), - `codesign`='".intval($_SESSION['_config']['codesign'])."', - `disablelogin`='".($_SESSION['_config']['disablelogin']?1:0)."', - `rootcert`='".intval($_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'"); - $CSRname=generatecertpath("csr","client",$emailid); - $fp = fopen($CSRname, "w"); - fputs($fp, $emails); - fclose($fp); - $challenge=$_SESSION['spkac_hash']; - $res=`openssl spkac -verify -in $CSRname`; - if(!strstr($res,"Challenge String: ".$challenge)) - { - $id = $oldid; - showheader(_("My CAcert.org Account!")); - echo _("The challenge-response code of your certificate request did not match. Can't continue with certificaterequest."); - showfooter(); - exit; - } - mysql_query("update `emailcerts` set `csr_name`='$CSRname' where `id`='".intval($emailid)."'"); - } else if($_REQUEST['keytype'] == "MS" || $_REQUEST['keytype'] == "VI") { - if($csr == "") - $csr = "-----BEGIN CERTIFICATE REQUEST-----\n".clean_csr($_REQUEST['CSR'])."\n-----END CERTIFICATE REQUEST-----\n"; - $tmpfname = tempnam("/tmp", "id4CSR"); - $fp = fopen($tmpfname, "w"); - fputs($fp, $csr); - fclose($fp); - - $addys = array(); - $defaultemail = ""; - $csrsubject=""; - - $user = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".intval($_SESSION['profile']['id'])."'")); - 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) - $csrsubject = "/CN=".$user['fname']." ".$user['lname']; - if($_SESSION['_config']['incname'] == 2) - $csrsubject = "/CN=".$user['fname']." ".$user['mname']." ".$user['lname']; - if($_SESSION['_config']['incname'] == 3) - $csrsubject = "/CN=".$user['fname']." ".$user['lname']." ".$user['suffix']; - if($_SESSION['_config']['incname'] == 4) - $csrsubject = "/CN=".$user['fname']." ".$user['mname']." ".$user['lname']." ".$user['suffix']; - if(is_array($_SESSION['_config']['addid'])) - foreach($_SESSION['_config']['addid'] as $id) - { - $res = mysql_query("select * from `email` where `memid`='".intval($_SESSION['profile']['id'])."' and `id`='".intval($id)."'"); - if(mysql_num_rows($res) > 0) - { - $row = mysql_fetch_assoc($res); - if($defaultemail == "") - $defaultemail = $row['email']; - $csrsubject .= "/emailAddress=".$row['email']; - $addys[] = $row['id']; - } - } - if($_SESSION['_config']['SSO'] == 1) - $csrsubject .= "/emailAddress = ".$user['uniqueID']; - - $tmpname = tempnam("/tmp", "id4csr"); - $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($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - 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`='".sanitizeHTML($_REQUEST['keytype'])."', - `memid`='".$_SESSION['profile']['id']."', - `created`=FROM_UNIXTIME(UNIX_TIMESTAMP()), - `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) - mysql_query("insert into `emaillink` set `emailcertsid`='$emailid', `emailid`='".mysql_real_escape_string($addy)."'"); - $CSRname=generatecertpath("csr","client",$emailid); - $fp = fopen($CSRname, "w"); - fputs($fp, $csr); - fclose($fp); - mysql_query("update `emailcerts` set `csr_name`='$CSRname' where `id`='$emailid'"); - } - waitForResult("emailcerts", $emailid, 4); - $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!")); - 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; - $_REQUEST['cert']=$emailid; - } - } - - if($oldid == 7) - { - csrf_check("adddomain"); - if(strstr($_REQUEST['newdomain'],"\x00")) - { - showheader(_("My CAcert.org Account!")); - echo _("Due to the possibility for nullbyte domain exploits we currently do not allow any domain names with nullbytes."); - showfooter(); - exit; - } - - list($newdomain) = explode(" ", $_REQUEST['newdomain'], 2); // Ignore the rest - 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; - } - - $newdom = trim(escapeshellarg($newdomain)); - $newdomain = mysql_real_escape_string(trim($newdomain)); - - $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)) - { - $oldid=0; - $id = 7; - showheader(_("My CAcert.org Account!")); - printf(_("The domain '%s' is already in a different account and is listed as valid. Can't continue."), sanitizeHTML($newdomain)); - showfooter(); - exit; - } - } - - if($oldid == 7) - { - $oldid=0; - $id = 8; - $addy = array(); - $adds = 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 != "") - $addy[] = trim(mysql_real_escape_string(stripslashes($line))); - } - } else { - if(is_array($adds)) - foreach($adds as $line) - { - $line = trim(str_replace("\t", " ", $line)); - $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 != "") - $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; - $_SESSION['_config']['domain'] = mysql_real_escape_string($newdomain); - } - - if($process != "" && $oldid == 8) - { - csrf_check('ctcinfo'); - $oldid=0; - $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; - } - - $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 a different account and is listed as valid. Can't continue."), sanitizeHTML($_SESSION['_config']['domain'])); - showfooter(); - exit; - } - $checkemail = checkEmail($authaddy); - 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"; - if (substr($checkemail, 0, 1) == "4") - { - echo "<p>"._("The mail server responsible for your domain indicated a temporary failure. This may be due to anti-SPAM measures, such as greylisting. Please try again in a few minutes.")."</p>\n"; - } else { - 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; - } - - $hash = make_hash(); - $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(); - - $body = sprintf(_("Below is the link you need to open to verify your domain '%s'. Once your address is verified you will be able to start issuing certificates to your heart's content!"),$_SESSION['_config']['domain'])."\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; - } - - if($process != "" && $oldid == 9) - { - $id = 9; - showheader(_("My CAcert.org Account!")); - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - echo _("The following domains have been removed:")."<br> - ("._("Any valid certificates will be revoked as well").")<br>\n"; - - foreach($_REQUEST['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"); - } - } - } - else - { - echo _("You did not select any domains for removal."); - } - - showfooter(); - exit; - } - - if($process != "" && $oldid == 10) - { - $CSR = clean_csr($_REQUEST['CSR']); - $_SESSION['_config']['tmpfname'] = tempnam("/tmp", "id10CSR"); - $fp = fopen($_SESSION['_config']['tmpfname'], "w"); - if(strpos($CSR,"---BEGIN")===FALSE) - { - // In case the CSR is missing the ---BEGIN lines, add them automatically: - fputs($fp,"-----BEGIN CERTIFICATE REQUEST-----\n".$CSR."\n-----END CERTIFICATE REQUEST-----\n"); - } - else - { - 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; - } - } - - if($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; - } - - $subject = ""; - $count = 0; - $supressSAN=0; - if($_SESSION["profile"]["id"] == 104074) $supressSAN=1; - - if(is_array($_SESSION['_config']['rows'])) - foreach($_SESSION['_config']['rows'] as $row) - { - $count++; - if($count <= 1) - { - $subject .= "/CN=$row"; - if(!$supressSAN) $subject .= "/subjectAltName=DNS:$row"; - if(!$supressSAN) $subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$row"; - } else { - if(!$supressSAN) $subject .= "/subjectAltName=DNS:$row"; - if(!$supressSAN) $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) - { - if(substr($row, 0, 4) == "DNS:") - { - $row = substr($row, 4); - if(!$supressSAN) $subject .= "/subjectAltName=DNS:$row"; - if(!$supressSAN) $subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$row"; - } - } - if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - if(array_key_exists('0',$_SESSION['_config']['rowid']) && $_SESSION['_config']['rowid']['0'] > 0) - { - $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'])."'"; - } elseif(array_key_exists('0',$_SESSION['_config']['altid']) && $_SESSION['_config']['altid']['0'] > 0) { - $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'])."'"; - } else { - showheader(_("My CAcert.org Account!")); - echo _("Domain not verified."); - showfooter(); - exit; - - } - - 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'"); - - $CSRname=generatecertpath("csr","server",$CSRid); - if(!file_exists($_SESSION['_config']['tmpfname'])) - { - showheader(_("My CAcert.org Account!")); - 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; - } - rename($_SESSION['_config']['tmpfname'], $CSRname); - chmod($CSRname,0644); - mysql_query("update `domaincerts` set `CSR_name`='$CSRname' where `id`='$CSRid'"); - waitForResult("domaincerts", $CSRid, 11); - $query = "select * from `domaincerts` where `id`='$CSRid' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) <= 0) - { - $id = 11; - showheader(_("My CAcert.org Account!")); - 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; - $_REQUEST['cert']=$CSRid; - } - } - - if($oldid == 12 && array_key_exists('renew',$_REQUEST) && $_REQUEST['renew'] != "") - { - csrf_check('srvcerchange'); - $id = 12; - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now renewing the following certificates:")."<br>\n"; - foreach($_REQUEST['revokeid'] as $id) - { - $id = intval($id); - echo _("Processing request")." $id:<br/>"; - $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); - $query = "insert into `domaincerts` set - `domid`='".$row['domid']."', - `CN`='".mysql_real_escape_string($row['CN'])."', - `subject`='".mysql_real_escape_string($row['subject'])."',". - //`csr_name`='".$row['csr_name']."', // RACE CONDITION - "`created`='".$row['created']."', - `modified`=NOW(), - `rootcert`='".$row['rootcert']."', - `type`='".$row['type']."', - `pkhash`='".$row['pkhash']."'"; - mysql_query($query); - $newid = mysql_insert_id(); - $newfile=generatecertpath("csr","server",$newid); - 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'] = ""; - extractit(); - getcn(); - getalt(); - - if($_SESSION['_config']['0.CN'] == "" && $_SESSION['_config']['0.subjectAltName'] == "") - { - 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."); - continue; - } - - $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"; - $subject = mysql_real_escape_string($subject); - mysql_query("update `domaincerts` set `subject`='$subject',`csr_name`='$newfile' where `id`='$newid'"); - - echo _("Renewing").": ".sanitizeHTML($_SESSION['_config']['0.CN'])."<br>\n"; - waitForResult("domaincerts", $newid,$oldid,0); - $query = "select * from `domaincerts` where `id`='$newid' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) <= 0) - { - 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"; - } - } - } - else - { - echo _("You did not select any certificates for renewal."); - } - showfooter(); - exit; - } - - if($oldid == 12 && array_key_exists('revoke',$_REQUEST) && $_REQUEST['revoke'] != "") - { - csrf_check('srvcerchange'); - $id = 12; - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now revoking the following certificates:")."<br>\n"; - foreach($_REQUEST['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'"); - printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']); - } - } - else - { - echo _("You did not select any certificates for revocation."); - } - - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - echo _("Now deleting the following pending requests:")."<br>\n"; - foreach($_REQUEST['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; - } - - if($oldid == 5 && array_key_exists('renew',$_REQUEST) && $_REQUEST['renew'] != "") - { - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now renewing the following certificates:")."<br>\n"; - foreach($_REQUEST['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); - $query = "insert into emailcerts set - `memid`='".$row['memid']."', - `CN`='".mysql_real_escape_string($row['CN'])."', - `subject`='".mysql_real_escape_string($row['subject'])."', - `keytype`='".$row['keytype']."', - `csr_name`='".$row['csr_name']."', - `created`='".$row['created']."', - `modified`=NOW(), - `disablelogin`='".$row['disablelogin']."', - `codesign`='".$row['codesign']."', - `rootcert`='".$row['rootcert']."'"; - mysql_query($query); - $newid = mysql_insert_id(); - $newfile=generatecertpath("csr","client",$newid); - 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'"); - } - waitForResult("emailcerts", $newid,$oldid,0); - $query = "select * from `emailcerts` where `id`='$newid' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) <= 0) - { - 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 "<br/>\n<a href='account.php?id=6&cert=$newid' target='_new'>". - _("Click here")."</a> "._("to install your certificate.")."<br/><br/>\n"; - } - } - } - else - { - echo _("You did not select any certificates for renewal.")."<br/>"; - } - - showfooter(); - exit; - } - - if($oldid == 5 && array_key_exists('revoke',$_REQUEST) && $_REQUEST['revoke'] != "") - { - $id = 5; - showheader(_("My CAcert.org Account!")); - if(array_key_exists('revokeid',$_REQUEST) && is_array($_REQUEST['revokeid'])) - { - echo _("Now revoking the following certificates:")."<br>\n"; - foreach($_REQUEST['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'"); - printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']); - } - } - else - { - echo _("You did not select any certificates for revocation."); - } - - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - echo _("Now deleting the following pending requests:")."<br>\n"; - foreach($_REQUEST['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($oldid == 5 && array_key_exists('change',$_REQUEST) && $_REQUEST['change'] != "") - { - showheader(_("My CAcert.org Account!")); - //echo _("Now changing the settings for the following certificates:")."<br>\n"; - foreach($_REQUEST as $id => $val) - { - //echo $id."<br/>"; - if(substr($id,0,5)=="cert_") - { - $id = intval(substr($id,5)); - $dis=(array_key_exists('disablelogin_'.$id,$_REQUEST) && $_REQUEST['disablelogin_'.$id]=="1")?"0":"1"; - //echo "$id -> ".$_REQUEST['disablelogin_'.$id]."<br/>\n"; - mysql_query("update `emailcerts` set `disablelogin`='$dis' where `id`='$id' and `memid`='".$_SESSION['profile']['id']."'"); - //$row = mysql_fetch_assoc($res); - } - } - echo(_("Certificate settings have been changed.")."<br/>\n"); - showfooter(); - exit; - } - - - if($oldid == 13 && $process != "") - { - csrf_check("perschange"); - $_SESSION['_config']['user'] = $_SESSION['profile']; - - $_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'])))); - - 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; - $oldid=0; - } - - 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; - $oldid=0; - } - } - - if($oldid == 13 && $process != "") - { - $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) - { - $_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']); - - if($_SESSION['_config']['user']['fname'] == "" || $_SESSION['_config']['user']['lname'] == "") - { - $_SESSION['_config']['errmsg'] .= _("First and Last name fields can not be blank.")."<br>"; - $id = $oldid; - $oldid=0; - } - 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; - $oldid=0; - } - } - } - - if($oldid == 13 && $process != "") - { - 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); - - //!!!Should be rewritten - $_SESSION['_config']['user']['otphash'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['otphash'])))); - $_SESSION['_config']['user']['otppin'] = trim(mysql_real_escape_string(stripslashes(strip_tags($_REQUEST['otppin'])))); - if($_SESSION['_config']['user']['otphash'] != "" && $_SESSION['_config']['user']['otppin'] != "") - { - $query = "update `users` set `otphash`='".$_SESSION['_config']['user']['otphash']."', - `otppin`='".$_SESSION['_config']['user']['otppin']."' 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; - - $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']; - - - $id = 13; - showheader(_("My CAcert.org Account!")); - echo _("Your details have been updated with the database."); - showfooter(); - exit; - } - - if($oldid == 14 && $process != "") - { - $_SESSION['_config']['user']['oldpass'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['oldpassword']))); - $_SESSION['_config']['user']['pword1'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['pword1']))); - $_SESSION['_config']['user']['pword2'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['pword2']))); - - $id = 14; - csrf_check("pwchange"); - - 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']); - - if($_SESSION['_config']['hostname'] != $_SESSION['_config']['securehostname']) - { - $match = mysql_query("select * from `users` where `id`='".$_SESSION['profile']['id']."' and - (`password`=old_password('".$_SESSION['_config']['user']['oldpass']."') or - `password`=sha1('".$_SESSION['_config']['user']['oldpass']."'))"); - $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); - } else if($rc <= 0) { - echo _("You failed to correctly enter your current Pass Phrase."); - } else { - 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."); - $body = sprintf(_("Hi %s,"),$_SESSION['profile']['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['profile']['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) - { - $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; - } - $_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; - } - - if($oldid == 16 && $process != "") - { - - if(array_key_exists('codesign',$_REQUEST) && $_REQUEST['codesign'] && $_SESSION['profile']['codesign'] && ($_SESSION['profile']['points'] >= 100)) - { - $_REQUEST['codesign'] = 1; - $_SESSION['_config']['codesign'] = 1; - } - else - { - $_REQUEST['codesign'] = 0; - $_SESSION['_config']['codesign'] = 0; - } - - $_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") - { - $spkac=""; if(preg_match("/^[a-zA-Z0-9+=\/]+$/", trim(str_replace("\n", "", str_replace("\r", "",$_REQUEST['SPKAC']))))) $spkac=trim(str_replace("\n", "", str_replace("\r", "",$_REQUEST['SPKAC']))); - - if($spkac == "" || strlen($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; - } - - $count = 0; - $emails = ""; - $addys = array(); - if(is_array($_SESSION['_config']['emails'])) - foreach($_SESSION['_config']['emails'] as $_REQUEST['email']) - { - if(!$emails) - $defaultemail = $_REQUEST['email']; - $emails .= "$count.emailAddress = $_REQUEST[email]\n"; - $count++; - } - if($_SESSION['_config']['name'] != "") - $emails .= "commonName = ".$_SESSION['_config']['name']."\n"; - if($_SESSION['_config']['OU']) - $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"; - if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - $emails .= "SPKAC = $spkac"; - $query = "insert into `orgemailcerts` set - `CN`='$defaultemail', - `keytype`='NS', - `orgid`='".$org['orgid']."', - `created`=FROM_UNIXTIME(UNIX_TIMESTAMP()), - `codesign`='".$_SESSION['_config']['codesign']."', - `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'"); - - $CSRname=generatecertpath("csr","orgclient",$emailid); - $fp = fopen($CSRname, "w"); - fputs($fp, $emails); - fclose($fp); - $challenge=$_SESSION['spkac_hash']; - $res=`openssl spkac -verify -in $CSRname`; - if(!strstr($res,"Challenge String: ".$challenge)) - { - $id = $oldid; - showheader(_("My CAcert.org Account!")); - echo _("The challenge-response code of your certificate request did not match. Can't continue with certificaterequest."); - showfooter(); - exit; - } - mysql_query("update `orgemailcerts` set `csr_name`='$CSRname' where `id`='$emailid'"); - } else if($_REQUEST['keytype'] == "MS" || $_REQUEST['keytype']=="VI") { - $csr = "-----BEGIN CERTIFICATE REQUEST-----\n".clean_csr($_REQUEST['CSR'])."-----END CERTIFICATE REQUEST-----\n"; - $tmpfname = tempnam("/tmp", "id17CSR"); - $fp = fopen($tmpfname, "w"); - fputs($fp, $csr); - fclose($fp); - - $addys = array(); - $defaultemail = ""; - $csrsubject=""; - - if($_SESSION['_config']['name'] != "") - $csrsubject = "/CN=".$_SESSION['_config']['name']; - if(is_array($_SESSION['_config']['emails'])) - foreach($_SESSION['_config']['emails'] as $_REQUEST['email']) - { - if($defaultemail == "") - $defaultemail = $_REQUEST['email']; - $csrsubject .= "/emailAddress=$_REQUEST[email]"; - } - if($_SESSION['_config']['OU']) - $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", "id17csr"); - $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; - } - if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - $query = "insert into `orgemailcerts` set - `CN`='$defaultemail', - `keytype`='" . sanitizeHTML($_REQUEST['keytype']) . "', - `orgid`='".$org['orgid']."', - `created`=FROM_UNIXTIME(UNIX_TIMESTAMP()), - `subject`='$csrsubject', - `codesign`='".$_SESSION['_config']['codesign']."', - `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'"); - - $CSRname=generatecertpath("csr","orgclient",$emailid); - $fp = fopen($CSRname, "w"); - fputs($fp, $csr); - fclose($fp); - mysql_query("update `orgemailcerts` set `csr_name`='$CSRname' where `id`='$emailid'"); - } - waitForResult("orgemailcerts", $emailid,$oldid); - $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!")); - 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; - $_REQUEST['cert']=$emailid; - } - } - - if($oldid == 18 && array_key_exists('renew',$_REQUEST) && $_REQUEST['renew'] != "") - { - csrf_check('clicerchange'); - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - $id = 18; - echo _("Now renewing the following certificates:")."<br>\n"; - foreach($_REQUEST['revokeid'] as $id) - { - echo "Renewing certificate #$id ...\n<br/>"; - $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']."', - `subject`='".$row['subject']."', - `keytype`='".$row['keytype']."', - `csr_name`='".$row['csr_name']."', - `created`='".$row['created']."', - `modified`=NOW(), - `codesign`='".$row['codesign']."', - `rootcert`='".$row['rootcert']."'"; - mysql_query($query); - $newid = mysql_insert_id(); - $newfile=generatecertpath("csr","orgclient",$newid); - copy($row['csr_name'], $newfile); - mysql_query("update `orgemailcerts` set `csr_name`='$newfile' where `id`='$newid'"); - waitForResult("orgemailcerts", $newid,$oldid,0); - $query = "select * from `orgemailcerts` where `id`='$newid' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - 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."); - } - echo("<br/>"); - } - } - else - { - echo _("You did not select any certificates for renewal."); - } - showfooter(); - exit; - } - - if($oldid == 18 && array_key_exists('revoke',$_REQUEST) && $_REQUEST['revoke'] != "") - { - csrf_check('clicerchange'); - $id = 18; - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now revoking the following certificates:")."<br>\n"; - foreach($_REQUEST['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'"); - printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']); - } - } - else - { - echo _("You did not select any certificates for revocation."); - } - - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - echo _("Now deleting the following pending requests:")."<br>\n"; - foreach($_REQUEST['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; - } - - if($process != "" && $oldid == 20) - { - $CSR = clean_csr($_REQUEST['CSR']); - $_SESSION['_config']['tmpfname'] = tempnam("/tmp", "id20CSR"); - $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 - `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; - } - - if($process != "" && $oldid == 21) - { - $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)); - $csrsubject = ""; - - if($_SESSION['_config']['OU']) - $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"; - $SAN=""; - if(is_array($_SESSION['_config']['altrows'])) - foreach($_SESSION['_config']['altrows'] as $subalt) - { - if($SAN != "") - $SAN .= ","; - $SAN .= "$subalt"; - } - - if($SAN != "") - $csrsubject .= "/subjectAltName=".$SAN; - - $type=""; - if($_REQUEST["ocspcert"]!="" && $_SESSION['profile']['admin'] == 1) $type="8"; - if($_SESSION['_config']['rootcert'] < 1 || $_SESSION['_config']['rootcert'] > 2) - $_SESSION['_config']['rootcert'] = 1; - - 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']."', - `type`='$type'"; - } else { - $query = "insert into `orgdomaincerts` set - `CN`='".$_SESSION['_config']['altrows']['0']."', - `orgid`='".$org['id']."', - `created`=NOW(), - `subject`='$csrsubject', - `rootcert`='".$_SESSION['_config']['rootcert']."', - `type`='$type'"; - } - mysql_query($query); - $CSRid = mysql_insert_id(); - - $CSRname=generatecertpath("csr","orgserver",$CSRid); - rename($_SESSION['_config']['tmpfname'], $CSRname); - chmod($CSRname,0644); - 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'"); - waitForResult("orgdomaincerts", $CSRid,$oldid); - $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!")); - printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions.")." CSRid: $CSRid", "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>"); - showfooter(); - exit; - } else { - $id = 23; - $cert = $CSRid; - $_REQUEST['cert']=$CSRid; - } - } - - if($oldid == 22 && array_key_exists('renew',$_REQUEST) && $_REQUEST['renew'] != "") - { - csrf_check('orgsrvcerchange'); - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now renewing the following certificates:")."<br>\n"; - foreach($_REQUEST['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']."', - `type`='".$row['type']."', - `rootcert`='".$row['rootcert']."'"; - mysql_query($query); - $newid = mysql_insert_id(); - //echo "NewID: $newid<br/>\n"; - $newfile=generatecertpath("csr","orgserver",$newid); - 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'"); - waitForResult("orgdomaincerts", $newid,$oldid,0); - $query = "select * from `orgdomaincerts` where `id`='$newid' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) <= 0) - { - printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions.")." newid: $newid", "<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"; - } - } - } - else - { - echo _("You did not select any certificates for renewal."); - } - showfooter(); - exit; - } - - if($oldid == 22 && array_key_exists('revoke',$_REQUEST) && $_REQUEST['revoke'] != "") - { - csrf_check('orgsrvcerchange'); - showheader(_("My CAcert.org Account!")); - if(is_array($_REQUEST['revokeid'])) - { - echo _("Now revoking the following certificates:")."<br>\n"; - foreach($_REQUEST['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'"); - printf(_("Certificate for '%s' has been revoked.")."<br>\n", $row['CN']); - } - } - else - { - echo _("You did not select any certificates for revocation."); - } - - if(array_key_exists('delid',$_REQUEST) && is_array($_REQUEST['delid'])) - { - echo _("Now deleting the following pending requests:")."<br>\n"; - foreach($_REQUEST['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) && - $_SESSION['profile']['orgadmin'] != 1) - { - showheader(_("My CAcert.org Account!")); - echo _("You don't have access to this area."); - showfooter(); - exit; - } - - if($oldid == 24 && $process != "") - { - $id = intval($oldid); - $_SESSION['_config']['O'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['O']))); - $_SESSION['_config']['contact'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['contact']))); - $_SESSION['_config']['L'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['L']))); - $_SESSION['_config']['ST'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['ST']))); - $_SESSION['_config']['C'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['C']))); - $_SESSION['_config']['comments'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['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."), sanitizeHTML($_SESSION['_config']['O'])); - showfooter(); - exit; - } - } - - if($oldid == 27 && $process != "") - { - csrf_check('orgdetchange'); - $id = intval($oldid); - $_SESSION['_config']['O'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['O']))); - $_SESSION['_config']['contact'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['contact']))); - $_SESSION['_config']['L'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['L']))); - $_SESSION['_config']['ST'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['ST']))); - $_SESSION['_config']['C'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['C']))); - $_SESSION['_config']['comments'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['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."), sanitizeHTML($_SESSION['_config']['O'])); - showfooter(); - exit; - } - } - - if($oldid == 28 && $process != "" && array_key_exists("domainname",$_REQUEST)) - { - $domain = $_SESSION['_config']['domain'] = trim(mysql_real_escape_string(stripslashes($_REQUEST['domainname']))); - $res1 = mysql_query("select * from `orgdomains` where `domain`='$domain'"); - if(mysql_num_rows($res1) > 0) - { - $_SESSION['_config']['errmsg'] = sprintf(_("The domain '%s' is already in a different account and is listed as valid. Can't continue."), sanitizeHTML($domain)); - $id = $oldid; - $oldid=0; - } - } - - if($oldid == 28 && $_SESSION['_config']['orgid'] <= 0) - { - $oldid=0; - $id = 25; - } - - if($oldid == 28 && $process != "" && array_key_exists("orgid",$_SESSION["_config"])) - { - mysql_query("insert into `orgdomains` set `orgid`='".intval($_SESSION['_config']['orgid'])."', `domain`='$domain'"); - showheader(_("My CAcert.org Account!")); - printf(_("'%s' has just been successfully added to the database."), sanitizeHTML($domain)); - echo "<br><br><a href='account.php?id=26&orgid=".intval($_SESSION['_config']['orgid'])."'>"._("Click here")."</a> "._("to continue."); - showfooter(); - exit; - } - - if($oldid == 29 && $process != "") - { - $domain = mysql_real_escape_string(stripslashes(trim($domainname))); - - $res1 = mysql_query("select * from `orgdomains` where `domain` like '$domain' and `id`!='".intval($_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 a different account and is listed as valid. Can't continue."), sanitizeHTML($domain)); - $id = $oldid; - $oldid=0; - } - } - - if(($oldid == 29 || $oldid == 30) && $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`='".intval($_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`='".intval($_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`='".intval($row['id'])."'"); - } - - if($oldid == 29 && $process != "") - { - $row = mysql_fetch_assoc(mysql_query("select * from `orgdomains` where `id`='".intval($_SESSION['_config']['domid'])."'")); - mysql_query("update `orgdomains` set `domain`='$domain' where `id`='".intval($_SESSION['_config']['domid'])."'"); - showheader(_("My CAcert.org Account!")); - printf(_("'%s' has just been successfully updated in the database."), sanitizeHTML($domain)); - echo "<br><br><a href='account.php?id=26&orgid=".intval($_SESSION['_config']['orgid'])."'>"._("Click here")."</a> "._("to continue."); - showfooter(); - exit; - } - - if($oldid == 30 && $process != "") - { - $row = mysql_fetch_assoc(mysql_query("select * from `orgdomains` where `id`='".intval($_SESSION['_config']['domid'])."'")); - $domain = $row['domain']; - mysql_query("delete from `orgdomains` where `id`='".intval($_SESSION['_config']['domid'])."'"); - showheader(_("My CAcert.org Account!")); - printf(_("'%s' has just been successfully deleted from the database."), sanitizeHTML($domain)); - echo "<br><br><a href='account.php?id=26&orgid=".intval($_SESSION['_config']['orgid'])."'>"._("Click here")."</a> "._("to continue."); - showfooter(); - exit; - } - - if($oldid == 30) - { - $id = 26; - $orgid = 0; - } - - if($oldid == 31 && $process != _("Cancel")) - { - $query = "select * from `orgdomains` where `orgid`='".intval($_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`='".intval($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`='".intval($row['id'])."'"); - mysql_query("delete from `orgdomaincerts` where `orgid`='".intval($row['id'])."'"); - mysql_query("delete from `orgdomlink` where `domid`='".intval($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`='".intval($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`='".intval($row['id'])."'"); - mysql_query("delete from `orgemailcerts` where `id`='".intval($row['id'])."'"); - mysql_query("delete from `orgemaillink` where `domid`='".intval($row['id'])."'"); - } - } - mysql_query("delete from `org` where `orgid`='".intval($_SESSION['_config']['orgid'])."'"); - mysql_query("delete from `orgdomains` where `orgid`='".intval($_SESSION['_config']['orgid'])."'"); - mysql_query("delete from `orginfo` where `id`='".intval($_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`='".intval($_SESSION['profile']['id'])."' and `masteracc`='1'"; - $_macc = mysql_num_rows(mysql_query($query)); - if($_SESSION['profile']['orgadmin'] != 1 && $_macc <= 0) - { - showheader(_("My CAcert.org Account!")); - echo _("You don't have access to this area."); - showfooter(); - exit; - } - } - - if($id == 33 && $_SESSION['profile']['orgadmin'] != 1) - { - $orgid = intval($_SESSION['_config']['orgid']); - $query = "select * from `org` where `orgid`='$orgid' and `memid`='".intval($_SESSION['profile']['id'])."' and `masteracc`='1'"; - $res = mysql_query($query); - if(mysql_num_rows($res) <= 0) - { - $id = 35; - } - } - - if($oldid == 33 && $process != "") - { - csrf_check('orgadmadd'); - if($_SESSION['profile']['orgadmin'] == 1) - $masteracc = $_SESSION['_config'][masteracc] = intval($_REQUEST['masteracc']); - else - $masteracc = $_SESSION['_config'][masteracc] = 0; - $_REQUEST['email'] = $_SESSION['_config']['email'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['email']))); - $OU = $_SESSION['_config']['OU'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['OU']))); - $comments = $_SESSION['_config']['comments'] = mysql_real_escape_string(stripslashes(trim($_REQUEST['comments']))); - $res = mysql_query("select * from `users` where `email`='".$_REQUEST['email']."' and `deleted`=0"); - if(mysql_num_rows($res) <= 0) - { - $id = $oldid; - $oldid=0; - $_SESSION['_config']['errmsg'] = sprintf(_("Wasn't able to match '%s' against any user in the system"), sanitizeHTML($_REQUEST['email'])); - } else { - $row = mysql_fetch_assoc($res); - mysql_query("insert into `org` set `memid`='".intval($row['id'])."', `orgid`='".intval($_SESSION['_config']['orgid'])."', - `masteracc`='$masteracc', `OU`='$OU', `comments`='$comments'"); - } - } - - if(($oldid == 34 || $id == 34) && $_SESSION['profile']['orgadmin'] != 1) - { - $orgid = intval($_SESSION['_config']['orgid']); - $res = mysql_query("select * from `org` where `orgid`='$orgid' and `memid`='".$_SESSION['profile']['id']."' and `masteracc`='1'"); - if(mysql_num_rows($res) <= 0) - $id = 32; - } - - if($oldid == 34 && $process != "") - { - $orgid = intval($_SESSION['_config']['orgid']); - $memid = intval($_REQUEST['memid']); - $query = "delete from `org` where `orgid`='$orgid' and `memid`='$memid'"; - mysql_query($query); - } - - if($oldid == 34 || $oldid == 33) - { - $oldid=0; - $id = 32; - $orgid = 0; - } - - if($id == 36) - { - $row = mysql_fetch_assoc(mysql_query("select * from `alerts` where `memid`='".intval($_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`='".intval($_SESSION['profile']['id'])."'")); - if($rc > 0) - { - $query = "update `alerts` set `general`='".intval(array_key_exists('general',$_REQUEST)?$_REQUEST['general']:0)."', - `country`='".intval(array_key_exists('country',$_REQUEST)?$_REQUEST['country']:0)."', - `regional`='".intval(array_key_exists('regional',$_REQUEST)?$_REQUEST['regional']:0)."', - `radius`='".intval(array_key_exists('radius',$_REQUEST)?$_REQUEST['radius']:0)."' - where `memid`='".intval($_SESSION['profile']['id'])."'"; - } else { - $query = "insert into `alerts` set `general`='".intval(array_key_exists('general',$_REQUEST)?$_REQUEST['general']:0)."', - `country`='".intval(array_key_exists('country',$_REQUEST)?$_REQUEST['country']:0)."', - `regional`='".intval(array_key_exists('regional',$_REQUEST)?$_REQUEST['regional']:0)."', - `radius`='".intval(array_key_exists('radius',$_REQUEST)?$_REQUEST['radius']:0)."', - `memid`='".intval($_SESSION['profile']['id'])."'"; - } - mysql_query($query); - $id = $oldid; - $oldid=0; - } - - if($oldid == 41 && $_REQUEST['action'] == 'default') - { - csrf_check("mainlang"); - $lang = mysql_real_escape_string($_REQUEST['lang']); - foreach($_SESSION['_config']['translations'] as $key => $val) - { - if($key == $lang) - { - mysql_query("update `users` set `language`='$lang' where `id`='".$_SESSION['profile']['id']."'"); - $_SESSION['profile']['language'] = $lang; - 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; - } - - if($oldid == 41 && $_REQUEST['action'] == 'addsec') - { - csrf_check("seclang"); - $addlang = mysql_real_escape_string($_REQUEST['addlang']); - // Does the language exist? - mysql_query("insert into `addlang` set `userid`='".intval($_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') - { - csrf_check("seclang"); - $remove = mysql_real_escape_string($_REQUEST['remove']); - mysql_query("delete from `addlang` where `userid`='".intval($_SESSION['profile']['id'])."' and `lang`='$remove'"); - 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; - } - - 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; - } - - if($oldid == 54 || ($id == 53 && array_key_exists('action',$_REQUEST) && $_REQUEST['action'] != "") || - ($id == 54 && array_key_exists('action',$_REQUEST) && $_REQUEST['action'] != "" && - $_REQUEST['action'] != "aliases" && $_REQUEST['action'] != "edit" && $_REQUEST['action'] != "add")) - { - $id = 53; - $ccid = intval(array_key_exists('ccid',$_REQUEST)?$_REQUEST['ccid']:0); - $regid = intval(array_key_exists('regid',$_REQUEST)?$_REQUEST['regid']:0); - $newreg = intval(array_key_exists('newreg',$_REQUEST)?$_REQUEST['newreg']:0); - $locid = intval(array_key_exists('locid',$_REQUEST)?$_REQUEST['locid']:0); - $name = array_key_exists('name',$_REQUEST)?mysql_real_escape_string(strip_tags($_REQUEST['name'])):""; - $long = array_key_exists('longitude',$_REQUEST)?ereg_replace("[^-0-9\.]","",$_REQUEST['longitude']):""; - $lat = array_key_exists('latitude', $_REQUEST)?ereg_replace("[^-0-9\.]","",$_REQUEST['latitude']):""; - $action = array_key_exists('action',$_REQUEST)?$_REQUEST['action']:""; - - if($locid > 0 && $action == "edit") - { - $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']); - } else if($regid > 0 && $action == "edit") { - $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']); - } else if($regid > 0 && $action == "add") { - $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']); - } else if($ccid > 0 && $action == "add" && $name != "") { - $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 && $action == "delete") { - $row = mysql_fetch_assoc(mysql_query("select * from `locations` where `id`='$locid'")); - $_REQUEST['regid'] = $row['regid']; - mysql_query("delete from `localias` where `locid`='$locid'"); - mysql_query("delete from `locations` where `id`='$locid'"); - unset($_REQUEST['ccid']); - unset($_REQUEST['locid']); - unset($_REQUEST['action']); - } else if($locid > 0 && $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 && $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']); - } else if($locid > 0 && $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 && $action == "delalias") { - $id = 54; - $_REQUEST['action'] = "aliases"; - $_REQUEST['locid'] = $locid; - $row = mysql_query("delete from `localias` where `locid`='$locid' and `name`='$name'"); - } - } - - if($oldid == 42 && $_REQUEST['email'] == "") - { - $id = $oldid; - $oldid=0; - } - - if($oldid == 42) - { - $id = 43; - $oldid=0; - } - - if($oldid == 43 && $_REQUEST['action'] == "updatedob") - { - $id = 43; - $oldid=0; - $fname = mysql_real_escape_string($_REQUEST['fname']); - $mname = mysql_real_escape_string($_REQUEST['mname']); - $lname = mysql_real_escape_string($_REQUEST['lname']); - $suffix = mysql_real_escape_string($_REQUEST['suffix']); - $day = intval($_REQUEST['day']); - $month = intval($_REQUEST['month']); - $year = intval($_REQUEST['year']); - $userid = intval($_REQUEST['userid']); - $query = "select `fname`,`mname`,`lname`,`suffix`,`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); - $query = "update `users` set `fname`='$fname',`mname`='$mname',`lname`='$lname',`suffix`='$suffix',`dob`='$year-$month-$day' where `id`='$userid'"; - mysql_query($query); - } - - if($oldid == 48 && $_REQUEST['domain'] == "") - { - $id = $oldid; - $oldid=0; - } - - if($oldid == 48) - { - $id = 49; - $oldid=0; - } - - if($id == 44) - { - if($_REQUEST['userid'] != "") - $_REQUEST['userid'] = intval($_REQUEST['userid']); - $row = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".intval($_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`='".intval($_REQUEST['userid'])."'")); - printf(_("The password for %s has been updated successfully in the system."), sanitizeHTML($row['email'])); - - - $body = sprintf(_("Hi %s,"),$row['fname'])."\n"; - $body .= _("You are receiving this email because a CAcert administrator")."\n"; - $body .= _("has changed the password on your account.")."\n"; - - $body .= _("Best regards")."\n"._("CAcert.org Support!"); - - sendmail($row['email'], "[CAcert.org] "._("Password Update Notification"), $body, - "support@cacert.org", "", "", "CAcert Support"); - - } - showfooter(); - exit; - } - - if($process != "" && $oldid == 45) - { - $CSR = clean_csr($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); - } - $id = 46; - - $_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; - } - } - - if($process != "" && $oldid == 46) - { - $CSR = clean_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); - } - $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; - } - - $query = "insert into `domaincerts` set - `CN`='".$_SESSION['_config']['0.CN']."', - `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=generatecertpath("csr","server",$CSRid); - $fp = fopen($CSRname, "w"); - fputs($fp, $_SESSION['_config']['CSR']); - fclose($fp); - mysql_query("update `domaincerts` set `CSR_name`='$CSRname' where `id`='$CSRid'"); - waitForResult("domaincerts", $CSRid,$oldid); - $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!")); - 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 = 47; - $cert = $CSRid; - $_REQUEST['cert']=$CSRid; - } - } - - if($id == 43 && array_key_exists('tverify',$_REQUEST) && $_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'"); - } - - if($id == 43 && array_key_exists('assurer',$_REQUEST) && $_REQUEST['assurer'] > 0) - { - csrf_check('admsetassuret'); - $memid = $_REQUEST['userid'] = intval($_REQUEST['assurer']); - $query = "select * from `users` where `id`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['assurer']; - mysql_query("update `users` set `assurer`='$ver' where `id`='$memid'"); - } - - if($id == 43 && array_key_exists('assurer_blocked',$_REQUEST) && $_REQUEST['assurer_blocked'] > 0) - { - $memid = $_REQUEST['userid'] = intval($_REQUEST['assurer_blocked']); - $query = "select * from `users` where `id`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['assurer_blocked']; - mysql_query("update `users` set `assurer_blocked`='$ver' where `id`='$memid'"); - } - - if($id == 43 && array_key_exists('locked',$_REQUEST) && $_REQUEST['locked'] > 0) - { - csrf_check('admactlock'); - $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 && array_key_exists('codesign',$_REQUEST) && $_REQUEST['codesign'] > 0) - { - csrf_check('admcodesign'); - $memid = $_REQUEST['userid'] = intval($_REQUEST['codesign']); - $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'"); - } - - if($id == 43 && array_key_exists('orgadmin',$_REQUEST) && $_REQUEST['orgadmin'] > 0) - { - csrf_check('admorgadmin'); - $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 && array_key_exists('ttpadmin',$_REQUEST) && $_REQUEST['ttpadmin'] > 0) - { - csrf_check('admttpadmin'); - $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 && array_key_exists('adadmin',$_REQUEST) && $_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 && array_key_exists('locadmin',$_REQUEST) && $_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 && array_key_exists('admin',$_REQUEST) && $_REQUEST['admin'] > 0) - { - csrf_check('admsetadmin'); - $memid = $_REQUEST['userid'] = intval($_REQUEST['admin']); - $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'"); - } - - if($id == 43 && array_key_exists('general',$_REQUEST) && $_REQUEST['general'] > 0) - { - $memid = $_REQUEST['userid'] = intval($_REQUEST['general']); - $query = "select * from `alerts` where `memid`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['general']; - mysql_query("update `alerts` set `general`='$ver' where `memid`='$memid'"); - } - - if($id == 43 && array_key_exists('country',$_REQUEST) && $_REQUEST['country'] > 0) - { - $memid = $_REQUEST['userid'] = intval($_REQUEST['country']); - $query = "select * from `alerts` where `memid`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['country']; - mysql_query("update `alerts` set `country`='$ver' where `memid`='$memid'"); - } - - if($id == 43 && array_key_exists('regional',$_REQUEST) && $_REQUEST['regional'] > 0) - { - $memid = $_REQUEST['userid'] = intval($_REQUEST['regional']); - $query = "select * from `alerts` where `memid`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['regional']; - mysql_query("update `alerts` set `regional`='$ver' where `memid`='$memid'"); - } - - if($id == 43 && array_key_exists('radius',$_REQUEST) && $_REQUEST['radius'] > 0) - { - $memid = $_REQUEST['userid'] = intval($_REQUEST['radius']); - $query = "select * from `alerts` where `memid`='$memid'"; - $row = mysql_fetch_assoc(mysql_query($query)); - $ver = !$row['radius']; - mysql_query("update `alerts` set `radius`='$ver' where `memid`='$memid'"); - } - - if($id == 50) - { - if(array_key_exists('userid',$_REQUEST) && $_REQUEST['userid'] != "") - $_REQUEST['userid'] = intval($_REQUEST['userid']); - - $row = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".intval($_REQUEST['userid'])."'")); - if($row['email'] == "") - $id = 42; - else - $_REQUEST['email'] = $row['email']; - } - - if($oldid == 50) - { - $id = 43; - $_REQUEST['userid'] = intval($_REQUEST['userid']); - } - - if($oldid == 50 && $process != "") - { - $_REQUEST['userid'] = intval($_REQUEST['userid']); - $res = mysql_query("select * from `users` where `id`='".intval($_REQUEST['userid'])."'"); - if(mysql_num_rows($res) > 0) - { - $query = "update `domaincerts`,`domains` SET `domaincerts`.`revoked`='1970-01-01 10:00:01' - WHERE `domaincerts`.`domid` = `domains`.`id` AND `domains`.`memid`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - $query = "update `domains` SET `deleted`=NOW() WHERE `domains`.`memid`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - $query = "update `emailcerts` SET `revoked`='1970-01-01 10:00:01' WHERE `memid`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - $query = "update `email` SET `deleted`=NOW() WHERE `memid`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - $query = "delete from `org` WHERE `memid`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - $query = "update `users` SET `deleted`=NOW() WHERE `id`='".intval($_REQUEST['userid'])."'"; - mysql_query($query); - } - } - - 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']); - $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'] != "")) - { - $vote = -1; - if($_REQUEST['agree'] != "") - $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'])."'"; - mysql_query($query); - - $rc = mysql_num_rows(mysql_query("select * from `tverify-vote` where `tverify`='$uid' and `vote`='1'")); - if($rc >= 8) - { - 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()"); - fix_assurer_flag($memid); - } - $totalpoints = intval($tmp['points']) + $points; - - $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"; - $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"); - } - - $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"); - } - - 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); -?> diff --git a/cacert/includes/account_stuff.php b/cacert/includes/account_stuff.php deleted file mode 100644 index 39ae5ed..0000000 --- a/cacert/includes/account_stuff.php +++ /dev/null @@ -1,287 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - $id = 0; if(array_key_exists("id",$_REQUEST)) $id=intval($_REQUEST['id']); - $expand=""; - - function showheader($title = "CAcert.org", $title2 = "") - { - global $id, $PHP_SELF; - $expand=""; - $tmpid = $id; - if($PHP_SELF == "/wot.php") - $tmpid = $id + 500; - if($PHP_SELF == "/gpg.php") - $tmpid = $id + 1000; - if($PHP_SELF == "/disputes.php") - $tmpid = $id + 1500; - if($PHP_SELF == "/advertising.php") - $tmpid = $id + 2000; - - switch($tmpid) - { - case 1: - case 2: $expand = " explode('emailacc');"; break; - case 3: - case 4: - case 5: - case 6: $expand = " explode('clicerts');"; break; - case 7: - case 8: - case 9: $expand = " explode('domains');"; break; - case 10: - case 11: - case 12: - case 15: $expand = " explode('servercert');"; break; - case 13: - case 14: - case 36: - case 41: - case 507: - case 508: - case 513: $expand = " explode('mydetails');"; break; - case 16: - case 17: - case 18: - case 19: $expand = " explode('clientorg');"; break; - case 20: - case 21: - case 22: - case 23: $expand = " explode('serverorg');"; break; - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: $expand = " explode('orgadmin');"; break; - case 42: - case 43: - case 44: - case 45: - case 46: - case 47: - case 48: - case 49: - case 50: - case 54: - case 53: $expand = " explode('sysadmin');"; break; - case 500: - case 501: - case 502: - case 503: - case 504: - case 505: - case 506: - case 509: - case 510: - case 511: - case 512: $expand = " explode('WoT');"; break; - case 1000: - case 1001: - case 1002: - case 1003: - case 1004: - case 1005: - case 1006: - case 1007: - case 1008: - case 1009: - case 1010: $expand = " explode('gpg');"; break; - case 1500: - case 1501: - case 1502: - case 1503: - case 1504: - case 1505: - case 1506: - case 1507: - case 1508: - case 1509: - case 1510: $expand = " explode('disputes');"; break; - case 2000: - case 2001: - case 2002: - case 2003: - case 2004: - case 2005: - case 2006: - case 2007: - case 2008: - case 2009: $expand = " explode('advertising');"; break; - } - -?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<title><?=$title?></title> -<? if(array_key_exists('header',$_SESSION) && $_SESSION['_config']['header'] != "") { ?><?=$_SESSION['_config']['header']?><? } ?> -<link rel="stylesheet" href="/styles/default.css" type="text/css" /> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<script language="JavaScript" type="text/javascript"> -function explode(e) { - if (document.getElementById(e).style.display == 'none') { - document.getElementById(e).style.display = 'block'; - } else { - document.getElementById(e).style.display = 'none'; - } -} - -function hideall() { - var Nodes = document.getElementsByTagName('ul') - var max = Nodes.length - for(var i = 0;i < max;i++) { - var nodeObj = Nodes.item(i) - if (nodeObj.className == "menu") { - nodeObj.style.display = 'none'; - } - } -} -</script> -</head> -<body onload="hideall(); explode('home');<?=$expand?>"> - <div id="pagecell1"> - <div id="pageName"><br> - <div id="pageLogo"><a href="http://<?=$_SESSION['_config']['normalhostname']?>"><img src="/images/cacert4.png" border="0" alt="CAcert.org logo"></a></div> - <div id="googlead"><h2><?=_("Free digital certificates!")?></h2></div> - </div> - <div id="pageNav"> - <div class="relatedLinks"> - <h3>CAcert.org</h3> - <ul class="menu" id="home"><li><a href="index.php"><?=_("Go Home")?></a></li><li><a href="account.php?id=logout"><?=_("Logout")?></a></li></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('mydetails')">+ <?=_("My Details")?></h3> - <ul class="menu" id="mydetails"><li><a href="account.php?id=13"><?=_("Edit")?></a></li><li><a href="account.php?id=14"><?=_("Change Password")?></a></li><li><a href="account.php?id=41"><?=_("Default Language")?></a></li><li><a href="wot.php?id=8"><?=_("My Listing")?></a></li><li><a href="wot.php?id=13"><?=_("My Location")?></a></li><li><a href="account.php?id=36"><?=_("My Alert Settings")?></a></li><li><a href="wot.php?id=10"><?=_("My Points")?></a></li><? - if($_SESSION['profile']['id'] == 1 || $_SESSION['profile']['id'] == 5897) - echo "<li><a href='sqldump.php'>SQL Dump</a></li>"; - ?></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('emailacc')">+ <?=_("Email Accounts")?></h3> - <ul class="menu" id="emailacc"><li><a href="account.php?id=1"><?=_("Add")?></a></li><li><a href="account.php?id=2"><?=_("View")?></a></li></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('clicerts')">+ <?=_("Client Certificates")?></h3> - <ul class="menu" id="clicerts"><li><a href="account.php?id=3"><?=_("New")?></a></li><li><a href="account.php?id=5"><?=_("View")?></a></li></ul> - </div> -<? if($_SESSION['profile']['points'] >= 50) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('gpg')">+ <?=_("GPG/PGP Keys")?></h3> - <ul class="menu" id="gpg"><li><a href="gpg.php?id=0"><?=_("New")?></a></li><li><a href="gpg.php?id=2"><?=_("View")?></a></li></ul> - </div> -<? } ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('domains')">+ <?=_("Domains")?></h3> - <ul class="menu" id="domains"><li><a href="account.php?id=7"><?=_("Add")?></a></li><li><a href="account.php?id=9"><?=_("View")?></a></li></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('servercert')">+ <?=_("Server Certificates")?></h3> - <ul class="menu" id="servercert"><li><a href="account.php?id=10"><?=_("New")?></a></li><li><a href="account.php?id=12"><?=_("View")?></a></li></ul> - </div> -<? if(mysql_num_rows(mysql_query("select * from `org` where `memid`='".intval($_SESSION['profile']['id'])."'")) > 0 || $_SESSION['profile']['orgadmin'] == 1) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('clientorg')">+ <?=_("Org Client Certs")?></h3> - <ul class="menu" id="clientorg"><li><a href="account.php?id=16"><?=_("New")?></a></li><li><a href="account.php?id=18"><?=_("View")?></a></li></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('serverorg')">+ <?=_("Org Server Certs")?></h3> - <ul class="menu" id="serverorg"><li><a href="account.php?id=20"><?=_("New")?></a></li><li><a href="account.php?id=22"><?=_("View")?></a></li></ul> - </div> -<? } ?> -<? if(mysql_num_rows(mysql_query("select * from `org` where `memid`='".intval($_SESSION['profile']['id'])."' and `masteracc`='1'")) > 0 || $_SESSION['profile']['orgadmin'] == 1) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('orgadmin')">+ <?=_("Org Admin")?></h3> - <ul class="menu" id="orgadmin"><? if($_SESSION['profile']['orgadmin'] == 1) { ?><li><a href="account.php?id=24"><?=_("New Organisation")?></a></li><li><a href="account.php?id=25"><?=_("View Organisations")?></a></li><? } ?><li><a href="account.php?id=35"><?=_("View")?></a></li></ul> - </div> -<? } ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('WoT')">+ <?=_("CAcert Web of Trust")?></h3> - <ul class="menu" id="WoT"><li><a href="wot.php?id=0"><?=_("About")?></a></li><li><a href="wot.php?id=12"><?=_("Find an Assurer")?></a></li><li><a href="wot.php?id=3"><?=_("Rules")?></a></li><li><? if($_SESSION['profile']['assurer'] != 1) { ?><a href="wot.php?id=2"><?=_("Becoming an Assurer")?></a><? } else { ?><a href="wot.php?id=5"><?=_("Assure Someone")?></a><? } ?></li><li><a href="wot.php?id=4"><?=_("Trusted ThirdParties")?></a></li><? if($_SESSION['profile']['points'] >= 500) { ?><li><a href="wot.php?id=11"><div style="white-space:nowrap"><?=_("Organisation Assurance")?></div></a></li><? } ?><li><a href="account.php?id=55"><?=_("Training")?></a></li></ul> - </div> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('WoTForms')">+ <?=_("CAP Forms")?></h3><? - $name = $_SESSION['profile']['fname']." ".$_SESSION['profile']['mname']." ".$_SESSION['profile']['lname']." ".$_SESSION['profile']['suffix']; - while(strstr($name, " ")) - $name = str_replace(" ", " ", $name); - $extra = "?name=".urlencode($name); - $extra .= "&dob=".urlencode($_SESSION['profile']['dob']); - $extra .= "&email=".urlencode($_SESSION['profile']['email']); - - $extra2 = "?assurer=".urlencode($name)."&date=now&maxpoints=".maxpoints(); -?> - <ul class="menu" id="WoTForms"> - <li><a href="/cap.php<?=$extra?>">A4 - <?=_("WoT Form")?></a></li> - <li><a href="/cap.php<?=$extra?>&format=letter">US - <?=_("WoT Form")?></a></li> - <? /* <li><div style="white-space:nowrap"><a href="/ttp.php<?=$extra?>">A4 - <?=_("TTP Form")?></a></div></li> - <li><div style="white-space:nowrap"><a href="/ttp.php<?=$extra?>&format=letter">US - <?=_("TTP Form")?></a></div></li> */ - ?> - <? if($_SESSION['profile']['points'] > 100) { ?><li><div style="white-space:nowrap"><a href="/cap.php<?=$extra2?>">A4 - <?=_("Assurance Form")?></a></div></li> - <li><div style="white-space:nowrap"><a href="/cap.php<?=$extra2?>&format=letter">US - <?=_("Assurance Form")?></a></div></li> - <? } ?> - <? /* - <li><div style="white-space:nowrap"><a href="/ttp.php">A4 - <?=_("Blank TTP Form")?></a></div></li> - <li><div style="white-space:nowrap"><a href="/ttp.php?&format=letter">US - <?=_("Blank TTP Form")?></a></div></li> - */ ?> - <li><div style="white-space:nowrap"><a href="/cap.php">A4 - <?=_("Blank CAP Form")?></a></div></li> - <li><div style="white-space:nowrap"><a href="/cap.php?&format=letter">US - <?=_("Blank CAP Form")?></a></div></li></ul> - </div> -<? if($_SESSION['profile']['admin'] == 1 || $_SESSION['profile']['locadmin'] == 1) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('sysadmin')">+ <?=_("System Admin")?></h3> - <ul class="menu" id="sysadmin"><? if($_SESSION['profile']['admin'] == 1) { ?><li><a href="account.php?id=42"><?=_("Find User")?></a></li><li><a href="account.php?id=48"><?=_("Find Domain")?></a></li><? } if($_SESSION['profile']['locadmin'] == 1) { ?><li><a href="account.php?id=53"><?=_("Location DB")?></a></li><? } ?></ul> - </div> -<? } ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('disputes')">+ <?=_("Disputes/Abuses")?></h3> - <ul class="menu" id="disputes"><li><a href="disputes.php?id=0"><?=_("More Information")?></a></li><li><a href="disputes.php?id=1"><?=_("Email Dispute")?></a></li><li><a href="disputes.php?id=2"><?=_("Domain Dispute")?></a></li><? if($_SESSION['profile']['admin'] == 1) { ?><li><a href="disputes.php?id=3"><?=_("Abuses")?></a></li><? } ?></ul> - </div> -<? if($_SESSION['profile']['adadmin'] >= 1) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('advertising')">+ <?=_("Advertising")?></h3> - <ul class="menu" id="advertising"><li><a href="advertising.php?id=1"><?=_("New Ad")?></a></li><li><a href="advertising.php?id=0"><?=_("View Ads")?></a></li></ul> - </div> -<? } ?> - </div> - <div id="content"> - <div class="story"> - <h3><?=$title2?></h3> -<? if($_SESSION['_config']['errmsg'] != "") { ?> -<p><font color="#ff0000" size="+2"><? echo $_SESSION['_config']['errmsg']; $_SESSION['_config']['errmsg'] = ""; ?> </font></p> -<? } ?> -<? - } - - function showfooter() - { -?> - </div> - </div> - <div id="siteInfo"><a href="account.php?id=37"><?=_("About Us")?></a> | <a href="account.php?id=38"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> | - <a href="account.php?id=39"><?=_("Privacy Policy")?></a> | <a href="account.php?id=40"><?=_("Contact Us")?></a> - | ©2002-<?=date("Y")?> <?=_("by CAcert")?></div> -</div> -</body> -</html><? - } -?> diff --git a/cacert/includes/general.php b/cacert/includes/general.php deleted file mode 100644 index 80b16a0..0000000 --- a/cacert/includes/general.php +++ /dev/null @@ -1,945 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - session_name("cacert"); - session_start(); - - session_register("_config"); - session_register("profile"); - session_register("signup"); - session_register("lostpw"); -// if($_SESSION['profile']['id'] > 0) -// session_regenerate_id(); - - $pageLoadTime_Start = microtime(true); - - $junk = array(_("Face to Face Meeting"), _("Trusted Third Parties"), _("Thawte Points Transfer"), _("Administrative Increase"), - _("CT Magazine - Germany"), _("Temporary Increase"), _("Unknown")); - - $_SESSION['_config']['errmsg']=""; - - $id = 0; if(array_key_exists("id",$_REQUEST)) $id=intval($_REQUEST['id']); - $oldid = 0; if(array_key_exists("oldid",$_REQUEST)) $oldid=intval($_REQUEST['oldid']); - - $_SESSION['_config']['filepath'] = "/www"; - - require_once($_SESSION['_config']['filepath']."/includes/mysql.php"); - - if(array_key_exists('HTTP_HOST',$_SERVER) && - $_SERVER['HTTP_HOST'] != $_SESSION['_config']['normalhostname'] && - $_SERVER['HTTP_HOST'] != $_SESSION['_config']['securehostname'] && - $_SERVER['HTTP_HOST'] != $_SESSION['_config']['tverify'] && - $_SERVER['HTTP_HOST'] != "stamp.cacert.org") - { - if(array_key_exists('HTTPS',$_SERVER) && $_SERVER['HTTPS'] == "on") - header("location: https://".$_SESSION['_config']['normalhostname']); - else - header("location: http://".$_SESSION['_config']['normalhostname']); - exit; - } - - if(array_key_exists('HTTP_HOST',$_SERVER) && - ($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] || - $_SERVER['HTTP_HOST'] == $_SESSION['_config']['tverify'])) - { - if(array_key_exists('HTTPS',$_SERVER) && $_SERVER['HTTPS'] == "on") - { - } - else - { - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname']) - header("location: https://". $_SESSION['_config']['securehostname']); - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['tverify']) - header("location: https://".$_SESSION['_config']['tverify']); - exit; - } - } - - $lang = ""; - if(array_key_exists("lang",$_REQUEST)) - $lang=mysql_escape_string(substr(trim($_REQUEST['lang']), 0, 5)); - if($lang != "") - $_SESSION['_config']['language'] = $lang; - - //if($_SESSION['profile']['id'] == 1 && 1 == 2) - // echo $_SESSION['_config']['language']; - - $_SESSION['_config']['translations'] = array( - "ar_JO" => "العربية", - "bg_BG" => "Български", - "cs_CZ" => "Čeština", - "da_DK" => "Dansk", - "de_DE" => "Deutsch", - "el_GR" => "Ελληνικά", - "en_AU" => "English", - "eo_EO" => "Esperanto", - "es_ES" => "Español", - "fa_IR" => "Farsi", - "fi_FI" => "Suomi", - "fr_FR" => "Français", - "he_IL" => "עברית", - "hr_HR" => "Hrvatski", - "hu_HU" => "Magyar", - "is_IS" => "Íslenska", - "it_IT" => "Italiano", - "ja_JP" => "日本語", - "ka_GE" => "Georgian", - "nl_NL" => "Nederlands", - "pl_PL" => "Polski", - "pt_PT" => "Português", - "pt_BR" => "Português Brasileiro", - "ru_RU" => "Русский", - "ro_RO" => "Română", - "sv_SE" => "Svenska", - "tr_TR" => "Türkçe", - "zh_CN" => "中文(简体)"); - - $value=array(); - - if(!(array_key_exists('language',$_SESSION['_config']) && $_SESSION['_config']['language'] != "")) - { - $bits = explode(",", strtolower(str_replace(" ", "", mysql_real_escape_string(array_key_exists('HTTP_ACCEPT_LANGUAGE',$_SERVER)?$_SERVER['HTTP_ACCEPT_LANGUAGE']:"")))); - foreach($bits as $lang) - { - $b = explode(";", $lang); - if(count($b)>1 && substr($b[1], 0, 2) == "q=") - $c = floatval(substr($b[1], 2)); - else - $c = 1; - $value["$c"] = trim($b[0]); - } - - krsort($value); - - reset($value); - - foreach($value as $key => $val) - { - $val = substr(escapeshellarg($val), 1, -1); - $short = substr($val, 0, 2); - if($val == "en" || $short == "en") - { - $_SESSION['_config']['language'] = "en"; - break; - } - if(file_exists($_SESSION['_config']['filepath']."/locale/$val/LC_MESSAGES/messages.mo")) - { - $_SESSION['_config']['language'] = $val; - break; - } - if(file_exists($_SESSION['_config']['filepath']."/locale/$short/LC_MESSAGES/messages.mo")) - { - $_SESSION['_config']['language'] = $short; - break; - } - } - } - if(!array_key_exists('_config',$_SESSION) || !array_key_exists('language',$_SESSION['_config']) || strlen($_SESSION['_config']['language']) != 5) - { - $lang = array_key_exists('language',$_SESSION['_config'])?$_SESSION['_config']['language']:""; - $_SESSION['_config']['language'] = "en_AU"; - foreach($_SESSION['_config']['translations'] as $key => $val) - { - if(substr($lang, 0, 2) == substr($key, 0, 2)) - { - $_SESSION['_config']['language'] = $val; - break; - } - } - } - - $_SESSION['_config']['recode'] = "html..latin-1"; - if($_SESSION['_config']['language'] == "zh_CN") - { - $_SESSION['_config']['recode'] = "html..gb2312"; - } else if($_SESSION['_config']['language'] == "pl_PL" || $_SESSION['_config']['language'] == "hu_HU") { - $_SESSION['_config']['recode'] = "html..ISO-8859-2"; - } else if($_SESSION['_config']['language'] == "ja_JP") { - $_SESSION['_config']['recode'] = "html..SHIFT-JIS"; - } else if($_SESSION['_config']['language'] == "ru_RU") { - $_SESSION['_config']['recode'] = "html..ISO-8859-5"; - } else if($_SESSION['_config']['language'] == "lt_LT") { - $_SESSION['_config']['recode'] = "html..ISO-8859-13"; - } - - putenv("LANG=".$_SESSION['_config']['language']); - setlocale(LC_ALL, $_SESSION['_config']['language']); - $domain = 'messages'; - bindtextdomain($domain, $_SESSION['_config']['filepath']."/locale"); - textdomain($domain); - - //if($_SESSION['profile']['id'] == -1) - // echo $_SESSION['_config']['language']." - ".$_SESSION['_config']['filepath']."/locale"; - - - if(array_key_exists('profile',$_SESSION) && is_array($_SESSION['profile']) && array_key_exists('id',$_SESSION['profile']) && $_SESSION['profile']['id'] > 0) - { - $locked = mysql_fetch_assoc(mysql_query("select `locked` from `users` where `id`='".$_SESSION['profile']['id']."'")); - if($locked['locked'] == 0) - { - $query = "select sum(`points`) as `total` from `notary` where `to`='".$_SESSION['profile']['id']."' group by `to`"; - $res = mysql_query($query); - $row = mysql_fetch_assoc($res); - $_SESSION['profile']['points'] = $row['total']; - } else { - $_SESSION['profile'] = ""; - unset($_SESSION['profile']); - } - } - - function loadem($section = "index") - { - if($section != "index" && $section != "account" && $section != "tverify") - { - $section = "index"; - } - - if($section == "account") - include_once($_SESSION['_config']['filepath']."/includes/account_stuff.php"); - - if($section == "index") - include_once($_SESSION['_config']['filepath']."/includes/general_stuff.php"); - - if($section == "tverify") - include_once($_SESSION['_config']['filepath']."/includes/tverify_stuff.php"); - } - - function includeit($id = "0", $section = "index") - { - $id = intval($id); - if($section != "index" && $section != "account" && $section != "wot" && $section != "help" && $section != "gpg" && $section != "disputes" && $section != "tverify" && $section != "advertising") - { - $section = "index"; - } - - if($section == "tverify" && file_exists($_SESSION['_config']['filepath']."/tverify/index/$id.php")) - include_once($_SESSION['_config']['filepath']."/tverify/index/$id.php"); - else if(file_exists($_SESSION['_config']['filepath']."/pages/$section/$id.php")) - include_once($_SESSION['_config']['filepath']."/pages/$section/$id.php"); - else { - $id = "0"; - - if(file_exists($_SESSION['_config']['filepath']."/pages/$section/$id.php")) - include_once($_SESSION['_config']['filepath']."/pages/$section/$id.php"); - else { - - $section = "index"; - $id = "0"; - - if(file_exists($_SESSION['_config']['filepath']."/pages/$section/$id.php")) - include_once($_SESSION['_config']['filepath']."/pages/$section/$id.php"); - else - include_once($_SESSION['_config']['filepath']."/www/error404.php"); - } - } - } - - function checkpw($pwd, $email, $fname, $mname, $lname, $suffix) - { - $points = 0; - - if(strlen($pwd) > 15) - $points++; - if(strlen($pwd) > 20) - $points++; - if(strlen($pwd) > 25) - $points++; - if(strlen($pwd) > 30) - $points++; - - //echo "Points due to length: $points<br/>"; - - if(preg_match("/\d/", $pwd)) - $points++; - - if(preg_match("/[a-z]/", $pwd)) - $points++; - - if(preg_match("/[A-Z]/", $pwd)) - $points++; - - if(preg_match("/\W/", $pwd)) - $points++; - - if(preg_match("/\s/", $pwd)) - $points++; - - //echo "Points due to length and charset: $points<br/>"; - - if(@strstr(strtolower($pwd), strtolower($email))) - $points--; - - if(@strstr(strtolower($email), strtolower($pwd))) - $points--; - - if(@strstr(strtolower($pwd), strtolower($fname))) - $points--; - - if(@strstr(strtolower($fname), strtolower($pwd))) - $points--; - - if($mname) - if(@strstr(strtolower($pwd), strtolower($mname))) - $points--; - - if($mname) - if(@strstr(strtolower($mname), strtolower($pwd))) - $points--; - - if(@strstr(strtolower($pwd), strtolower($lname))) - $points--; - - if(@strstr(strtolower($lname), strtolower($pwd))) - $points--; - - if($suffix) - if(@strstr(strtolower($pwd), strtolower($suffix))) - $points--; - - if($suffix) - if(@strstr(strtolower($suffix), strtolower($pwd))) - $points--; - - //echo "Points due to name matches: $points<br/>"; - - $do = `grep '$pwd' /usr/share/dict/american-english`; - if($do) - $points--; - - //echo "Points due to wordlist: $points<br/>"; - - return($points); - } - - function extractit() - { - $bits = explode(": ", $_SESSION['_config']['subject'], 2); - $bits = str_replace(", ", "|", str_replace("/", "|", array_key_exists('1',$bits)?$bits['1']:"")); - $bits = explode("|", $bits); - - $_SESSION['_config']['cnc'] = $_SESSION['_config']['subaltc'] = 0; - $_SESSION['_config']['OU'] = ""; - - if(is_array($bits)) - foreach($bits as $val) - { - if(!strstr($val, "=")) - continue; - - $split = explode("=", $val); - - $k = $split[0]; - $split['1'] = trim($split['1']); - if($k == "CN" && $split['1']) - { - $k = $_SESSION['_config']['cnc'].".".$k; - $_SESSION['_config']['cnc']++; - $_SESSION['_config'][$k] = $split['1']; - } - if($k == "OU" && $split['1'] && $_SESSION['_config']['OU'] == "") - { - $_SESSION['_config']['OU'] = $split['1']; - } - if($k == "subjectAltName" && $split['1']) - { - $k = $_SESSION['_config']['subaltc'].".".$k; - $_SESSION['_config']['subaltc']++; - $_SESSION['_config'][$k] = $split['1']; - } - } - } - - function getcn() - { - unset($_SESSION['_config']['rows']); - unset($_SESSION['_config']['rowid']); - unset($_SESSION['_config']['rejected']); - $rows=array(); - $rowid=array(); - for($cnc = 0; $cnc < $_SESSION['_config']['cnc']; $cnc++) - { - $CN = $_SESSION['_config']["$cnc.CN"]; - $bits = explode(".", $CN); - $dom = ""; - $cnok = 0; - for($i = count($bits) - 1; $i >= 0; $i--) - { - if($dom) - $dom = $bits[$i].".".$dom; - else - $dom = $bits[$i]; - $_SESSION['_config']['row'] = ""; - $dom = mysql_real_escape_string($dom); - $query = "select * from domains where `memid`='".$_SESSION['profile']['id']."' and `domain` like '$dom' and `deleted`=0 and `hash`=''"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $cnok = 1; - $_SESSION['_config']['row'] = mysql_fetch_assoc($res); - $rowid[] = $_SESSION['_config']['row']['id']; - break; - } - } - - if($cnok == 0) - $_SESSION['_config']['rejected'][] = $CN; - - if($_SESSION['_config']['row'] != "") - $rows[] = $CN; - } -// if(count($rows) <= 0) -// { -// echo _("There were no valid CommonName fields on the CSR, or I was unable to match any of these against your account. Please review your CSR, or add and verify domains contained in it to your account before trying again."); -// exit; -// } - - $_SESSION['_config']['rows'] = $rows; - $_SESSION['_config']['rowid'] = $rowid; - } - - function getalt() - { - unset($_SESSION['_config']['altrows']); - unset($_SESSION['_config']['altid']); - $altrows=array(); - $altid=array(); - for($altc = 0; $altc < $_SESSION['_config']['subaltc']; $altc++) - { - $subalt = $_SESSION['_config']["$altc.subjectAltName"]; - if(substr($subalt, 0, 4) == "DNS:") - $alt = substr($subalt, 4); - else - continue; - - $bits = explode(".", $alt); - $dom = ""; - $altok = 0; - for($i = count($bits) - 1; $i >= 0; $i--) - { - if($dom) - $dom = $bits[$i].".".$dom; - else - $dom = $bits[$i]; - $_SESSION['_config']['altrow'] = ""; - $dom = mysql_real_escape_string($dom); - $query = "select * from domains where `memid`='".$_SESSION['profile']['id']."' and `domain` like '$dom' and `deleted`=0 and `hash`=''"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $altok = 1; - $_SESSION['_config']['altrow'] = mysql_fetch_assoc($res); - $altid[] = $_SESSION['_config']['altrow']['id']; - break; - } - } - - if($altok == 0) - $_SESSION['_config']['rejected'][] = $alt; - - if($_SESSION['_config']['altrow'] != "") - $altrows[] = $subalt; - } - $_SESSION['_config']['altrows'] = $altrows; - $_SESSION['_config']['altid'] = $altid; - } - - function getcn2() - { - $rows=array(); - $rowid=array(); - for($cnc = 0; $cnc < $_SESSION['_config']['cnc']; $cnc++) - { - $CN = $_SESSION['_config']["$cnc.CN"]; - $bits = explode(".", $CN); - $dom = ""; - for($i = count($bits) - 1; $i >= 0; $i--) - { - if($dom) - $dom = $bits[$i].".".$dom; - else - $dom = $bits[$i]; - $_SESSION['_config']['row'] = ""; - $dom = mysql_real_escape_string($dom); - $query = "select *, `orginfo`.`id` as `id` from `orginfo`,`orgdomains`,`org` where - `org`.`memid`='".$_SESSION['profile']['id']."' and - `org`.`orgid`=`orginfo`.`id` and - `orgdomains`.`orgid`=`orginfo`.`id` and - `orgdomains`.`domain`='$dom'"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $_SESSION['_config']['row'] = mysql_fetch_assoc($res); - $rowid[] = $_SESSION['_config']['row']['id']; - break; - } - } - - if($_SESSION['_config']['row'] != "") - $rows[] = $CN; - } -// if(count($rows) <= 0) -// { -// echo _("There were no valid CommonName fields on the CSR, or I was unable to match any of these against your account. Please review your CSR, or add and verify domains contained in it to your account before trying again."); -// exit; -// } - $_SESSION['_config']['rows'] = $rows; - $_SESSION['_config']['rowid'] = $rowid; - } - - function getalt2() - { - $altrows=array(); - $altid=array(); - for($altc = 0; $altc < $_SESSION['_config']['subaltc']; $altc++) - { - $subalt = $_SESSION['_config']["$altc.subjectAltName"]; - if(substr($subalt, 0, 4) == "DNS:") - $alt = substr($subalt, 4); - else - continue; - - $bits = explode(".", $alt); - $dom = ""; - for($i = count($bits) - 1; $i >= 0; $i--) - { - if($dom) - $dom = $bits[$i].".".$dom; - else - $dom = $bits[$i]; - $_SESSION['_config']['altrow'] = ""; - $dom = mysql_real_escape_string($dom); - $query = "select * from `orginfo`,`orgdomains`,`org` where - `org`.`memid`='".$_SESSION['profile']['id']."' and - `org`.`orgid`=`orginfo`.`id` and - `orgdomains`.`orgid`=`orginfo`.`id` and - `orgdomains`.`domain`='$dom'"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $_SESSION['_config']['altrow'] = mysql_fetch_assoc($res); - $altid[] = $_SESSION['_config']['altrow']['id']; - break; - } - } - - if($_SESSION['_config']['altrow'] != "") - $altrows[] = $subalt; - } - $_SESSION['_config']['altrows'] = $altrows; - $_SESSION['_config']['altid'] = $altid; - } - - function checkownership($hostname) - { - $bits = explode(".", $hostname); - $dom = ""; - for($i = count($bits) - 1; $i >= 0; $i--) - { - if($dom) - $dom = $bits[$i].".".$dom; - else - $dom = $bits[$i]; - $dom = mysql_real_escape_string($dom); - $query = "select * from `org`,`orgdomains`,`orginfo` - where `org`.`memid`='".$_SESSION['profile']['id']."' - and `orgdomains`.`orgid`=`org`.`orgid` - and `orginfo`.`id`=`org`.`orgid` - and `orgdomains`.`domain`='$dom'"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $_SESSION['_config']['row'] = mysql_fetch_assoc($res); - return(true); - } - } - return(false); - } - - function maxpoints($id = 0) - { - if($id <= 0) - $id = $_SESSION['profile']['id']; - - $query = "select sum(`points`) as `points` from `notary` where `to`='$id' group by `to`"; - $row = mysql_fetch_assoc(mysql_query($query)); - $points = $row['points']; - - $dob = date("Y-m-d", mktime(0,0,0,date("m"),date("d"),date("Y")-18)); - $query = "select * from `users` where `id`='".$_SESSION['profile']['id']."' and `dob` < '$dob'"; - if(mysql_num_rows(mysql_query($query)) < 1) - { - if($points >= 100) - return(10); - else - return(0); - } - - if($points >= 300) - return(200); - if($points >= 200) - return(150); - if($points >= 150) - return(35); - if($points >= 140) - return(30); - if($points >= 130) - return(25); - if($points >= 120) - return(20); - if($points >= 110) - return(15); - if($points >= 100) - return(10); - return(0); - } - - function hex2bin($data) - { - while(strstr($data, "\\x")) - { - $pos = strlen($data) - strlen(strstr($data, "\\x")); - $before = substr($data, 0, $pos); - $char = chr(hexdec(substr($data, $pos + 2, 2))); - $after = substr($data, $pos + 4); - $data = $before.$char.$after; - } - return(utf8_decode($data)); - } - - function screenshot($img) - { - if(file_exists("../screenshots/".$_SESSION['_config']['language']."/$img")) - return("/screenshots/".$_SESSION['_config']['language']."/$img"); - else - return("/screenshots/en/$img"); - } - - function signmail($to, $subject, $message, $from, $replyto = "") - { - if($replyto == "") - $replyto = $from; - $tmpfname = tempnam("/tmp", "CSR"); - $fp = fopen($tmpfname, "w"); - fputs($fp, $message); - fclose($fp); - $do = `/usr/bin/gpg --homedir /home/gpg --clearsign "$tmpfname"|/usr/sbin/sendmail "$to"`; - @unlink($tmpfname); - } - - function checkEmail($email) - { - $myemail = mysql_real_escape_string($email); - if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\+\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" , $email)) - { - list($username,$domain)=split('@',$email); - $dom = escapeshellarg($domain); - $line = trim(`dig +short MX $dom 2>&1`); -#echo $email."-$dom-$line-\n"; -#echo `dig +short mx heise.de 2>&1`."-<br>\n"; - - $list = explode("\n", $line); - foreach($list as $row) - list($pri, $mxhosts[]) = explode(" ", substr(trim($row), 0, -1)); - $mxhosts[] = $domain; -#print_r($mxhosts); die; - foreach($mxhosts as $key => $domain) - { - $fp = @fsockopen($domain,25,$errno,$errstr,5); - if($fp) - { - - $line = fgets($fp, 4096); - while(substr($line, 0, 4) == "220-") - $line = fgets($fp, 4096); - if(substr($line, 0, 3) != "220") - continue; - fputs($fp, "HELO hlin.cacert.org\r\n"); - $line = fgets($fp, 4096); - while(substr($line, 0, 3) == "220") - $line = fgets($fp, 4096); - if(substr($line, 0, 3) != "250") - continue; - fputs($fp, "MAIL FROM: <returns@cacert.org>\r\n"); - $line = fgets($fp, 4096); - - if(substr($line, 0, 3) != "250") - continue; - fputs($fp, "RCPT TO: <$email>\r\n"); - $line = trim(fgets($fp, 4096)); - fputs($fp, "QUIT\r\n"); - fclose($fp); - - $line = mysql_real_escape_string(trim(strip_tags($line))); - $query = "insert into `pinglog` set `when`=NOW(), `email`='$myemail', `result`='$line'"; - if(is_array($_SESSION['profile'])) $query.=", `uid`='".$_SESSION['profile']['id']."'"; - mysql_query($query); - - if(substr($line, 0, 3) != "250") - return $line; - else - return "OK"; - } - } - } - $query = "insert into `pinglog` set `when`=NOW(), `uid`='".$_SESSION['profile']['id']."', - `email`='$myemail', `result`='Failed to make a connection to the mail server'"; - mysql_query($query); - return _("Failed to make a connection to the mail server"); - } - - function waitForResult($table, $certid, $id = 0, $show = 1) - { - $found = $trycount = 0; - if($certid<=0) - { - if($show) showheader(_("My CAcert.org Account!")); - echo _("ERROR: The new Certificate ID is wrong. Please contact support.\n"); - if($show) showfooter(); - if($show) exit; - return; - } - while($trycount++ <= 40) - { - if($table == "gpg") - $query = "select * from `$table` where `id`='".intval($certid)."' and `crt` != ''"; - else - $query = "select * from `$table` where `id`='".intval($certid)."' and `crt_name` != ''"; - $res = mysql_query($query); - if(mysql_num_rows($res) > 0) - { - $found = 1; - break; - } - sleep(3); - } - - if(!$found) - { - if($show) showheader(_("My CAcert.org Account!")); - $query = "select * from `$table` where `id`='".intval($certid)."' "; - $res = mysql_query($query); - $body=""; - $subject=""; - if(mysql_num_rows($res) > 0) - { - printf(_("Your certificate request is still queued and hasn't been processed yet. Please wait, and go to Certificates -> View to see it's status.")); - $subject="[CAcert.org] Certificate TIMEOUT"; - $body = "A certificate has timed out!\n\n"; - } - else - { - printf(_("Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions.")." certid:$table:".intval($certid), "<a href='http://wiki.cacert.org/wiki/FAQ/CertificateRenewal'>", "</a>"); - $subject="[CAcert.org] Certificate FAILURE"; - $body = "A certificate has failed: $table $certid $id $show\n\n"; - } - - $body .= _("Best regards")."\n"._("CAcert.org Support!"); - - sendmail("philipp@cacert.org", $subject, $body, "returns@cacert.org", "", "", "CAcert Support"); - - if($show) showfooter(); - if($show) exit; - } - } - - - - function generateTicket() - { - $query = "insert into tickets (timestamp) values (now()) "; - mysql_query($query); - $ticket = mysql_insert_id(); - return $ticket; - } - - function sanitizeHTML($input) - { - return htmlentities(strip_tags($input), ENT_QUOTES); - //In case of problems, please use the following line again: - //return htmlentities(strip_tags(utf8_decode($input)), ENT_QUOTES); - //return htmlspecialchars(strip_tags($input)); - } - - function make_hash() - { - if(function_exists("dio_open")) - { - $rnd = dio_open("/dev/urandom",O_RDONLY); - $hash = md5(dio_read($rnd,64)); - dio_close($rnd); - } else { - $rnd = fopen("/dev/urandom", "r"); - $hash = md5(fgets($rnd, 64)); - fclose($rnd); - } - return($hash); - } - - function csrf_check($nam, $show=1) - { - if(!array_key_exists('csrf',$_REQUEST) || !array_key_exists('csrf_'.$nam,$_SESSION)) - { - showheader(_("My CAcert.org Account!")); - echo _("CSRF Hash is missing. Please try again.")."\n"; - showfooter(); - exit(); - } - if(strlen($_REQUEST['csrf'])!=32) - { - showheader(_("My CAcert.org Account!")); - echo _("CSRF Hash is wrong. Please try again.")."\n"; - showfooter(); - exit(); - } - if(!array_key_exists($_REQUEST['csrf'],$_SESSION['csrf_'.$nam])) - { - showheader(_("My CAcert.org Account!")); - echo _("CSRF Hash is wrong. Please try again.")."\n"; - showfooter(); - exit(); - } - } - function make_csrf($nam) - { - $hash=make_hash(); - $_SESSION['csrf_'.$nam][$hash]=1; - return($hash); - } - - function clean_csr($CSR) - { - $newcsr = str_replace("\r\n","\n",trim($CSR)); - $newcsr = str_replace("\n\n","\n",$newcsr); - return(preg_replace("/[^A-Za-z0-9\n\r\-\:\=\+\/ ]/","",$newcsr)); - } - - function sanitizeFilename($text) - { - $text=preg_replace("/[^\w-.@]/","",$text); - return($text); - } - - function fix_assurer_flag($userID) - { - // Update Assurer-Flag on users table if 100 points. Should the number of points be SUM(points) or SUM(awarded)? - $query = mysql_query('UPDATE `users` AS `u` SET `assurer` = 1 WHERE `u`.`id` = \''.(int)intval($userID). - '\' AND EXISTS(SELECT 1 FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND `tp`.`user_id` = `u`.`id`)'. - ' AND (SELECT SUM(`points`) FROM `notary` AS `n` WHERE `n`.`to` = `u`.`id` AND `expire` < now()) >= 100'); // Challenge has been passed and non-expired points >= 100 - - // Reset flag if requirements are not met - $query = mysql_query('UPDATE `users` AS `u` SET `assurer` = 0 WHERE `u`.`id` = \''.(int)intval($userID). - '\' AND (NOT EXISTS(SELECT 1 FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND `tp`.`user_id` = `u`.`id`)'. - ' OR (SELECT SUM(`points`) FROM `notary` AS `n` WHERE `n`.`to` = `u`.`id` AND `n`.`expire` < now()) < 100)'); - } - - // returns 0 if $userID is an Assurer - // Otherwise : - // Bit 0 is always set - // Bit 1 is set if 100 Assurance Points are not reached - // Bit 2 is set if Assurer Test is missing - // Bit 3 is set if the user is not allowed to be an Assurer (assurer_blocked > 0) - function get_assurer_status($userID) - { - $Result = 0; - $query = mysql_query('SELECT * FROM `cats_passed` AS `tp`, `cats_variant` AS `cv` '. - ' WHERE `tp`.`variant_id` = `cv`.`id` AND `cv`.`type_id` = 1 AND `tp`.`user_id` = \''.(int)intval($userID).'\''); - if(mysql_num_rows($query) < 1) - { - $Result |= 5; - } - - $query = mysql_query('SELECT SUM(`points`) AS `points` FROM `notary` AS `n` WHERE `n`.`to` = \''.(int)intval($userID).'\' AND `n`.`expire` < now()'); - $row = mysql_fetch_assoc($query); - if ($row['points'] < 100) { - $Result |= 3; - } - - $query = mysql_query('SELECT `assurer_blocked` FROM `users` WHERE `id` = \''.(int)intval($userID).'\''); - $row = mysql_fetch_assoc($query); - if ($row['assurer_blocked'] > 0) { - $Result |= 9; - } - - return $Result; - } - - // returns text message to be shown to the user given the result of is_no_assurer - function no_assurer_text($Status) - { - if ($Status == 0) { - $Result = _("You have passed the Assurer Challenge and collected at least 100 Assurance Points, you are an Assurer."); - } elseif ($Status == 3) { - $Result = _("You have passed the Assurer Challenge, but to become an Assurer you still have to reach 100 Assurance Points!"); - } elseif ($Status == 5) { - $Result = _("You have at least 100 Assurance Points, if you want to become an assurer try the").' <a href="https://cats.cacert.org/">'._("Assurer Challenge").'</a>!'; - } elseif ($Status == 7) { - $Result = _("To become an Assurer you have to collect 100 Assurance Points and pass the").' <a href="https://cats.cacert.org/">'._("Assurer Challenge").'</a>!'; - } elseif ($Status & 8 > 0) { - $Result = _("Sorry, you are not allowed to be an Assurer. Please contact").' <a href="mailto:cacert-support@lists.cacert.org">cacert-support@lists.cacert.org</a>'._(" if you feel that this is not corect."); - } else { - $Result = _("You are not an Assurer, but the reason is not stored in the database. Please contact").' <a href="mailto:cacert-support@lists.cacert.org">cacert-support@lists.cacert.org</a>.'; - } - return $Result; - } - - function is_assurer($userID) - { - if (get_assurer_status($userID)) - return 0; - else - return 1; - } - - function get_assurer_reason($userID) - { - return no_assurer_text(get_assurer_status($userID)); - } - - function generatecertpath($type,$kind,$id) - { - $name="../$type/$kind-".intval($id).".$type"; - $newlayout=1; - if($newlayout) - { - $name="../$type/$kind/".intval($id/1000)."/$kind-".intval($id).".$type"; - mkdir("../csr/$kind",0777); - mkdir("../crt/$kind",0777); - mkdir("../csr/$kind/".intval($id/1000)); - mkdir("../crt/$kind/".intval($id/1000)); - } - return $name; - } - - /** - * Run the sql query given in $sql. - * The resource returned by mysql_query is - * returned by this function. - * - * It should be safe to replace every mysql_query - * call by a mysql_extended_query call. - */ - function mysql_timed_query($sql) - { - global $sql_data_log; - $query_start = microtime(true); - $res = mysql_query($sql); - $query_end = microtime(true); - $sql_data_log[] = array("sql" => $sql, "duration" => $query_end - $query_start); - return $res; - } - -?> diff --git a/cacert/includes/general_stuff.php b/cacert/includes/general_stuff.php deleted file mode 100644 index 48d469d..0000000 --- a/cacert/includes/general_stuff.php +++ /dev/null @@ -1,151 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -if(!function_exists("showheader")) -{ - function showbodycontent($title = "CAcert.org", $title2 = "") - { -?> <div id="pagecell1"> - <div id="pageName"><br> - <div id="pageLogo"><a href="http://<?=$_SESSION['_config']['normalhostname']?>"><img src="/images/cacert4.png" border="0" alt="CAcert.org logo"></a></div> -<div id="googlead"><? if(!array_key_exists('HTTPS',$_SERVER) || $_SERVER['HTTPS'] != "on") { ?><script type="text/javascript"> -<!-- -google_ad_client = "pub-0959373285729680"; -google_alternate_ad_url = "http://www.cacert.org/"; -google_ad_width = 468; -google_ad_height = 60; -google_ad_format = "468x60_as"; -google_color_link = "000000"; -google_color_url = "000000"; -google_color_text = "000000"; -google_color_border = "FFFFFF"; -//--> -</script> -<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><? } else { -?><h2><?=_("Free digital certificates!")?></h2><? } ?></div> - </div> - <div id="pageNav"> - <div class="relatedLinks"> - <h3><?=_("Join CAcert.org")?></h3> - <? if(array_key_exists('mconn',$_SESSION) && $_SESSION['mconn']) { ?> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=1"><?=_("Join")?></a> - <? } ?> - <a href="/policy/CAcertCommunityAgreement.php"><?=_("Community Agreement")?></a> - <a href="index.php?id=3"><?=_("Root Certificate")?></a> - </div> - <? if(array_key_exists('mconn',$_SESSION) && $_SESSION['mconn']) { ?> - <div class="relatedLinks"> - <h3 class="pointer"><?=_("My Account")?></h3> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=4"><?=_("Password Login")?></a> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=5"><?=_("Lost Password")?></a> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=4&noauto=1"><?=_("Net Cafe Login")?></a> - <a href="https://<?=$_SESSION['_config']['securehostname']?>/index.php?id=4"><?=_("Certificate Login")?></a> - </div> - <? } ?> - <? include("about_menu.php"); ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('trans')">+ <?=_("Translations")?></h3> - <ul class="menu" id="trans"><? foreach($_SESSION['_config']['translations'] as $key => $val) { ?><li><a href="<?=$_SERVER['SCRIPT_NAME']?>?id=<?=intval(array_key_exists('id',$_REQUEST)?$_REQUEST['id']:0)?>&lang=<?=$key?>"><?=$val?></a></li><? } ?></ul> - </div> - <? if(array_key_exists('mconn',$_SESSION) && $_SESSION['mconn']) { ?> - <div class="relatedLinks"> - <h3 class="pointer" onclick="explode('recom')"><?=_("Advertising")?></h3> - <ul class="menu" id="recom"><? - $query = "select * from `advertising` where `expires`>NOW() and `active`=1"; - $res = mysql_query($query); - while($row = mysql_fetch_assoc($res)) - echo "<li><a href='$row[link]' target='_blank'>$row[title]</a></li>"; -?></ul> - </div> - <? } ?> - </div> - <div id="content"> - <div class="story"> -<? if($title2!="") echo "<h3>$title2</h3>"; ?> -<? if($_SESSION['_config']['errmsg'] != "") { ?> -<p><font color="#ff0000" size="+2"><? echo $_SESSION['_config']['errmsg']; $_SESSION['_config']['errmsg'] = ""; ?> </font></p> -<? } ?> -<? - - } - - function showheader($title = "CAcert.org", $title2 = "") - { - global $id; - -?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<title><?=$title?></title> -<? if(array_key_exists("header",$_SESSION['_config']) && $_SESSION['_config']['header'] != "") { ?><?=$_SESSION['_config']['header']?><? } ?> -<link rel="stylesheet" href="/styles/default.css" type="text/css"> -<link href="http://blog.CAcert.org/feed/" rel="alternate" type="application/rss+xml" title="rss"> -<script language="JavaScript" type="text/javascript"> -function explode(e) { - if (document.getElementById(e).style.display == 'none') { - document.getElementById(e).style.display = 'block'; - } else { - document.getElementById(e).style.display = 'none'; - } -} - -function hideall() { - var Nodes = document.getElementsByTagName('ul') - var max = Nodes.length - for(var i = 0;i < max;i++) { - var nodeObj = Nodes.item(i) - if (nodeObj.className == "menu" && nodeObj.id != "recom") { - nodeObj.style.display = 'none'; - } - } -} -</script> -</head> -<body onload="hideall();"> -<? - showbodycontent($title,$title2); - } -} - -if(!function_exists("showfooter")) -{ - function showfooter() - { -?> - </div> - </div> - <? include("sponsorinfo.php") ?> - <div id="siteInfo"> -<? if(!array_key_exists('HTTPS',$_SERVER) || !$_SERVER["HTTPS"]) { ?><!--ONESTAT SCRIPTCODE START--> -<script type="text/javascript" src="onestat.js"></script> -<noscript> -<a href="http://www.onestat.com/asp/login.asp?sid=164863"> -<img src="http://stat.onestat.com/asp/stat.asp?tagver=1&sid=164863&js=no&" alt="this site tracked by onestat.com" /> -</a> -</noscript> -<!--ONESTAT SCRIPTCODE END--><? } ?> - <a href="index.php?id=12"><?=_("About Us")?></a> | <a href="index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> | - <a href="index.php?id=10"><?=_("Privacy Policy")?></a> | - <a href="index.php?id=51"><?=_("Mission Statement")?></a> | <a href="index.php?id=11"><?=_("Contact Us")?></a> | - ©2002-<?=date("Y")?> <?=_("by CAcert")?></div> -</div> -</body> -</html><? - } -} -?> diff --git a/cacert/includes/loggedin.php b/cacert/includes/loggedin.php deleted file mode 100644 index 355527f..0000000 --- a/cacert/includes/loggedin.php +++ /dev/null @@ -1,165 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && $_SESSION['profile']['id'] > 0 && $_SESSION['profile']['loggedin'] != 0) - { - $uid = $_SESSION['profile']['id']; - $_SESSION['profile']['loggedin'] = 0; - $_SESSION['profile'] = ""; - foreach($_SESSION as $key) - { - if($key == '_config') - continue; - if(is_int($key) || is_string($key)) - unset($_SESSION[$key]); - unset($$key); - session_unregister($key); - } - - $_SESSION['profile'] = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='$uid'")); - if($_SESSION['profile']['locked'] == 0) - $_SESSION['profile']['loggedin'] = 1; - else - unset($_SESSION['profile']); - } - - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && ($_SESSION['profile']['id'] == 0 || $_SESSION['profile']['loggedin'] == 0)) - { - $query = "select * from `emailcerts` where `serial`='${_SERVER['SSL_CLIENT_M_SERIAL']}' and `revoked`=0 and disablelogin=0 and - UNIX_TIMESTAMP(`expire`) - UNIX_TIMESTAMP() > 0"; - $res = mysql_query($query); - - if(mysql_num_rows($res) > 0) - { - $row = mysql_fetch_assoc($res); - - $_SESSION['profile']['loggedin'] = 0; - $_SESSION['profile'] = ""; - foreach($_SESSION as $key) - { - if($key == '_config') - continue; - if(is_int($key) || is_string($key)) - unset($_SESSION[$key]); - unset($$key); - session_unregister($key); - } - - $_SESSION['profile'] = mysql_fetch_assoc(mysql_query("select * from `users` where `id`='".$row['memid']."'")); - if($_SESSION['profile']['locked'] == 0) - $_SESSION['profile']['loggedin'] = 1; - else - unset($_SESSION['profile']); - } else { - $_SESSION['profile']['loggedin'] = 0; - $_SESSION['profile'] = ""; - foreach($_SESSION as $key) - { - if($key == '_config') - continue; - unset($_SESSION[$key]); - unset($$key); - session_unregister($key); - } - - unset($_SESSION['_config']['oldlocation']); - - foreach($_GET as $key => $val) - { - if($_SESSION['_config']['oldlocation']) - $_SESSION['_config']['oldlocation'] .= "&"; - - $key = str_replace(array("\n", "\r"), '', $key); - $val = str_replace(array("\n", "\r"), '', $val); - $_SESSION['_config']['oldlocation'] .= "$key=$val"; - } - $_SESSION['_config']['oldlocation'] = substr($_SERVER['SCRIPT_NAME'], 1)."?".$_SESSION['_config']['oldlocation']; - - header("location: https://".$_SESSION['_config']['securehostname']."/index.php?id=4"); - exit; - } - } - - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && ($_SESSION['profile']['id'] <= 0 || $_SESSION['profile']['loggedin'] == 0)) - { - header("location: https://".$_SESSION['_config']['normalhostname']); - exit; - } - - if($_SERVER['HTTP_HOST'] == $_SESSION['_config']['securehostname'] && $_SESSION['profile']['id'] > 0 && $_SESSION['profile']['loggedin'] > 0) - { - $query = "select sum(`points`) as `total` from `notary` where `to`='".$_SESSION['profile']['id']."' group by `to`"; - $res = mysql_query($query); - $row = mysql_fetch_assoc($res); - $_SESSION['profile']['points'] = $row['total']; - - if($_SESSION['profile']['language'] == "") - { - $query = "update `users` set `language`='".$_SESSION['_config']['language']."' - where `id`='".$_SESSION['profile']['id']."'"; - mysql_query($query); - } else { - $_SESSION['_config']['language'] = $_SESSION['profile']['language']; - - putenv("LANG=".$_SESSION['_config']['language']); - setlocale(LC_ALL, $_SESSION['_config']['language']); - - $domain = 'messages'; - bindtextdomain("$domain", $_SESSION['_config']['filepath']."/locale"); - textdomain("$domain"); - } - } - - if(array_key_exists("id",$_REQUEST) && $_REQUEST['id'] == "logout") - { - $normalhost=$_SESSION['_config']['normalhostname']; - $_SESSION['profile']['loggedin'] = 0; - $_SESSION['profile'] = ""; - foreach($_SESSION as $key) - { - unset($_SESSION[$key]); - unset($$key); - session_unregister($key); - } - unset($_SESSION); - - header("location: https://".$normalhost."/index.php"); - exit; - } - - if($_SESSION['profile']['loggedin'] < 1) - { - unset($_SESSION['_config']['oldlocation']); - - foreach($_REQUEST as $key => $val) - { - if($_SESSION['_config']['oldlocation']) - $_SESSION['_config']['oldlocation'] .= "&"; - - $key = str_replace(array("\n", "\r"), '', $key); - $val = str_replace(array("\n", "\r"), '', $val); - $_SESSION['_config']['oldlocation'] .= "$key=$val"; - } - $_SESSION['_config']['oldlocation'] = substr($_SERVER['SCRIPT_NAME'], 1)."?".$_SESSION['_config']['oldlocation']; - $hostname=$_SERVER['HTTP_HOST']; - $hostname = str_replace(array("\n", "\r"), '', $hostname); - header("location: https://".$hostname."/index.php?id=4"); - exit; - } -?> diff --git a/cacert/includes/mysql.php.sample b/cacert/includes/mysql.php.sample deleted file mode 100644 index 88ddcb2..0000000 --- a/cacert/includes/mysql.php.sample +++ /dev/null @@ -1,103 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - $_SESSION['mconn'] = mysql_connect("127.0.0.1", "username", "password"); - if ($_SESSION['mconn'] != FALSE) - { - mysql_select_db("database"); - $_SESSION['mconn'] = TRUE; - } - $_SESSION['_config']['normalhostname'] = "www.cacert.org"; - $_SESSION['_config']['securehostname'] = "secure.cacert.org"; - $_SESSION['_config']['tverify'] = "tverify.cacert.org"; - - function sendmail($to, $subject, $message, $from, $replyto = "", $toname = "", $fromname = "", $errorsto = "returns@cacert.org", $extra="") - { - $lines = explode('\n', $message); - $message = ""; - foreach($lines as $line) - { - $line = trim($line); - if($line == ".") - $message .= " .\n"; - else - $message .= $line."\n"; - } - - if($fromname == "") - $fromname = $from; - - $bits = explode(",", $from); - $from = addslashes($bits['0']); - $fromname = addslashes($fromname); - - $smtp = fsockopen("localhost", 25); - if(!$smtp) - { - echo("Could not connect to mailserver at localhost:25\n"); - return; - } - $InputBuffer = fgets($smtp, 1024); - fputs($smtp, "HELO hlin.cacert.org\r\n"); - $InputBuffer = fgets($smtp, 1024); - fputs($smtp, "MAIL FROM: <returns@cacert.org>\r\n"); - $InputBuffer = fgets($smtp, 1024); - $bits = explode(",", $to); - foreach($bits as $user) - fputs($smtp, "RCPT TO: <".trim($user).">\r\n"); - $InputBuffer = fgets($smtp, 1024); - fputs($smtp, "DATA\r\n"); - $InputBuffer = fgets($smtp, 1024); - fputs($smtp, "X-Mailer: CAcert.org Website\r\n"); - fputs($smtp, "X-OriginatingIP: ".$_SERVER["REMOTE_ADDR"]."\r\n"); - fputs($smtp, "Sender: $errorsto\r\n"); - fputs($smtp, "Errors-To: $errorsto\r\n"); - if($replyto != "") - fputs($smtp, "Reply-To: $replyto\r\n"); - else - fputs($smtp, "Reply-To: $from\r\n"); - fputs($smtp, "From: $from\r\n"); - fputs($smtp, "To: $to\r\n"); - if(preg_match("/[^a-zA-Z0-9 .-\[\]!_@]/",$subject)) - { - fputs($smtp, "Subject: =?utf-8?B?".base64_encode(recode("html..utf-8", $subject))."?=\r\n"); - } - else - { - fputs($smtp, "Subject: $subject\r\n"); - } - fputs($smtp, "Mime-Version: 1.0\r\n"); - if($extra == "") - { - fputs($smtp, "Content-Type: text/plain; charset=\"utf-8\"\r\n"); - fputs($smtp, "Content-Transfer-Encoding: 8bit\r\n"); - } else { - fputs($smtp, "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"); - fputs($smtp, "Content-Transfer-Encoding: quoted-printable\r\n"); - fputs($smtp, "Content-Disposition: inline\r\n"); - } -// fputs($smtp, "Content-Transfer-Encoding: BASE64\r\n"); - fputs($smtp, "\r\n"); -// fputs($smtp, chunk_split(base64_encode(recode("html..utf-8", $message)))."\r\n.\r\n"); - fputs($smtp, recode("html..utf-8", $message)."\r\n.\r\n"); - fputs($smtp, "QUIT\n"); - $InputBuffer = fgets($smtp, 1024); - fclose($smtp); - } - -?> diff --git a/cacert/includes/shutdown.php b/cacert/includes/shutdown.php deleted file mode 100644 index 4ceaf25..0000000 --- a/cacert/includes/shutdown.php +++ /dev/null @@ -1,29 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - - // This is the big power-off switch. It switches off all certificate issueing and assuring functions of the website. - // Revocation services are NOT affected, and will continue to work. - - if(0) - { ?> - <font color="#ff0000"><? printf(_("This function is currently disabled. Please visit %s for more information."), - "<a target='_blank' href='http://wiki.cacert.org/wiki/ClientSecurity'>http://wiki.cacert.org/wiki/ClientSecurity</a>")?></font> -<? - exit; - } -?> diff --git a/cacert/includes/sponsorinfo.php b/cacert/includes/sponsorinfo.php deleted file mode 100644 index 3ed216a..0000000 --- a/cacert/includes/sponsorinfo.php +++ /dev/null @@ -1,8 +0,0 @@ - <div class="sponsorinfo"> - <?=_("CAcert operations are sponsored by")?> - <a href="http://www.bit.nl/" target="_blank"><img class="sponsorlogo" src="/images/bit.png" alt="[BIT logo]" border="0"></a> - <a href="http://www.tunix.nl/" target="_blank"><img class="sponsorlogo" src="/images/tunix.png" alt="[TUNIX logo]" border="0"></a> - <a href="http://www.nlnet.nl/" target="_blank"><img class="sponsorlogo" src="/images/nlnet.png" alt="[NLnet logo]" border="0"></a> - <a href="http://www.openarchitecturenetwork.org/" target="_blank"><img class="sponsorlogo" src="/images/oan.png" alt="[OAN logo]" border="0"></a> - </div> - diff --git a/cacert/includes/tverify_stuff.php b/cacert/includes/tverify_stuff.php deleted file mode 100644 index 2053aaa..0000000 --- a/cacert/includes/tverify_stuff.php +++ /dev/null @@ -1,86 +0,0 @@ -<? /* - LibreSSL - CAcert web application - Copyright (C) 2004-2008 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -if(!function_exists("showheader")) -{ - function showheader($title = "CAcert.org", $title2 = "") - { - -?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<title><?=$title?></title> -<? if($_SESSION['_config']['header'] != "") { ?><?=$_SESSION['_config']['header']?><? } ?> -<link rel="stylesheet" href="/styles/default.css" type="text/css"> -<link href="http://my.rsscache.com/www.cacert.org/rss.php" rel="alternate" type="application/rss+xml" title="rss"> -</head> -<body> - <div id="pagecell1"> - <div id="pageName"><br> - <h2><a href="http://<?=$_SESSION['_config']['normalhostname']?>"><img src="https://www.CAcert.org/images/cacert4.png" border="0" alt="CAcert.org logo"></a></h2> -<div id="googlead"><h2><?=_("Free digital certificates!")?></h2></div> - </div> - <div id="pageNav"> - <div class="relatedLinks"> - <h3><?=_("Join CAcert.org")?></h3> - <a href="http://<?=$_SESSION['_config']['normalhostname']?>/"><?=_("Main Website")?></a> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=1"><?=_("Join")?></a> - </div> - <div class="relatedLinks"> - <h3><?=_("My Account")?></h3> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=4"><?=_("Normal Login")?></a> - <a href="https://<?=$_SESSION['_config']['securehostname']?>/index.php?id=4"><?=_("Cert Login")?></a> - <a href="https://<?=$_SESSION['_config']['normalhostname']?>/index.php?id=5"><?=_("Lost Password")?></a> - </div> - </div> - <div id="content"> - <div class="story"> - <h3><?=$title2?></h3> -<? if($_SESSION['_config']['errmsg'] != "") { ?> -<p><font color="#ff0000" size="+2"><? echo $_SESSION['_config']['errmsg']; $_SESSION['_config']['errmsg'] = ""; ?> </font></p> -<? } ?> -<? - } -} - -if(!function_exists("showfooter")) -{ - function showfooter() - { -?> - </div> - </div> - <div id="siteInfo"> -<? if(!$_SERVER["HTTPS"]) { ?><!--ONESTAT SCRIPTCODE START--> -<script type="text/javascript" src="onestat.js"></script> -<noscript> -<a href="http://www.onestat.com/asp/login.asp?sid=164863"> -<img src="http://stat.onestat.com/asp/stat.asp?tagver=1&sid=164863&js=no&" alt="this site tracked by onestat.com" /> -</a> -</noscript> -<!--ONESTAT SCRIPTCODE END--><? } ?> - <a href="index.php?id=12"><?=_("About Us")?></a> | <a href="index.php?id=13"><?=_("Donations")?></a> | <a href="http://wiki.cacert.org/wiki/CAcertIncorporated"><?=_("Association Membership")?></a> | - <a href="index.php?id=10"><?=_("Privacy Policy")?></a> | - <a href="index.php?id=51"><?=_("Mission Statement")?></a> | <a href="index.php?id=11"><?=_("Contact Us")?></a> | - <a href="index.php?id=19"><?=_("Further Information")?></a> | ©2002-<?=date("Y")?> <?=_("by CAcert")?></div> -</div> -</body> -</html><? - } -} -?> diff --git a/cacert/locale/CVS/Entries b/cacert/locale/CVS/Entries deleted file mode 100644 index ddd02b8..0000000 --- a/cacert/locale/CVS/Entries +++ /dev/null @@ -1,32 +0,0 @@ -D/fi_FI//// -D/pt_BR//// -/cv.c/1.1/Wed Feb 28 17:21:36 2007// -/ar.po/1.42/Thu Jun 25 20:09:26 2009// -/bg.po/1.52/Thu Jun 25 20:09:26 2009// -/cs.po/1.40/Thu Jun 25 20:09:26 2009// -/da.po/1.67/Thu Jun 25 20:09:26 2009// -/de.po/1.79/Thu Jun 25 20:09:26 2009// -/el.po/1.38/Thu Jun 25 20:09:26 2009// -/es.po/1.69/Thu Jun 25 20:09:27 2009// -/fa.po/1.1/Thu Jun 25 20:08:37 2009// -/fi.po/1.44/Thu Jun 25 20:09:27 2009// -/fr.po/1.71/Thu Jun 25 20:09:27 2009// -/he.po/1.40/Thu Jun 25 20:09:27 2009// -/hr.po/1.39/Thu Jun 25 20:09:27 2009// -/hu.po/1.72/Thu Jun 25 20:09:27 2009// -/is.po/1.39/Thu Jun 25 20:09:27 2009// -/it.po/1.64/Thu Jun 25 20:09:27 2009// -/ja.po/1.46/Thu Jun 25 20:09:27 2009// -/ka.po/1.37/Thu Jun 25 20:09:27 2009// -/ko.po/1.37/Thu Jun 25 20:09:28 2009// -/make.php/1.4/Thu Jun 25 20:09:28 2009// -/nb.po/1.37/Thu Jun 25 20:09:28 2009// -/nl.po/1.67/Thu Jun 25 20:09:28 2009// -/pl.po/1.44/Thu Jun 25 20:09:28 2009// -/pt.po/1.64/Thu Jun 25 20:09:29 2009// -/ro.po/1.41/Thu Jun 25 20:09:29 2009// -/ru.po/1.50/Thu Jun 25 20:09:29 2009// -/sv.po/1.59/Thu Jun 25 20:09:29 2009// -/tl.po/1.38/Thu Jun 25 20:09:29 2009// -/tr.po/1.50/Thu Jun 25 20:09:29 2009// -/zh.po/1.53/Thu Jun 25 20:09:29 2009// diff --git a/cacert/locale/CVS/Repository b/cacert/locale/CVS/Repository deleted file mode 100644 index 51363b9..0000000 --- a/cacert/locale/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -cacert/locale diff --git a/cacert/locale/CVS/Root b/cacert/locale/CVS/Root deleted file mode 100644 index a363882..0000000 --- a/cacert/locale/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -/var/lib/cvs diff --git a/cacert/locale/ar.po b/cacert/locale/ar.po deleted file mode 100644 index 6ee50e6..0000000 --- a/cacert/locale/ar.po +++ /dev/null @@ -1,5195 +0,0 @@ -# translation of messages.po to ar_SY.po -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. - -msgid "" -msgstr "" -"Project-Id-Version: de\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-01-09 08:25:26+0000\n" -"PO-Revision-Date: 2009-12-26 19:01:22+0000\n" -"Last-Translator: Someone <someone@someisp.com>\n" -"Language-Team: <de@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: http://www.TransLingo.org\n" - -#: www/account/43.php:43 www/account/49.php:43 -#, php-format -msgid "%s rows displayed." -msgstr "تم إظهار %s سطر" - -#: www/account/43.php:71 -#, php-format -msgid "%s's Account Details" -msgstr "تفاصيل الحساب %s" - -#: www/account/32.php:21 -#, php-format -msgid "%s's Administrators" -msgstr "مدراء %s" - -#: www/account/26.php:21 -#, php-format -msgid "%s's Domains" -msgstr "نطاقات %s" - -#: includes/account.php:1388 -#, php-format -msgid "'%s' has just been successfully added as an organisation to the database." -msgstr "تمت إضافة '%s' كمنظمة (مؤسسة) إلى قواهد البيانات" - -#: includes/account.php:1444 -#, php-format -msgid "'%s' has just been successfully added to the database." -msgstr "تمت إضافة '%s" إلى قواعد البيانات" - -#: includes/account.php:1503 -#, php-format -msgid "'%s' has just been successfully deleted from the database." -msgstr "تم حذف '%s' من قواعد البيانات" - -#: includes/account.php:1416 includes/account.php:1491 -#, php-format -msgid "'%s' has just been successfully updated in the database." -msgstr "تم تحديث '%s' في قواعد البيانات" - -#: www/help/3.php:64 -msgid "...then click 'Next'." -msgstr "... ثم إضغط 'التالي'" - -#: www/wot/3.php:42 -msgid "A CAcert Assurer who knowingly, or reasonably ought to have known, assures an applicant contrary to this policy may be held liable." -msgstr "A CAcert Assurer who knowingly, or reasonably ought to have known, assures an applicant contrary to this policy may be held liable. إن المصادق من CAcert الذي يعلم أو من المفروض أن يعلم يمخالفته لهذه السياسة عند المصادقة على جهة ما سيتعرض للمسائلة" - -#: www/wot/4.php:17 -msgid "A trusted 3rd party is simply someone in your country that is responsible for witnessing signatures and ID documents. This role is covered by many different titles such as public notary, justice of the peace and so on. Other people are allowed to be authoritative in this area as well, such as bank managers, accountants and lawyers." -msgstr "الجهة الموثوقة الثالثة هي إحدى الجهات المسؤولة في بلدك عن تصديق التواقيع والوثائق. ويطلق على هذه الجهات تسميات عديدة مثل: الكاتب بالعدل ، ديوان المحاكم المدنية ، الخ. كما يستطيع البعض أن يقوم بهذه المهمة أحياناً مثل مدراء المصارف ، المحاسبون القانونيون والمحامون." - -#: www/account/38.php:21 www/index/13.php:21 -msgid "ANY amount will be appreciated - the more funding CAcert receives, the sooner it can achieve the goals of the community." -msgstr "إن أي مبلغ مهما يكن سيساعدنا - كلما زادت المساهمة كلما أسرعنا في وصول مجموعتنا إلى الأهداف المرجوة." - -#: includes/account_stuff.php:182 -msgid "About" -msgstr "حول" - -#: www/account/37.php:15 www/index/12.php:15 -msgid "About CAcert.org" -msgstr "حول CAcert.org" - -#: includes/account_stuff.php:209 includes/general_stuff.php:108 -msgid "About Us" -msgstr "لمحة عنا" - -#: includes/account_stuff.php:150 includes/account_stuff.php:158 -#: www/account/1.php:26 www/account/16.php:21 www/account/26.php:21 -#: www/account/28.php:29 www/account/3.php:30 www/account/32.php:21 -#: www/account/33.php:47 www/account/7.php:27 -msgid "Add" -msgstr "أضف" - -#: www/account/7.php:19 -msgid "Add Domain" -msgstr "أضف نطاق" - -#: www/account/1.php:18 -msgid "Add Email" -msgstr "أضف بريد إلكتروني" - -#: www/account/16.php:22 www/account/2.php:24 www/account/3.php:31 -#: www/account/9.php:23 -msgid "Address" -msgstr "عنوان" - -#: www/account/32.php:24 -msgid "Administrator" -msgstr "مدير النظام" - -#: www/account/25.php:22 www/account/25.php:39 www/account/35.php:21 -#: www/account/35.php:35 -msgid "Admins" -msgstr "مدراء النظام" - -#: www/wot/3.php:28 -msgid "After the meeting, visit the CAcert Web site's make an Assurance page and:" -msgstr "بعد الاجتماع الرجاء زيارة CAcert والقيام بإنشاء صفحة المصادقة و:" - -#: www/help/3.php:44
-msgid "After your certificate has been emailed to you, follow this process to install the certificate." -msgstr "بعد ارسال الشهادة على عنوان بريدك الالكتروني ، يرجى اتباع العملية التالية لتركيب الشهادة." - -#: www/account/39.php:32 www/index/10.php:32 -msgid "Aggregated tracking information" -msgstr "معلومات التتبع التي تبث" - -#: www/account/36.php:21 www/index/1.php:110 -msgid "Alert me if" -msgstr "التحذير في حال" - -#: www/index.php:332 -msgid "All fields are mandatory." -msgstr "كافة الحقول ضرورية" - -#: www/account/43.php:157 -msgid "Alternate Verified Email Addresses" -msgstr "عنوان البريد الإلكتروني البديل المدقق" - -#: www/help/7.php:9 -msgid "Alternatively as things progress we can add more layers of security with say 4 webservers talking to 2 intermediate servers, talking to the root store, and acting in a token ring fashion, anything happening out of sequence, and the server directly upstream shuts itself down, which if that were in place and there were multiple paths, any down time in this fashion would fall over to the servers not compromised, anyways just some food for thought." -msgstr "بدلا عن ذلك وحسب تقدم الأمور يمكن مستويات أكثر من الأمن مثل 4 مخدمات وب التي تتخاطب مع مخدمين متوسطيناللذان يتخاطبان مع الجذر، ويتصرّف وفق حلقة تراسل وفي حال حدوث أيّ شئ خارج هذه السلسلة يغلق المخدم نفسه في وجه الطلبات التي وصلت وطبقت أو التي آتية عن عدة طرق ، والتوقف خلال استخدام هذه الطريقة لن يؤثر على المخدمات ويجعل من الصعب اختراقهم وعلى أي حال هذا فقط كفكرة فقط." - -#: www/account/40.php:52 www/index/11.php:52 -msgid "Alternatively you can get in contact with us via the following methods:" -msgstr "كبديل يمكن الاتصال بنا باتباع إحدى الطرق التالية:" - -#: www/help/2.php:49 -msgid "And they are making mistakes" -msgstr "وهم يقومون بارتكاب أخطاء" - -#: www/help/3.php:70
-msgid "And you're done!" -msgstr "تم العمل بنجاح!" - -#: www/account/16.php:39 -msgid "Another Email" -msgstr "بريد إلكتروني آخر" - -#: includes/account.php:404 -msgid "Any valid certificates will be revoked as well" -msgstr "سيتم إبطال أي شهادات ولو كانت صحيحة" - -#: www/help/7.php:5 -msgid "Apart from the boot stuff, all data resides on an encrypted partition on the root store server and only manual intervention in the boot up process by entering the password will start it again." -msgstr "بغض النظر عن أمورالإقلاع، كلّ البيانات موجودة على قسم مشفّر على المخدم الجذر الحافظ للبيانات وسيتم تشغيل المخدم فقط بالتدخّل اليدوي في عملية الإقلاع وباستخدام كلمة مرور." - -#: www/index/17.php:61
-msgid "Can't start the CEnroll control:" -msgstr "لا يمكن بدء التحكم بـ CEnroll:" - -#: www/account/30.php:31 -#, php-format -msgid "Are you really sure you want to remove %s and all certificates issued under this domain?" -msgstr "هل أنت متأكد حقاً من حذف %s مع كافة الشهادات التي أصدرت تحت هذا النطاق؟" - -#: www/account/31.php:27 -#, php-format -msgid "Are you really sure you want to remove %s and all certificates issued under this organisation?" -msgstr "هل أنت متأكد حقاً من حذف %s مع كافة الشهادات التي أصدرت تحت هذا المؤسسة؟" - -#: www/account/34.php:31 -#, php-format -msgid "Are you really sure you want to remove %s from administering this organisation?" -msgstr "هل أنت متأكد حقاً من حذف %s من إدارة هذه المؤسسة؟" - -#: www/help/2.php:22 -msgid "As anyone who has received an email containing a virus from a strange address knows, emails can be easily spoofed. The identity of the sender is very easy to forge via email. Thus a great advantage is that digital signing provides a means of ensuring that an email is really from the person you think it is. If everyone digitally signed their emails, it would be much easier to know whether an email is legitimate and unchanged and to the great relief of many, spamming would be much easier to control, and viruses that forge the sender's address would be obvious and therefore easier to control." -msgstr "أي شخص ممن استلم رسالة إلكترونية تحوي فيروساً من مرسل ذو عنوان غريب أنه من السهل التلاعب بالبريد الإلكتروني. إن تحديد أي عنوان بريدي كمرسل باسم مختلف هو عملية بسيطة باستخدام عنوانه البريدي فقط. لهذا فإن التوقيع الإلكتروني مهم جداً للتأكد من أن المرسل هو فعلاً الشخص الذي تتوقعونه. في حال أن كل شخص قام بتوقيع بريده إلكترونياً سيكون من السهل جداً تحديد فيما إذا كان البريد مخالفاً للأعراف أو نافلاً وستكون السيطرة على الأمر بسيطة جداً كما سيتم منع الفيروسات التي تتلاعب بالعناوين البريدية من الانتشار." - -#: www/wot/6.php:24 -msgid "Assurance Confirmation" -msgstr "تأكيد التحقق" - -#: www/account/43.php:146 www/wot/3.php:44 -msgid "Assurance Points" -msgstr "نقاط التحقق" - -#: www/account/43.php:225 www/wot/10.php:52 -msgid "Assurance Points You Issued" -msgstr "نقاط التحقق التي أنشأتها" - -#: www/stats.php:51 -msgid "Assurances Made" -msgstr "صنع التأمينات" - -#: includes/account_stuff.php:182 www/wot/5.php:19 -msgid "Assure Someone" -msgstr "مصادقة على أحد ما" - -#: www/index/0.php:60 -msgid "Assured client certificates" -msgstr "شهادات الزبون المصدقة" - -#: www/index/0.php:90 -msgid "Assured server certificates" -msgstr "شهادات المخدم المصدقة" - -#: pages/index/0.php:25 -msgid "For CAcert Community Members" -msgstr "" - -#: www/index/51.php:28 -msgid "Based on OpenSSL, PHP, a little bit of C and MySQL, we were able to build not only a free certificate authority that could verify your email address or domain, but actually build in a highly effective trust model. Our model goes further than that used by some commercial CAs to prove your identity." -msgstr "استناداً على OpenSSL، PHP، و القليل من C وMySQL، يمكن بناء ليس فقط هيئة شهادات مجّانية التي يمكنها تأكيد عنوان بريدك الإلكتروني أو نطاقك، بل نموذج للثقة فعّال جدا. وهذا النموذج سيذهب أبعد من الشهادات التجارية المستخدمة من قبل البعض لإثبات هويتك." - -#: www/index/0.php:110 -msgid "Become a member of the CAcert Association" -msgstr "انضم إلى أعضاء هيئة CAcert" - -#: www/index/0.php:100 -msgid "Become an assurer in CAcert Web of Trust" -msgstr "انضم إلى المصادقين في CAcert شبكة الثقة" - -#: includes/account_stuff.php:182 -msgid "Becoming an Assurer" -msgstr "الانضمام إلى المصادقين" - -#: pages/account/10.php:34 -msgid "Paste your CSR(Certificate Signing Request) below..." -msgstr "" - -#: www/account/0.php:24 -msgid "Before you can start issuing certificates for your website, irc server, smtp server, pop3, imap etc you will need to add domains to your account under the domain menu. You can also remove domains from here as well. Once you've added a domain you are free then to go into the Server Certificate section and start pasting CSR into the website and have the website return you a valid certificate for up to 2 years if you have 50 trust points, or 6 months for no trust points." -msgstr "قبل أن تستطيع البدءبإصدار الشهادات لموقعك ، خادم الدردشة IRC, مخدمات smtp، POP3, imap الخ سوف تحتاج لإضافة النطاقات إلى حسابك تحت قائمة النطاقات كما تستطيع إزالتها. بعد إضافة نطاق يمكنك أن تنتقل إلى قسم شهادة المخدم وإدخال (لصق) شهادة المخدم CSR ضمن الموقع وسوف يرحع الموقع شهادة صحيحة لمدة أقصاها سنتان إذا لديك 50 نقطة ثقة، أو 6 شهور إذا كنت لا تملك أي نقاط." - -#: www/account/15.php:32 www/account/23.php:32 -msgid "Below is your Server Certificate" -msgstr "شهادة مخدك في الأسفل" - -#: www/index/0.php:53 www/index/0.php:63 www/index/0.php:73 www/index/0.php:83 -#: www/index/0.php:93 www/index/0.php:103 www/index/0.php:113 -msgid "Benefits" -msgstr "فوائد" - -#: includes/account.php:49 includes/account.php:389 www/index.php:316 -#: www/wot.php:222 www/wot.php:234 scripts/removedead.php:59 -msgid "Best regards" -msgstr "أجمل التحيات" - -#: www/help/3.php:60
-msgid "Browse to the location you saved the .cer file to in step 1" -msgstr "إذهب إلى موقع الملف cer في الخطوة رقم 1 " - -#: www/help/2.php:25 -msgid "But perhaps, fundamentally, the most important reason for digital signing is awareness and privacy. It creates awareness of the (lack of) security of the Internet, and the tools that we can arm ourselves with to ensure our personal security. And in sensitising people to digital signatures, we become aware of the possibility of privacy and encryption." -msgstr "لكن ربما، في الأساس، السبب الأكثر أهمية للتوقيع الرقمي هو الحذر والخصوصية. وهو يزيد من الحذر (نوعاً ما) في النواحية الأمنية في الإنترنت، بالإضافة إلى الأدوات التي نسلّح أنفسنا بها لضمان أمننا الشخصي. ومع حساسية الناس إلى التواقيع الرقمية، أصبحنا ندرك إمكانيات الخصوصية والتشفير." - -#: www/help/2.php:7 www/help/2.php:35 -msgid "But, er, is this really proof of your email identity?" -msgstr "لكن , هل هذا حقا برهان هوية بريدك الإلكتروني؟" - -#: www/help/2.php:48 -msgid "But, with all this money, and all this responsibility, they must be taking a lot of care to ensure the Certificate Authorities do their jobs well, and keep doing their jobs well, right? Well right?!" -msgstr "لكن، بكلّ هذا المال، وكلّ هذه المسؤولية، يجب أن يكون اهتمام كبير لضمان أن المخولين بإصدار الشهادة يقومون بواجبهم على أكمل وجه ، كما أنهم سيستمرون بالقيام بواجبهم بشكل صحيح ، فهل هذا صحيح؟ !" - -#: www/account/10.php:15 www/account/20.php:15 www/account/3.php:15 -msgid "CAcert Certficate Acceptable Use Policy" -msgstr "سياسة إستعمال شهادة Cacert المعتمدة" - -#: www/account/38.php:19 www/index/13.php:19 -msgid "CAcert Inc. is a non-profit association which is legally able to accept donations. CAcert adheres to strict guidelines about how this money can to be used. If you'd like to make a donation, you can do so via" -msgstr "إن Cacert Inc. جمعية لاربحية قابلة على قبول التبرّعات. وتلتزم Cacert بالتعليمات الصارمة حول طريقة استخدام هذه الأموال. وفي حال الرغبة بالتبرع فيمكن القيام بذلك عن طريق" - -#: www/account/10.php:20 www/account/20.php:20 www/account/3.php:20 -msgid "CAcert Inc.'s public certification services are governed by a CPS as amended from time to time which is incorporated into this Agreement by reference. The Subscriber will use the SSL Server Certificate in accordance with CAcert Inc.'s CPS and supporting documentation published at" -msgstr "إن Cacert Inc. لخدمات الشهادات الرقمية للعامّة تتبع CPS كمراقب من وقت لآخر وهذا متضمن كمرجع ضمن الاتفاقية. سيستخدم المشترك شهادة المخدم SSL بموجب الـ CPS لـ Cacert Inc وقد تم نشر الوثائق المتعلقة بهذا في" - -#: www/index/51.php:25 -msgid "CAcert Inc., as a community-based project, is not driven by profits - it is driven by the community's desire for privacy and security." -msgstr "إن Cacert Inc. كمشروع تم تأسيسه مهيئة لا يهدف إلى الربح بل يهدف إلى رغبة الهيئة بتأمين الخصوصية والأمن" - -#: www/wot.php:223 www/wot.php:235 scripts/removedead.php:60 -msgid "CAcert Support Team" -msgstr "فريق الدعم الفني في CAcert" - -#: includes/account_stuff.php:181 www/account/0.php:27 www/wot/0.php:15 -msgid "CAcert Web of Trust" -msgstr "CAcert - شبكة الثقة" - -#: www/wot/3.php:15 -msgid "CAcert Web of Trust Rules" -msgstr "CAcert - شبكة قواعد الثقة" - -#: www/wot/3.php:45 -msgid "CAcert may, from time to time, alter the amount of Assurance Points that a class of assurer may assign as is necessary to effect a policy or rule change. We may also alter the amount of Assurance Points available to an individual, or new class of assurer, should another policy of CAcert require this." -msgstr "يمكن لـ Cacert، من وقت لآخر، تعديل عدد نقاط التأمين التي تصنف المصادق حسب الضرورة والتغييرات بالسياسة أو القواعد. قد يتم تعديل عدد النقاط المتوفرة لدى فرد، أو تصنيف جديد من المصادقين، في أن سياسة أخرى لـ Cacert تطلبت هذا الإجراء." - -#: www/help/6.php:11 -msgid "CAcert then sends you an email with a signed copy of your certificate. Hopefully the rest should be pretty straight forward." -msgstr "Cacert ثمّ يتم إرسال رسالة إلى بريدك الإلكتروني مع نسخة موقّعة من شهادتك. على أمل الخطوات اللاحقة ستكون بسيطة جدا." - -#: www/account/37.php:19 www/index/12.php:19 -#, php-format -msgid "CAcert's goal is to promote awareness and education on computer security through the use of encryption, specifically with the X.509 family of standards. We have compiled a %sdocument base%s that has helpful hints and tips on setting up encryption with common software, and general information about Public Key Infrastructures (PKI)." -msgstr "هدف Cacert الترويج للوعي والحذر وتعليم أمن الكومبيوتر خلال استخدام التشفير، بشكل محدّد مع إكس 509 من مجموعة المعايير. جمعنا %sdocument base%s الذي يحتوي النصائح المساعدة على تضمين التشفير في البرامج المشتركة، ومعلومات عامّة حول البنى التحتية للمفاتيح العمومية (PKI)." - -#: www/account/0.php:17 -msgid "CAcert.org" -msgstr "CAcert.org" - -#: www/index/51.php:15 -msgid "CAcert.org Mission Statement" -msgstr "بيان مهمّة CAcert.org" - -#: includes/account.php:49 includes/account.php:389 www/index.php:316 -msgid "CAcert.org Support!" -msgstr "دعم CAcert.org" - -#: www/account/37.php:17 www/index/12.php:17 -msgid "CAcert.org is a community driven, Certificate Authority that issues certificates to the public at large for free." -msgstr "هي مجموعة أسست هيئة للشهادات الرقمية التي تصدر إلى عامّة الناس مجانا." - -#: www/wot/0.php:17 -msgid "CAcert.org was designed to be by the community for the community, and instead of placing all the labour on a central authority and in turn increasing the cost of certificates, the idea was to get community in conjunction with this website to have trust maintained in a dispersed and automated manner!" -msgstr "إن CAcert.org قد صممت من قبل الهيئة لخدمة الهيئة، ولكن بدلا من تركيز كلّ العمل ضمن سلطة مركزية مما يزيد كلفة الشهادات، كانت الفكرة بربط الهيئة مع هذا الموقع لتوفير الثقة" - -#: includes/account.php:1464 includes/account.php:1515 www/account/30.php:34 -#: www/account/31.php:30 www/account/34.php:34 -msgid "Cancel" -msgstr "إلغاء" - -#: includes/general_stuff.php:58 -msgid "Cert Login" -msgstr "تسجيل الدخول" - -#: www/account/19.php:101 www/account/6.php:99 -msgid "Certificate Installation Complete!" -msgstr "تم تركيب الشهادة بنجاح!" - -#: www/account/19.php:97 www/account/6.php:95 -msgid "Certificate Installation Error" -msgstr "حصل خطأ خلال تركيب الشهادة" - -#: www/help/3.php:43
-msgid "Certificate Installation process for IIS 5.0" -msgstr "عملية تركيب الشهادة على IIS 5.0" - -#: includes/general_stuff.php:65 -msgid "CAcert Logos" -msgstr "شعارات CAcert" - -#: includes/account.php:669 includes/account.php:1066 -#, php-format -msgid "Certificate for '%s' has been renewed." -msgstr "تم تجديد الشعادة لـ %s" - -#: includes/account.php:594 includes/account.php:705 includes/account.php:1103 -#: includes/account.php:1319 -#, php-format -msgid "Certificate for '%s' has been revoked." -msgstr "تم إبطال شهادة %s." - -#: www/account/19.php:95 www/account/6.php:93 -msgid "Certificate installation failed!" -msgstr "فشل في تركيب الشهادة!." - -#: www/stats.php:31 -msgid "Certificates Issued" -msgstr "تم إصدار الشهادة" - -#: pages/help/4.php:21 -msgid "writing new private key to 'private.key'" -msgstr "" - -#: includes/account.php:837 includes/account.php:1312 pages/account/19.php:45 -#: pages/account/6.php:43 -msgid "to install your certificate." -msgstr "" - -#: www/account/14.php:18 -msgid "Change Pass Phrase" -msgstr "تغيير جملة المرور" - -#: includes/account_stuff.php:146 www/account/43.php:98 www/account/43.php:99 -#: www/account/44.php:19 www/account/50.php:19 -msgid "Change Password" -msgstr "تغيير كلمة المرور" - -#: www/help/3.php:36
-msgid "Choose a filename to save the request to" -msgstr "إختر اسم ملف لحفظ الطلب ضمنه" - -#: includes/account.php:671 includes/account.php:1068 -#: includes/account.php:1445 includes/account.php:1492 -#: includes/account.php:1504 www/account/19.php:45 www/account/6.php:43 -msgid "Click here" -msgstr "اضغط هنا" - -#: www/account/40.php:21 www/index/11.php:21 -msgid "Click here to go to the Support List" -msgstr "إضغط هنا لفتح قائمة الدعم الفني" - -#: www/account/40.php:38 www/index/11.php:38 -msgid "Click here to view all lists available" -msgstr "إضغط هنا لماهدة جميع القوائم المتوفرة" - -#: includes/account_stuff.php:153 www/account/18.php:18 www/account/5.php:18 -msgid "Client Certificates" -msgstr "شهادات الزبون" - -#: www/index/0.php:50 -msgid "Client certificates (un-assured)" -msgstr "شهادات الزبون (غير مصدّقة)" - -#: www/account/3.php:63 -msgid "Code Signing" -msgstr "توقيع الترميز" - -#: www/index/0.php:70 -msgid "Code signing certificates" -msgstr "شهادات توقيع الترميز" - -#: www/account/24.php:41 www/account/27.php:44 www/account/32.php:27 -#: www/account/33.php:43 -msgid "Comments" -msgstr "ملاحظات" - -#: www/help/4.php:14 -msgid "Common Name (eg, YOUR name) []:" -msgstr "الاسم الشائع (مثلاً اسمك الشخصي)[]:" - -#: www/account/11.php:22 www/account/12.php:23 www/account/18.php:23 -#: www/account/21.php:25 www/account/22.php:23 -msgid "CommonName" -msgstr "الاسم_الشائع" - -#: includes/account.php:1733 includes/account.php:1780 -#: includes/account.php:1792 -msgid "to continue." -msgstr "" - -#: includes/general_stuff.php:63 -msgid "CAcert News" -msgstr "أخبار CAcert" - -#: includes/general_stuff.php:66 -msgid "CAcert Statistics" -msgstr "احصائيات CAcert" - -#: pages/account/11.php:26 pages/account/21.php:31 -msgid "subjectAltName" -msgstr "" - -#: www/wot/3.php:31 -msgid "Compare the online information to the information recorded on the paper form;" -msgstr "قارن المعلومات على الإنترنت بالمعلومات المسجلة على الورق؛" - -#: www/wot/3.php:24 -msgid "Complete the assurance form if the applicant has not already done so. Ensure that all information matches." -msgstr "إملأ إستمارة التأمين إذا لم يقم بذلك مقدم الطلب. تأكد من تطابق البيانات." - -#: www/help/3.php:39
-msgid "Confirm your request details" -msgstr "أكّد تفاصيل طلبك" - -#: www/wot/3.php:19 -msgid "Contact" -msgstr "الاتصال" - -#: www/wot/9.php:39 -msgid "Contact Assurer" -msgstr "الاتصال بالمصدّق" - -#: www/wot/1.php:121 -msgid "Contact Details" -msgstr "تفصيلات الاتصال" - -#: www/account/24.php:25 www/account/27.php:28 -msgid "Contact Email" -msgstr "بريد الاتصال" - -#: includes/account_stuff.php:210 includes/general_stuff.php:110 -#: www/account/40.php:15 www/index/11.php:15 -msgid "Contact Us" -msgstr "الاتصال بنا" - -#: www/wot/8.php:31 -msgid "Contact information" -msgstr "بيانات الاتصال" - -#: www/account/39.php:37 www/index/10.php:37 -msgid "Cookies" -msgstr "كوكيز" - -#: www/help/2.php:38 -msgid "Cool man! How do I create my own digital signature?!" -msgstr "ياسلام! كيف أنشىء توقيعي الرقمي الخاص؟ !" - -#: www/help/3.php:47
-msgid "Copy the contents of the email including the" -msgstr "إنسخ محتويات البريد الإلكتروني وضمنه" - -#: www/index/51.php:20 -msgid "Core members of CAcert generally have a strong information technology and security background, and a stronger desire to give back to the community." -msgstr "إن الأعضاء الرئيسيين لـ Cacert لديهم خبرة في تقنية المعلومات وأرضية أمنية قوية، ورغبة أقوى في خدمة المجموعة." - -#: includes/account.php:617 includes/account.php:726 includes/account.php:1125 -#: includes/account.php:1343 -#, php-format -msgid "Couldn't remove the request for `%s`, request had already been processed." -msgstr "لا يمكن إلغاء طلب %s وذلك لأنه معالجته قد بدأت." - -#: www/account/11.php:32 www/account/21.php:35 www/account/24.php:37 -#: www/account/27.php:40 -msgid "Country" -msgstr "البلد" - -#: www/account/36.php:23 www/index/1.php:112 -msgid "Country Announcements" -msgstr "التنبيهات المتعلقة بالبلد" - -#: www/help/4.php:9 -msgid "Country Name (2 letter code) [AU]:" -msgstr "سام البلد (ترميز من حرفين) [SY]:" - -#: www/account/17.php:133 www/account/4.php:133 -msgid "Create Certificate Request" -msgstr "أنشاء طلب شهادة" - -#: includes/general_stuff.php:72 www/index/7.php:15 -msgid "Credits" -msgstr "الأرصدة" - -#: www/help/7.php:2 -msgid "Currently there is 2 main servers, one for webserver, one for root store, with the root store only connected to the webserver via serial cable, with a daemon running as non-root processes on each end of the serial listening/sending requests/info." -msgstr "حاليا هناك مخدمان رئيسيان، الأول مخدم وب، والآخر مخدم لحفظ الجذر الذي يتصل بمخدم الوب عن طريق وصلة تسلسلية ،مع مشغل عمليات لا يعمل كجذر (root) وذلك على كلّ نهاية تسلسلية استماع / إرسال الطلبات / معلومات." - -#: www/stats.php:73 www/stats.php:109 www/ttp.php:95 www/ttp.php:142
-#: www/account/43.php:200 www/account/43.php:235 www/wot/10.php:43
-#: www/wot/10.php:76 www/wot/6.php:91
-msgid "Date" -msgstr "تاريخ" - -#: www/cap.php:62 www/ttp.php:126 www/account/13.php:46 www/account/13.php:94
-#: www/account/43.php:93 www/account/52.php:44 www/index/1.php:47
-#: www/index/5.php:25 www/wot/6.php:65
-msgid "Date of Birth" -msgstr "تاريخ الميلاد" - -#: www/account/2.php:21 -msgid "Default" -msgstr "الافتراضي" - -#: includes/account_stuff.php:146 -msgid "Default Language" -msgstr "اللغة الافتراضية" - -#: www/account/2.php:23 www/account/2.php:50 www/account/25.php:24 -#: www/account/25.php:41 www/account/26.php:26 www/account/26.php:36 -#: www/account/30.php:35 www/account/31.php:31 www/account/32.php:28 -#: www/account/32.php:43 www/account/34.php:35 www/account/9.php:21 -#: www/account/9.php:49 -msgid "Delete" -msgstr "حذف" - -#: www/account/43.php:102 www/account/43.php:103 -msgid "Delete Account" -msgstr "حذف حساب" - -#: www/account/34.php:28 -#, php-format -msgid "Delete Admin for %s" -msgstr "حذف إدارة لـ s%" - -#: www/account/30.php:28 -#, php-format -msgid "Delete Domain for %s" -msgstr "حذف نطاق لـ %s" - -#: www/account/31.php:24 -#, php-format -msgid "Delete Organisation" -msgstr "حذف منظمة" - -#: www/account/32.php:26 www/account/33.php:30 -msgid "Department" -msgstr "القسم" - -#: www/help/2.php:17 -msgid "Digital signing thus provides security on the Internet." -msgstr "يضمن التوقيع الرقمي الأمن على الإنترنت." - -#: www/index/0.php:73 -msgid "Digitally sign code, web applets, installers, etc. including your name and location in the certificates." -msgstr "الترميز الموقع إلكترونيا، برامج الوب المحدودة، برامج التركيب، الخ. يضّمن اسمك وموقعك داخل الشهادات." - -#: www/wot/8.php:22 -msgid "Directory Listing" -msgstr "قائمة الدليل" - -#: www/help/2.php:61 -msgid "Disclaimer : These are the author's opinions, but they should not be considered 'truth' without personal verification. The author may have made mistakes and any mistakes will be willingly rectified by contacting the administrator of elucido.net, contact details available from the normal domain registration information services (e.g. whois.net).&nbsp; No recommendation to install a Certificate Authority's root certificate is either intended nor implied." -msgstr "عدم تحمل المسؤولية: هذه آراء المؤلف، ولكن لا يجب اعتبارهم 'حقيقة' دون تحقّق شخصي، وذلك لأن المؤلف ربما اخطأ. لذلك إدارة elucido.net ستقوم بكل سرور بتصحيح أي أخطاء. تفاصيل الإتصال متوفرة عن طريق بيانات خدمات تسجيل اسم الملكية (ومثال على ذلك: - whois.net). &nbsp؛ لا توصية لتركيب شهادة جذر لأن هيئة الشهادات لم تنو ولم تدل على ذلك" - -#: www/account/26.php:24 www/account/28.php:25 www/account/29.php:31 -#: www/account/43.php:181 www/account/48.php:22 www/account/49.php:34 -#: www/account/7.php:22 -msgid "Domain" -msgstr "اسم نطاق" - -#: www/account/12.php:18 www/account/22.php:18 -msgid "Domain Certificates" -msgstr "شهادات النطاق الرقمية" - -#: includes/account_stuff.php:157 www/account/25.php:21 www/account/25.php:38 -#: www/account/9.php:18 -msgid "Domains" -msgstr "" - -#: www/account/0.php:23 -msgid "Domains and Server Certificates." -msgstr "شهادات النطاق والمخدم الرقمية." - -#: includes/account_stuff.php:209 includes/general_stuff.php:108 -#: www/account/38.php:15 www/index/13.php:15 -msgid "Donations" -msgstr "التبرعات" - -#: www/error404.php:21 -msgid "Due to recent site changes bookmarks may no longer be valid, please update your bookmarks." -msgstr "بسبب التغيرات في الموقع قد تكون قوائم العناوين المفضلة الأخيرة غير صحيحة، رجاء جدّد قوائم عناوينك المفضلة." - -#: www/help/2.php:39 -msgid "Easy. Ish. Go to CAcert.org, install their root certificate and then follow their joining instructions. Once you have joined, request a certificate from the menu. You will receive an email with a link to the certificate. Click on the link from your email software, and hopefully it will be seamlessly installed. Next find the security section of the settings in your email software and configure digital signatures using the certificate you just downloaded. Hmm. Call me if you want, I'll guide you through it." -msgstr "هذا سهل تقريبا. افتح موقع CAcert.org, ركّب شهادة الجذر وبعد ذلك اتبع تعليمات الانضمام إلى CAcert. بعد الاشترام اطلب شهادة من قائمة الأوامر وسيتم ارسال بريد إلكتروني إليك وصلة إلى الشهادة. استخدم الوصلة في الرسالة الإلكترونية، ونأمل أن يتم التركيب بسهولة. بعد ذلك وفي قسم المتعلق بالأمن في برامج بريدك الإلكتروني وقم بإعدادات التواقيع الرقمية باستخدام الشهادة التي حمّلتها للتوّ. وفي حال الحاجة إلى أي مساعدة اتصل بي." - -#: includes/account_stuff.php:146 www/account/25.php:23 www/account/25.php:40 -#: www/account/26.php:25 www/account/26.php:35 -msgid "Edit" -msgstr "تحرير" - -#: www/account/27.php:21 -msgid "Edit Organisation" -msgstr "تحرير المؤسسة (المنظمة)" - -#: www/account/16.php:26 www/account/16.php:31 www/account/33.php:26 -#: www/account/42.php:22 www/account/43.php:34 www/account/43.php:74 -#: www/account/44.php:22 www/account/50.php:22 www/wot/5.php:22 -msgid "Email" -msgstr "بريد إلكتروني" - -#: includes/account_stuff.php:149 www/account/2.php:18 -msgid "Email Accounts" -msgstr "حسابات البريد الإلكتروني" - -#: www/account/0.php:21 -msgid "Email Accounts and Client Certificates" -msgstr "حسابات البريد الإلكتروني وزبائن الشهادات" - -#: www/cap.php:72 www/account/1.php:22 www/account/11.php:34
-#: www/account/5.php:23 www/index/1.php:75 www/index/4.php:26
-#: www/index/5.php:21 www/gpg/2.php:21 www/disputes/1.php:23 www/help/4.php:29
-
-msgid "Email Address" -msgstr "عنوان البريد الإلكتروني" - -#: www/index.php:244 -msgid "Email Address was blank" -msgstr "حقل البريد الإلكتروني فارغ" - -#: www/wot/1.php:122 -msgid "Email Assurer" -msgstr "البريد الإلكتروني للمصادق" - -#: includes/account.php:51 includes/account.php:391 -msgid "Email Probe" -msgstr "التحقق من البريد الالكتروني" - -#: www/help/2.php:20 -msgid "Emails are not secure. In fact emails are VERY not secure!" -msgstr "الرسائل البريدية الإلكترونية ليست آمنة. وفي الواقع الرسائل البريدية الالكترونية غير آمنة نهائياً!" - -#: www/index/0.php:83 -msgid "Enable encrypted data transfer for users accessing your web, email, or other SSL enabled service on your server; wildcard certificates are allowed." -msgstr "فعّل نقل البيانات المشفرة لدخول المستخدمين لخدمات الوب ، البريد الإلكتروني أو أي خدمات محمية على مخدمك ؛ الشهادات العامة ممكنة أيضاً" - -#: www/help/3.php:58
-msgid "Ensure 'Process the pending request and install the certificate' is selected and click on 'Next'." -msgstr "تأكد من اختيار 'معالجة الطلب المعلّق وتركيب الشهادة ' واضغط " التالي "." - -#: www/help/3.php:63
-msgid "Ensure that you are processing the correct certificate" -msgstr "تأكد من أنك تعالج الشهادة الرقمية الصحيحة" - -#: www/help/3.php:17
-msgid "Enter a certificate name and select Certificate strength" -msgstr "ادخل اسم الشهادة واختر درجة شدة الشهادة" - -#: www/help/3.php:26
-msgid "Enter the Organisation name: this must be the full legal name of the Organisation that is applying for the certificate." -msgstr "ادخل اسم المؤسسة: يجب أن يكون الاسم الكامل القانوني للمؤسسة التي تقدمت بالطلب للحصول على الشهادة." - -#: www/wot/3.php:30 -msgid "Enter the applicant's email address;" -msgstr "ادخل عنوان البريد إلكتروني لمقدم الطلب؛" - -#: www/help/3.php:33
-msgid "Enter the geographical details" -msgstr "إدخل البيانات الجغرافية" - -#: www/help/3.php:30
-msgid "Enter your Common Name" -msgstr "إدخل الاسم الشائع" - -#: www/help/3.php:25
-msgid "Enter your Organisation Information" -msgstr "ادخل بيانات المؤسسة" - -#: www/help/2.php:57 -msgid "Erroneous Verisign Issued Digital Certificates Pose Spoofing Hazard" -msgstr "الشهادات الرقمية الخاطئة الصادرة من Verisign تشكل خطر الغش والتلاعب" - -#: includes/account.php:67 www/verify.php:33 www/verify.php:45 -#: www/verify.php:76 www/verify.php:89 -msgid "Error!" -msgstr "خطأ!" - -#: www/help/2.php:21 -msgid "Ever requested a password that you lost to be emailed to you? That password was wide open to inspection by potential crackers." -msgstr "هل طلبت كلمة السر التي فقدتها لترسل إليك بالبريد الإلكتروني؟ إن كلمة السر تلك كانت متاحة جداً للبحث من قبل لصوص البرامج المحتملين." - -#: www/account/12.php:50 www/account/18.php:50 www/account/22.php:50 -#: www/account/5.php:54 -msgid "Expired" -msgstr "انتهت الصلاحية" - -#: www/account/12.php:25 www/account/18.php:25 www/account/22.php:25 -#: www/account/5.php:25 -msgid "Expires" -msgstr "تنتهي الصلاحية" - -#: www/wot/3.php:38 -msgid "Fees" -msgstr "رسوم مالية" - -#: www/error404.php:19 -msgid "File not found!" -msgstr "لم يعثر على الملف!" - -#: www/help/4.php:16 -msgid "Finally you will be asked information about 'extra' attribute, you simply hit enter to both these questions." -msgstr "أخيرا ستسأل عن المعلومات حول "الخواص الإضافية "، إضغط ببساطة على زر الإدخال لكلا السؤالين." - -#: includes/account_stuff.php:191 -msgid "Find Domain" -msgstr "ابحث عن نطاق" - -#: includes/account_stuff.php:191 www/account/42.php:19 -msgid "Find User" -msgstr "ابحث عن مستخدم" - -#: www/account/48.php:19 -msgid "Find User by Domain" -msgstr "ابحث عن مستخدم حسب النطاق" - -#: includes/account_stuff.php:182 -msgid "Find an Assurer" -msgstr "ابحث عن مصادق" - -#: www/help/3.php:41
-msgid "Finish up and exit IIS Certificate Wizard" -msgstr "إنهاء وخروج من الشهادة الرقمية العامة لمخدم IIS" - -#: www/account/13.php:27 www/account/13.php:75 www/account/43.php:78 -#: www/index/1.php:22 -msgid "First Name" -msgstr "الاسم" - -#: includes/account.php:769 -msgid "First and Last name fields can not be blank." -msgstr "لايمكن لحقلي الاسم والكنية أن يبقيا فارغين" - -#: www/index.php:233 -msgid "First and/or last names were blank." -msgstr "لم يتم ادخال الاسم و/ أو الكنية" - -#: www/help/6.php:1 -msgid "Firstly you need to join CAcert to do that go:" -msgstr "أولاً يجب عليك الانضمام إلى CAcert ، وللقيام بذلك يجب الذهاب إلى:" - -#: www/help/4.php:1 -msgid "Firstly you will need to run the following command, preferably in secured directory no one else can access, however protecting your private keys is beyond the scope of this document." -msgstr "أولا ستحتاج إلى ادخال الأمر التالي، ويفضل في دليل مضمون لا أحد غيرك يستطيع دخوله، على أية حال حماية مفاتيحك الخاصّة ليس موضوع هذه الوثيقة." - -#: www/help/0.php:2 -msgid "Following are several tips you may find useful." -msgstr "فيما يلي عدة نصائح التي قد تجدها مفيدة." - -#: www/account/37.php:23 www/index/12.php:23 -msgid "For administrators looking to protect the services they offer, we provide host and wild card certificates which you can issue almost immediately. Not only can you use these to protect websites, but also POP3, SMTP and IMAP connections, to list but a few. Unlike other certificate authorities, we don't limit the strength of the certificates, or the use of wild card certificates. Everyone should have the right to security and to protect their privacy, not just those looking to run ecommerce sites." -msgstr "للمدراء الذين يبحثون عن حماية خدماتهم المعروضة، فنحن نزوّد الشهادات الرقمية العامة و للاستضافة التي يمكنك اصدارها تقريبا فورا. يمكن استعمالها ليس فقط لحماية المواقع على الإنترنت ، بل أيضاً لحماية مخدمات البريد الإلكتروني POP3, SMTP والاتصالات مع IMAP، وهذا جزء من القائمة. على خلاف مصدري الشهادات الأخرى، نحن لا نحدّد درجة قوّة الشهادات، أو إستعمال الشهادات العامّة. يجب أن يمتلك كلّ شخص الحقّ في الأمن وحماية خصوصياته، ليس فقط من يرغب بإنشاء مواقع للتجارة الالكترونية." - -#: www/help/3.php:71
-msgid "For more information, refer to your server documentation or visit" -msgstr "لمعلومات إضافية ، راجع الوثائق المتعلقة بمخدمك أو قم بزيارة" - -#: www/account/37.php:21 www/index/12.php:21 -msgid "For the enthusiast looking to dip their toe in the water, we have an easy way of obtaining certificates you can use with your email program. You can use these not only to encrypt, but to prove to your friends and family that your email really does come from you." -msgstr "لدينا طريقة بسيطة للحصول على شهادات لاستخدامها ليس فقط في تشفير رسائل البريد الإلكتروني بل للتأكيد لأصدقائك وأهلك أن الرسالة الإلكترونية التي وردتهم هي فعلاً منك تحديداً." - -#: www/index/0.php:19 -msgid "For years we've all been charged high amounts of money to pay for security that doesn't and shouldn't cost the earth." -msgstr "لقد دفعنا لسنوات مبالغ كبيرة من المال ثمناً للأمن التي لا تكلّف ولا يجب أن تكلّف أكثر من حفنة تراب." - -#: www/account/12.php:78 www/account/18.php:84 www/account/22.php:80 -#: www/account/5.php:84 -msgid "From here you can delete pending requests, or revoke valid certificates." -msgstr "من هنا يمكنك حذف الطلبات المعلّقة، أو إبطال الشهادات الصحيحة." - -#: www/stats.php:55 -msgid "Users with 50-99 Points" -msgstr "المستخدمين مع نقاط 50-99" - -#: includes/account_stuff.php:185 -msgid "GPG/PGP Keys" -msgstr "مفاتيح الـ GPG/PGP" - -#: www/account/36.php:22 www/index/1.php:111 -msgid "General Announcements" -msgstr "بلاغات عامة" - -#: www/account/40.php:17 www/index/11.php:17 -msgid "General Questions" -msgstr "الأسئلة العامة" - -#: www/disputes.php:320 -#, php-format -msgid "The domain '%s' doesn't exist in the system. Can't continue." -msgstr "لم يعثر على النطاق '%s' في النظام. الاستمرار غير ممكن." - -#: www/disputes.php:247 -#, php-format -msgid "The email address '%s' doesn't exist in the system. Can't continue." -msgstr "لم يعثر على عنوان البريد الالكتروني '%s' في النظام. الاستمرار غير ممكن." - -#: www/stats.php:51 -msgid "Users with 1-49 Points" -msgstr "المستخدمون مع نقاط 1-49" - -#: www/help/4.php:4 -msgid "Generating a 1024 bit RSA private key" -msgstr "" - -#: www/help/3.php:1
-msgid "Generating a Key Pair and Certificate Signing Request (CSR) for a Microsoft Internet Information Server (IIS) 5.0." -msgstr "" - -#: includes/account_stuff.php:142 -msgid "Go Home" -msgstr "" - -#: www/account/40.php:19 www/index/11.php:19 -msgid "Go here for more details." -msgstr "" - -#: www/help/2.php:16 -msgid "Good question" -msgstr "" - -#: www/stats.php:102 -msgid "Growth by year" -msgstr "" - -#: www/stats.php:66 -msgid "Growth in the last 12 months" -msgstr "" - -#: www/help/0.php:1 -msgid "Help!" -msgstr "" - -#: www/account/10.php:29 www/account/16.php:41 www/account/20.php:26 -#: www/account/3.php:53 -msgid "Sign by class 3 root certificate" -msgstr "" - -#: www/account/19.php:54 www/account/6.php:52 -msgid "Hit the 'Install your Certificate' button below to install the certificate into MS IE 5.x and above." -msgstr "" - -#: www/account/30.php:24 -msgid "Hitting delete will also revoke all existing certificates issued under this domain" -msgstr "" - -#: www/account/29.php:24 -msgid "Hitting update will also revoke all existing certificates issued under this domain" -msgstr "" - -#: www/wot/1.php:23 www/wot/7.php:26 -msgid "Home" -msgstr "" - -#: www/help/2.php:8 -msgid "How do I create my own digital signature?!" -msgstr "" - -#: www/help/0.php:8 -msgid "How do I generate a private key and CSR using OpenSSL?" -msgstr "" - -#: www/help/0.php:9 -msgid "How do I get a secured by CAcert emblem on my site?" -msgstr "" - -#: www/index/7.php:23 -msgid "Has put so much effort into CAcert I don't know where to begin, he managed to get the CPS Christian had started up to draft status, he has given countless hours to assuring people and attending conferences to help spread the word" -msgstr "" - -#: www/help/2.php:4 www/help/2.php:21 www/help/2.php:24 -msgid "How it prepares us to protect our freedom" -msgstr "" - -#: www/account/39.php:50 www/index/10.php:50 -msgid "How to update, correct, or delete your information" -msgstr "" - -#: www/index/51.php:27 -msgid "How?" -msgstr "" - -#: includes/general_stuff.php:64 -msgid "Howto Information" -msgstr "" - -#: www/help/2.php:9 www/help/2.php:41 -msgid "I can't wait to start sending encrypted emails!" -msgstr "" - -#: includes/account.php:884 -msgid "I couldn't match any emails against your organisational account." -msgstr "" - -#: includes/account.php:120 includes/account.php:152 includes/account.php:254 -#: includes/account.php:904 includes/account.php:991 -msgid "I didn't receive a valid Certificate Request, hit the back button and try again." -msgstr "" - -#: www/wot/8.php:25 -msgid "I don't want to be listed" -msgstr "" - -#: www/account/10.php:18 www/account/20.php:18 www/account/3.php:18 -msgid "I hereby represent that I am fully authorized by the owner of the information contained in the CSR sent to CAcert Inc. to apply for an Digital Certificate for secure and authenticated electronic transactions. I understand that a digital certificate serves to identify the Subscriber for the purposes of electronic communication and that the management of the private keys associated with such certificates is the responsibility of the subscriber's technical staff and/or contractors." -msgstr "" - -#: www/wot/8.php:26 -msgid "I want to be listed" -msgstr "" - -#: www/help/8.php:2 -msgid "I'll anwser the why part first, as that's reasonably easy. The short answer is it takes most of the key handling responsibilty away from you and/or your group. If you need to revoke your key for any reason (such as a developer leaving the project) it won't effect your ability to revoke the existing key or keys, and issue new ones." -msgstr "" - -#: www/account/43.php:62 -msgid "I'm sorry, the user you were looking for seems to have disappeared! Bad things are a foot!" -msgstr "" - -#: www/wot.php:42 -msgid "I'm sorry, there was no email matching what you entered in the system. Please double check your information." -msgstr "" - -#: www/account/38.php:17 www/index/13.php:17 -msgid "If I'd like to donate to CAcert Inc., how can I do it?" -msgstr "" - -#: www/account/10.php:22 www/account/20.php:22 -msgid "If the Subscriber's name and/or domain name registration change the subscriber will immediately inform CAcert Inc. who shall revoke the digital certificate. When the Digital Certificate expires or is revoked the company will permanently remove the certificate from the server on which it is installed and will not use it for any purpose thereafter. The person responsible for key management and security is fully authorized to install and utilize the certificate to represent this organization's electronic presence." -msgstr "" - -#: www/account/3.php:22 -msgid "If the Subscriber's name and/or domain name registration change the subscriber will immediately inform CAcert Inc. who shall revoke the digital certificate. When the Digital Certificate expires or is revoked the company will permanently remove the certificate from the server on which it is installed andwill not use it for any purpose thereafter. The person responsible for key management and security is fully authorized to install and utilize the certificate to represent this organization's electronic presence." -msgstr "" - -#: www/help/7.php:3 -msgid "If the root store detects a bad request it assumes the webserver is compromised and shuts itself down." -msgstr "" - -#: www/help/7.php:4 -msgid "If the root store doesn't receive a 'ping' reply over the serial link within a determined amount of time it assumes the webserver is compromised or the root store itself has been stolen and shuts itself down." -msgstr "" - -#: www/account/39.php:47 www/index/10.php:47 -msgid "If we change our Privacy Policy, we will post those changes on www.CAcert.org. If we decide to use personally identifiable information in a manner different from that stated at the time it was collected, we will notify users via email. Users will be able to opt out of any new use of their personal information." -msgstr "" - -#: www/wot/7.php:140 -msgid "If you are happy with this location, click 'Make my location here' to update your location details." -msgstr "" - -#: www/account/40.php:41 www/index/11.php:41 -msgid "If you have questions, comments or otherwise and information you're sending to us contains sensitive details, you should use the contact form below. Due to the large amounts of support emails we receive, sending general questions via this contact form will generally take longer then using the support mailing list. Also sending queries in anything but english could cause delays in supporting you as we'd need to find a translator to help." -msgstr "" - -#: www/account/39.php:55 www/index/10.php:55 -msgid "If you need to contact us in writing, address your mail to:" -msgstr "" - -#: scripts/removedead.php:57 -msgid "If you needed more time or any other extenuating circumstances you should contact us immediately so this situation can be dealt with immediately." -msgstr "" - -#: www/account/0.php:18 -msgid "If you would like to view news items or change languages you can click the logout or go home links. Go home doesn't log you out of the system, just returns you to the front of the website. Logout logs you out of the system." -msgstr "" - -#: www/account/37.php:25 www/index/12.php:25 -msgid "If you're extremely serious about encryption, you can join CAcert's Assurance Programme and Web of Trust. This allows you to have your identity verified to obtain added benefits, including longer length certificates and the ability to include your name on email certificates." -msgstr "" - -#: www/wot/3.php:32 -msgid "If, and only if, the two match completely - you may award trust points up to the maximum points you are able to allocate;" -msgstr "" - -#: www/help/7.php:1 -msgid "In light of a request on the bugzilla list for more information about how our root certificate is protected I've decided to do a write up here and see if there is anything more people suggest could be done, or a better way of handling things altogether." -msgstr "" - -#: www/help/3.php:9
-msgid "In the 'Directory Security' folder click on the 'Server Certificate' button in the 'Secure communications' section. If you have not used this option before the 'Edit' button will not be active." -msgstr "" - -#: www/help/3.php:57
-msgid "In the 'IIS Certificate Wizard' you should find a 'Pending Certificate Request'." -msgstr "" - -#: www/account/0.php:20 -msgid "In this section you will be able to edit your personal information (if you haven't been assured), update your pass phrase, and lost pass phrase questions. You will also be able to set your location for the Web of Trust, it also effects the email announcement settings which among other things can be set to notify you if you're within 200km of a planned assurance event. You'll also be able to set additional contact information when you become fully trusted, so others can contact you to meet up outside official events." -msgstr "" - -#: www/account/3.php:53 www/account/3.php:54 www/account/3.php:55 -#: www/account/3.php:56 -msgid "Include" -msgstr "" - -#: www/index/0.php:23 -msgid "Inclusion into mainstream browsers!" -msgstr "" - -#: www/index.php:195 -msgid "Incorrect email address and/or Pass Phrase." -msgstr "" - -#: www/account/19.php:60 www/account/6.php:58 -msgid "Install Your Certificate" -msgstr "" - -#: www/help/3.php:51
-msgid "Installation steps" -msgstr "" - -#: www/account/19.php:43 www/account/19.php:52 www/account/6.php:41 -#: www/account/6.php:50 -msgid "Installing your certificate" -msgstr "" - -#: www/index/0.php:15 -msgid "Introduction" -msgstr "" - -#: includes/account.php:517 includes/account.php:583 includes/account.php:611 -#: includes/account.php:644 includes/account.php:694 includes/account.php:720 -#: includes/account.php:1042 includes/account.php:1092 -#: includes/account.php:1119 includes/account.php:1253 -#: includes/account.php:1308 includes/account.php:1337 -#, php-format -msgid "Invalid ID '%s' presented, can't do anything with it." -msgstr "" - -#: includes/account.php:776 www/index.php:239 -msgid "Invalid date of birth" -msgstr "" - -#: www/wot/6.php:78 -msgid "Issuing a temporary increase will automatically boost their points to 200 points for a nomindated amount of days, after which the person will be reduced to 150 points regardless of the amount of points they had previously. Regardless of method chosen above it will be recorded in the system as an Administrative Increase and there is a maximum amount of 45 days that points can be issued for." -msgstr "" - -#: www/wot/3.php:17 -msgid "It is essential that CAcert Assurers understand and follow the rules below to ensure that applicants for assurance are suitably identified, which, in turn, maintains trust in the system." -msgstr "" - -#: www/wot/3.php:36 -msgid "It is imperative that you maintain the confidentiality and privacy of the applicant, and never disclose the information obtained without the applicant's consent." -msgstr "" - -#: includes/account.php:589 includes/account.php:700 includes/account.php:1048 -#: includes/account.php:1098 includes/account.php:1259 -#: includes/account.php:1314 -#, php-format -msgid "It would seem '%s' has already been revoked. I'll skip this for now." -msgstr "" - -#: www/index/0.php:17 -msgid "It's been a long time coming, but the wait was worthwhile, finally you are able to get security at the right price... Free!" -msgstr "" - -#: www/index/1.php:107 -msgid "It's possible to get notifications of up and coming events and even just general announcements, untick any notifications you don't wish to receive. For country, regional and radius notifications to work you must choose your location once you've verified your account and logged in." -msgstr "" - -#: includes/general_stuff.php:53 -msgid "Join" -msgstr "" - -#: includes/general_stuff.php:52 -msgid "Join CAcert.org" -msgstr "" - -#: www/account/17.php:21 www/account/4.php:21 -msgid "Key Strength:" -msgstr "" - -#: www/help/3.php:4
-msgid "Key generation process" -msgstr "" - -#: www/account/17.php:131 www/account/4.php:131 -msgid "Keysize:" -msgstr "" - -#: www/wot/9.php:47 -msgid "Language" -msgstr "" - -#: www/account/13.php:37 www/account/13.php:85 www/account/43.php:86 -#: www/index/1.php:32 -msgid "Last Name" -msgstr "" - -#: www/index/0.php:28 -msgid "Latest News" -msgstr "" - -#: www/wot/3.php:41 -msgid "Liability" -msgstr "" - -#: www/index/0.php:54 www/index/0.php:64 www/index/0.php:74 www/index/0.php:84 -#: www/index/0.php:94 www/index/0.php:104 www/index/0.php:114 -msgid "Limitations" -msgstr "" - -#: www/wot/1.php:23 www/wot/1.php:30 www/wot/1.php:43 www/wot/1.php:56 -#: www/wot/1.php:74 www/wot/1.php:87 www/wot/1.php:102 www/wot/7.php:26 -#: www/wot/7.php:35 www/wot/7.php:46 www/wot/7.php:58 -msgid "Listed" -msgstr "" - -#: www/help/4.php:11 -msgid "Locality Name (eg, city) [Sydney]:" -msgstr "" - -#: www/account/11.php:30 www/account/21.php:33 www/account/43.php:196 -#: www/account/43.php:231 www/wot/10.php:25 www/wot/10.php:58 www/wot/6.php:69 -msgid "Location" -msgstr "" - -#: www/wot/7.php:123 -msgid "Location Name" -msgstr "" - -#: www/index/4.php:23 www/index/4.php:34 -msgid "Login" -msgstr "" - -#: includes/account_stuff.php:142 -msgid "Logout" -msgstr "" - -#: www/index/5.php:18 -msgid "Lost Pass Phrase" -msgstr "" - -#: www/index/6.php:18 -msgid "Lost Pass Phrase - Step 2" -msgstr "" - -#: www/account/13.php:100 -msgid "Lost Pass Phrase Questions" -msgstr "" - -#: pages/index/0.php:24 -#, php-format -msgid "Have you passed the CAcert %s Assurer Challenge %s yet?" -msgstr "" - -#: includes/general_stuff.php:59 www/account/43.php:106 www/account/43.php:110 -#: www/account/43.php:114 www/account/43.php:118 www/account/43.php:122 -#: www/account/43.php:126 www/account/43.php:130 www/account/43.php:134 -#: www/account/43.php:138 www/account/43.php:142 -msgid "Lost Password" -msgstr "" - -#: www/index.php:318 -msgid "Mail Probe" -msgstr "" - -#: www/account/2.php:49 -msgid "Make Default" -msgstr "" - -#: www/wot/7.php:138 -msgid "Make my location here" -msgstr "" - -#: www/index/51.php:21 -msgid "Many are just the users of the system who by just making use of the project contribute to the wider community by word-of-mouth." -msgstr "" - -#: www/index/51.php:24 -msgid "Many people are currently dissatisfied with the commercial offerings. Many people wish only to connect or share with people they know, or simply secure their webmail from people potentially sniffing their traffic. Why subscribe to a service that is not structured to handle this, and furthermore charges a king's ransom for the privilege?" -msgstr "" - -#: www/index/7.php:17 -msgid "Many people to thank, if you've had a large input with the CAcert project with code, documentation, translations, or assurances and would like recognition let me know." -msgstr "" - -#: www/account/32.php:25 www/account/33.php:35 -msgid "Master Account" -msgstr "" - -#: www/wot/1.php:120 -msgid "Max Points" -msgstr "" - -#: www/wot/9.php:56 -msgid "Message" -msgstr "" - -#: www/account/43.php:197 www/account/43.php:232 www/wot/10.php:26 -#: www/wot/10.php:59 www/wot/6.php:52 -msgid "Method" -msgstr "" - -#: www/help/2.php:58 -msgid "Microsoft Root Certificate Program" -msgstr "" - -#: www/help/3.php:71
-msgid "Microsoft Support Online" -msgstr "" - -#: www/account/43.php:82 -msgid "Middle Name" -msgstr "" - -#: www/account/13.php:31 www/account/13.php:79 www/index/1.php:26 -msgid "Middle Name(s)" -msgstr "" - -#: www/help/2.php:26 -msgid "Most people would object if they found that all their postal letters are being opened, read and possibly recorded by the Government before being passed on to the intended recipient, resealed as if nothing had happened. And yet this is what happens every day with your emails (in the UK). There are some who have objected to this intrusion of privacy, but their voices are small and fall on deaf ears. However the most effective way to combat this intrusion is to seal the envelope shut in a miniature bank vault, i.e. encrypt your email. If all emails were encrypted, it would be very hard for Government, or other organisations/individual crackers, to monitor the general public. They would only realistically have enough resources to monitor those they had reason to suspect. Why? Because encryption can be broken, but it takes a lot of computing power and there wouldn't be enough to monitor the whole population of any given country." -msgstr "" - -#: includes/general_stuff.php:56 www/account/0.php:15 -msgid "My Account" -msgstr "" - -#: includes/account_stuff.php:146 www/account/36.php:18 -msgid "My Alert Settings" -msgstr "" - -#: includes/account.php:24 includes/account.php:35 includes/account.php:53 -#: includes/account.php:76 includes/account.php:85 includes/account.php:119 -#: includes/account.php:151 includes/account.php:176 includes/account.php:253 -#: includes/account.php:280 includes/account.php:303 includes/account.php:362 -#: includes/account.php:372 includes/account.php:393 includes/account.php:402 -#: includes/account.php:447 includes/account.php:460 includes/account.php:490 -#: includes/account.php:503 includes/account.php:536 includes/account.php:569 -#: includes/account.php:632 includes/account.php:682 includes/account.php:813 -#: includes/account.php:826 includes/account.php:883 includes/account.php:903 -#: includes/account.php:990 includes/account.php:1016 -#: includes/account.php:1028 includes/account.php:1079 -#: includes/account.php:1163 includes/account.php:1176 -#: includes/account.php:1226 includes/account.php:1238 -#: includes/account.php:1293 includes/account.php:1361 -#: includes/account.php:1387 includes/account.php:1415 -#: includes/account.php:1443 includes/account.php:1490 -#: includes/account.php:1502 includes/account.php:1565 -#: includes/account.php:1668 includes/account.php:1675 -#: includes/account.php:1685 includes/account.php:1728 -#: includes/account.php:1754 includes/account.php:1773 -#: includes/account.php:1801 includes/general.php:296 includes/general.php:374 -#: www/account.php:41 www/error404.php:17 www/wot.php:22 www/wot.php:124 -#: www/wot.php:132 www/wot.php:145 www/wot.php:246 www/wot.php:265 -#: www/wot.php:277 www/wot.php:288 www/account/15.php:23 www/account/19.php:23 -#: www/account/19.php:42 www/account/19.php:50 www/account/23.php:23 -#: www/account/6.php:21 www/account/6.php:40 www/account/6.php:48 -msgid "My CAcert.org Account!" -msgstr "" - -#: includes/account_stuff.php:145 www/account/0.php:19 www/account/13.php:23 -#: www/index/1.php:19 -msgid "My Details" -msgstr "" - -#: www/account/41.php:18 -msgid "My Language Settings" -msgstr "" - -#: includes/account_stuff.php:146 www/wot/8.php:19 -msgid "My Listing" -msgstr "" - -#: includes/account_stuff.php:146 -msgid "My Location" -msgstr "" - -#: www/account/41.php:21 -msgid "My prefered language" -msgstr "" - -#: www/account/2.php:41 -msgid "N/A" -msgstr "" - -#: www/account/16.php:35 www/wot/1.php:119 www/wot/6.php:43 -msgid "Name" -msgstr "" - -#: includes/account_stuff.php:154 includes/account_stuff.php:162 -#: includes/account_stuff.php:167 includes/account_stuff.php:171 -#: includes/account_stuff.php:186 -msgid "New" -msgstr "" - -#: www/account/33.php:23 -#, php-format -msgid "New Admin for %s" -msgstr "" - -#: www/stats.php:71 www/stats.php:107 -msgid "New Assurers" -msgstr "" - -#: www/stats.php:72 www/stats.php:108 -msgid "New Certificates" -msgstr "" - -#: www/account/16.php:18 www/account/3.php:27 -msgid "New Client Certificate" -msgstr "" - -#: www/account/28.php:22 -#, php-format -msgid "New Domain for %s" -msgstr "" - -#: includes/account_stuff.php:177 www/account/24.php:18 -msgid "New Organisation" -msgstr "" - -#: www/account/14.php:25 www/index/6.php:43 -msgid "New Pass Phrase" -msgstr "" - -#: includes/account.php:829 www/index.php:92 -msgid "New Pass Phrases specified don't match or were blank." -msgstr "" - -#: www/account/44.php:26 -msgid "New Password" -msgstr "" - -#: www/stats.php:70 www/stats.php:106 -msgid "New Users" -msgstr "" - -#: www/account/16.php:40 www/account/24.php:45 www/account/3.php:70 -#: www/account/42.php:26 www/account/44.php:30 www/account/48.php:26 -#: www/index/1.php:117 www/index/5.php:53 www/index/6.php:54 www/wot/5.php:26 -msgid "Next" -msgstr "" - -#: www/help/4.php:17 -msgid "Next step is that you submit the contents of server.csr to the CAcert website, it should look *EXACTLY* like the following example otherwise the server may reject your request because it appears to be invalid." -msgstr "" - -#: www/account/50.php:29 -msgid "No" -msgstr "" - -#: www/account/3.php:52 -msgid "No Name" -msgstr "" - -#: www/account/12.php:42 www/account/22.php:42 www/account/9.php:32 -msgid "No domains are currently listed." -msgstr "" - -#: pages/account/53.php:83 -msgid "move" -msgstr "" - -#: pages/index/1.php:90 -msgid "Lost Pass Phrase Questions - Please enter five questions and your responses to be used for security verification." -msgstr "" - -#: www/account/15.php:24 www/account/19.php:24 www/account/23.php:24 -#: www/account/6.php:22 -msgid "No such certificate attached to your account." -msgstr "" - -#: includes/account.php:1731 -msgid "No such user found." -msgstr "" - -#: www/account/43.php:51 -#, php-format -msgid "No users found matching %s" -msgstr "" - -#: www/index/0.php:114 -msgid "None, the sky is the limit for CAcert." -msgstr "" - -#: www/index/0.php:115 -msgid "None; $10 USD per year membership fee." -msgstr "" - -#: includes/general_stuff.php:57 -msgid "Normal Login" -msgstr "" - -#: www/account/12.php:56 www/account/18.php:56 www/account/22.php:56 -#: www/account/5.php:60 -msgid "Not Revoked" -msgstr "" - -#: includes/account.php:25 -#, php-format -msgid "Not a valid email address. Can't continue." -msgstr "" - -#: www/help/2.php:10 www/help/2.php:44 -msgid "Notes for the strangely curious" -msgstr "" - -#: www/account/39.php:45 www/index/10.php:45 -msgid "Notification of changes" -msgstr "" - -#: www/help/3.php:12
-msgid "Now 'Create a new certificate'." -msgstr "" - -#: includes/account.php:600 includes/account.php:711 includes/account.php:1109 -#: includes/account.php:1325 -msgid "Now deleting the following pending requests:" -msgstr "" - -#: includes/account.php:506 includes/account.php:635 includes/account.php:1032 -#: includes/account.php:1241 -msgid "Now renewing the following certificates:" -msgstr "" - -#: includes/account.php:572 includes/account.php:685 includes/account.php:1082 -#: includes/account.php:1296 -msgid "Now revoking the following certificates:" -msgstr "" - -#: www/wot/6.php:81 -msgid "Number of days" -msgstr "" - -#: pages/gpg/2.php:23 -msgid "Key ID" -msgstr "" - -#: www/help/2.php:30 -msgid "Of the biggest reasons why most people haven't started doing this, apart from being slightly technical, the reason is financial. You need your own certificate to digitally sign your emails. And the Certificate Authorities charge money to provide you with your own certificate. Need I say more. Dosh = no thanks I'd rather walk home. But organisations are emerging to provide the common fool in the street with a free alternative. However, given the obvious lack of funding and the emphasis on money to get enrolled, these organisations do not yet have the money to get themselves established as trusted Certificate Authorities. Thus it is currently down to trust. The decision of the individual to trust an unknown Certificate Authority. However once you have put your trust in a Certificate Authority you can implicitly trust the digital signatures generated using their certificates. In other words, if you trust (and accept the certificate of) the Certificate Authority that I use, you can automatically trust my digital signature. Trust me!" -msgstr "" - -#: www/account/14.php:21 -msgid "Old Pass Phrase" -msgstr "" - -#: www/account/10.php:16 www/account/20.php:16 www/account/3.php:16 -msgid "Once you decide to subscribe for an SSL Server Certificate you will need to complete this agreement. Please read it carefully. Your Certificate Request can only be processed with your acceptance and understanding of this agreement." -msgstr "" - -#: www/account/0.php:26 -msgid "Once you have verified your company you will see these menu options. They allow you to issue as many certificates as you like without proving individual email accounts as you like, further more you are able to get your company details on the certificate." -msgstr "" - -#: www/help/4.php:28 -msgid "Once you've submitted it the system will process your request and send an email back to you containing your server certificate." -msgstr "" - -#: www/help/2.php:45 -msgid "One assumes that if a site has an SSL certificate (that's what enables secure communication, for exchanging personal details, credit card numbers, etc. and gives the 'lock' icon in the browser) that they have obtained that certificate from a reliable source (a Certificate Authority), which has the appropriate stringent credentials for issuing something so vital to the security of the Internet, and the security of your communications. You have probably never even asked yourself the question of who decided to trust these Certificate Authorities, because your browser comes with their (root) certificates pre-installed, so any web site that you come across that has an SSL certificate signed by one of them, is automatically accepted (by your browser) as trustworthy." -msgstr "" - -#: www/wot/6.php:74 -msgid "Only fill this in if you assured the person on a different day" -msgstr "" - -#: www/account/43.php:39 www/account/49.php:39 -msgid "Only the first 100 rows are displayed." -msgstr "" - -#: www/wot/6.php:61 -msgid "Only tick the next box if the Assurance was face to face." -msgstr "" - -#: www/help/3.php:8
-msgid "Open Directory Security folder" -msgstr "" - -#: includes/account_stuff.php:176 -msgid "Org Admin" -msgstr "" - -#: includes/account_stuff.php:166 -msgid "Org Client Certs" -msgstr "" - -#: www/account/0.php:25 -msgid "Org Client and Server Certificates" -msgstr "" - -#: includes/account_stuff.php:170 -msgid "Org Server Certs" -msgstr "" - -#: www/account/11.php:29 www/account/21.php:32 -msgid "Org. Unit" -msgstr "" - -#: www/account/11.php:28 www/account/21.php:31 www/account/25.php:20 -#: www/account/35.php:20 -msgid "Organisation" -msgstr "" - -#: www/account/24.php:21 www/account/27.php:24 -msgid "Organisation Name" -msgstr "" - -#: includes/account.php:1379 includes/account.php:1406 -msgid "Organisation Name and Contact Email are required fields." -msgstr "" - -#: www/account/25.php:17 www/account/35.php:17 -msgid "Organisations" -msgstr "" - -#: www/help/4.php:12 -msgid "Organization Name (eg, company) [XYZ Corp]:" -msgstr "" - -#: www/help/4.php:13 -msgid "Organizational Unit Name (eg, section) [Server Administration]:." -msgstr "" - -#: www/account/40.php:36 www/index/11.php:36 -msgid "Other Mailing Lists" -msgstr "" - -#: www/index/16.php:16 www/index/3.php:16 -msgid "PKI Key" -msgstr "" - -#: www/account/10.php:28 www/account/16.php:40 www/account/20.php:25 -#: www/account/3.php:52 -msgid "Sign by class 1 root certificate" -msgstr "" - -#: pages/account/13.php:41 pages/account/13.php:51 pages/account/13.php:89 -#: pages/account/13.php:99 pages/index/1.php:33 pages/index/1.php:43 -msgid "optional" -msgstr "" - -#: www/wot/6.php:28 -msgid "PLEASE NOTE: You have already assured this person before! If this is unintentional please DO NOT CONTINUE with this assurance." -msgstr "" - -#: www/index/1.php:73 www/index/4.php:30 -msgid "Pass Phrase" -msgstr "" - -#: www/account/14.php:29 www/index/1.php:77 -msgid "Pass Phrase Again" -msgstr "" - -#: www/index.php:254 -msgid "Pass Phrases don't match" -msgstr "" - -#: www/index.php:249 -msgid "Pass Phrases were blank" -msgstr "" - -#: www/account/10.php:26 www/account/20.php:24 www/account/45.php:15 -msgid "Paste your CSR below..." -msgstr "" - -#: www/account/12.php:52 www/account/12.php:59 www/account/18.php:52 -#: www/account/18.php:63 www/account/22.php:52 www/account/22.php:61 -#: www/account/5.php:56 www/account/5.php:63 -msgid "Pending" -msgstr "" - -#: www/account/19.php:99 www/account/6.php:97 -msgid "Personal Certificate Installed." -msgstr "" - -#: www/account/39.php:24 www/index/10.php:24 -msgid "Personal information" -msgstr "" - -#: pages/wot/11.php:48 -msgid "for more information about Organizational Support." -msgstr "" - -#: pages/wot/13.php:73 -msgid "(hit enter to submit)" -msgstr "" - -#: www/capnew.php:1326 -msgid "location of the assurance" -msgstr "" - -#: www/capnew.php:732 www/coapnew.php:753 -msgid "generated" -msgstr "" - -#: pages/wot/12.php:32 pages/wot/13.php:72 -msgid "Location:" -msgstr "" - -#: www/account/3.php:65 -msgid "Please Note: By ticking this box you will automatically have your name included in any certificates." -msgstr "" - -#: www/account/2.php:56 www/account/9.php:56 -msgid "Please Note: You can not set an unverified account as a default account, and you can not remove a default account. To remove the default account you must set another verified account as the default." -msgstr "" - -#: www/account/7.php:32 -msgid "Please Note: You only need to enter the main part of your domain, eg. mydomain.com rather then www.mydomain.com. Once you have verified your domain you are able to enter any sub-domain, such as www.mydomain.com or www.this.is.mydomain.com as the system checks from right to left, rather then specific hostnames when you upload a CSR to the system." -msgstr "" - -#: www/wot.php:233 -#, php-format -msgid "Please Note: this is a temporary increase for %s days only. After that time their points will be reduced to 150 points." -msgstr "" - -#: www/wot.php:220 -#, php-format -msgid "Please Note: this is a temporary increase for %s days only. After that time your points will be reduced to 150 points." -msgstr "" - -#: www/account/8.php:19 -msgid "Please choose an authority email address" -msgstr "" - -#: www/account/11.php:16 www/account/21.php:19 -msgid "Please make sure the following details are correct before proceeding any further." -msgstr "" - -#: www/index/0.php:120 -msgid "Please note a general limitation is that, unlike long-time players like Verisign, CAcert's root certificate is not included by default in mainstream browsers, email clients, etc. This means people to whom you send encrypted email, or users who visit your SSL-enabled web server, will first have to import CAcert's root certificate, or they will have to agree to pop-up security warnings (which may look a little scary to non-techy users)." -msgstr "" - -#: www/account/14.php:33 www/index/1.php:81 www/index/6.php:51 -msgid "Please note, in the interests of good security, the pass phrase must be made up of an upper case letter, lower case letter, number and symbol." -msgstr "" - -#: www/wot/8.php:40 -msgid "Please note: All html will be stripped from the contact information box, a link to an email form will automatically be inserted to ensure your privacy." -msgstr "" - -#: www/account/43.php:195 www/account/43.php:230 www/wot/10.php:24 -#: www/wot/10.php:57 www/wot/6.php:108 -msgid "Points" -msgstr "" - -#: www/stats.php:59 -msgid "Points Issued" -msgstr "" - -#: www/account/40.php:54 www/index/11.php:54 -msgid "Postal Address:" -msgstr "" - -#: www/help/3.php:14
-msgid "Prepare the request" -msgstr "" - -#: pages/index/8.php:5 -msgid "Secretary" -msgstr "" - -#: www/wot/3.php:35 -msgid "Privacy" -msgstr "" - -#: includes/account_stuff.php:210 includes/general_stuff.php:109 -#: www/account/39.php:15 www/index/10.php:15 -msgid "Privacy Policy" -msgstr "" - -#: www/account/8.php:29 -msgid "Probe" -msgstr "" - -#: www/wot/3.php:27 -msgid "Processing" -msgstr "" - -#: www/help/8.php:1 -msgid "Question: I'm a software developer for linux and I want to use CAcert/openssl to distribute my packages with detached signatures, is this possible and why would I do this over PGP/GPG detached signatures?" -msgstr "" - -#: www/help/2.php:11 www/help/2.php:54 -msgid "References" -msgstr "" - -#: www/account/36.php:24 www/index/1.php:113 -msgid "Regional Announcements" -msgstr "" - -#: includes/account.php:623 includes/account.php:732 includes/account.php:1131 -#: includes/account.php:1349 -#, php-format -msgid "Removed a pending request for '%s'" -msgstr "" - -#: www/account/12.php:71 www/account/18.php:77 www/account/22.php:73 -#: www/account/5.php:77 -msgid "Renew" -msgstr "" - -#: www/account/12.php:21 www/account/18.php:21 www/account/22.php:21 -#: www/account/5.php:21 -msgid "Renew/Revoke/Delete" -msgstr "" - -#: includes/account.php:548 includes/account.php:1270 -msgid "Renewing" -msgstr "" - -#: www/index/6.php:47 -msgid "Repeat" -msgstr "" - -#: www/help/3.php:52
-msgid "Return to the 'Internet Information Services' screen in 'Administrative Tools' under 'Control Panel'. Right click on 'Default Web Site' and select 'Properties'." -msgstr "" - -#: www/account/12.php:72 www/account/18.php:78 www/account/22.php:74 -#: www/account/5.php:78 -msgid "Revoke/Delete" -msgstr "" - -#: www/account/12.php:24 www/account/12.php:54 www/account/18.php:24 -#: www/account/18.php:54 www/account/22.php:24 www/account/22.php:54 -#: www/account/5.php:24 www/account/5.php:58 -msgid "Revoked" -msgstr "" - -#: www/index/51.php:31 -msgid "Right now it's happening all around you - there are secured websites and email protocols being protected and trusted by people, signed by CAcert." -msgstr "" - -#: includes/general_stuff.php:67 -msgid "Root Certificate" -msgstr "" - -#: www/index/16.php:18 www/index/3.php:18 -msgid "Root Certificate (DER Format)" -msgstr "" - -#: www/index/16.php:17 www/index/3.php:17 -msgid "Root Certificate (PEM Format)" -msgstr "" - -#: includes/account_stuff.php:182 -msgid "Rules" -msgstr "" - -#: www/index/7.php:20 -msgid "Put a lot of effort convincing people in Germany to signup and be assured, he started work on a new RFC compliant CPS, spent countless hours helping with tech support, and so much more" -msgstr "" - -#: www/index/0.php:63 -msgid "Same as above plus you can include your full name in the certificates." -msgstr "" - -#: www/index/0.php:94 -msgid "Same as above, except certificates expire in 24 months." -msgstr "" - -#: www/index/0.php:95 -msgid "Same as above, plus get 50 assurance points by meeting with assurer(s) from the CAcert Web of Trust, who verify your identity using your government issued photo identity documents." -msgstr "" - -#: www/index/0.php:65 -msgid "Same as above, plus you must get a minimum of 50 assurance points by meeting with one or more assurers from the CAcert Web of Trust, who verify your identity using your government issued photo identity documents." -msgstr "" - -#: www/index/0.php:93 -msgid "Same as above." -msgstr "" - -#: www/help/3.php:46
-msgid "Saving the certificate" -msgstr "" - -#: www/help/3.php:6 www/help/3.php:7 www/help/3.php:10 www/help/3.php:13
-#: www/help/3.php:16 www/help/3.php:19 www/help/3.php:29 www/help/3.php:32
-#: www/help/3.php:35 www/help/3.php:38 www/help/3.php:50 www/help/3.php:53
-#: www/help/3.php:56 www/help/3.php:59 www/help/3.php:62 www/help/3.php:65
-#: www/help/3.php:68
-msgid "Screenshot of IIS 5.0" -msgstr "" - -#: www/wot/7.php:127 -msgid "Search" -msgstr "" - -#: www/wot/7.php:120 -msgid "Search this region" -msgstr "" - -#: www/account/43.php:163 -msgid "Secondary Emails" -msgstr "" - -#: pages/wot/13.php:40 -msgid "Your location has been updated" -msgstr "" - -#: www/account.php:49 www/index.php:475 -msgid "Your message has been sent to the general support list." -msgstr "" - -#: www/account.php:35 www/index.php:464 -msgid "Your message has been sent." -msgstr "" - -#: includes/account.php:2480 -msgid "Your vote has been accepted." -msgstr "" - -#: www/cap.php:43 www/ttp.php:48 pages/help/3.php:62 -msgid "and" -msgstr "" - -#: www/ttp.php:107 -msgid "as applicable" -msgstr "" - -#: pages/account/13.php:56 pages/account/13.php:104 pages/index/1.php:48 -#: pages/index/5.php:26 -msgid "dd/mm/yyyy" -msgstr "" - -#: pages/wot/13.php:65 -msgid "eg Sydney, New South Wales, Australia" -msgstr "" - -#: includes/account.php:98 -msgid "has changed the default email on your account." -msgstr "" - -#: includes/account.php:1076 -msgid "has changed the password on your account." -msgstr "" - -#: pages/account/13.php:23 -msgid "has viewed your lost password questions." -msgstr "" - -#: pages/help/3.php:63 -msgid "lines. Do not copy any extra line feeds or carriage returns at the beginning or end of the certificate. Save the certificate into a text editor like Notepad. Save the certificate with an extension of .cer and a meaningful name like certificate.cer" -msgstr "" - -#: www/help/3.php:18
-msgid "Select 'Bit length'. We advise a key length of 1024 bits." -msgstr "" - -#: www/help/3.php:11
-msgid "Select 'Create a new certificate'" -msgstr "" - -#: www/help/3.php:55
-msgid "Select 'Server Certificate' at the bottom of the tab in the 'Secure communications' section." -msgstr "" - -#: www/account/43.php:28 www/account/49.php:28 -msgid "Select Specific Account Details" -msgstr "" - -#: www/help/3.php:37
-msgid "Select an easy to locate folder. You'll have to open this file up with Notepad. The CSR must be copied and pasted into our online form. Once the CSR has been submitted, you won't need this CSR any more as IIS won't reuse old CSR to generate new certificates." -msgstr "" - -#: www/help/3.php:61
-msgid "Select the .cer file and click 'Next'." -msgstr "" - -#: www/help/3.php:54
-msgid "Select the Directory Security tab" -msgstr "" - -#: www/account/40.php:30 www/account/40.php:48 www/index/11.php:30 -#: www/index/11.php:48 www/wot/9.php:60 -msgid "Send" -msgstr "" - -#: www/account/40.php:40 www/index/11.php:40 -msgid "Sensitive Information" -msgstr "" - -#: includes/account_stuff.php:161 -msgid "Server Certificates" -msgstr "" - -#: www/index/0.php:80 -msgid "Server certificates (un-assured)" -msgstr "" - -#: www/wot.php:247 -msgid "Shortly you and the person you were assuring will receive an email confirmation. There is no action on your behalf required to complete this." -msgstr "" - -#: www/account/40.php:51 www/index/11.php:51 -msgid "Snail Mail" -msgstr "" - -#: www/help/2.php:50 -msgid "So if you don't pass the audit, you don't get to be a Certificate Authority. And to pass the audit, well, you've got to show that you can do a good job issuing certificates. That they're secure, you only give them to the right people, etc. So what happens when you make a mistake and you erroneously issue a certificate that risks the entire Internet browsing population, like Verisign did? Well, er, nothing actually. They already paid for their audit, and damn it, they're so big now, we couldn't possibly revoke their Certificate Authority status. (There's too much money at stake!)" -msgstr "" - -#: www/index/51.php:33 -msgid "So what can I do to help the cause?" -msgstr "" - -#: www/help/2.php:52 -msgid "So, dammit, what's the point of all this then?" -msgstr "" - -#: www/account/39.php:39 www/index/10.php:39 -msgid "Some of our advertisers use a third-party ad server to display ads. These ads may contain cookies. The ad server receives these cookies, and we don't have access to them." -msgstr "" - -#: www/wot/9.php:19 www/wot/9.php:29 -msgid "Sorry, I was unable to locate that user." -msgstr "" - -#: www/wot/6.php:85 -msgid "Sponsoring Member" -msgstr "" - -#: www/help/4.php:10 -msgid "State or Province Name (full name) [NSW]:" -msgstr "" - -#: www/account/11.php:31 www/account/21.php:34 www/account/24.php:33 -#: www/account/27.php:36 -msgid "State/Province" -msgstr "" - -#: includes/general_stuff.php:66 www/stats.php:5 www/stats.php:9 -msgid "Statistics" -msgstr "" - -#: www/account/12.php:22 www/account/18.php:22 www/account/2.php:22 -#: www/account/22.php:22 www/account/5.php:22 www/account/9.php:22 -msgid "Status" -msgstr "" - -#: www/account/40.php:28 www/account/40.php:46 www/index/11.php:28 -#: www/index/11.php:46 www/wot/9.php:52 -msgid "Subject" -msgstr "" - -#: www/gpg.php:22 www/account/10.php:29 www/account/11.php:36 -#: www/account/20.php:27 www/account/21.php:38 www/account/45.php:18 -msgid "Submit" -msgstr "" - -#: www/account/13.php:41 www/account/13.php:89 www/account/43.php:90 -#: www/index/1.php:36 -msgid "Suffix" -msgstr "" - -#: includes/account_stuff.php:190 -msgid "System Admin" -msgstr "" - -#: www/help/6.php:7 -msgid "System will send you an email with a link in it, you just open the link in a webbrowser." -msgstr "" - -#: includes/general.php:24 www/wot/6.php:99
-msgid "Temporary Increase" -msgstr "" - -#: scripts/removedead.php:62 -msgid "Temporary points increase has expired." -msgstr "" - -#: www/help/2.php:55 -msgid "Ten Risks of PKI: What You're not Being Told about Public Key Infrastructure" -msgstr "" - -#: www/account/38.php:23 www/index/13.php:23 -msgid "Thank you very much for your support, your donations help CAcert to continue to operate." -msgstr "" - -#: www/index.php:314 -msgid "Thanks for signing up with CAcert.org, below is the link you need to open to verify your account. Once your account is verified you will be able to start issuing certificates till your hearts' content!" -msgstr "" - -#: www/help/2.php:47 -msgid "That situation has changed, and Internet Explorer, being the most obvious example, now insists that any Certificate Authorities are 'audited' by an 'independent' organisation, the American Institute for Certified Public Accountant's (AICPA). So now, if you have the money needed (from US$75000 up to US$250000 and beyond) you can get these accountants, who clearly know a lot about money, to approve you as having the required technical infrastructure and business processes to be a Certificate Authority. And they get a nice wad of money for the pleasure. And the Certificate Authorities, having a kind of monopoly as a result, charge a lot for certificates and also get a nice wad of money. And everyone's happy." -msgstr "" - -#: www/account/17.php:89 www/account/4.php:89 -msgid "The 1024-bit key generation failed. Would you like to try 512 instead?" -msgstr "" - -#: www/help/3.php:31
-msgid "The Common Name is the fully qualified host and Domain Name or website address that you will be securing. Both 'www.CAcert.org' and 'secure.CAcert.com' are valid Common Names. IP addresses are usually not used." -msgstr "" - -#: www/verify.php:46 -msgid "The ID or Hash has already been verified, or something weird happened." -msgstr "" - -#: www/verify.php:90 -msgid "The ID or Hash has already been verified, the domain no longer exists in the system, or something weird happened." -msgstr "" - -#: www/help/3.php:28
-msgid "The Organisational Unit field is the 'free' field. It is often the department or Server name for reference." -msgstr "" - -#: includes/account.php:838 -msgid "The Pass Phrase you submitted was too short." -msgstr "" - -#: www/index.php:94 -msgid "The Pass Phrase you submitted was too short. It must be at least 6 characters." -msgstr "" - -#: www/help/2.php:59 -msgid "The Regulation of Investigational Powers Act (RIPA)</a> ('Snooping Bill' official gov site, UK)" -msgstr "" - -#: www/index/0.php:103 -msgid "The ability to assure other new CAcert users; contribute to the strengthening and broadening of the CAcert Web of Trust." -msgstr "" - -#: includes/account.php:363 -msgid "The address you submitted isn't a valid authority address for the domain." -msgstr "" - -#: www/index/8.php:1 -#, php-format -msgid "The current %s board, and roles." -msgstr "" - -#: includes/account.php:394 -#, php-format -msgid "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." -msgstr "" - -#: www/account/0.php:22 -msgid "The email account section is for adding/updating/removing email accounts which can be used to issue client certificates against. The client certificate section steps you through generating a certificate signing request for one or more emails you've registered in the email account section." -msgstr "" - -#: includes/account.php:54 -#, php-format -msgid "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." -msgstr "" - -#: includes/account.php:86 -msgid "The following accounts have been removed:" -msgstr "" - -#: includes/account.php:403 -msgid "The following domains have been removed:" -msgstr "" - -#: www/index/0.php:104 -msgid "The number of assurance point you have will limit the maximum assurance points you can issue for people you assure." -msgstr "" - -#: www/account/10.php:30 www/account/20.php:27 -msgid "Please note: The class 3 root certificate needs to be setup in your webserver as a chained certificate, while slightly more complicated to setup, this root certificate is more likely to be trusted by more people." -msgstr "" - -#: www/help/2.php:62 -#, php-format -msgid "The page has been reproduced on %s with explicit permission from %sthe author%s with the information being copyrighted to the author (name with held by request)" -msgstr "" - -#: includes/account.php:1735
-#, php-format
-msgid "The password for %s has been updated successfully in the system." -msgstr "" - -#: www/index/0.php:21 -msgid "The primary goals are:" -msgstr "" - -#: www/help/2.php:15 -msgid "The purpose of digital signing is to prove, electronically, one's identity" -msgstr "" - -#: www/help/2.php:27 -msgid "The reason digital signatures prepare us for encryption is that if everyone were setup to be able to generate their own digital signatures, it would be technically very easy to make the next step from digital signatures to encryption. And that would be great for privacy, the fight against spamming, and a safer Internet." -msgstr "" - -#: www/help/7.php:6 -msgid "The requests sent to the root store, are stored in a file for another process triggered by cron to parse and sign them, then stored in a reply file to be sent back to the webserver. Causing things to be separated into different users, basic privilege separation stuff. So being actually able to hack the serial daemons will only at the VERY worst cause fraudulent certificates, not the root to be revealed." -msgstr "" - -#: www/index/51.php:34 -msgid "The simplest and most effective thing you can do is spread the word, by telling your friends, colleagues and relatives about us and join." -msgstr "" - -#: www/help/4.php:3 -msgid "Then the system will try to generate some very random numbers to get a secure key." -msgstr "" - -#: www/help/6.php:3 -msgid "Then you need to generate a Certificate Signing Request, for more details go:" -msgstr "" - -#: www/help/6.php:9 -msgid "Then you need to submit the contents from the CSR file to CAcert, you need to go:" -msgstr "" - -#: www/account/40.php:37 www/index/11.php:37 -msgid "There are a number of other mailing lists CAcert runs, some are general discussion, others are technical (such as the development list) or platform specific help (such as the list for Apple Mac users)" -msgstr "" - -#: www/account/16.php:42 www/account/3.php:54 -msgid "Please note: The class 3 root certificate needs to be imported into your email program as well as the class 1 root certificate so your email program can build a full trust path chain. Until we are included in browsers this might not be a desirable option for most people" -msgstr "" - -#: www/wot.php:284 -msgid "There was an error and I couldn't proceed" -msgstr "" - -#: www/help/0.php:25 -msgid "How does CAcert protect its root private key?" -msgstr "" - -#: www/index/19.php:15 -msgid "Information" -msgstr "" - -#: www/help/2.php:42 -msgid "There's nothing to it. I mean literally, you can already start sending your emails encrypted. Assuming of course you have your own digital signature certificate (e.g. as per above), and the person you want to send an encrypted email to also has a digital signature certificate, and has recently sent you a digitally signed email with it. If all these conditions hold, you just have to change the settings in your email software to send the email encrypted and hey presto! Your email software (probably Outlook I guess) should suss out the rest." -msgstr "" - -#: www/index.php:272 -msgid "This email address is currently valid in the system." -msgstr "" - -#: includes/account.php:1957 includes/account.php:1974 -#: includes/account.php:1984 -msgid "Your language setting has been updated." -msgstr "" - -#: www/wot/6.php:32 -#, php-format -msgid "This person already has %s assurance points. Any points you give this person may be rounded down, or they may not even get any points. If you have less then 150 points you will still receive 2 points for assuring them." -msgstr "" - -#: pages/index/2.php:16 -msgid "Your information has been submitted into our system. You will now be sent an email with a web link, you need to open that link in your web browser within 24 hours or your information will be removed from our system!" -msgstr "" - -#: www/help/2.php:46 -msgid "Thus, having now asked the question, you suppose that it's the people who make the browser software that have carefully decided who is a trustworthy Certificate Authority. Funnily enough, the mainstream browsers have not, historically, had public policies on how they decide whether a Certificate Authority gets added to their browser. All of the Certificate Authorities that have found themselves in the browser software, are big names, probably with big profits (so they must be doing a good job!)." -msgstr "" - -#: www/wot/9.php:42 -msgid "To" -msgstr "" - -#: www/help/5.php:1 -msgid "To be completed" -msgstr "" - -#: www/wot/2.php:15 -msgid "To become an Assurer" -msgstr "" - -#: www/index/51.php:17 -msgid "To create a Non-Profit Certificate Authority; an alternative to the commercial CAs." -msgstr "" - -#: www/help/2.php:33 -msgid "To fully understand, read the section directly above. I am using a free Certificate Authority to provide me with the ability to digitally sign my emails. As a result, this Certificate Authority is not (yet) recognised by your email software as it is a new organisation that is not yet fully established, although it is probably being included in the Mozilla browser. If you choose to, you can go the their site at CAcert.org to install the root certificate. You may be told that the certificate is untrusted - that is normal and I suggest that you continue installation regardless. Be aware that this implies your acceptance that you trust their secure distribution and storing of digital signatures, such as mine. (You already do this all the time). The CAcert.org root certificate will then automatically provide the safe validation of my digital signature, which I have entrusted to them. Or you can simply decide that you've wasted your time reading this and do nothing (humbug!). Shame on you! :-)" -msgstr "" - -#: www/help/3.php:2
-msgid "To generate a public and private key pair and CSR for a Microsoft IIS 5 Server:" -msgstr "" - -#: www/help/2.php:21 -msgid "To get from computer Internet User A to Internet User B an email may pass through tens of anonymous computers on the Internet. These 'Internet infrastructure' computers are all free to inspect and change the contents of your email as they see fit. Governments systematically browse the contents of all emails going in/out/within their country, e.g. the" -msgstr "" - -#: www/index/0.php:24 -msgid "To provide a trust mechanism to go with the security aspects of encryption." -msgstr "" - -#: www/account/43.php:217 www/account/43.php:252 www/wot/10.php:44 -msgid "Total Points" -msgstr "" - -#: www/wot/10.php:79 -msgid "Total Points Issued" -msgstr "" - -#: www/account/24.php:29 www/account/27.php:32 -msgid "Town/Suburb" -msgstr "" - -#: includes/general_stuff.php:76 -msgid "Translations" -msgstr "" - -#: pages/index/8.php:4 -msgid "Public Officer" -msgstr "" - -#: includes/account_stuff.php:205 includes/general.php:23 www/wot/4.php:15
-msgid "Trusted Third Parties" -msgstr "" - -#: www/help/2.php:60 -msgid "U.K. e-mail snooping bill passed" -msgstr "" - -#: www/help/2.php:21 -msgid "UK Government has done this since the year 2000" -msgstr "" - -#: www/index.php:126 -msgid "Unable to match your details with any user accounts on file" -msgstr "" - -#: www/help/3.php:5
-msgid "Under 'Administrative Tools', open the 'Internet Services Manager'. Then open up the properties window for the website you wish to request the certificate for. Right-clicking on the particular website will open up its properties." -msgstr "" - -#: www/help/0.php:12 -msgid "Unofficial FAQ/Wiki" -msgstr "" - -#: www/account/2.php:34 www/account/9.php:40 -msgid "Unverified" -msgstr "" - -#: www/account/13.php:123 www/account/27.php:48 www/account/29.php:35 -#: www/account/41.php:36 www/wot/8.php:35 -msgid "Update" -msgstr "" - -#: www/account/29.php:28 -#, php-format -msgid "Update Domain for %s" -msgstr "" - -#: www/account/36.php:28 -msgid "Update My Settings" -msgstr "" - -#: www/account/14.php:36 -msgid "Update Pass Phrase" -msgstr "" - -#: www/verify.php:55 www/verify.php:97 -msgid "Updated" -msgstr "" - -#: www/account/12.php:48 www/account/18.php:48 www/account/18.php:59 -#: www/account/22.php:48 www/account/22.php:59 www/account/5.php:52 -msgid "Valid" -msgstr "" - -#: www/stats.php:43 -msgid "Valid Certificates" -msgstr "" - -#: www/index/0.php:55 www/index/0.php:65 www/index/0.php:75 www/index/0.php:85 -#: www/index/0.php:95 www/index/0.php:105 www/index/0.php:115 -msgid "Verification needed" -msgstr "" - -#: www/account/2.php:32 www/account/9.php:38 -msgid "Verified" -msgstr "" - -#: www/stats.php:20 www/account/43.php:175 -msgid "Verified Domains" -msgstr "" - -#: www/stats.php:16 -msgid "Verified Emails" -msgstr "" - -#: www/stats.php:12 -msgid "Verified Users" -msgstr "" - -#: pages/index/8.php:3 -msgid "President" -msgstr "" - -#: includes/account_stuff.php:150 includes/account_stuff.php:154 -#: includes/account_stuff.php:158 includes/account_stuff.php:162 -#: includes/account_stuff.php:167 includes/account_stuff.php:171 -#: includes/account_stuff.php:177 includes/account_stuff.php:186 -msgid "View" -msgstr "" - -#: includes/account_stuff.php:177 -msgid "View Organisations" -msgstr "" - -#: www/account/29.php:23 www/account/30.php:23 -msgid "Warning!" -msgstr "" - -#: www/index/1.php:15 www/index/4.php:19 -msgid "Warning! This site requires cookies to be enabled to ensure your privacy and security. This site uses session cookies to store temporary values to prevent people from copying and pasting the session ID to someone else exposing their account, personal details and identity theft as a result." -msgstr "" - -#: www/capnew.php:1025 -msgid "driver license" -msgstr "" - -#: www/capnew.php:1117 -msgid "email address as e.g. john.family@gmail.com" -msgstr "" - -#: www/capnew.php:1331 -msgid "date of assurance" -msgstr "" - -#: www/capnew.php:1025 -msgid "certificate" -msgstr "" - -#: includes/account.php:1609 -#, php-format -msgid "Wasn't able to match '%s' against any user in the system" -msgstr "" - -#: www/account/39.php:34 www/index/10.php:34 -msgid "We analyse visitors' use of our sites by tracking information such as page views, traffic flow, search terms, and click through. We use this information to improve our sites. We also share this anonymous traffic and demographic information in aggregate form with advertisers and other business partners. We do not share any information with advertisers that can identify an individual user." -msgstr "" - -#: www/verify.php:124 -msgid "Your domain has been verified. You can now start issuing certificates for this domain." -msgstr "" - -#: www/wot.php:439 -msgid "Your email has been sent to" -msgstr "" - -#: pages/wot/7-old.php:174 -msgid "Your details have been updated." -msgstr "" - -#: www/account/39.php:42 www/index/10.php:42 -msgid "We don't use cookies to store personal information, we do use sessions, and if cookies are enabled, the session will be stored in a cookie, and we do not look for cookies, apart from the session id. However if cookies are disabled then no information will be stored on or looked for on your computer." -msgstr "" - -#: www/help/2.php:56 -msgid "WebTrust for Certification Authorities" -msgstr "" - -#: www/account.php:27 www/account.php:36 www/cps.php:3 www/gpg.php:160 -#: www/gpg.php:179 www/help.php:20 www/index.php:105 www/index.php:342 -#: www/index.php:353 www/index.php:362 www/logos.php:3 www/news.php:20 -#: www/stats.php:3 -msgid "Welcome to CAcert.org" -msgstr "" - -#: www/account/0.php:16 -msgid "Welcome to your account section of the website. Below is a description of the different sections and what they're for." -msgstr "" - -#: www/index/0.php:46 -msgid "What can CAcert provide to you, to increase your privacy and security for free?" -msgstr "" - -#: www/help/2.php:2 www/help/2.php:14 -msgid "What is it for?" -msgstr "" - -#: www/index/51.php:30 -msgid "When and Where?" -msgstr "" - -#: www/help/3.php:67
-msgid "When you have read this information, click 'Finish'." -msgstr "" - -#: pages/wot/13.php:67 -#, php-format -msgid "Your current location is set as: %s" -msgstr "" - -#: includes/account.php:109 -#, php-format -msgid "Your default email address has been updated to '%s'." -msgstr "" - -#: includes/account.php:1033 -msgid "Your details have been updated with the database." -msgstr "" - -#: www/account/43.php:194 www/account/43.php:229 www/wot/10.php:23 -#: www/wot/10.php:56 -msgid "Who" -msgstr "" - -#: www/index/51.php:19 -msgid "Who?" -msgstr "" - -#: www/help/2.php:3 www/help/2.php:19 -msgid "Why digitally sign your own emails?! (weirdo..)" -msgstr "" - -#: www/help/2.php:6 www/help/2.php:32 -msgid "Why is the digital signature described as 'not valid/not trusted'?" -msgstr "" - -#: www/help/2.php:5 www/help/2.php:29 -msgid "Why isn't it being adopted by everyone?" -msgstr "" - -#: www/help/7.php:7 -msgid "Why use serial you ask? Well certificate requests are low bandwidth for starters, then of course simpler systems in security are less prone to exploits, and finally serial code is pretty mature and well tested and hopefully all exploits were found and fixed a long time ago." -msgstr "" - -#: www/index/51.php:23 -msgid "Why?" -msgstr "" - -#: www/help/7.php:8 -msgid "With the proposed root certificate changes, there would be a new root, this would sign at least 1 sub-root, then the private key stored offline in a bank vault, with the sub-root doing all the signing, or alternatively 2 sub-roots, 1 for client certificates, one for server, the thinking behind this, if any of the sub-roots are compromised they can be revoked and reissued." -msgstr "" - -#: www/account/36.php:25 www/index/1.php:114 -msgid "Within 200km Announcements" -msgstr "" - -#: includes/account_stuff.php:182 -msgid "WoT Form" -msgstr "" - -#: www/cap.php:64 www/ttp.php:128 www/wot/6.php:66
-msgid "YYYY-MM-DD" -msgstr "" - -#: www/account/50.php:29 -msgid "Yes" -msgstr "" - -#: www/account/39.php:52 www/index/10.php:52 -msgid "You are able to update, add and remove your information at any time via our web interface, log into the 'My Account' and then click on the 'My Details' section, and then click the relevant link" -msgstr "" - -#: www/account/19.php:44 www/account/6.php:42 -msgid "You are about to install a certificate, if you are using mozilla/netscape based browsers you will not be informed that the certificate was installed successfully, you can go into the options dialog box, security and manage certificates to view if it was installed correctly however." -msgstr "" - -#: www/wot.php:54 -msgid "You are never allowed to Assure yourself!" -msgstr "" - -#: www/wot.php:68 -msgid "You are only allowed to Assure someone once!" -msgstr "" - -#: www/help/2.php:45 -msgid "You are putting your trust in people you don't know!" -msgstr "" - -#: scripts/removedead.php:56 -msgid "You are receiving this email because you had a temporary increase to 200 points. This has since expired and you have been reduced to 150 points." -msgstr "" - -#: www/wot.php:230 -#, php-format -msgid "You are receiving this email because you have assured %s %s (%s)." -msgstr "" - -#: www/wot.php:206 -#, php-format -msgid "You are receiving this email because you have been assured by %s %s (%s)." -msgstr "" - -#: includes/general_stuff.php:112 includes/tverify_stuff.php:78 -msgid "Further Information" -msgstr "" - -#: www/index/7.php:26 -msgid "Has been involved in translating this website into Portuguese" -msgstr "" - -#: www/index/7.php:24 -msgid "Has put a lot of time and effort into promoting and assuring people in Brazil and South America, and for helping to translate this site into Portuguese" -msgstr "" - -#: www/index.php:586 www/index.php:593 -msgid "This seems like potential spam, cannot continue." -msgstr "" - -#: www/index.php:572 www/index.php:579 -msgid "This seems like you have cookies or Javascript disabled, cannot continue." -msgstr "" - -#: includes/general_stuff.php:74 -msgid "CAcert Board" -msgstr "" - -#: www/account/40.php:22 www/index/11.php:22 -msgid "You can alternatively use the form below, however joining the list is the prefered option to support your queries" -msgstr "" - -#: includes/account.php:346 includes/account.php:617 includes/account.php:629 -#: includes/account.php:718 includes/account.php:833 includes/account.php:1259 -#: includes/account.php:1308 includes/account.php:1514 -#: includes/account.php:1567 includes/account.php:2233 -#, php-format -msgid "Your certificate request has failed to be processed correctly, see %sthe WIKI page%s for reasons and solutions." -msgstr "" - -#: pages/help/3.php:48 -msgid "Your country, state and city." -msgstr "" - -#: www/index/0.php:53 -msgid "You can send digitally signed/encrypted emails; others can send encrypted emails to you." -msgstr "" - -#: includes/account.php:68 -msgid "You currently don't have access to the email address you selected, or you haven't verified it yet." -msgstr "" - -#: www/wot.php:133 -msgid "You didn't list a valid sponsor for this action." -msgstr "" - -#: includes/account.php:1362 includes/account.php:1566 -#: includes/account.php:1686 -msgid "You don't have access to this area." -msgstr "" - -#: pages/account/40.php:68 pages/index/11.php:68 -msgid "Please use any of the following ways to report security issues: You can use the above contact form for sensitive information. You can email us to support@cacert.org. You can file a bugreport on <a href='https://bugs.cacert.org/'>bugs.cacert.org</a> and mark it as private." -msgstr "" - -#: www/wot.php:92 www/wot.php:99 -msgid "You failed to check all boxes to validate your adherence to the rules and policies of CAcert" -msgstr "" - -#: includes/account.php:842 -msgid "You failed to correctly enter your current Pass Phrase." -msgstr "" - -#: www/wot.php:109 -msgid "You failed to enter a location of your meeting." -msgstr "" - -#: www/index.php:97
-msgid "You failed to get all answers correct or you didn't configure enough lost password questions for your account. System admins have been notified." -msgstr "" - -#: www/gpg.php:24 -msgid "You failed to paste a valid GPG/PGP key." -msgstr "" - -#: www/index/0.php:113 -msgid "You get a vote in how CAcert (a non-profit association incorporated in Australia) is run; be eligible for positions on the CAcert board." -msgstr "" - -#: www/help/3.php:21
-msgid "You have now created a public/private key pair. The private key is stored locally on your machine. The public portion is sent to CAcert in the form of a CSR." -msgstr "" - -#: www/gpg.php:166 -msgid "Your certificate request has failed to be processed correctly, please try submitting it again." -msgstr "" - -#: pages/help/2.php:30 -msgid "Your browser includes special digital (root) certificates from a number of these 'Certificate Authorities' by default, and all web sites use certificates that are validated by one of these companies, which you as a user implicitly trust every time you go to the secure part of a web site. (You might ask, who validates the security of the Certificate Authorities, and why should you trust them?!" -msgstr "" - -#: www/disputes.php:107 -msgid "Your attempt to accept or reject a disputed email is invalid due to the hash string not matching with the email ID. Your attempt has been logged and the request will be removed from the system as a result." -msgstr "" - -#: www/disputes.php:110 -msgid "Your attempt to accept or reject a disputed email is invalid due to the hash string not matching with the email ID." -msgstr "" - -#: www/disputes.php:198 -msgid "Your attempt to accept or reject a disputed domain is invalid due to the hash string not matching with the domain ID. Your attempt has been logged and the request will be removed from the system as a result." -msgstr "" - -#: www/index.php:231 -msgid "Your account has not been verified yet, please check your email account for the signup messages." -msgstr "" - -#: www/wot.php:415 -msgid "Your account information has been updated." -msgstr "" - -#: www/disputes.php:201 -msgid "Your attempt to accept or reject a disputed domain is invalid due to the hash string not matching with the domain ID." -msgstr "" - -#: www/verify.php:66 -msgid "Your account and/or email address has been verified. You can now start issuing certificates for this address." -msgstr "" - -#: includes/account.php:1072 www/index.php:117 -msgid "Your Pass Phrase has been updated and your primary email account has been notified of the change." -msgstr "" - -#: pages/account/40.php:31 pages/account/40.php:54 pages/index/11.php:31 -#: pages/index/11.php:54 -msgid "Your Name" -msgstr "" - -#: pages/account/40.php:32 pages/account/40.php:55 pages/index/11.php:32 -#: pages/index/11.php:55 -msgid "Your Email" -msgstr "" - -#: www/verify.php:42 -msgid "You've attempted to verify the same email address a fourth time with an invalid hash, subsequently this request has been deleted in the system" -msgstr "" - -#: www/wot.php:344 -msgid "You've been Assured." -msgstr "" - -#: pages/account/43.php:287 pages/wot/10.php:40 -msgid "Your Assurance Points" -msgstr "" - -#: www/wot.php:360 -msgid "You've Assured Another Member." -msgstr "" - -#: www/verify.php:101 -msgid "You've attempted to verify the same domain a fourth time with an invalid hash, subsequantly this request has been deleted in the system" -msgstr "" - -#: pages/help/3.php:29 -msgid "You'll prepare the request now, but you can only submit the request via the online request forms. We do not accept CSRs via email." -msgstr "" - -#: pages/help/4.php:22 -msgid "You will then be asked to enter information about your company into the certificate. Below is a valid example:" -msgstr "" - -#: pages/help/3.php:80 -msgid "You will see a confirmation screen." -msgstr "" - -#: pages/help/3.php:37 -msgid "You will now create a CSR. This information will be displayed on your certificate, and identifies the owner of the key to users. The CSR is only used to request the certificate. The following characters must be excluded from your CSR fields, or your certificate may not work:" -msgstr "" - -#: pages/index/19.php:77 -msgid "You will need to be issued 100 points by meeting with existing assurers from the CAcert Web of Trust, who verify your identity using your government issued photo identity documents; OR if it is too difficult to meet up with existing assurers in your area, meet with two Trusted Third Party assurers (notary public, justice of the peace, lawyer, bank manager, accountant) to do the verifying." -msgstr "" - -#: www/wot.php:320 -#, php-format -msgid "You were issued %s points however the system has rounded this down to %s and you now have %s points in total." -msgstr "" - -#: www/wot.php:212 -msgid "You tried to give a temporary points increase to someone that already has more then 150 points. Can't continue." -msgstr "" - -#: includes/account.php:1964 -msgid "You tried to use an invalid language." -msgstr "" - -#: www/wot.php:322 -#, php-format -msgid "You were issued %s points and you now have %s points in total." -msgstr "" - -#: includes/account.php:233 -msgid "You submitted invalid email addresses, or email address you no longer have control of. Can't continue with certificate request." -msgstr "" - -#: pages/help/6.php:19 -msgid "You then need to add the domain you have control of to your account, which you can do:" -msgstr "" - -#: pages/help/2.php:29 -msgid "You see this all the time on the Internet - every time you go to a secure page on a web site, for example to enter personal details, or to make a purchase, every day you browse web sites that have been digitally signed by a Certificate Authority that is accepted as having the authority to sign it. This is all invisible to the user, except that you may be aware that you are entering a secure zone (e.g. SSL and HTTPS)." -msgstr "" - -#: www/disputes.php:269 -msgid "You only dispute the primary email address of an account if there is no longer any email addresses or domains linked to it." -msgstr "" - -#: www/wot.php:326 -msgid "You now have over 50 points, and can now have your name added to client certificates, and issue server certificates for up to 2 years." -msgstr "" - -#: www/wot.php:196 -msgid "You must enter the number of points you wish to allocate to this person." -msgstr "" - -#: pages/wot/3.php:21 -msgid "You must meet the applicant in person;" -msgstr "" - -#: pages/wot/3.php:22 -msgid "You must sight at least one form of government issued photo identification. It's preferable if 2 forms of Government issued photo ID are presented, as less points may be issued if there is any doubt on the person by the person issuing points;" -msgstr "" - -#: pages/account/17.php:17 pages/account/19.php:57 pages/account/4.php:17 -#: pages/account/6.php:55 -msgid "You must enable ActiveX for this to work." -msgstr "" - -#: pages/index/19.php:57 -msgid "You must confirm that you are the owner (or authorized administrator) of the domain by responding to a 'ping' email sent to either the email address listed in the whois record, or one of the RFC-mandatory addresses (hostmaster/postmaster/etc)." -msgstr "" - -#: www/analyse.php:25 -msgid "Analyse" -msgstr "" - -#: includes/account.php:840 www/index.php:100 -#, php-format -msgid "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." -msgstr "" - -#: www/src-lic.php:20 -msgid "CAcert Source License" -msgstr "" - -#: www/index/7.php:25 -msgid "Did a substantial amount of work on the previous website design, and has been floating about on the mailing lists often giving invaluble insight into what we should be doing better." -msgstr "" - -#: includes/account.php:25 includes/account.php:302 -msgid "Due to the possibility for punycode domain exploits we currently do not allow any certificates to sign punycode domains or email addresses." -msgstr "" - -#: www/help/9.php:28 -msgid "Firstly you need mod-ssl and apache setup (this is beyond the scope of this FAQ item and you will need to search on google etc for LAMP setup information). I recommend mod-ssl over apache-ssl because it means you need less resources to achieve the same result." -msgstr "" - -#: www/help/0.php:26 www/help/9.php:26 -msgid "How can I do a single sign on similar to CAcert using client certificates?" -msgstr "" - -#: www/index/1.php:17 -msgid "In light of the number of people having issues with making up a password we have the following suggestions:" -msgstr "" - -#: www/index/17.php:142
-msgid "Install a Root Certificate using Internet Explorer and the CEnroll ActiveX control. This avoids the Microsoft Certificate Installation wizard and all of its complexity and extra screens for users. This however will ONLY work for Microsoft Internet Explorer." -msgstr "" - -#: includes/general_stuff.php:111 -msgid "Mission Statement" -msgstr "" - -#: www/help/9.php:30 -msgid "Once you have everything setup and working you will need to add lines similar to below to your apache.conf" -msgstr "" - -#: www/help/9.php:49 -msgid "Once you have everything working and you've tested sending a client certificate to your site and you're happy all is well you can start adding code to PHP (or any other language you like that can pull server environment information). At present I only have PHP code available and the example is in PHP" -msgstr "" - -#: www/help/9.php:47 -msgid "Please note, you will need to alter the paths, hostname and IP of the above example, which is just that an example! The SSLCACertificateFile directive is supposed to point to a file with the root certificate you wish to verify your client certificates against, for the CAcert website we obviously only accept certificates issued by our own website and use our root certificate to initially verify this." -msgstr "" - -#: includes/general_stuff.php:69 -msgid "RSS News Feed" -msgstr "" - -#: www/help/2.php:67 -msgid "The point is, as the current situation holds, you should be wary of anyone making decisions for you (i.e. pre-installed certificates in your browser), and you should be weary of anyone else's certificates that you install. But at the end of the day, it all boils down to trust. If an independent Certificate Authority seems to be reputable to you, and you can find evidence to support this claim, there's no reason why you shouldn't trust it any less than you implicitly trust the people who have already made mistakes." -msgstr "" - -#: www/wot.php:233 -msgid "You listed an invalid sponsor for this action." -msgstr "" - -#: pages/wot/3.php:38 -msgid "You may charge a fee for your expenses if the applicant has been advised of the amount prior to the meeting." -msgstr "" - -#: pages/index/19.php:27 -msgid "You must confirm it is your email address by responding to a 'ping' email sent to it." -msgstr "" - -#: includes/account_stuff.php:153 includes/general_stuff.php:48 -#: includes/tverify_stuff.php:34 -msgid "Free digital certificates!" -msgstr "" - -#: www/wot.php:353 -#, php-format -msgid "You issued %s points and they now have %s points in total." -msgstr "" - -#: www/wot.php:351 -#, php-format -msgid "You issued %s points however the system has rounded this down to %s and they now have %s points in total." -msgstr "" - -#: www/wot.php:49 -msgid "A reminder notice has been sent." -msgstr "" - -#: includes/account_stuff.php:214 www/disputes/0.php:19 -msgid "Abuses" -msgstr "" - -#: www/disputes/4.php:26 www/disputes/6.php:26 -msgid "Accept Dispute" -msgstr "" - -#: www/wot/10.php:19 -msgid "Assurer Ranking" -msgstr "" - -#: www/index/16.php:24 www/index/3.php:24 -msgid "CAcert's GPG Key" -msgstr "" - -#: www/account/52.php:39 -msgid "Cer |