tag 448628 + patch thanks Le mardi 30 octobre 2007 à 15:49 +0100, Josselin Mouette a écrit : > Package: gksu > Version: 2.0.0-4 > Severity: important > > Since recently (I guess the 1.6.9p6-1 upload a week ago), sudo > translates the password prompt.
Well, in fact it seems to be caused by PAM translating the password prompt. > The obvious result is that gksu doesn't work anymore in this case. > Furthermore, the -p option of sudo doesn't work in non-default locales > (bug #448628), which makes it impossible to fix for the moment. The problem lies in auth/pam.c, where the PAM password is replaced only if it is found to be the default one - which it obviously isn't when it is translated. I'm attaching a patch to replace the password nevertheless when the user explicitly asked for it. Please apply it to make gksudo usable again. Thanks, -- .''`. : :' : We are debian.org. Lower your prices, surrender your code. `. `' We will add your hardware and software distinctiveness to `- our own. Resistance is futile.
diff -u sudo-1.6.9p6/debian/changelog sudo-1.6.9p6/debian/changelog --- sudo-1.6.9p6/debian/changelog +++ sudo-1.6.9p6/debian/changelog @@ -1,3 +1,10 @@ +sudo (1.6.9p6-1+0) UNRELEASED; urgency=low + + * auth/pam.c: don't use the PAM prompt if the user explicitly + requested a custom prompt. Closes: #448628. + + -- Josselin Mouette <[EMAIL PROTECTED]> Sat, 10 Nov 2007 01:45:37 +0100 + sudo (1.6.9p6-1) unstable; urgency=low * new upstream version, closes: #442815, #446146, #438699, #435768, #435314 only in patch2: unchanged: --- sudo-1.6.9p6.orig/auth/pam.c +++ sudo-1.6.9p6/auth/pam.c @@ -254,9 +254,11 @@ case PAM_PROMPT_ECHO_ON: SET(flags, TGP_ECHO); case PAM_PROMPT_ECHO_OFF: - /* Only override PAM prompt if it matches /^Password: ?/ */ - if (strncmp(pm->msg, "Password:", 9) || (pm->msg[9] != '\0' - && (pm->msg[9] != ' ' || pm->msg[10] != '\0'))) + /* Only override PAM prompt if it matches /^Password: ?/ * + * or if the user explicitly requested a prompt. */ + if (!user_prompt && + (strncmp(pm->msg, "Password:", 9) || (pm->msg[9] != '\0' + && (pm->msg[9] != ' ' || pm->msg[10] != '\0')))) p = pm->msg; /* Read the password. */ pass = tgetpass(p, def_passwd_timeout * 60, flags);
signature.asc
Description: Ceci est une partie de message numériquement signée