[PATCH v2] Add a header in ifcfg and nm keyfiles describing the owner of the files

From: Ani Sinha
Date: Thu Apr 18 2024 - 08:06:13 EST


A comment describing the source of writing the contents of the ifcfg and
network manager keyfiles (hyperv kvp daemon) is useful. It is valuable both
for debugging as well as for preventing users from modifying them.

CC: shradhagupta@xxxxxxxxxxxxxxxxxxx
CC: eahariha@xxxxxxxxxxxxxxxxxxx
CC: wei.liu@xxxxxxxxxx
Signed-off-by: Ani Sinha <anisinha@xxxxxxxxxx>
---
tools/hv/hv_kvp_daemon.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

changelog:
v2: simplify and fix issues with error handling.

diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
index ae57bf69ad4a..014e45be6981 100644
--- a/tools/hv/hv_kvp_daemon.c
+++ b/tools/hv/hv_kvp_daemon.c
@@ -94,6 +94,8 @@ static char *lic_version = "Unknown version";
static char full_domain_name[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
static struct utsname uts_buf;

+#define CFG_HEADER "# Generated by hyperv key-value pair daemon. Please do not modify.\n"
+
/*
* The location of the interface configuration file.
*/
@@ -1435,6 +1437,18 @@ static int kvp_set_ip_info(char *if_name, struct hv_kvp_ipaddr_value *new_val)
return HV_E_FAIL;
}

+ /* Write the config file headers */
+ error = fprintf(ifcfg_file, CFG_HEADER);
+ if (error < 0) {
+ error = HV_E_FAIL;
+ goto setval_error;
+ }
+ error = fprintf(nmfile, CFG_HEADER);
+ if (error < 0) {
+ error = HV_E_FAIL;
+ goto setval_error;
+ }
+
/*
* First write out the MAC address.
*/
--
2.42.0