* auth_con.c (krb5_auth_con_getaddrs() and krb5_auth_con_getflags()):
authorChris Provenzano <proven@mit.edu>
Fri, 28 Apr 1995 01:40:58 +0000 (01:40 +0000)
committerChris Provenzano <proven@mit.edu>
Fri, 28 Apr 1995 01:40:58 +0000 (01:40 +0000)
Added for completeness.
* mk_req_ext.c (krb5_mk_req_extended()) : Don't send the
AP_OPTS_USE_SUBKEY option over the wire.

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

src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/auth_con.c
src/lib/krb5/krb/mk_req_ext.c

index eb60c3cecd4dae71487d17115c699eafae8169cd..3887c43a906871d71ffae55afb7451438c5cca7c 100644 (file)
@@ -1,3 +1,10 @@
+Thu Apr 27 21:36:01 1995  Chris Provenzano  (proven@mit.edu)
+
+       * auth_con.c (krb5_auth_con_getaddrs() and krb5_auth_con_getflags()):
+               Added for completeness.
+       * mk_req_ext.c (krb5_mk_req_extended()) : Don't send the 
+               AP_OPTS_USE_SUBKEY option over the wire.
+
 Thu Apr 27 17:40:20 1995 Keith Vetter (keithv@fusion.com)
 
        * adm_rw.c, mk_cred.c, rd_cred.c:
index 6821a05d83092e84eda24516de30bc47b1c86cba..bcde9c2a89a8d906552267282a3f037c409abf2c 100644 (file)
@@ -85,6 +85,53 @@ krb5_auth_con_setaddrs(context, auth_context, local_addr, remote_addr)
     return 0;
 }
 
+krb5_error_code
+krb5_auth_con_getaddrs(context, auth_context, local_addr, remote_addr)
+    krb5_context         context;
+    krb5_auth_context  * auth_context;
+    krb5_address       ** local_addr;
+    krb5_address       ** remote_addr;
+{
+    krb5_address       * tmp_addr;
+
+    if (local_addr && auth_context->local_addr) {
+       if ((tmp_addr = (krb5_address *)malloc(sizeof(krb5_address))) == NULL)
+           return ENOMEM;
+       if (tmp_addr->contents = malloc(auth_context->local_addr->length)) {
+           memcpy(tmp_addr->contents, auth_context->local_addr->contents,
+                  auth_context->local_addr->length);
+           tmp_addr->addrtype = auth_context->local_addr->addrtype;
+           tmp_addr->length = auth_context->local_addr->length;
+           *local_addr = tmp_addr;
+       } else {
+           free(tmp_addr);
+           return ENOMEM;
+       }
+    }
+    if ((remote_addr) && auth_context->remote_addr) {
+       if ((tmp_addr = (krb5_address *)malloc(sizeof(krb5_address))) == NULL) {
+           if (local_addr && auth_context->local_addr) {
+               krb5_free_address(context, *local_addr);
+           }
+           return ENOMEM;
+       }
+       if (tmp_addr->contents = malloc(auth_context->remote_addr->length)) {
+           memcpy(tmp_addr->contents, auth_context->remote_addr->contents,
+                  auth_context->remote_addr->length);
+           tmp_addr->addrtype = auth_context->remote_addr->addrtype;
+           tmp_addr->length = auth_context->remote_addr->length;
+           *remote_addr = tmp_addr;
+       } else {
+           if (local_addr && auth_context->local_addr) {
+               krb5_free_address(context, *local_addr);
+           }
+           free(tmp_addr);
+           return ENOMEM;
+       }
+    }
+    return 0 ;
+}
+
 /* XXX this call is a hack. Fixed when I do the servers. */
 krb5_error_code
 krb5_auth_con_setkey(context, auth_context, keyblock)
@@ -239,6 +286,16 @@ krb5_auth_con_setflags(context, auth_context, flags)
     return 0;
 }
 
+krb5_error_code
+krb5_auth_con_getflags(context, auth_context, flags)
+    krb5_context         context;
+    krb5_auth_context  * auth_context;
+    krb5_int32         * flags;
+{
+    *flags = auth_context->auth_context_flags;
+    return 0;
+}
+
 krb5_error_code
 krb5_auth_con_setrcache(context, auth_context, rcache)
     krb5_context         context;
@@ -248,4 +305,3 @@ krb5_auth_con_setrcache(context, auth_context, rcache)
     auth_context->rcache = rcache;
     return 0;
 }
-
index 727931aeef753de0c8dd168d176041c3a5d9fa07..b9cd8f4b0b9a931d16875174f73b1e47354d9698 100644 (file)
@@ -87,8 +87,8 @@ krb5_mk_req_extended(context, auth_context, ap_req_options, in_data, in_creds,
     krb5_encrypt_block eblock;
     krb5_data *toutbuf;
 
+    request.ap_options = ap_req_options & AP_OPTS_WIRE_MASK;
     request.authenticator.ciphertext.data = 0;
-    request.ap_options = ap_req_options;
     request.ticket = 0;
     
     if (!in_creds->ticket.length)