summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Basch <probe@mit.edu>1996-03-22 04:49:59 +0000
committerRichard Basch <probe@mit.edu>1996-03-22 04:49:59 +0000
commit7d40eccea46260cd5de2a10ce5cc152c2e63b924 (patch)
tree7e90870d8b1a7a71bb393a6095d04a79be539f95 /src
parentb570216b422b88d25b74e290cba10e875ead364a (diff)
downloadkrb5-7d40eccea46260cd5de2a10ce5cc152c2e63b924.tar.gz
krb5-7d40eccea46260cd5de2a10ce5cc152c2e63b924.tar.xz
krb5-7d40eccea46260cd5de2a10ce5cc152c2e63b924.zip
use the library routines to do the v4 to v5 principal translation
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7698 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/appl/bsd/ChangeLog5
-rw-r--r--src/appl/bsd/krlogind.c16
2 files changed, 13 insertions, 8 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog
index 803e6950a..7d15aa3fa 100644
--- a/src/appl/bsd/ChangeLog
+++ b/src/appl/bsd/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 20 19:36:21 1996 Richard Basch <basch@lehman.com>
+
+ * krlogind.c (recvauth): 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>
* kcmd.c (ruserok): declare the function as taking const char *
diff --git a/src/appl/bsd/krlogind.c b/src/appl/bsd/krlogind.c
index 924a1937a..da5abcf9c 100644
--- a/src/appl/bsd/krlogind.c
+++ b/src/appl/bsd/krlogind.c
@@ -1585,15 +1585,15 @@ recvauth(valid_checksum)
* principal's name.
*/
strcpy(rusername, v4_kdata->pname);
- krusername = (char *) malloc(strlen(v4_kdata->pname) + 1 +
- strlen(v4_kdata->pinst) + 1 +
- strlen(v4_kdata->prealm) + 1);
- sprintf(krusername, "%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, &krusername);
- if (status = krb5_parse_name(bsd_context, krusername, &client))
- return(status);
- return 0;
+ return status;
}
#endif