[PATCH 2/3] net: dhcp: allow to user env var as user class too

Sascha Hauer s.hauer at pengutronix.de
Sun Apr 15 12:57:58 EDT 2012


On Sun, Apr 15, 2012 at 06:05:38AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  net/dhcp.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/net/dhcp.c b/net/dhcp.c
> index c3c41a0..ecff819 100644
> --- a/net/dhcp.c
> +++ b/net/dhcp.c
> @@ -211,6 +211,7 @@ struct dhcp_opt dhcp_options[] = {
>  struct dhcp_param {
>  	unsigned char option;
>  	const char *barebox_var_name;
> +	const char *barebox_var_alt_name;
>  	int (*handle)(struct dhcp_param *param, u8 *e);
>  	void *data;
>  };
> @@ -220,8 +221,12 @@ static int dhcp_set_string_options(struct dhcp_param *param, u8 *e)
>  	int str_len;
>  	char* str = param->data;
>  
> -	if (!str && param->barebox_var_name)
> -		str = (char*)getenv(param->barebox_var_name);
> +	if (!str) {
> +		if (param->barebox_var_name)
> +			str = (char*)getenv(param->barebox_var_name);
> +		else if (param->barebox_var_alt_name)
> +			str = (char*)getenv(param->barebox_var_alt_name);
> +	}
>  
>  	if (!str)
>  		return 0;
> @@ -260,6 +265,7 @@ struct dhcp_param dhcp_params[] = {
>  		.option = DHCP_USER_CLASS,
>  		.handle = dhcp_set_string_options,
>  		.barebox_var_name = "dhcp_user_class",
> +		.barebox_var_alt_name = "user",
>  	}, {
>  		.option = DHCP_CLIENT_UUID,
>  		.handle = dhcp_set_string_options,
> @@ -712,5 +718,6 @@ BAREBOX_MAGICVAR(dhcp_vendor_id, "vendor id to send to the DHCP server");
>  BAREBOX_MAGICVAR(dhcp_client_uuid, "cliend uuid to send to the DHCP server");
>  BAREBOX_MAGICVAR(dhcp_client_id, "cliend id to send to the DHCP server");
>  BAREBOX_MAGICVAR(dhcp_user_class, "user class to send to the DHCP server");
> +BAREBOX_MAGICVAR(user, "user class to send to the DHCP server");

This does not look good. I think 'user' is a too generic name to be a
magicvar, also it does not fit into the current dhcp_ scheme. Why not
add a dhcp_user_class=$user to the environment if necessary?

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list