* sendto_kdc.c (start_connection) [DEBUG]: Log the local socket address
authorKen Raeburn <raeburn@mit.edu>
Sat, 28 Aug 2004 00:00:53 +0000 (00:00 +0000)
committerKen Raeburn <raeburn@mit.edu>
Sat, 28 Aug 2004 00:00:53 +0000 (00:00 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16694 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/os/ChangeLog
src/lib/krb5/os/sendto_kdc.c

index 52db164ff1fe575dce482a6adddc5abb5139a87f..fd50036ee5565441801bb6a1f075fba29dfb5622 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-27  Ken Raeburn  <raeburn@mit.edu>
+
+       * sendto_kdc.c (start_connection) [DEBUG]: Log the local socket
+       address.
+
 2004-08-12  Alexandra Ellwood  <lxs@mit.edu>
 
         * ccdefname.c (krb5_cc_set_default_name, krb5_cc_default_name):
index 3f8eb777f135e41418da6889d7dde5819a91dce0..47cc2bce87fd9c48bb039fd660d71c66c18170ef 100644 (file)
@@ -67,8 +67,17 @@ int krb5int_debug_sendto_kdc = 0;
 
 static void default_debug_handler (const void *data, size_t len)
 {
+#if 0
+    FILE *logfile;
+    logfile = fopen("/tmp/sendto_kdc.log", "a");
+    if (logfile == NULL)
+       return;
+    fwrite(data, 1, len, logfile);
+    fclose(logfile);
+#else
     fwrite(data, 1, len, stderr);
     /* stderr is unbuffered */
+#endif
 }
 
 void (*krb5int_sendtokdc_debug_handler) (const void *, size_t) = default_debug_handler;
@@ -623,6 +632,19 @@ start_connection (struct conn_state *state, struct select_state *selstate)
            state->state = FAILED;
            return -3;
        } else {
+#ifdef DEBUG
+           struct sockaddr_storage ss;
+           socklen_t sslen = sizeof(ss);
+           if (0 == getsockname(state->fd, (struct sockaddr *) &ss, &sslen)) {
+               struct addrinfo hack_ai;
+               memset(&hack_ai, 0, sizeof(hack_ai));
+               hack_ai.ai_addr = (struct sockaddr *) &ss;
+               hack_ai.ai_addrlen = sslen;
+               hack_ai.ai_socktype = SOCK_DGRAM;
+               hack_ai.ai_family = ai->ai_family;
+               dprint("local address used was %A\n", &hack_ai);
+           }
+#endif
            state->state = READING;
        }
     }