diff options
author | Richard Basch <probe@mit.edu> | 1996-05-09 16:01:08 +0000 |
---|---|---|
committer | Richard Basch <probe@mit.edu> | 1996-05-09 16:01:08 +0000 |
commit | db1c498c1f8409c079ae1f6d7707e110f939318a (patch) | |
tree | b1a7d1ae35d369df4c5663976e910d3eb31b21ea /src/appl/bsd/krshd.c | |
parent | b1e63f63d694ab1ffe255c5019a5d68a214680fd (diff) | |
download | krb5-db1c498c1f8409c079ae1f6d7707e110f939318a.tar.gz krb5-db1c498c1f8409c079ae1f6d7707e110f939318a.tar.xz krb5-db1c498c1f8409c079ae1f6d7707e110f939318a.zip |
krlogind.c krshd.c:
Use the default service principal as the basis for the rcache name.
login.c:
SVR4 systems typically do not do mail/motd checks in login; they
do it in the profiles (/etc/profile). Follow that convention...
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7951 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/bsd/krshd.c')
-rw-r--r-- | src/appl/bsd/krshd.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/appl/bsd/krshd.c b/src/appl/bsd/krshd.c index 64b1b2974e..74e701db9a 100644 --- a/src/appl/bsd/krshd.c +++ b/src/appl/bsd/krshd.c @@ -1682,8 +1682,9 @@ recvauth(netf, peersin, valid_checksum) krb5_data inbuf; char v4_instance[INST_SZ]; /* V4 Instance */ char v4_version[9]; -krb5_authenticator *authenticator; + krb5_authenticator *authenticator; krb5_ticket *ticket; + krb5_rcache rcache; *valid_checksum = 0; len = sizeof(laddr); @@ -1706,6 +1707,26 @@ krb5_authenticator *authenticator; KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR)) return status; + status = krb5_auth_con_getrcache(bsd_context, auth_context, &rcache); + if (status) return status; + + if (! rcache) { + krb5_principal server; + + status = krb5_sname_to_principal(bsd_context, 0, 0, + KRB5_NT_SRV_HST, &server); + if (status) return status; + + status = krb5_get_server_rcache(bsd_context, + krb5_princ_component(bsd_context, server, 0), + &rcache); + krb5_free_principal(bsd_context, server); + if (status) return status; + + status = krb5_auth_con_setrcache(bsd_context, auth_context, rcache); + if (status) return status; + } + status = krb5_compat_recvauth(bsd_context, &auth_context, &netf, "KCMDV0.1", NULL, /* Specify daemon principal */ |