| 293 |
int tos; |
int tos; |
| 294 |
char remote_addr[IP_ADDR_LEN]; |
char remote_addr[IP_ADDR_LEN]; |
| 295 |
int remote_port; |
int remote_port; |
| 296 |
|
char local_addr[IP_ADDR_LEN]; |
| 297 |
|
int local_port; |
| 298 |
|
socklen_t sock_len; |
| 299 |
time_t t_used = time(NULL); |
time_t t_used = time(NULL); |
| 300 |
struct tm *tm_used; |
struct tm *tm_used; |
| 301 |
int ch; |
int ch; |
| 475 |
log_error("setsockopt IP_TOS=%d error (%d)\n", tos, errno); |
log_error("setsockopt IP_TOS=%d error (%d)\n", tos, errno); |
| 476 |
} |
} |
| 477 |
|
|
| 478 |
|
sock_len = sizeof(sin); |
| 479 |
|
if (getsockname(sock, (struct sockaddr *)&sin, &sock_len) < 0) |
| 480 |
|
{ |
| 481 |
|
log_error("getsockname() error: %d", errno); |
| 482 |
|
goto cleanup; |
| 483 |
|
} |
| 484 |
|
|
| 485 |
|
strncpy(local_addr, inet_ntoa(sin.sin_addr), sizeof(local_addr) - 1); |
| 486 |
|
local_addr[sizeof(local_addr) - 1] = '\0'; |
| 487 |
|
local_port = ntohs(sin.sin_port); |
| 488 |
|
|
| 489 |
prints("\033[1;31m连接成功!\033[m\r\n"); |
prints("\033[1;31m连接成功!\033[m\r\n"); |
| 490 |
iflush(); |
iflush(); |
| 491 |
log_common("BBSNET connect to %s:%d\n", remote_addr, remote_port); |
log_common("BBSNET connect to %s:%d from %s:%d by [%s]\n", |
| 492 |
|
remote_addr, remote_port, local_addr, local_port, BBS_username); |
| 493 |
|
|
| 494 |
input_cd = iconv_open(bbsnet_conf[n].charset, BBS_NET_DEFAULT_CHARSET); |
input_cd = iconv_open(bbsnet_conf[n].charset, BBS_NET_DEFAULT_CHARSET); |
| 495 |
if (input_cd == (iconv_t)(-1)) |
if (input_cd == (iconv_t)(-1)) |