Advertisement
Guest User

ldapauth.php.patch

a guest
Nov 2nd, 2012
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.54 KB | None | 0 0
  1. --- /run/user/nathaniel/gvfs/sftp:host=vcl.sharcnet.ca,user=root/root/patches/ldapnumericid/ldapauth.php.orig
  2. +++ /run/user/nathaniel/gvfs/sftp:host=vcl.sharcnet.ca,user=root/root/patches/ldapnumericid/ldapauth.php.mod
  3. @@ -41,15 +41,16 @@
  4.  
  5.     $loweruserid = strtolower($userid);
  6.     $loweruserid = mysql_real_escape_string($loweruserid);
  7. +   $numericid = $authMechs[$authtype]['numericid'];
  8.  
  9.     # check for existance of an expired user if a numericid exists
  10. -   if(array_key_exists('numericid', $data)) {
  11. +   if(array_key_exists($numericid, $data)) {
  12.         $query = "SELECT id, "
  13.                .        "unityid, "
  14.                .        "affiliationid "
  15.                . "FROM user "
  16.                . "WHERE lastupdated < DATE_SUB(NOW(), INTERVAL 1 YEAR) AND "
  17. -              .       "uid = {$data['numericid']} AND "
  18. +              .       "uid = {$data[$numericid]} AND "
  19.                .       "unityid != '$loweruserid'";
  20.                #.       "affiliationid = {$authMechs[$authtype]['affiliationid']}";
  21.         $qh = doQuery($query, 101);
  22. @@ -75,7 +76,7 @@
  23.     }
  24.  
  25.     $query = "INSERT INTO user (";
  26. -   if(array_key_exists('numericid', $data))
  27. +   if(array_key_exists($numericid, $data))
  28.         $query .=    "uid, ";
  29.     $query .=       "unityid, "
  30.            .        "affiliationid, "
  31. @@ -85,8 +86,8 @@
  32.            .        "emailnotices, "
  33.            .        "lastupdated) "
  34.            . "VALUES (";
  35. -   if(array_key_exists('numericid', $data))
  36. -       $query .=    "{$data['numericid']}, ";
  37. +   if(array_key_exists($numericid, $data))
  38. +       $query .=    "{$data[$numericid]}, ";
  39.     $query .=       "'$loweruserid', "
  40.            .        "{$authMechs[$authtype]['affiliationid']}, "
  41.            .        "'{$data['first']}', "
  42. @@ -171,6 +172,7 @@
  43.         return NULL;
  44.     $affilid = $authMechs[$authtype]['affiliationid'];
  45.     $now = unixToDatetime(time());
  46. +   $numericid = $authMechs[$authtype]['numericid'];
  47.  
  48.     // select desired data from db
  49.     $query = "SELECT i.name AS IMtype, "
  50. @@ -195,9 +197,9 @@
  51.            .      "affiliation af "
  52.            . "WHERE u.IMtypeid = i.id AND "
  53.            .       "af.id = $affilid AND ";
  54. -   if(array_key_exists('numericid', $userData) &&
  55. -      is_numeric($userData['numericid']))
  56. -       $query .=   "u.uid = {$userData['numericid']}";
  57. +   if(array_key_exists($numericid, $userData) &&
  58. +      is_numeric($userData[$numericid]))
  59. +       $query .=   "u.uid = {$userData[$numericid]}";
  60.     else {
  61.         $query .=   "u.unityid = '$esc_userid' AND "
  62.                .    "u.affiliationid = $affilid";
  63. @@ -218,9 +220,9 @@
  64.                .     "lastname = '{$userData['last']}', "
  65.                .     "email = '{$userData['email']}', "
  66.                .     "lastupdated = '$now' ";
  67. -       if(array_key_exists('numericid', $userData) &&
  68. -          is_numeric($userData['numericid']))
  69. -           $query .= "WHERE uid = {$userData['numericid']}";
  70. +       if(array_key_exists($numericid, $userData) &&
  71. +          is_numeric($userData[$numericid]))
  72. +           $query .= "WHERE uid = {$userData[$numericid]}";
  73.         else
  74.             $query .= "WHERE unityid = '$esc_userid' AND "
  75.                    .        "affiliationid = $affilid";
  76. @@ -295,8 +297,9 @@
  77.  function getLDAPUserData($authtype, $userid) {
  78.     global $authMechs, $mysql_link_vcl;
  79.     $auth = $authMechs[$authtype];
  80. +   $numericid = $auth['numericid'];
  81.     $donumericid = 0;
  82. -   if(array_key_exists('numericid', $auth))
  83. +   if(array_key_exists($numericid, $auth))
  84.         $donumericid = 1;
  85.  
  86.     $ds = ldap_connect("ldaps://{$auth['server']}/");
  87. @@ -315,7 +318,7 @@
  88.                         $auth['lastname'],
  89.                         $auth['email']);
  90.     if($donumericid)
  91. -       array_push($ldapsearch, $auth['numericid']);
  92. +       array_push($ldapsearch, $auth[$numericid]);
  93.     # FIXME hack
  94.     array_push($ldapsearch, 'gecos');
  95.  
  96. @@ -376,8 +379,8 @@
  97.             $return['last'] = mysql_real_escape_string($data[strtolower($auth['lastname'])]);
  98.         else
  99.             $return['last'] = '';
  100. -       if($donumericid && is_numeric($data[strtolower($auth['numericid'])]))
  101. -           $return['numericid'] = $data[strtolower($auth['numericid'])];
  102. +       if($donumericid && is_numeric($data[strtolower($auth[$numericid])]))
  103. +           $return[$numericid] = $data[strtolower($auth[$numericid])];
  104.         $return['email'] = mysql_real_escape_string($data[strtolower($auth['email'])]);
  105.  
  106.         return $return;
  107. @@ -409,10 +412,13 @@
  108.     if(! $res)
  109.         return 0;
  110.  
  111. +
  112.     $search = ldap_search($ds,
  113.                           $auth['binddn'],
  114.                           "{$auth['unityid']}={$user['unityid']}",
  115.                           array('memberof'), 0, 10, 15);
  116. +
  117. +
  118.     if(! $search)
  119.         return 0;
  120.  
  121. @@ -428,5 +434,6 @@
  122.     }
  123.     $newusergroups = array_unique($newusergroups);
  124.     updateGroups($newusergroups, $user["id"]);
  125. +
  126.  }
  127.  ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement