summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1996-03-25 16:19:38 +0000
committerRichard Basch <probe@mit.edu>1996-03-25 16:19:38 +0000
commit3993f5961e9ddab5dde5f7c9e6fd33358ab3193f (patch)
tree61e0b65f6e81d93849ac4accf13b551bfa848d04 /src
parent9ea89ae1244ec1db35916f6856404104e7a1d8e1 (diff)
krshd.c: use the library routines to do v4 to v5 principal translation
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7710 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/appl/bsd/ChangeLog7
-rw-r--r--src/appl/bsd/krshd.c16
2 files changed, 14 insertions, 9 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog
index 4e4e7e648..c90a1c937 100644
--- a/src/appl/bsd/ChangeLog
+++ b/src/appl/bsd/ChangeLog
@@ -7,9 +7,14 @@ Sat Mar 23 17:20:00 1996 Sam Hartman <hartmans@tertius.mit.edu>
* krshd.c (doit): Don't use non-blocking IO; it is unnecessary and
may cause problems.
+Fri Mar 22 13:27:40 1996 Richard Basch <basch@lehman.com>
+
+ * krshd.c: use the library routines to do v4 to v5
+ principal translation, for a more accurate representation.
+
Wed Mar 20 19:36:21 1996 Richard Basch <basch@lehman.com>
- * krlogind.c (recvauth): use the library routines to do v4 to v5
+ * krlogind.c: use the library routines to do v4 to v5
principal translation, for a more accurate representation.
Tue Mar 19 20:11:28 1996 Richard Basch <basch@lehman.com>
diff --git a/src/appl/bsd/krshd.c b/src/appl/bsd/krshd.c
index a7ba147fd..eae3ab584 100644
--- a/src/appl/bsd/krshd.c
+++ b/src/appl/bsd/krshd.c
@@ -1728,15 +1728,15 @@ krb5_authenticator *authenticator;
* principal's name.
*/
strcpy(remuser, v4_kdata->pname);
- kremuser = (char *) malloc(strlen(v4_kdata->pname) + 1 +
- strlen(v4_kdata->pinst) + 1 +
- strlen(v4_kdata->prealm) + 1);
- sprintf(kremuser, "%s/%s@%s", v4_kdata->pname,
- v4_kdata->pinst, v4_kdata->prealm);
+
+ status = krb5_425_conv_principal(bsd_context, v4_kdata->pname,
+ v4_kdata->pinst, v4_kdata->prealm,
+ &client);
+ if (status) return status;
+
+ status = krb5_unparse_name(bsd_context, client, &kremuser);
- if (status = krb5_parse_name(bsd_context, kremuser, &client))
- return(status);
- return 0;
+ return status;
}
/* Must be V5 */