lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 11 Jan 2013 03:02:34 -0500 (EST)
From:	Tomas Hozza <thozza@...hat.com>
To:	KY Srinivasan <kys@...rosoft.com>
Cc:	jasowang@...hat.com, Haiyang Zhang <haiyangz@...rosoft.com>,
	linux-kernel@...r.kernel.org, Hashir Abdi <habdi@...rosoft.com>,
	gregkh@...uxfoundation.org
Subject: Re: [PATCH 1/2] tools: hv: Fix how ifcfg-* file is created

There is a mistake in this Patch. Sorry for this.
I'll send corrected one ASAP after testing it!

----- Original Message -----
> 
> 
> > -----Original Message-----
> > From: Tomas Hozza [mailto:thozza@...hat.com]
> > Sent: Tuesday, January 08, 2013 6:27 AM
> > To: gregkh@...uxfoundation.org
> > Cc: KY Srinivasan; jasowang@...hat.com; Haiyang Zhang; linux-
> > kernel@...r.kernel.org; Hashir Abdi; Tomas Hozza
> > Subject: [PATCH 1/2] tools: hv: Fix how ifcfg-* file is created
> > 
> > Fix for the daemon code and for hv_set_ifconfig.sh script, so
> > that the created ifcfg-* file is consistent with initscripts
> > documentation.
> > 
> > Signed-off-by: Tomas Hozza <thozza@...hat.com>
> Acked-by: K. Y. Srinivasan <kys@...rosoft.com>
> 
> > ---
> >  tools/hv/hv_kvp_daemon.c    | 73
> >  ++++++++++++++++++++++---------------------
> > --
> >  tools/hv/hv_set_ifconfig.sh | 22 ++++++--------
> >  2 files changed, 44 insertions(+), 51 deletions(-)
> > 
> > diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
> > index d25a469..6b56b75 100644
> > --- a/tools/hv/hv_kvp_daemon.c
> > +++ b/tools/hv/hv_kvp_daemon.c
> > @@ -1162,16 +1162,13 @@ static int process_ip_string(FILE *f, char
> > *ip_string, int
> > type)
> >  				snprintf(str, sizeof(str), "%s", "DNS");
> >  				break;
> >  			}
> > -			if (i != 0) {
> > -				if (type != DNS) {
> > -					snprintf(sub_str, sizeof(sub_str),
> > -						"_%d", i++);
> > -				} else {
> > -					snprintf(sub_str, sizeof(sub_str),
> > -						"%d", ++i);
> > -				}
> > -			} else if (type == DNS) {
> > +
> > +			if (type == DNS) {
> >  				snprintf(sub_str, sizeof(sub_str), "%d", ++i);
> > +			} else if (type == GATEWAY && i == 0) {
> > +				++i;
> > +			} else {
> > +				snprintf(sub_str, sizeof(sub_str), "%d", i++);
> >  			}
> > 
> > 
> > @@ -1191,17 +1188,13 @@ static int process_ip_string(FILE *f, char
> > *ip_string, int
> > type)
> >  				snprintf(str, sizeof(str), "%s",  "DNS");
> >  				break;
> >  			}
> > -			if ((j != 0) || (type == DNS)) {
> > -				if (type != DNS) {
> > -					snprintf(sub_str, sizeof(sub_str),
> > -						"_%d", j++);
> > -				} else {
> > -					snprintf(sub_str, sizeof(sub_str),
> > -						"%d", ++i);
> > -				}
> > -			} else if (type == DNS) {
> > -				snprintf(sub_str, sizeof(sub_str),
> > -					"%d", ++i);
> > +
> > +			if (type == DNS) {
> > +				snprintf(sub_str, sizeof(sub_str), "%d", ++i);
> > +			} else if (j == 0) {
> > +				++j;
> > +			} else {
> > +				snprintf(sub_str, sizeof(sub_str), "_%d", j++);
> >  			}
> >  		} else {
> >  			return  HV_INVALIDARG;
> > @@ -1244,18 +1237,19 @@ static int kvp_set_ip_info(char *if_name,
> > struct
> > hv_kvp_ipaddr_value *new_val)
> >  	 * Here is the format of the ip configuration file:
> >  	 *
> >  	 * HWADDR=macaddr
> > -	 * IF_NAME=interface name
> > -	 * DHCP=yes (This is optional; if yes, DHCP is configured)
> > +	 * DEVICE=interface name
> > +	 * BOOTPROTO=<protocol> (where <protocol> is "dhcp" if DHCP is
> > configured
> > +	 *                       or "none" if no boot-time protocol
> > should be used)
> >  	 *
> > -	 * IPADDR=ipaddr1
> > -	 * IPADDR_1=ipaddr2
> > -	 * IPADDR_x=ipaddry (where y = x + 1)
> > +	 * IPADDR0=ipaddr1
> > +	 * IPADDR1=ipaddr2
> > +	 * IPADDRx=ipaddry (where y = x + 1)
> >  	 *
> > -	 * NETMASK=netmask1
> > -	 * NETMASK_x=netmasky (where y = x + 1)
> > +	 * NETMASK0=netmask1
> > +	 * NETMASKx=netmasky (where y = x + 1)
> >  	 *
> >  	 * GATEWAY=ipaddr1
> > -	 * GATEWAY_x=ipaddry (where y = x + 1)
> > +	 * GATEWAYx=ipaddry (where y = x + 1)
> >  	 *
> >  	 * DNSx=ipaddrx (where first DNS address is tagged as DNS1 etc)
> >  	 *
> > @@ -1294,20 +1288,23 @@ static int kvp_set_ip_info(char *if_name,
> > struct
> > hv_kvp_ipaddr_value *new_val)
> >  	if (error)
> >  		goto setval_error;
> > 
> > -	error = kvp_write_file(file, "IF_NAME", "", if_name);
> > +	error = kvp_write_file(file, "DEVICE", "", if_name);
> >  	if (error)
> >  		goto setval_error;
> > 
> > -	if (new_val->dhcp_enabled) {
> > -		error = kvp_write_file(file, "DHCP", "", "yes");
> > -		if (error)
> > -			goto setval_error;
> > +	if (new_val->dhcp_enabled)
> > +		error = kvp_write_file(file, "BOOTPROTO", "", "dhcp");
> > +	else
> > +		error = kvp_write_file(file, "BOOTPROTO", "", "none");
> > +
> > +	if (error)
> > +		goto setval_error;
> > +
> > +	/*
> > +	 * We are done!.
> > +	 */
> > +	goto setval_done;

This part is the problem. We should goto setval_done only
if we are using DHCP. Therefore now the IPADDR, NETMASK and
so on will not be in the generated ifcfg-* if not using DHCP!

> > 
> > -		/*
> > -		 * We are done!.
> > -		 */
> > -		goto setval_done;
> > -	}
> > 
> >  	/*
> >  	 * Write the configuration for ipaddress, netmask, gateway and
> > diff --git a/tools/hv/hv_set_ifconfig.sh
> > b/tools/hv/hv_set_ifconfig.sh
> > index 3e9427e..00b66be 100755
> > --- a/tools/hv/hv_set_ifconfig.sh
> > +++ b/tools/hv/hv_set_ifconfig.sh
> > @@ -20,18 +20,19 @@
> >  # Here is the format of the ip configuration file:
> >  #
> >  # HWADDR=macaddr
> > -# IF_NAME=interface name
> > -# DHCP=yes (This is optional; if yes, DHCP is configured)
> > +# DEVICE=interface name
> > +# BOOTPROTO=<protocol> (where <protocol> is "dhcp" if DHCP is
> > configured
> > +#                       or "none" if no boot-time protocol should
> > be used)
> >  #
> > -# IPADDR=ipaddr1
> > -# IPADDR_1=ipaddr2
> > -# IPADDR_x=ipaddry (where y = x + 1)
> > +# IPADDR0=ipaddr1
> > +# IPADDR1=ipaddr2
> > +# IPADDRx=ipaddry (where y = x + 1)
> >  #
> > -# NETMASK=netmask1
> > -# NETMASK_x=netmasky (where y = x + 1)
> > +# NETMASK0=netmask1
> > +# NETMASKx=netmasky (where y = x + 1)
> >  #
> >  # GATEWAY=ipaddr1
> > -# GATEWAY_x=ipaddry (where y = x + 1)
> > +# GATEWAYx=ipaddry (where y = x + 1)
> >  #
> >  # DNSx=ipaddrx (where first DNS address is tagged as DNS1 etc)
> >  #
> > @@ -53,11 +54,6 @@ echo "NM_CONTROLLED=no" >> $1
> >  echo "PEERDNS=yes" >> $1
> >  echo "ONBOOT=yes" >> $1
> > 
> > -dhcp=$(grep "DHCP" $1 2>/dev/null)
> > -if [ "$dhcp" != "" ];
> > -then
> > -echo "BOOTPROTO=dhcp" >> $1;
> > -fi
> > 
> >  cp $1 /etc/sysconfig/network-scripts/
> > 
> > --
> > 1.7.11.7
> > 
> > 
> 
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ