removed checks if attribute and objectclass are in schema
This commit is contained in:
		
							parent
							
								
									7260a8c409
								
							
						
					
					
						commit
						5e97605681
					
				|  | @ -80,37 +80,6 @@ class cache { | ||||||
| 		// Check input variables
 | 		// Check input variables
 | ||||||
| 		$allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); | 		$allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); | ||||||
| 		if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); | 		if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); | ||||||
| 		$line=-1; |  | ||||||
| 		for ($i=0; $i<count($_SESSION['ldap']->objectClasses) || $i==-1; $i++) { |  | ||||||
| 			if (strpos($_SESSION['ldap']->objectClasses[$i], "NAME '$objectClass'")) $line = $i; |  | ||||||
| 			} |  | ||||||
| 		// Return error if objectClass isn't found
 |  | ||||||
| 		if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in LDAP."), $objectClass), E_USER_WARNING); |  | ||||||
| 
 |  | ||||||
| 		// Create list of all allowed attributes
 |  | ||||||
| 		$allowed_attributes = array(); |  | ||||||
| 		for ($i=0; $i<count($_SESSION['ldap']->objectClasses); $i++ ) { |  | ||||||
| 			if (strpos($_SESSION['ldap']->objectClasses[$i],  'MUST (')) { |  | ||||||
| 				$string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i],  'MUST (')+6); |  | ||||||
| 				// Now we have a string with all must-attributes
 |  | ||||||
| 				$string = substr($string_withtail, 0, strpos($string_withtail, ')')); |  | ||||||
| 				$string = trim($string); |  | ||||||
| 				$allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); |  | ||||||
| 				} |  | ||||||
| 			// create array with may-attributes
 |  | ||||||
| 			// Get startposition in string
 |  | ||||||
| 			if (strpos($_SESSION['ldap']->objectClasses[$i],  'MAY (')) { |  | ||||||
| 				$string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i],  'MAY (')+5); |  | ||||||
| 				// Now we have a string with all must-attributes
 |  | ||||||
| 				$string = substr($string_withtail, 0, strpos($string_withtail, ')')); |  | ||||||
| 				$string = trim($string); |  | ||||||
| 				$allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 		$allowed_attributes = array_unique($allowed_attributes); |  | ||||||
| 		if (!in_array($attribute, $allowed_attributes)) trigger_error(_('Attribute not defined in LDAP.'), E_USER_WARNING); |  | ||||||
| 
 |  | ||||||
| 		// Everything seems to be OK, start processing data
 |  | ||||||
| 		$this->refresh_cache(); | 		$this->refresh_cache(); | ||||||
| 		if ($singlescope == '*') $scopes = $allowed_types; | 		if ($singlescope == '*') $scopes = $allowed_types; | ||||||
| 			else $scopes = array ( $singlescope ); | 			else $scopes = array ( $singlescope ); | ||||||
|  | @ -147,30 +116,6 @@ class cache { | ||||||
| 		// Check input variables
 | 		// Check input variables
 | ||||||
| 		$allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); | 		$allowed_types = array ( 'user', 'group', 'host', 'domain', '*' ); | ||||||
| 		if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); | 		if (!in_array($singlescope, $allowed_types)) trigger_error(sprintf('Invalid scope. Valid scopes are %s.', implode(" ", $allowed_types)), E_USER_ERROR); | ||||||
| 		// Create list of all allowed attributes
 |  | ||||||
| 		$allowed_attributes = array(); |  | ||||||
| 		for ($i=0; $i<count($_SESSION['ldap']->objectClasses); $i++ ) { |  | ||||||
| 			if (strpos($_SESSION['ldap']->objectClasses[$i],  'MUST (')) { |  | ||||||
| 				$string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i],  'MUST (')+6); |  | ||||||
| 				// Now we have a string with all must-attributes
 |  | ||||||
| 				$string = substr($string_withtail, 0, strpos($string_withtail, ')')); |  | ||||||
| 				$string = trim($string); |  | ||||||
| 				$allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); |  | ||||||
| 				} |  | ||||||
| 			// create array with may-attributes
 |  | ||||||
| 			// Get startposition in string
 |  | ||||||
| 			if (strpos($_SESSION['ldap']->objectClasses[$i],  'MAY (')) { |  | ||||||
| 				$string_withtail = substr($_SESSION['ldap']->objectClasses[$i], strpos($_SESSION['ldap']->objectClasses[$i],  'MAY (')+5); |  | ||||||
| 				// Now we have a string with all must-attributes
 |  | ||||||
| 				$string = substr($string_withtail, 0, strpos($string_withtail, ')')); |  | ||||||
| 				$string = trim($string); |  | ||||||
| 				$allowed_attributes = array_merge($allowed_attributes, explode(" $ ", $string)); |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 		$allowed_attributes = array_unique($allowed_attributes); |  | ||||||
| 		if (!in_array($attribute, $allowed_attributes)) trigger_error(_('Attribute not defined in LDAP.'), E_USER_WARNING); |  | ||||||
| 
 |  | ||||||
| 		// Everything seems to be OK, start processing data
 |  | ||||||
| 		$this->refresh_cache(); | 		$this->refresh_cache(); | ||||||
| 		if ($singlescope == '*') $scopes = $allowed_types; | 		if ($singlescope == '*') $scopes = $allowed_types; | ||||||
| 			else $scopes = array ( $singlescope ); | 			else $scopes = array ( $singlescope ); | ||||||
|  | @ -248,7 +193,7 @@ class cache { | ||||||
| 		$allowed_types = array ( 'user', 'group', 'host', '*' ); | 		$allowed_types = array ( 'user', 'group', 'host', '*' ); | ||||||
| 		for ($i=0; $i<count($allowed_types); $i++) { | 		for ($i=0; $i<count($allowed_types); $i++) { | ||||||
| 			if ($allowed_types[$i]!='*') { | 			if ($allowed_types[$i]!='*') { | ||||||
| 				If ($scope != '*') | 				If ($mode != '*') | ||||||
| 					$suffix = $_SESSION['config']->get_Suffix($allowed_types[$i]); | 					$suffix = $_SESSION['config']->get_Suffix($allowed_types[$i]); | ||||||
| 					else $suffix = ''; | 					else $suffix = ''; | ||||||
| 				if (substr($suffix, $dn)) $singlescope = $allowed_types[$i]; | 				if (substr($suffix, $dn)) $singlescope = $allowed_types[$i]; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue