[PATCH 1/4] login: add globalvar timeout support
Sascha Hauer
s.hauer at pengutronix.de
Mon Sep 16 04:02:02 EDT 2013
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?
> +
> 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)
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