so that credential forwarding works
authorEzra Peisach <epeisach@mit.edu>
Sat, 13 May 1995 13:01:57 +0000 (13:01 +0000)
committerEzra Peisach <epeisach@mit.edu>
Sat, 13 May 1995 13:01:57 +0000 (13:01 +0000)
recvauth: Use krb5_auth_con_genaddrs to set the port on the connection

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5812 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/bsd/ChangeLog
src/appl/bsd/krshd.c

index cfb1d7252e8d49eec5cf5453bd5124b74400f9a4..b76b2712c4ca989abdce6bb2b8e92487caf22c82 100644 (file)
@@ -1,3 +1,8 @@
+Sat May 13 08:59:38 1995  Ezra Peisach  <epeisach@kangaroo.mit.edu>
+
+       * krshd.c (recvauth): Use krb5_auth_con_genaddrs to set the port
+               on the connection so that credential forwarding works.
+
 Tue May  9 08:17:18 1995  Ezra Peisach  (epeisach@kangaroo.mit.edu)
 
        * krshd.c (main): Cast a sockaddr_in * to sockaddr * in call to
index 6d96e82833cf60881f1b54f12d148ce509e813d9..0c542e58db2e4d38c394dd7d692b0003417ee3e3 100644 (file)
@@ -495,7 +495,6 @@ doit(f, fromp)
     char *cp;
     
 #ifdef KERBEROS
-    krb5_address peeraddr;
     krb5_error_code status;
 #endif
 
@@ -694,13 +693,9 @@ doit(f, fromp)
        hostname = malloc(strlen((char *)inet_ntoa(fromp->sin_addr)) + 1);
        strcpy(hostname,(char *)inet_ntoa(fromp->sin_addr));
     }
-    peeraddr.addrtype = fromp->sin_family;
-    peeraddr.length = SIZEOF_INADDR;
-    peeraddr.contents = (krb5_octet *)&fromp->sin_addr;
-
 
 #ifdef KERBEROS
-    if (status = recvauth(f, fromaddr, peeraddr)) {
+    if (status = recvauth(f, fromaddr)) {
        error("Authentication failed: %s\n", error_message(status));
        exit(1);
     }
@@ -1591,10 +1586,9 @@ int default_realm(principal)
                                              chars */
 
 krb5_error_code
-recvauth(netf, peersin, peeraddr)
+recvauth(netf, peersin)
      int netf;
      struct sockaddr_in peersin;
-     krb5_address peeraddr;
 {
     krb5_auth_context *auth_context = NULL;
     krb5_error_code status;
@@ -1630,7 +1624,9 @@ recvauth(netf, peersin, peeraddr)
     if (status = krb5_auth_con_init(bsd_context, &auth_context))
        return status;
 
-    krb5_auth_con_setaddrs(bsd_context, auth_context, NULL, &peeraddr);
+    if (status = krb5_auth_con_genaddrs(bsd_context, auth_context, netf,
+                       KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR))
+       return status;
 
     status = krb5_compat_recvauth(bsd_context, &auth_context, &netf,
                                  "KCMDV0.1",