diff options
Diffstat (limited to 'utils/gdmaskpass.c')
-rw-r--r-- | utils/gdmaskpass.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/utils/gdmaskpass.c b/utils/gdmaskpass.c deleted file mode 100644 index 206b9eda..00000000 --- a/utils/gdmaskpass.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Simple pam thingie to ask the root password, for use in XKeepsCrashing - * script. */ -#include "config.h" -#include <glib/gi18n.h> -#include <stdio.h> -#include <locale.h> -#include <unistd.h> -#include <security/pam_appl.h> -#include <security/pam_misc.h> - -static struct pam_conv conv = { - misc_conv, - NULL -}; - -int -main (int argc, char *argv[]) -{ - pam_handle_t *pamh; - const char *username = "root"; - int retval; - int tries = 3; - - if (getuid () != geteuid () || - getuid () != 0) { - fprintf (stderr, _("gdmaskpass only runs as root\n")); - return 1; - } - - if (argc >= 2) { - username = argv[1]; - } - - setlocale (LC_ALL, ""); - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); - textdomain (GETTEXT_PACKAGE); - - for (tries = 3; tries > 0; tries --) { - if ((retval = pam_start ("gdm", username, &conv, &pamh)) != PAM_SUCCESS) { - pam_end (pamh, retval); - pamh = NULL; - printf (_("Authentication failure!\n")); - continue; - } - if ((retval = pam_authenticate (pamh, 0)) != PAM_SUCCESS) { - pam_end (pamh, retval); - pamh = NULL; - printf (_("Authentication failure!\n")); - continue; - } - break; - } - - if (pamh != NULL) - pam_end (pamh, retval); - - return (retval == PAM_SUCCESS) ? 0 : 1; -} |