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