wg-quick: fsync the temporary file before renaming
This ensures that on an unclean shutdown, we either see the old content or the new content, but not empty content. Suggested-by: Ka Ho Ng <ngkaho1234@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
		
							parent
							
								
									eb181e811c
								
							
						
					
					
						commit
						6e313371cc
					
				@ -197,6 +197,7 @@ save_config() {
 | 
			
		||||
	current_config="$(cmd wg showconf "$INTERFACE")"
 | 
			
		||||
	trap 'rm -f "$CONFIG_FILE.tmp"; exit' INT TERM EXIT
 | 
			
		||||
	echo "${current_config/\[Interface\]$'\n'/$new_config}" > "$CONFIG_FILE.tmp" || die "Could not write configuration file"
 | 
			
		||||
	sync "$CONFIG_FILE.tmp"
 | 
			
		||||
	mv "$CONFIG_FILE.tmp" "$CONFIG_FILE" || die "Could not move configuration file"
 | 
			
		||||
	trap - INT TERM EXIT
 | 
			
		||||
	umask "$old_umask"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user