mirror of
				https://github.com/minio/minio.git
				synced 2025-10-29 15:55:00 -04:00 
			
		
		
		
	bucketpolicy: checkBucketPolicy should keep resources in map.
This is done to make sure to avoid appending duplicates for resources for each actions.
This commit is contained in:
		
							parent
							
								
									600a932acb
								
							
						
					
					
						commit
						996d2e2a10
					
				| @ -193,7 +193,7 @@ var invalidPrefixActions = map[string]struct{}{ | ||||
| func checkBucketPolicy(bucket string, bucketPolicy BucketPolicy) APIErrorCode { | ||||
| 	// Validate statements for special actions and collect resources | ||||
| 	// for others to validate nesting. | ||||
| 	var resources []string | ||||
| 	var resourceMap = make(map[string]struct{}) | ||||
| 	for _, statement := range bucketPolicy.Statements { | ||||
| 		for _, action := range statement.Actions { | ||||
| 			for _, resource := range statement.Resources { | ||||
| @ -211,12 +211,17 @@ func checkBucketPolicy(bucket string, bucketPolicy BucketPolicy) APIErrorCode { | ||||
| 						return ErrMalformedPolicy | ||||
| 					} | ||||
| 					// All valid resources collect them separately to verify nesting. | ||||
| 					resources = append(resources, resourcePrefix) | ||||
| 					resourceMap[resourcePrefix] = struct{}{} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	var resources []string | ||||
| 	for resource := range resourceMap { | ||||
| 		resources = append(resources, resource) | ||||
| 	} | ||||
| 
 | ||||
| 	// Sort strings as shorter first. | ||||
| 	sort.Strings(resources) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user