Procházet zdrojové kódy

Ticket 47738 - use PL_strcasestr instead of strcasestr

Bug Description:  The use of strcasestr results in unresolved symbols for
                  libacl-plugin.so on build on Solaris

Fix Description:  Use PR_strcasestr

Original patch submitted by: cgrzemba(Thanks!)

https://fedorahosted.org/389/ticket/47738

Reviewed by: mreynolds
Mark Reynolds před 11 roky
rodič
revize
67177a2108

+ 17 - 17
ldap/servers/plugins/acl/acllas.c

@@ -584,9 +584,9 @@ DS_LASUserDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
 		} else {
 			/* URL format */
 			
-			if ((strcasestr (user, ACL_RULE_MACRO_DN_KEY) != NULL) ||
-				(strcasestr (user, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
-				(strcasestr (user, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {			
+			if ((PL_strcasestr (user, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+			    (PL_strcasestr (user, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+			    (PL_strcasestr (user, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
 				
 				matched = aclutil_evaluate_macro( s_user, &lasinfo,
 													ACL_EVAL_USER);
@@ -856,9 +856,9 @@ DS_LASGroupDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
 					"Group not evaluated(%s)\n", groupName);
 			break;
 		} else {			
-			if ((strcasestr (groupName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
-				(strcasestr (groupName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
-				(strcasestr (groupName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {			
+			if ((PL_strcasestr (groupName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+			    (PL_strcasestr (groupName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+			    (PL_strcasestr (groupName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
 				matched = aclutil_evaluate_macro( groupName, &lasinfo,
 													ACL_EVAL_GROUP);
 				slapi_log_error ( SLAPI_LOG_ACL, plugin_name,
@@ -1075,9 +1075,9 @@ DS_LASRoleDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
 		} else {
 
 			/* Take care of param strings */
-			if ((strcasestr (role, ACL_RULE_MACRO_DN_KEY) != NULL) ||
-				(strcasestr (role, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
-				(strcasestr (role, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {			
+			if ((PL_strcasestr (role, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+			    (PL_strcasestr (role, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+			    (PL_strcasestr (role, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
 				
 				matched = aclutil_evaluate_macro( role, &lasinfo,
 													ACL_EVAL_ROLE);
@@ -2626,9 +2626,9 @@ DS_LASGroupDnAttrEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
 
 		/* In this case "grppupdnattr="ldap:///base??attr" */
 
-		if ((strcasestr (attrName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
-			(strcasestr (attrName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
-			(strcasestr (attrName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {			
+		if ((PL_strcasestr (attrName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+		    (PL_strcasestr (attrName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+		    (PL_strcasestr (attrName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
 				
 				matched = aclutil_evaluate_macro( attrName, &lasinfo,
 													ACL_EVAL_GROUPDNATTR);
@@ -4199,12 +4199,12 @@ acllas_replace_dn_macro( char *rule, char *matched_val, lasInfo *lasinfo) {
 	int has_macro_levels = 0;
 	
 	/* Determine what the rule's got once */
-	if ( strcasestr(rule, ACL_RULE_MACRO_DN_KEY) != NULL) {
+	if ( PL_strcasestr(rule, ACL_RULE_MACRO_DN_KEY) != NULL) {
 		/* ($dn) exists */
 		has_macro_dn = 1;
 	}
 
-	if ( strcasestr(rule, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) {
+	if ( PL_strcasestr(rule, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) {
 		/* [$dn] exists */
 		has_macro_levels = 1;
 	}
@@ -4308,7 +4308,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
 	int l;
 	Slapi_Attr *attr = NULL;
 	
-	str = strcasestr(rule, ACL_RULE_MACRO_ATTR_KEY);
+	str = PL_strcasestr(rule, ACL_RULE_MACRO_ATTR_KEY);
 	if ( str == NULL ) {
 
 		charray_add(&a, slapi_ch_strdup(rule));
@@ -4317,7 +4317,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
 	} else {
 	
 		working_rule = slapi_ch_strdup(rule);
-		str = strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
+		str = PL_strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
 		charray_add(&working_list, working_rule );
 		
 		while( str != NULL) {
@@ -4415,7 +4415,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
 			slapi_ch_free_string(&macro_str);
 			slapi_ch_free_string(&macro_attr_name);
 			
-			str = strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
+			str = PL_strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
 		
         }/* while */
 		

+ 2 - 2
ldap/servers/plugins/acl/aclparse.c

@@ -318,8 +318,8 @@ __aclp__parse_aci(char *str, aci_t  *aci_item, char **errbuf)
 			 * have a target and it must have a macro.
 			*/
 		
-			if ((strcasestr(str, ACL_RULE_MACRO_DN_KEY) != NULL) ||
-			    (strcasestr(str, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL)) {
+			if ((PL_strcasestr(str, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+			    (PL_strcasestr(str, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL)) {
 			
 				/* Must have a targetmacro */
 				if ( !(aci_item->aci_type & ACI_TARGET_MACRO_DN)) {

+ 3 - 3
ldap/servers/plugins/acl/aclutil.c

@@ -1250,7 +1250,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
 		char *working_s, *suffix, *prefix, *patched;
 		int replace_with_len, substr_len, prefix_len, suffix_len;
 
-		if (strcasestr(s, substr) == NULL) {
+		if (PL_strcasestr(s, substr) == NULL) {
 			return(slapi_ch_strdup(s));
 		} else {
 
@@ -1260,7 +1260,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
 		
 			working_s = slapi_ch_strdup(s);	
 			prefix = working_s;
-			str = strcasestr(prefix, substr);
+			str = PL_strcasestr(prefix, substr);
 			
 			while (str != NULL) {
 				
@@ -1287,7 +1287,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
 
 				working_s = patched;
 				prefix = working_s;
-				str = strcasestr(prefix, substr);		
+				str = PL_strcasestr(prefix, substr);
 				
 			}