[PATCH 1/4] login: add globalvar timeout support

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Sep 16 10:39:24 EDT 2013


On 10:02 Mon 16 Sep     , Sascha Hauer wrote:
> On Sun, Sep 15, 2013 at 01:30:51PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > ---
> >  commands/login.c | 26 ++++++++++++++++++++++++++
> >  1 file changed, 26 insertions(+)
> > 
> > diff --git a/commands/login.c b/commands/login.c
> > index fb6bb35..f5429bc 100644
> > --- a/commands/login.c
> > +++ b/commands/login.c
> > @@ -20,6 +20,10 @@
> >  #include <complete.h>
> >  #include <password.h>
> >  #include <getopt.h>
> > +#include <environment.h>
> > +#include <globalvar.h>
> > +#include <magicvar.h>
> > +#include <init.h>
> >  
> >  #define PASSWD_MAX_LENGTH	(128 + 1)
> >  
> > @@ -31,6 +35,16 @@
> >  #define LOGIN_MODE HIDE
> >  #endif
> >  
> > +static void login_getenv_int(const char *name, int *i)
> > +{
> > +	const char* str = getenv(name);
> > +
> > +	if (!str)
> > +		return;
> > +
> > +	*i = simple_strtoul(str, NULL, 10);
> > +}
> 
> We already have getenv_ull. Should we use it here?

if I switch to dev_add_param_int no
> 
> > +
> >  static int do_login(int argc, char *argv[])
> >  {
> >  	unsigned char passwd[PASSWD_MAX_LENGTH];
> > @@ -38,6 +52,8 @@ static int do_login(int argc, char *argv[])
> >  	int timeout = 0;
> >  	char *timeout_cmd = "boot";
> >  
> > +	login_getenv_int("global.login.timeout", &timeout);
> > +
> >  	if (!is_passwd_enable()) {
> >  		puts("login: password not set\n");
> >  		return 0;
> > @@ -80,3 +96,13 @@ BAREBOX_CMD_START(login)
> >  	BAREBOX_CMD_HELP(cmd_login_help)
> >  	BAREBOX_CMD_COMPLETE(empty_complete)
> >  BAREBOX_CMD_END
> > +
> > +static int login_global_init(void)
> > +{
> > +	globalvar_add_simple("login.timeout");
> 
> globalvar_add_simple now takes an initial value, like this:
> 
> int globalvar_add_simple(const char *name, const char *value)

ok did not see the change

Best Regards,
J.
> 
> 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