[PATCH:xdm] Bug 13455: allowNullPasswd: true doesn't work until the second login attempt

Jeremy Huddleston jeremyhu at apple.com
Fri Jun 3 20:53:54 PDT 2011


Looks rightish.
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

On Jun 2, 2011, at 9:36 PM, Alan Coopersmith wrote:

> Assign allow_null_passwd and allow_root_login variables' values before call to
> pam_authenticate()
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=13455
> 
> Based on a fix suggested by: Tim Shumakov <ars_1 at mail.ru>
> 
> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
> greeter/greet.c |   13 +++++++++----
> 1 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/greeter/greet.c b/greeter/greet.c
> index 8e32279..5182650 100644
> --- a/greeter/greet.c
> +++ b/greeter/greet.c
> @@ -351,7 +351,7 @@ static int
> Greet (struct display *d, struct greet_info *greet)
> {
>     XEvent		event;
> -    Arg		arglist[3];
> +    Arg		arglist[1];
> 
>     XtSetArg (arglist[0], XtNallowAccess, False);
>     XtSetValues (login, arglist, 1);
> @@ -394,9 +394,7 @@ Greet (struct display *d, struct greet_info *greet)
> 	greet->password = password;
> #endif  /* USE_PAM */
> 	XtSetArg (arglist[0], XtNsessionArgument, (char *) &(greet->string));
> -	XtSetArg (arglist[1], XtNallowNullPasswd, (char *) &(greet->allow_null_passwd));
> -	XtSetArg (arglist[2], XtNallowRootLogin, (char *) &(greet->allow_root_login));
> -	XtGetValues (login, arglist, 3);
> +	XtGetValues (login, arglist, 1);
> 	Debug ("sessionArgument: %s\n", greet->string ? greet->string : "<NULL>");
>     }
>     return code;
> @@ -432,6 +430,7 @@ greet_user_rtn GreetUser(
>     struct dlfuncs        *dlfuncs)
> {
>     int i;
> +    Arg		arglist[2];
> 
> /*
>  * These must be set before they are used.
> @@ -485,6 +484,12 @@ greet_user_rtn GreetUser(
> 	exit (RESERVER_DISPLAY);
>     }
> 
> +    XtSetArg (arglist[0], XtNallowNullPasswd,
> +	      (char *) &(greet->allow_null_passwd));
> +    XtSetArg (arglist[1], XtNallowRootLogin,
> +	      (char *) &(greet->allow_root_login));
> +    XtGetValues (login, arglist, 2);
> +
>     for (;;) {
> #ifdef USE_PAM
> 
> -- 
> 1.7.3.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 



More information about the xorg-devel mailing list