Bugzilla – Attachment 1956 Details for
Bug 1780
Option to disable .k5login support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed solution
openssh-5.6p1-kuserok.patch (text/plain), 5.79 KB, created by
jchadima
on 2010-11-15 20:53:41 AEDT
(
hide
)
Description:
Proposed solution
Filename:
MIME Type:
Creator:
jchadima
Created:
2010-11-15 20:53:41 AEDT
Size:
5.79 KB
patch
obsolete
>diff -up openssh-5.6p1/auth-krb5.c.kuserok openssh-5.6p1/auth-krb5.c >--- openssh-5.6p1/auth-krb5.c.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/auth-krb5.c 2010-11-15 10:11:02.000000000 +0100 >@@ -54,6 +54,20 @@ > > extern ServerOptions options; > >+int >+ssh_krb5_kuserok(krb5_context krb5_ctx, krb5_principal krb5_user, const char *client) >+{ >+ if (options.use_kuserok) >+ return krb5_kuserok(krb5_ctx, krb5_user, client); >+ else { >+ char kuser[65]; >+ >+ if (krb5_aname_to_localname(krb5_ctx, krb5_user, sizeof(kuser), kuser)) >+ return 0; >+ return strcmp(kuser, client) == 0; >+ } >+} >+ > static int > krb5_init(void *context) > { >@@ -146,7 +160,7 @@ auth_krb5_password(Authctxt *authctxt, c > if (problem) > goto out; > >- if (!krb5_kuserok(authctxt->krb5_ctx, authctxt->krb5_user, client)) { >+ if (!ssh_krb5_kuserok(authctxt->krb5_ctx, authctxt->krb5_user, client)) { > problem = -1; > goto out; > } >diff -up openssh-5.6p1/gss-serv-krb5.c.kuserok openssh-5.6p1/gss-serv-krb5.c >--- openssh-5.6p1/gss-serv-krb5.c.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/gss-serv-krb5.c 2010-11-15 10:12:35.000000000 +0100 >@@ -57,6 +57,7 @@ extern ServerOptions options; > #endif > > static krb5_context krb_context = NULL; >+extern int ssh_krb5_kuserok(krb5_context, krb5_principal, const char *); > > /* Initialise the krb5 library, for the stuff that GSSAPI won't do */ > >@@ -97,7 +98,7 @@ ssh_gssapi_krb5_userok(ssh_gssapi_client > krb5_get_err_text(krb_context, retval)); > return 0; > } >- if (krb5_kuserok(krb_context, princ, name)) { >+ if (ssh_krb5_kuserok(krb_context, princ, name)) { > retval = 1; > logit("Authorized to %s, krb5 principal %s (krb5_kuserok)", > name, (char *)client->displayname.value); >diff -up openssh-5.6p1/servconf.c.kuserok openssh-5.6p1/servconf.c >--- openssh-5.6p1/servconf.c.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/servconf.c 2010-11-15 10:08:05.000000000 +0100 >@@ -138,6 +138,7 @@ initialize_server_options(ServerOptions > options->revoked_keys_file = NULL; > options->trusted_user_ca_keys = NULL; > options->authorized_principals_file = NULL; >+ options->use_kuserok = -1; > } > > void >@@ -286,6 +287,8 @@ fill_default_server_options(ServerOption > if (use_privsep == -1) > use_privsep = 1; > >+ if (options->use_kuserok == -1) >+ options->use_kuserok = 1; > #ifndef HAVE_MMAP > if (use_privsep && options->compression == 1) { > error("This platform does not support both privilege " >@@ -307,7 +310,7 @@ typedef enum { > sPermitRootLogin, sLogFacility, sLogLevel, > sRhostsRSAAuthentication, sRSAAuthentication, > sKerberosAuthentication, sKerberosOrLocalPasswd, sKerberosTicketCleanup, >- sKerberosGetAFSToken, >+ sKerberosGetAFSToken, sKerberosUseKuserok, > sKerberosTgtPassing, sChallengeResponseAuthentication, > sPasswordAuthentication, sKbdInteractiveAuthentication, > sListenAddress, sAddressFamily, >@@ -377,11 +380,13 @@ static struct { > #else > { "kerberosgetafstoken", sUnsupported, SSHCFG_GLOBAL }, > #endif >+ { "kerberosusekuserok", sKerberosUseKuserok, SSHCFG_ALL }, > #else > { "kerberosauthentication", sUnsupported, SSHCFG_ALL }, > { "kerberosorlocalpasswd", sUnsupported, SSHCFG_GLOBAL }, > { "kerberosticketcleanup", sUnsupported, SSHCFG_GLOBAL }, > { "kerberosgetafstoken", sUnsupported, SSHCFG_GLOBAL }, >+ { "kerberosusekuserok", sUnsupported, SSHCFG_ALL }, > #endif > { "kerberostgtpassing", sUnsupported, SSHCFG_GLOBAL }, > { "afstokenpassing", sUnsupported, SSHCFG_GLOBAL }, >@@ -1341,6 +1346,10 @@ process_server_config_line(ServerOptions > *activep = value; > break; > >+ case sKerberosUseKuserok: >+ intptr = &options->use_kuserok; >+ goto parse_flag; >+ > case sPermitOpen: > arg = strdelim(&cp); > if (!arg || *arg == '\0') >@@ -1525,6 +1534,7 @@ copy_set_server_options(ServerOptions *d > M_CP_INTOPT(x11_use_localhost); > M_CP_INTOPT(max_sessions); > M_CP_INTOPT(max_authtries); >+ M_CP_INTOPT(use_kuserok); > > M_CP_STROPT(banner); > if (preauth) >@@ -1745,6 +1755,7 @@ dump_config(ServerOptions *o) > dump_cfg_fmtint(sUseDNS, o->use_dns); > dump_cfg_fmtint(sAllowTcpForwarding, o->allow_tcp_forwarding); > dump_cfg_fmtint(sUsePrivilegeSeparation, use_privsep); >+ dump_cfg_fmtint(sKerberosUseKuserok, o->use_kuserok); > > /* string arguments */ > dump_cfg_string(sPidFile, o->pid_file); >diff -up openssh-5.6p1/servconf.h.kuserok openssh-5.6p1/servconf.h >--- openssh-5.6p1/servconf.h.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/servconf.h 2010-11-15 10:08:05.000000000 +0100 >@@ -157,6 +157,7 @@ typedef struct { > > int num_permitted_opens; > >+ int use_kuserok; > char *chroot_directory; > char *revoked_keys_file; > char *trusted_user_ca_keys; >diff -up openssh-5.6p1/sshd_config.5.kuserok openssh-5.6p1/sshd_config.5 >--- openssh-5.6p1/sshd_config.5.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/sshd_config.5 2010-11-15 10:08:05.000000000 +0100 >@@ -564,6 +564,10 @@ Specifies whether to automatically destr > file on logout. > The default is > .Dq yes . >+.It Cm KerberosUseKuserok >+Specifies whether to look at .k5login file for user's aliases. >+The default is >+.Dq yes . > .It Cm KeyRegenerationInterval > In protocol version 1, the ephemeral server key is automatically regenerated > after this many seconds (if it has been used). >@@ -694,6 +698,7 @@ Available keywords are > .Cm HostbasedUsesNameFromPacketOnly , > .Cm KbdInteractiveAuthentication , > .Cm KerberosAuthentication , >+.Cm KerberosUseKuserok , > .Cm MaxAuthTries , > .Cm MaxSessions , > .Cm PubkeyAuthentication , >diff -up openssh-5.6p1/sshd_config.kuserok openssh-5.6p1/sshd_config >--- openssh-5.6p1/sshd_config.kuserok 2010-11-15 10:08:05.000000000 +0100 >+++ openssh-5.6p1/sshd_config 2010-11-15 10:08:05.000000000 +0100 >@@ -72,6 +72,7 @@ ChallengeResponseAuthentication no > #KerberosOrLocalPasswd yes > #KerberosTicketCleanup yes > #KerberosGetAFSToken no >+#KerberosUseKuserok yes > > # GSSAPI options > #GSSAPIAuthentication no
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1780
:
1859
|
1927
| 1956