__acl: add compatibility for deprecated parameters
This commit is contained in:
		
					parent
					
						
							
								91a6ecc701
							
						
					
				
			
			
				commit
				
					
						a5df0badaf
					
				
			
		
					 6 changed files with 47 additions and 14 deletions
				
			
		| 
						 | 
					@ -20,9 +20,11 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# TODO check if filesystem has ACL turned on etc
 | 
					# TODO check if filesystem has ACL turned on etc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
grep -E '^(default:)?(user|group):' "$__object/parameter/acl" \
 | 
					if [ -f "$__object/parameter/acl" ]
 | 
				
			||||||
| while read -r acl
 | 
					then
 | 
				
			||||||
do
 | 
					    grep -E '^(default:)?(user|group):' "$__object/parameter/acl" \
 | 
				
			||||||
 | 
					    | while read -r acl
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
        param="$( echo "$acl" | awk -F: '{print $(NF-2)}' )"
 | 
					        param="$( echo "$acl" | awk -F: '{print $(NF-2)}' )"
 | 
				
			||||||
        check="$( echo "$acl" | awk -F: '{print $(NF-1)}' )"
 | 
					        check="$( echo "$acl" | awk -F: '{print $(NF-1)}' )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,4 +35,5 @@ do
 | 
				
			||||||
            echo "missing $param '$check'" >&2
 | 
					            echo "missing $param '$check'" >&2
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
done
 | 
					    done
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,27 @@ acl_path="/$__object_id"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
acl_is="$( cat "$__object/explorer/acl_is" )"
 | 
					acl_is="$( cat "$__object/explorer/acl_is" )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
acl_should="$( cat "$__object/parameter/acl" )"
 | 
					if [ -f "$__object/parameter/acl" ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    acl_should="$( cat "$__object/parameter/acl" )"
 | 
				
			||||||
 | 
					elif
 | 
				
			||||||
 | 
					    [ -f "$__object/parameter/user" ] \
 | 
				
			||||||
 | 
					        || [ -f "$__object/parameter/group" ] \
 | 
				
			||||||
 | 
					        || [ -f "$__object/parameter/mask" ] \
 | 
				
			||||||
 | 
					        || [ -f "$__object/parameter/other" ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    acl_should="$( for param in user group mask other
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
 | 
					        [ ! -f "$__object/parameter/$param" ] && continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "$param" | grep -Eq 'mask|other' && sep=:: || sep=:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        echo "$param$sep$( cat "$__object/parameter/$param" )"
 | 
				
			||||||
 | 
					    done )"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    echo 'no parameters set' >&2
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ -f "$__object/parameter/default" ]
 | 
					if [ -f "$__object/parameter/default" ]
 | 
				
			||||||
then
 | 
					then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,12 @@ remove
 | 
				
			||||||
   ``mask`` and ``other`` entries can't be removed, but only changed.
 | 
					   ``mask`` and ``other`` entries can't be removed, but only changed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEPRECATED PARAMETERS
 | 
				
			||||||
 | 
					---------------------
 | 
				
			||||||
 | 
					Parameters ``user``, ``group``, ``mask`` and ``other`` are deprecated and they
 | 
				
			||||||
 | 
					will be removed in future versions. Please use ``acl`` parameter instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXAMPLES
 | 
					EXAMPLES
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								cdist/conf/type/__acl/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								cdist/conf/type/__acl/parameter/optional
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,2 @@
 | 
				
			||||||
 | 
					mask
 | 
				
			||||||
 | 
					other
 | 
				
			||||||
							
								
								
									
										3
									
								
								cdist/conf/type/__acl/parameter/optional_multiple
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cdist/conf/type/__acl/parameter/optional_multiple
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					acl
 | 
				
			||||||
 | 
					user
 | 
				
			||||||
 | 
					group
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
acl
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue