[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] tools/hotplug: Fix dhcpd symlink removal in vif-nat
Hi Wei, > On 7 Sep 2020, at 15:36, Wei Liu <wl@xxxxxxx> wrote: > > On Thu, Aug 20, 2020 at 12:00:23PM +0100, Diego Sueiro wrote: >> Copy temp files used to add/remove dhcpd configurations to avoid >> replacing potential symlinks. >> > > Can you clarify the issue you saw a bit? > > Which one of the parameter is a symlink (I assume the latter) and what > problem you see with replacing the symlinks? Maybe i can explain here. If you have this: /etc/dhcp.conf -> dhcp.conf.real mv will create a new file dhcp.conf where cp will actually modify dhcp.conf.real instead of replacing the symlink with a real file. This prevents some mistakes where the user will actually continue to modify dhcp.conf.real where it would not be the one used anymore. Bertrand > >> Signed-off-by: Diego Sueiro <diego.sueiro@xxxxxxx> >> --- >> tools/hotplug/Linux/vif-nat | 12 +++++++----- >> 1 file changed, 7 insertions(+), 5 deletions(-) >> >> diff --git a/tools/hotplug/Linux/vif-nat b/tools/hotplug/Linux/vif-nat >> index 2614435..1ab80ed 100644 >> --- a/tools/hotplug/Linux/vif-nat >> +++ b/tools/hotplug/Linux/vif-nat >> @@ -99,7 +99,8 @@ dhcparg_remove_entry() >> then >> rm "$tmpfile" >> else >> - mv "$tmpfile" "$dhcpd_arg_file" >> + cp "$tmpfile" "$dhcpd_arg_file" >> + rm "$tmpfile" >> fi > > You could've simplified the code a bit here and below now that both > branches issue the same rm command. > > But don't resend just yet. Please help me understand your issue first. > > Wei. > >> } >> >> @@ -109,11 +110,11 @@ dhcparg_add_entry() >> local tmpfile=$(mktemp) >> # handle Red Hat, SUSE, and Debian styles, with or without quotes >> sed -e 's/^DHCPDARGS="*\([^"]*\)"*/DHCPDARGS="\1'"${dev} "'"/' \ >> - "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file" >> + "$dhcpd_arg_file" >"$tmpfile" && cp "$tmpfile" "$dhcpd_arg_file" >> sed -e 's/^DHCPD_INTERFACE="*\([^"]*\)"*/DHCPD_INTERFACE="\1'"${dev} "'"/' >> \ >> - "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file" >> + "$dhcpd_arg_file" >"$tmpfile" && cp "$tmpfile" "$dhcpd_arg_file" >> sed -e 's/^INTERFACES="*\([^"]*\)"*/INTERFACES="\1'"${dev} "'"/' \ >> - "$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file" >> + "$dhcpd_arg_file" >"$tmpfile" && cp "$tmpfile" "$dhcpd_arg_file" >> rm -f "$tmpfile" >> } >> >> @@ -125,7 +126,8 @@ dhcp_remove_entry() >> then >> rm "$tmpfile" >> else >> - mv "$tmpfile" "$dhcpd_conf_file" >> + cp "$tmpfile" "$dhcpd_conf_file" >> + rm "$tmpfile" >> fi >> dhcparg_remove_entry >> } >> -- >> 2.7.4
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |