Lines 559-565
Link Here
|
559 |
int timeout, int connect_timeout, |
559 |
int timeout, int connect_timeout, |
560 |
int sock_buf, jk_logger_t *l) |
560 |
int sock_buf, jk_logger_t *l) |
561 |
{ |
561 |
{ |
562 |
char buf[64]; |
562 |
char buf[100]; |
563 |
jk_sock_t sd; |
563 |
jk_sock_t sd; |
564 |
int set = 1; |
564 |
int set = 1; |
565 |
int ret = 0; |
565 |
int ret = 0; |
Lines 764-770
Link Here
|
764 |
else { |
764 |
else { |
765 |
if (JK_IS_DEBUG_LEVEL(l)) |
765 |
if (JK_IS_DEBUG_LEVEL(l)) |
766 |
jk_log(l, JK_LOG_DEBUG, "socket %d [%s] connected", |
766 |
jk_log(l, JK_LOG_DEBUG, "socket %d [%s] connected", |
767 |
sd, jk_dump_sinfo(sd, buf)); |
767 |
sd, jk_dump_sinfo(sd, buf, sizeof buf)); |
768 |
} |
768 |
} |
769 |
JK_TRACE_EXIT(l); |
769 |
JK_TRACE_EXIT(l); |
770 |
return sd; |
770 |
return sd; |
Lines 841-847
Link Here
|
841 |
int jk_shutdown_socket(jk_sock_t sd, jk_logger_t *l) |
841 |
int jk_shutdown_socket(jk_sock_t sd, jk_logger_t *l) |
842 |
{ |
842 |
{ |
843 |
char dummy[512]; |
843 |
char dummy[512]; |
844 |
char buf[64]; |
844 |
char buf[100]; |
845 |
char *sb = NULL; |
845 |
char *sb = NULL; |
846 |
int rc = 0; |
846 |
int rc = 0; |
847 |
size_t rd = 0; |
847 |
size_t rd = 0; |
Lines 859-865
Link Here
|
859 |
|
859 |
|
860 |
save_errno = errno; |
860 |
save_errno = errno; |
861 |
if (JK_IS_DEBUG_LEVEL(l)) { |
861 |
if (JK_IS_DEBUG_LEVEL(l)) { |
862 |
sb = jk_dump_sinfo(sd, buf); |
862 |
sb = jk_dump_sinfo(sd, buf, sizeof buf); |
863 |
jk_log(l, JK_LOG_DEBUG, "About to shutdown socket %d [%s]", |
863 |
jk_log(l, JK_LOG_DEBUG, "About to shutdown socket %d [%s]", |
864 |
sd, sb); |
864 |
sd, sb); |
865 |
} |
865 |
} |
Lines 1228-1234
Link Here
|
1228 |
return buf; |
1228 |
return buf; |
1229 |
} |
1229 |
} |
1230 |
|
1230 |
|
1231 |
char *jk_dump_sinfo(jk_sock_t sd, char *buf) |
1231 |
char *jk_dump_sinfo(jk_sock_t sd, char *buf, const size_t size) |
1232 |
{ |
1232 |
{ |
1233 |
struct sockaddr rsaddr; |
1233 |
struct sockaddr rsaddr; |
1234 |
struct sockaddr lsaddr; |
1234 |
struct sockaddr lsaddr; |
Lines 1242-1254
Link Here
|
1242 |
size_t ps; |
1242 |
size_t ps; |
1243 |
if (lsaddr.sa_family == JK_INET) { |
1243 |
if (lsaddr.sa_family == JK_INET) { |
1244 |
struct sockaddr_in *sa = (struct sockaddr_in *)&lsaddr; |
1244 |
struct sockaddr_in *sa = (struct sockaddr_in *)&lsaddr; |
1245 |
inet_ntop4((unsigned char *)&sa->sin_addr, buf, 16); |
1245 |
inet_ntop4((unsigned char *)&sa->sin_addr, buf, size); |
1246 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin_port)); |
1246 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin_port)); |
1247 |
} |
1247 |
} |
1248 |
#if JK_HAVE_IPV6 |
1248 |
#if JK_HAVE_IPV6 |
1249 |
else { |
1249 |
else { |
1250 |
struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&lsaddr; |
1250 |
struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&lsaddr; |
1251 |
inet_ntop6((unsigned char *)&sa->sin6_addr, buf, 64); |
1251 |
inet_ntop6((unsigned char *)&sa->sin6_addr, buf, size); |
1252 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin6_port)); |
1252 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin6_port)); |
1253 |
} |
1253 |
} |
1254 |
#endif |
1254 |
#endif |
Lines 1257-1273
Link Here
|
1257 |
ps = strlen(buf); |
1257 |
ps = strlen(buf); |
1258 |
if (rsaddr.sa_family == JK_INET) { |
1258 |
if (rsaddr.sa_family == JK_INET) { |
1259 |
struct sockaddr_in *sa = (struct sockaddr_in *)&rsaddr; |
1259 |
struct sockaddr_in *sa = (struct sockaddr_in *)&rsaddr; |
1260 |
inet_ntop4((unsigned char *)&sa->sin_addr, buf + ps, 16); |
1260 |
inet_ntop4((unsigned char *)&sa->sin_addr, buf + ps, size - ps); |
1261 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin_port)); |
1261 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin_port)); |
1262 |
} |
1262 |
} |
1263 |
#if JK_HAVE_IPV6 |
1263 |
#if JK_HAVE_IPV6 |
1264 |
else { |
1264 |
else { |
1265 |
struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&rsaddr; |
1265 |
struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&rsaddr; |
1266 |
inet_ntop6((unsigned char *)&sa->sin6_addr, buf + ps, 64); |
1266 |
inet_ntop6((unsigned char *)&sa->sin6_addr, buf + ps, size - ps); |
1267 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin6_port)); |
1267 |
sprintf(pb, ":%d", (unsigned int)htons(sa->sin6_port)); |
1268 |
} |
1268 |
} |
1269 |
#endif |
1269 |
#endif |
1270 |
strcat(buf, pb); |
1270 |
strncat(buf, pb, size - strlen(buf) - 1); |
1271 |
return buf; |
1271 |
return buf; |
1272 |
} |
1272 |
} |
1273 |
} |
1273 |
} |
Lines 1292-1298
Link Here
|
1292 |
struct pollfd fds; |
1292 |
struct pollfd fds; |
1293 |
int rc; |
1293 |
int rc; |
1294 |
int save_errno; |
1294 |
int save_errno; |
1295 |
char buf[64]; |
1295 |
char buf[100]; |
1296 |
|
1296 |
|
1297 |
JK_TRACE_ENTER(l); |
1297 |
JK_TRACE_ENTER(l); |
1298 |
|
1298 |
|
Lines 1309-1315
Link Here
|
1309 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1309 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1310 |
jk_log(l, JK_LOG_DEBUG, |
1310 |
jk_log(l, JK_LOG_DEBUG, |
1311 |
"timeout during poll on socket %d [%s] (timeout=%d)", |
1311 |
"timeout during poll on socket %d [%s] (timeout=%d)", |
1312 |
sd, jk_dump_sinfo(sd, buf), timeout); |
1312 |
sd, jk_dump_sinfo(sd, buf, sizeof buf), timeout); |
1313 |
} |
1313 |
} |
1314 |
/* Timeout. Set the errno to timeout */ |
1314 |
/* Timeout. Set the errno to timeout */ |
1315 |
errno = ETIMEDOUT; |
1315 |
errno = ETIMEDOUT; |
Lines 1321-1327
Link Here
|
1321 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1321 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1322 |
jk_log(l, JK_LOG_DEBUG, |
1322 |
jk_log(l, JK_LOG_DEBUG, |
1323 |
"error during poll on socket %d [%s] (errno=%d)", |
1323 |
"error during poll on socket %d [%s] (errno=%d)", |
1324 |
sd, jk_dump_sinfo(sd, buf), errno); |
1324 |
sd, jk_dump_sinfo(sd, buf, sizeof buf), errno); |
1325 |
} |
1325 |
} |
1326 |
errno = save_errno; |
1326 |
errno = save_errno; |
1327 |
JK_TRACE_EXIT(l); |
1327 |
JK_TRACE_EXIT(l); |
Lines 1332-1338
Link Here
|
1332 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1332 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1333 |
jk_log(l, JK_LOG_DEBUG, |
1333 |
jk_log(l, JK_LOG_DEBUG, |
1334 |
"error event during poll on socket %d [%s] (event=%d)", |
1334 |
"error event during poll on socket %d [%s] (event=%d)", |
1335 |
sd, jk_dump_sinfo(sd, buf), save_errno); |
1335 |
sd, jk_dump_sinfo(sd, buf, sizeof buf), save_errno); |
1336 |
} |
1336 |
} |
1337 |
errno = save_errno; |
1337 |
errno = save_errno; |
1338 |
JK_TRACE_EXIT(l); |
1338 |
JK_TRACE_EXIT(l); |
Lines 1349-1355
Link Here
|
1349 |
struct timeval tv; |
1349 |
struct timeval tv; |
1350 |
int rc; |
1350 |
int rc; |
1351 |
int save_errno; |
1351 |
int save_errno; |
1352 |
char buf[64]; |
1352 |
char buf[100]; |
1353 |
|
1353 |
|
1354 |
JK_TRACE_ENTER(l); |
1354 |
JK_TRACE_ENTER(l); |
1355 |
|
1355 |
|
Lines 1367-1373
Link Here
|
1367 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1367 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1368 |
jk_log(l, JK_LOG_DEBUG, |
1368 |
jk_log(l, JK_LOG_DEBUG, |
1369 |
"timeout during select on socket %d [%s] (timeout=%d)", |
1369 |
"timeout during select on socket %d [%s] (timeout=%d)", |
1370 |
sd, jk_dump_sinfo(sd, buf), timeout); |
1370 |
sd, jk_dump_sinfo(sd, buf, sizeof buf), timeout); |
1371 |
} |
1371 |
} |
1372 |
/* Timeout. Set the errno to timeout */ |
1372 |
/* Timeout. Set the errno to timeout */ |
1373 |
#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__)) |
1373 |
#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__)) |
Lines 1383-1389
Link Here
|
1383 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1383 |
if (JK_IS_DEBUG_LEVEL(l)) { |
1384 |
jk_log(l, JK_LOG_DEBUG, |
1384 |
jk_log(l, JK_LOG_DEBUG, |
1385 |
"error during select on socket %d [%s] (errno=%d)", |
1385 |
"error during select on socket %d [%s] (errno=%d)", |
1386 |
sd, jk_dump_sinfo(sd, buf), errno); |
1386 |
sd, jk_dump_sinfo(sd, buf, sizeof buf), errno); |
1387 |
} |
1387 |
} |
1388 |
errno = save_errno; |
1388 |
errno = save_errno; |
1389 |
JK_TRACE_EXIT(l); |
1389 |
JK_TRACE_EXIT(l); |