Merge branch 'release' into bug-1138
authorMichael Tänzer <neo@nhng.de>
Tue, 4 Feb 2014 22:29:23 +0000 (23:29 +0100)
committerMichael Tänzer <neo@nhng.de>
Tue, 4 Feb 2014 22:29:23 +0000 (23:29 +0100)
Conflicts:
includes/account.php
includes/notary.inc.php

Signed-off-by: Michael Tänzer <neo@nhng.de>
1  2 
includes/account.php
includes/notary.inc.php
pages/account/13.php
www/wot.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']);
+ /**
+  * Build a subject string as needed by the signer
+  *
+  * @param array(string) $domains
+  *     First domain is used as CN and repeated in subjectAltName. Duplicates
+  *     should already been removed
+  *
+  * @param bool $include_xmpp_addr
+  *     [default: true] Whether to include the XmppAddr in the subjectAltName.
+  *     This is needed if the Jabber server is jabber.example.com but a Jabber ID
+  *     on that server would be alice@example.com
+  *
+  * @return string
+  */
+ function buildSubject(array $domains, $include_xmpp_addr = true) {
+       $subject = "/CN=${domains[0]}";
+       foreach ($domains as $domain) {
+               $subject .= "/subjectAltName=DNS:$domain";
+               if ($include_xmpp_addr) {
+                       $subject .= "/subjectAltName=otherName:1.3.6.1.5.5.7.8.5;UTF8:$domain";
+               }
+       }
+       return $subject;
+ }
+ /**
+  * Builds the subject string from the session variables
+  * $_SESSION['_config']['rows'] and $_SESSION['_config']['altrows']
+  *
+  * @return string
+  */
+ function buildSubjectFromSession() {
+       $domains = array();
+       if (is_array($_SESSION['_config']['rows'])) {
+               $domains = array_merge($domains, $_SESSION['_config']['rows']);
+       }
+       if (is_array($_SESSION['_config']['altrows']))
+               foreach ($_SESSION['_config']['altrows'] as $row) {
+                       if (substr($row, 0, 4) === "DNS:") {
+                               $domains[] = substr($row, 4);
+                       }
+               }
+       return buildSubject(array_unique($domains));
+ }
+       $id = array_key_exists("id",$_REQUEST) ? intval($_REQUEST['id']) : 0;
+       $oldid = array_key_exists("oldid",$_REQUEST) ? intval($_REQUEST['oldid']) : 0;
+       $process = array_key_exists("process",$_REQUEST) ? $_REQUEST['process'] : "";
+ //    $showdetalis refers to Secret Question and Answers from account/13.php
+       $showdetails = array_key_exists("showdetails",$_REQUEST) ? intval($_REQUEST['showdetails']) : 0;
+       $cert = array_key_exists('cert',$_REQUEST) ? intval($_REQUEST['cert']) : 0;
+       $orgid = array_key_exists('orgid',$_REQUEST) ? intval($_REQUEST['orgid']) : 0;
+       $memid = array_key_exists('memid',$_REQUEST) ? intval($_REQUEST['memid']) : 0;
+       $domid = array_key_exists('domid',$_REQUEST) ? intval($_REQUEST['domid']) : 0;
 +      $ticketno=""; if(array_key_exists('ticketno',$_REQUEST)) $ticketno=$_REQUEST['ticketno'];
  
        if(!$_SESSION['mconn'])
        {
                echo _("Several CAcert Services are currently unavailable. Please try again later.");
  
                        sendmail($row['email'], "[CAcert.org] "._("Password Update Notification"), $body,
                                                "support@cacert.org", "", "", "CAcert Support");
 +                      write_se_log(intval($_REQUEST['userid']), $_SESSION['profile']['id'],'SE reset password',$ticketno);
                }
                showfooter();
                exit;
 +      }elseif($oldid == 44 && $ticketvalidation == FALSE){
 +              $_SESSION['ticketmsg']='No password reset taken. Ticket number is missing!';
        }
  
 +
        if($process != "" && $oldid == 45)
        {
                $CSR = clean_csr($CSR);
                return $rec;
        }
  
-       function delete_user_agreement($memid, $type="CCA"){
-       //deletes all entries to an user for the given type of user agreements
-               mysql_query("delete from `user_agreements` where `memid`='".$memid."'");
-               mysql_query("delete from `user_agreements` where `secmemid`='".$memid."'");
 +function get_user_agreement($memid){
 +      $query="(SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 1 as `active` FROM user_agreements u WHERE u.`document` = 'CCA' AND (u.`memid`=".$memid." ) order by u.`date` )
 +                      union
 +                      (SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 0 as `active` FROM user_agreements u WHERE u.`document` = 'CCA' AND ( u.`secmemid`=".$memid.") order by u.`date`)
 +                      union
 +                      (SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 0 as `active` FROM user_agreements u WHERE u.`document` != 'CCA' AND ( u.`memid`=".$memid.") order by u.u.`document`, u.`date`) " ;
 +      $res = mysql_query($query);
 +
 +      return mysql_query($query);
 +}
 +
 -      //deletes all entries to an user for the given type of user agreements
+       /**
+        * delete_user_agreement()
+        *  deletes all entries for a given type from user_agreement of a given user, if type is not given all
+        * @param mixed $memid
+        * @param string $type
+        * @return
+        */
+       function delete_user_agreement($memid, $type=false){
+               if ($type === false) {
+                       $filter = '';
+               } else {
+                       $filter = " and `document` = '" . mysql_real_escape_string($type) . "'";
+               }
+               mysql_query("delete from `user_agreements` where `memid`=" . intval($memid) . $filter );
        }
  
        // functions for 6.php (assure somebody)
Simple merge
diff --cc www/wot.php
Simple merge