/[LeafOK_CVS]/lbbs/src/bbs_net.c
ViewVC logotype

Diff of /lbbs/src/bbs_net.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.61 by sysadm, Sun Oct 5 00:49:56 2025 UTC Revision 1.63 by sysadm, Fri Oct 10 14:02:41 2025 UTC
# Line 48  Line 48 
48  #define MAXSTATION 26 * 2  #define MAXSTATION 26 * 2
49  #define STATION_PER_LINE 4  #define STATION_PER_LINE 4
50    
51    #define BBS_NET_DEFAULT_CHARSET "UTF-8"
52    
53  struct _bbsnet_conf  struct _bbsnet_conf
54  {  {
55          char host1[20];          char host1[20];
# Line 291  int bbsnet_connect(int n) Line 293  int bbsnet_connect(int n)
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;
# Line 470  int bbsnet_connect(int n) Line 475  int bbsnet_connect(int n)
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, "UTF-8");          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))
496          {          {
497                  log_error("iconv_open(UTF8->GBK) error: %d\n", errno);                  log_error("iconv_open(%s->%s) error: %d\n", BBS_NET_DEFAULT_CHARSET, bbsnet_conf[n].charset, errno);
498                  goto cleanup;                  goto cleanup;
499          }          }
500          output_cd = iconv_open("UTF-8", bbsnet_conf[n].charset);          output_cd = iconv_open(BBS_NET_DEFAULT_CHARSET, bbsnet_conf[n].charset);
501          if (input_cd == (iconv_t)(-1))          if (input_cd == (iconv_t)(-1))
502          {          {
503                  log_error("iconv_open(GBK->UTF-8) error: %d\n", errno);                  log_error("iconv_open(%s->%s) error: %d\n", bbsnet_conf[n].charset, BBS_NET_DEFAULT_CHARSET, errno);
504                  iconv_close(input_cd);                  iconv_close(input_cd);
505                  goto cleanup;                  goto cleanup;
506          }          }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1