@@ -119,7 +119,7 @@ public function inGroup($uid, $gid): bool {
119119 $ parts = explode ('@ ' , $ mid ); //making sure we get only the uid
120120 $ mid = $ parts [0 ];
121121 }
122- $ filter = str_replace ('%uid ' , $ mid , $ this ->access ->connection ->ldapLoginFilter );
122+ $ filter = str_replace ('%uid ' , $ this -> access -> escapeFilterPart ( $ mid) , $ this ->access ->connection ->ldapLoginFilter );
123123 $ filterParts [] = $ filter ;
124124 $ bytes += strlen ($ filter );
125125 if ($ bytes >= 9000000 ) {
@@ -920,7 +920,7 @@ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
920920 case 'memberuid ' :
921921 //we got uids, need to get their DNs to 'translate' them to user names
922922 $ filter = $ this ->access ->combineFilterWithAnd ([
923- str_replace ('%uid ' , trim ($ member ), $ this ->access ->connection ->ldapLoginFilter ),
923+ str_replace ('%uid ' , $ this -> access -> escapeFilterPart ($ member ), $ this ->access ->connection ->ldapLoginFilter ),
924924 $ this ->access ->combineFilterWithAnd ([
925925 $ this ->access ->getFilterPartForUserSearch ($ search ),
926926 $ this ->access ->connection ->ldapUserFilter
@@ -1043,7 +1043,7 @@ public function countUsersInGroup($gid, $search = '') {
10431043 }
10441044 //we got uids, need to get their DNs to 'translate' them to user names
10451045 $ filter = $ this ->access ->combineFilterWithAnd ([
1046- str_replace ('%uid ' , $ member , $ this ->access ->connection ->ldapLoginFilter ),
1046+ str_replace ('%uid ' , $ this -> access -> escapeFilterPart ( $ member) , $ this ->access ->connection ->ldapLoginFilter ),
10471047 $ this ->access ->getFilterPartForUserSearch ($ search )
10481048 ]);
10491049 $ ldap_users = $ this ->access ->fetchListOfUsers ($ filter , ['dn ' ], 1 );
0 commit comments