Author: mturk
Date: Fri Sep 10 17:45:59 2010
New Revision: 995898
URL: http://svn.apache.org/viewvc?rev=995898&view=rev
Log:
Log both local and remote address
Modified:
tomcat/jk/trunk/native/common/jk_connect.c
tomcat/jk/trunk/native/common/portable.h
Modified: tomcat/jk/trunk/native/common/jk_connect.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_connect.c?rev=995898&r1=995897&r2=995898&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_connect.c (original)
+++ tomcat/jk/trunk/native/common/jk_connect.c Fri Sep 10 17:45:59 2010
@@ -719,8 +719,8 @@ int jk_shutdown_socket(jk_sock_t sd, jk_
save_errno = errno;
if (JK_IS_DEBUG_LEVEL(l)) {
- char buf[64];
- jk_log(l, JK_LOG_DEBUG, "About to shutdown socket %d %s",
+ char buf[128];
+ jk_log(l, JK_LOG_DEBUG, "About to shutdown socket %d [%s]",
sd, jk_dump_sinfo(sd, buf));
}
/* Shut down the socket for write, which will send a FIN
@@ -940,16 +940,27 @@ char *jk_dump_hinfo(struct sockaddr_in *
char *jk_dump_sinfo(jk_sock_t sd, char *buf)
{
struct sockaddr_in s_addr;
+ struct sockaddr_in r_addr;
socklen_t s_alen;
s_alen = sizeof(struct sockaddr);
if (getsockname(sd, (struct sockaddr *)&s_addr, &s_alen) == 0) {
- return jk_dump_hinfo(&s_addr, buf);
- }
- else {
- sprintf(buf, "???%d:%d", sd, errno);
- return buf;
+ s_alen = sizeof(struct sockaddr);
+ if (getpeername(sd, (struct sockaddr *)&r_addr, &s_alen) == 0) {
+ unsigned long laddr = (unsigned
long)htonl(s_addr.sin_addr.s_addr);
+ unsigned short lport = (unsigned short)htons(s_addr.sin_port);
+ unsigned long raddr = (unsigned
long)htonl(r_addr.sin_addr.s_addr);
+ unsigned short rport = (unsigned short)htons(r_addr.sin_port);
+ sprintf(buf, "%d.%d.%d.%d:%d -> %d.%d.%d.%d:%d",
+ (int)(laddr >> 24), (int)((laddr >> 16) & 0xff),
+ (int)((laddr >> 8) & 0xff), (int)(laddr & 0xff),
(int)lport,
+ (int)(raddr >> 24), (int)((raddr >> 16) & 0xff),
+ (int)((raddr >> 8) & 0xff), (int)(raddr & 0xff),
(int)rport);
+ return buf;
+ }
}
+ sprintf(buf, "error=%d", errno);
+ return buf;
}
/** Wait for input event on socket until timeout
Modified: tomcat/jk/trunk/native/common/portable.h
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/portable.h?rev=995898&r1=995897&r2=995898&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/portable.h (original)
+++ tomcat/jk/trunk/native/common/portable.h Fri Sep 10 17:45:59 2010
@@ -1,18 +1,110 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/* On most platform this file is overwritten when doing configure */
-/* DON'T COMMIT THE FILE IT BREAKS windoze and Netware, commit the sample file
*/
+/* common/portable.h. Generated by configure. */
+/* common/portable.h.in. Generated from configure.in by autoheader. */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Have flock() */
+#define HAVE_FLOCK 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Have poll() */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
+/* Have snprintf() */
+#define HAVE_SNPRINTF 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+/* #undef HAVE_SYS_FILIO_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Have vsnprintf() */
+#define HAVE_VSNPRINTF 1
+
+/* Name of package */
+#define PACKAGE "mod_jk"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME ""
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING ""
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION ""
+
+/* The size of a `char', as computed by sizeof. */
+#define SIZEOF_CHAR 1
+
+/* The size of a `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
+/* The size of a `long', as computed by sizeof. */
+#define SIZEOF_LONG 4
+
+/* The size of a `longlong', as computed by sizeof. */
+#define SIZEOF_LONGLONG 0
+
+/* The size of a `long double', as computed by sizeof. */
+#define SIZEOF_LONG_DOUBLE 12
+
+/* The size of a `long long', as computed by sizeof. */
+#define SIZEOF_LONG_LONG 8
+
+/* The size of pid_t */
+#define SIZEOF_PID_T 4
+
+/* The size of pthread_t */
+#define SIZEOF_PTHREAD_T 4
+
+/* The size of a `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to use SOCK_CLOEXEC with socket() */
+/* #undef USE_SOCK_CLOEXEC */
+
+/* Define to use SO_RCVTIMEO with setsockopt() */
+#define USE_SO_RCVTIMEO 1
+
+/* Define to use SO_SNDTIMEO with setsockopt() */
+#define USE_SO_SNDTIMEO 1
+
+/* Version number of package */
+#define VERSION "1.2.29"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]