--- Linux-PAM-0.99.6.2/modules/pam_selinux/pam_selinux.8.xml.drop-multiple 2006-06-18 10:26:59.000000000 +0200 +++ Linux-PAM-0.99.6.2/modules/pam_selinux/pam_selinux.8.xml 2006-11-10 17:47:16.000000000 +0100 @@ -25,9 +25,6 @@ debug - multiple - - open @@ -93,18 +90,6 @@ - - - - - Tells pam_selinux.so to allow the user to select the - security context they will login with, if the user has - more than one role. - - - - - --- Linux-PAM-0.99.6.2/modules/pam_selinux/pam_selinux.c.drop-multiple 2006-11-10 17:44:33.000000000 +0100 +++ Linux-PAM-0.99.6.2/modules/pam_selinux/pam_selinux.c 2006-11-10 17:44:33.000000000 +0100 @@ -89,56 +89,6 @@ } static security_context_t -select_context (pam_handle_t *pamh, security_context_t* contextlist, - int debug) -{ - char *responses; - char *text=calloc(PATH_MAX,1); - - if (text == NULL) - return (security_context_t) strdup(contextlist[0]); - - snprintf(text, PATH_MAX, - _("Your default context is %s. \n"), contextlist[0]); - send_text(pamh,text,debug); - free(text); - query_response(pamh,_("Do you want to choose a different one? [n]"), - &responses,debug); - if (responses && ((responses[0] == 'y') || - (responses[0] == 'Y'))) - { - int choice=0; - int i; - const char *prompt=_("Enter number of choice: "); - int len=strlen(prompt); - char buf[PATH_MAX]; - - _pam_drop(responses); - for (i = 0; contextlist[i]; i++) { - len+=strlen(contextlist[i]) + 10; - } - text=calloc(len,1); - for (i = 0; contextlist[i]; i++) { - snprintf(buf, PATH_MAX, - "[%d] %s\n", i+1, contextlist[i]); - strncat(text,buf,len); - } - strcat(text,prompt); - while ((choice < 1) || (choice > i)) { - query_response(pamh,text,&responses,debug); - choice = strtol (responses, NULL, 10); - _pam_drop(responses); - } - free(text); - return (security_context_t) strdup(contextlist[choice-1]); - } - else if (responses) - _pam_drop(responses); - - return (security_context_t) strdup(contextlist[0]); -} - -static security_context_t manual_context (pam_handle_t *pamh, const char *user, int debug) { security_context_t newcon; @@ -322,7 +272,7 @@ int argc, const char **argv) { int i, debug = 0, ttys=1, has_tty=isatty(0); - int verbose=0, multiple=0, close_session=0; + int verbose=0, close_session=0; int ret = 0; security_context_t* contextlist = NULL; int num_contexts = 0; @@ -342,9 +292,6 @@ if (strcmp(argv[i], "verbose") == 0) { verbose = 1; } - if (strcmp(argv[i], "multiple") == 0) { - multiple = 1; - } if (strcmp(argv[i], "close") == 0) { close_session = 1; } @@ -377,13 +324,8 @@ free(level); } if (num_contexts > 0) { - if (multiple && (num_contexts > 1) && has_tty) { - user_context = select_context(pamh,contextlist, debug); - freeconary(contextlist); - } else { - user_context = (security_context_t) strdup(contextlist[0]); - freeconary(contextlist); - } + user_context = (security_context_t) strdup(contextlist[0]); + freeconary(contextlist); } else { if (has_tty) { user_context = manual_context(pamh,username,debug);