@@ -118,7 +118,7 @@ public function inGroup($uid, $gid): bool {
118118 $ parts = explode ('@ ' , $ mid ); //making sure we get only the uid
119119 $ mid = $ parts [0 ];
120120 }
121- $ filter = str_replace ('%uid ' , $ mid , $ this ->access ->connection ->ldapLoginFilter );
121+ $ filter = str_replace ('%uid ' , $ this -> access -> escapeFilterPart ( $ mid) , $ this ->access ->connection ->ldapLoginFilter );
122122 $ filterParts [] = $ filter ;
123123 $ bytes += strlen ($ filter );
124124 if ($ bytes >= 9000000 ) {
@@ -917,7 +917,7 @@ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) {
917917 case 'memberuid ' :
918918 //we got uids, need to get their DNs to 'translate' them to user names
919919 $ filter = $ this ->access ->combineFilterWithAnd ([
920- str_replace ('%uid ' , trim ($ member ), $ this ->access ->connection ->ldapLoginFilter ),
920+ str_replace ('%uid ' , $ this -> access -> escapeFilterPart ($ member ), $ this ->access ->connection ->ldapLoginFilter ),
921921 $ this ->access ->combineFilterWithAnd ([
922922 $ this ->access ->getFilterPartForUserSearch ($ search ),
923923 $ this ->access ->connection ->ldapUserFilter
@@ -1040,7 +1040,7 @@ public function countUsersInGroup($gid, $search = '') {
10401040 }
10411041 //we got uids, need to get their DNs to 'translate' them to user names
10421042 $ filter = $ this ->access ->combineFilterWithAnd ([
1043- str_replace ('%uid ' , $ member , $ this ->access ->connection ->ldapLoginFilter ),
1043+ str_replace ('%uid ' , $ this -> access -> escapeFilterPart ( $ member) , $ this ->access ->connection ->ldapLoginFilter ),
10441044 $ this ->access ->getFilterPartForUserSearch ($ search )
10451045 ]);
10461046 $ ldap_users = $ this ->access ->fetchListOfUsers ($ filter , ['dn ' ], 1 );
0 commit comments