diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 7f64c6b605b11892064884182c72279f2016a56d..0d4ba6d03d6858952aee106d44a058db07116b1d 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -4941,7 +4941,7 @@ void DLLCALL ftp_server(void* arg) /* * Add interfaces */ - xpms_add_chararray_list(ftp_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->port, "FTP Server", ftp_open_socket_cb, startup->seteuid, NULL); + xpms_add_list(ftp_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->port, "FTP Server", ftp_open_socket_cb, startup->seteuid, NULL); lprintf(LOG_INFO,"FTP Server listening"); status(STATUS_WFC); diff --git a/src/sbbs3/ftpsrvr.h b/src/sbbs3/ftpsrvr.h index d46f82e891df34f6515b5d064fec5e3929dcb073..aea75ef72267f79016e51d59b122fb2cf8fa20cd 100644 --- a/src/sbbs3/ftpsrvr.h +++ b/src/sbbs3/ftpsrvr.h @@ -53,7 +53,7 @@ typedef struct { WORD sem_chk_freq; /* semaphore file checking frequency (in seconds) */ struct in_addr outgoing4; struct in6_addr outgoing6; - char interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; struct in_addr pasv_ip_addr; struct in6_addr pasv_ip6_addr; WORD pasv_port_low; diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 29465ab5ce92aed1067cc0a92fb27005c7b16c03..d3639c77b6fd52245432309b5590321c1eefd3bf 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -5193,12 +5193,12 @@ void DLLCALL mail_server(void* arg) cleanup(1); return; } - if(!xpms_add_chararray_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->smtp_port, "SMTP Server", mail_open_socket, startup->seteuid, "smtp")) + if(!xpms_add_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->smtp_port, "SMTP Server", mail_open_socket, startup->seteuid, "smtp")) lprintf(LOG_INFO,"SMTP No extra interfaces listening"); lprintf(LOG_INFO,"SMTP Server listening"); if(startup->options&MAIL_OPT_USE_SUBMISSION_PORT) { - if(xpms_add_chararray_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->submission_port, "SMTP Submission Agent", mail_open_socket, startup->seteuid, "submission")) + if(xpms_add_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->submission_port, "SMTP Submission Agent", mail_open_socket, startup->seteuid, "submission")) lprintf(LOG_INFO,"SUBMISSION Server listening on port %u" ,startup->submission_port); } @@ -5206,7 +5206,7 @@ void DLLCALL mail_server(void* arg) if(startup->options&MAIL_OPT_ALLOW_POP3) { /* open a socket and wait for a client */ - if(!xpms_add_chararray_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->pop3_interfaces, startup->pop3_port, "POP3 Server", mail_open_socket, startup->seteuid, "pop3")) + if(!xpms_add_list(mail_set, PF_UNSPEC, SOCK_STREAM, 0, startup->pop3_interfaces, startup->pop3_port, "POP3 Server", mail_open_socket, startup->seteuid, "pop3")) lprintf(LOG_INFO,"SMTP No extra interfaces listening"); lprintf(LOG_INFO,"POP3 Server listening"); } diff --git a/src/sbbs3/mailsrvr.h b/src/sbbs3/mailsrvr.h index 887e3833fa54f3d1176b51a5b7caee2aab71c068..5e53521d4141cfa5a8454ce1c1e564dfad07ba5f 100644 --- a/src/sbbs3/mailsrvr.h +++ b/src/sbbs3/mailsrvr.h @@ -63,8 +63,8 @@ typedef struct { WORD sem_chk_freq; /* semaphore file checking frequency (in seconds) */ struct in_addr outgoing4; struct in6_addr outgoing6; - char interfaces[INI_MAX_VALUE_LEN]; - char pop3_interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; + str_list_t pop3_interfaces; DWORD options; /* See MAIL_OPT definitions */ DWORD max_msg_size; /* Max msg size in bytes (0=unlimited) */ #define MAIL_DEFAULT_MAX_MSG_SIZE (20*1024*1024) /* 20MB */ diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 4f113aa73e72ec232a4a7bde45630d1283d9320b..1e51ca479291171bd02b658f74a0f149f969fa8f 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -4696,7 +4696,7 @@ void DLLCALL bbs_thread(void* arg) /* * Add interfaces */ - xpms_add_chararray_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->telnet_interfaces, startup->telnet_port, "Telnet Server", sock_cb, startup->seteuid, &telnet_cb); + xpms_add_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->telnet_interfaces, startup->telnet_port, "Telnet Server", sock_cb, startup->seteuid, &telnet_cb); lprintf(LOG_INFO,"Telnet Server listening on port %u",startup->telnet_port); @@ -4704,7 +4704,7 @@ void DLLCALL bbs_thread(void* arg) /* open a socket and wait for a client */ rlogin_cb.protocol="rlogin"; rlogin_cb.startup=startup; - xpms_add_chararray_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->rlogin_interfaces, startup->rlogin_port, "RLogin Server", sock_cb, startup->seteuid, &rlogin_cb); + xpms_add_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->rlogin_interfaces, startup->rlogin_port, "RLogin Server", sock_cb, startup->seteuid, &rlogin_cb); lprintf(LOG_INFO,"RLogin Server listening on port %u",startup->rlogin_port); } @@ -4751,7 +4751,7 @@ void DLLCALL bbs_thread(void* arg) /* open a socket and wait for a client */ ssh_cb.protocol="ssh"; ssh_cb.startup=startup; - xpms_add_chararray_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->ssh_interfaces, startup->ssh_port, "SSH Server", sock_cb, startup->seteuid, &ssh_cb); + xpms_add_list(ts_set, PF_UNSPEC, SOCK_STREAM, 0, startup->ssh_interfaces, startup->ssh_port, "SSH Server", sock_cb, startup->seteuid, &ssh_cb); lprintf(LOG_INFO,"SSH Server listening on port %u",startup->ssh_port); } NO_SSH: diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index 428d1bffebc6b2adbf261f71a23bb707f432599f..1651ef109e1b235743f32d968c9cfe3e5cf76411 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -214,8 +214,8 @@ static void get_ini_globals(str_list_t list, global_startup_t* global) SAFECOPY(global->host_name,value); global->sem_chk_freq=iniGetShortInt(list,section,strSemFileCheckFrequency,0); - SAFECOPY(global->interfaces, - iniGetString(list,section,strInterfaces, "0.0.0.0,::", value)); + iniFreeStringList(global->interfaces); + global->interfaces=iniGetStringList(list,section,strInterfaces, ",", "0.0.0.0,::"); global->outgoing4.s_addr=iniGetIpAddress(list,section,strOutgoing4,0); global->outgoing6=iniGetIp6Address(list,section,strOutgoing6,wildcard6); global->log_level=iniGetLogLevel(list,section,strLogLevel,DEFAULT_LOG_LEVEL); @@ -261,6 +261,7 @@ void sbbs_read_ini( str_list_t list; global_startup_t global_buf; struct in6_addr wildcard6 = {0}; + char *global_interfaces; if(global==NULL) { memset(&global_buf,0,sizeof(global_buf)); @@ -279,6 +280,8 @@ void sbbs_read_ini( if(services!=NULL) SAFECOPY(services->ctrl_dir,global->ctrl_dir); } + global_interfaces = strListCombine(global->interfaces, NULL, 16384, ","); + /***********************************************************************/ section = "BBS"; @@ -294,18 +297,21 @@ void sbbs_read_ini( bbs->telnet_port =iniGetShortInt(list,section,"TelnetPort",IPPORT_TELNET); - SAFECOPY(bbs->telnet_interfaces, - iniGetString(list,section,"TelnetInterface",global->interfaces,value)); + iniFreeStringList(bbs->telnet_interfaces); + bbs->telnet_interfaces + =iniGetStringList(list,section,"TelnetInterface",",",global_interfaces); bbs->rlogin_port =iniGetShortInt(list,section,"RLoginPort",513); - SAFECOPY(bbs->rlogin_interfaces, - iniGetString(list,section,"RLoginInterface",global->interfaces,value)); + iniFreeStringList(bbs->rlogin_interfaces); + bbs->rlogin_interfaces + =iniGetStringList(list,section,"RLoginInterface",",",global_interfaces); bbs->ssh_port =iniGetShortInt(list,section,"SSHPort",22); - SAFECOPY(bbs->ssh_interfaces, - iniGetString(list,section,"SSHInterface",global->interfaces,value)); + iniFreeStringList(bbs->ssh_interfaces); + bbs->ssh_interfaces + =iniGetStringList(list,section,"SSHInterface",",",global_interfaces); bbs->first_node =iniGetShortInt(list,section,"FirstNode",1); @@ -389,8 +395,9 @@ void sbbs_read_ini( =iniGetIp6Address(list,section,strOutgoing6,global->outgoing6); ftp->port =iniGetShortInt(list,section,strPort,IPPORT_FTP); - SAFECOPY(ftp->interfaces, - iniGetString(list,section,strInterfaces,global->interfaces,value)); + iniFreeStringList(ftp->interfaces); + ftp->interfaces + =iniGetStringList(list,section,strInterfaces,",",global_interfaces); ftp->max_clients =iniGetShortInt(list,section,strMaxClients,FTP_DEFAULT_MAX_CLIENTS); ftp->max_inactivity @@ -460,8 +467,9 @@ void sbbs_read_ini( if(mail!=NULL) { - SAFECOPY(mail->interfaces, - iniGetString(list,section,"SMTPInterface",global->interfaces,value)); + iniFreeStringList(mail->interfaces); + mail->interfaces + =iniGetStringList(list,section,"SMTPInterface",",",global_interfaces); mail->outgoing4.s_addr =iniGetIpAddress(list,section,strOutgoing4,global->outgoing4.s_addr); mail->outgoing6 @@ -470,8 +478,9 @@ void sbbs_read_ini( =iniGetShortInt(list,section,"SMTPPort",IPPORT_SMTP); mail->submission_port =iniGetShortInt(list,section,"SubmissionPort",IPPORT_SUBMISSION); - SAFECOPY(mail->pop3_interfaces, - iniGetString(list,section,"POP3Interface",global->interfaces,value)); + iniFreeStringList(mail->pop3_interfaces); + mail->pop3_interfaces + =iniGetStringList(list,section,"POP3Interface",",",global_interfaces); mail->pop3_port =iniGetShortInt(list,section,"POP3Port",IPPORT_POP3); mail->relay_port @@ -556,8 +565,9 @@ void sbbs_read_ini( if(services!=NULL) { - SAFECOPY(services->interfaces, - iniGetString(list,section,strInterfaces,global->interfaces,value)); + iniFreeStringList(services->interfaces); + services->interfaces + =iniGetStringList(list,section,strInterfaces,",",global_interfaces); services->outgoing4.s_addr =iniGetIpAddress(list,section,strOutgoing4,global->outgoing4.s_addr); services->outgoing6 @@ -602,10 +612,12 @@ void sbbs_read_ini( if(web!=NULL) { - SAFECOPY(web->interfaces, - iniGetString(list,section,strInterfaces,global->interfaces,value)); - SAFECOPY(web->tls_interfaces, - iniGetString(list,section,"TLSInterface",global->interfaces,value)); + iniFreeStringList(web->interfaces); + web->interfaces + =iniGetStringList(list,section,strInterfaces,",",global_interfaces); + iniFreeStringList(web->tls_interfaces); + web->tls_interfaces + =iniGetStringList(list,section,"TLSInterface",",",global_interfaces); web->outgoing4.s_addr =iniGetIpAddress(list,section,strOutgoing4,global->outgoing4.s_addr); web->outgoing6 @@ -689,6 +701,7 @@ void sbbs_read_ini( web->login_attempt_filter_threshold=iniGetInteger(list,section,strLoginAttemptFilterThreshold,global->login_attempt_filter_threshold); } + free(global_interfaces); iniFreeStringList(list); } @@ -741,7 +754,7 @@ BOOL sbbs_write_ini( iniSetShortInt(lp,section,strSemFileCheckFrequency,global->sem_chk_freq,&style); iniSetIpAddress(lp,section,strOutgoing4,global->outgoing4.s_addr,&style); iniSetIp6Address(lp,section,strOutgoing6,global->outgoing6,&style); - iniSetString(lp, section, strInterfaces, global->interfaces, &style); + iniSetStringList(lp, section, strInterfaces, ",", global->interfaces, &style); iniSetLogLevel(lp,section,strLogLevel,global->log_level,&style); iniSetInteger(lp,section,strBindRetryCount,global->bind_retry_count,&style); iniSetInteger(lp,section,strBindRetryDelay,global->bind_retry_delay,&style); @@ -763,24 +776,24 @@ BOOL sbbs_write_ini( if(!iniSetBool(lp,section,strAutoStart,run_bbs,&style)) break; - if(strcmp(bbs->telnet_interfaces, global->interfaces)==0) + if(strListCmp(bbs->telnet_interfaces, global->interfaces)==0) iniRemoveValue(lp,section,"TelnetInterface"); - else if(!iniSetString(lp,section,"TelnetInterface", bbs->telnet_interfaces, &style)) + else if(!iniSetStringList(lp,section,"TelnetInterface", ",", bbs->telnet_interfaces, &style)) break; if(!iniSetShortInt(lp,section,"TelnetPort",bbs->telnet_port,&style)) break; - if(strcmp(bbs->rlogin_interfaces, global->interfaces)==0) + if(strListCmp(bbs->rlogin_interfaces, global->interfaces)==0) iniRemoveValue(lp,section,"RLoginInterface"); - else if(!iniSetString(lp,section,"RLoginInterface", bbs->rlogin_interfaces,&style)) + else if(!iniSetStringList(lp,section,"RLoginInterface", ",", bbs->rlogin_interfaces,&style)) break; if(!iniSetShortInt(lp,section,"RLoginPort",bbs->rlogin_port,&style)) break; - if(strcmp(bbs->ssh_interfaces, global->interfaces)==0) + if(strListCmp(bbs->ssh_interfaces, global->interfaces)==0) iniRemoveValue(lp,section,"SSHInterface"); - else if(!iniSetString(lp,section,"SSHInterface", bbs->ssh_interfaces,&style)) + else if(!iniSetStringList(lp,section,"SSHInterface", ",", bbs->ssh_interfaces,&style)) break; if(!iniSetShortInt(lp,section,"SSHPort",bbs->ssh_port,&style)) break; @@ -851,9 +864,9 @@ BOOL sbbs_write_ini( if(!iniSetBool(lp,section,strAutoStart,run_ftp,&style)) break; - if(strcmp(ftp->interfaces, global->interfaces)==0) + if(strListCmp(ftp->interfaces, global->interfaces)==0) iniRemoveValue(lp,section,strInterfaces); - else if(!iniSetString(lp,section,strInterfaces,ftp->interfaces,&style)) + else if(!iniSetStringList(lp,section,strInterfaces,",",ftp->interfaces,&style)) break; if(ftp->outgoing4.s_addr == global->outgoing4.s_addr) @@ -949,9 +962,9 @@ BOOL sbbs_write_ini( if(!iniSetBool(lp,section,strAutoStart,run_mail,&style)) break; - if(strcmp(mail->interfaces, global->interfaces)==0) + if(strListCmp(mail->interfaces, global->interfaces)==0) iniRemoveValue(lp,section,strInterfaces); - else if(!iniSetString(lp,section,strInterfaces,mail->interfaces,&style)) + else if(!iniSetStringList(lp,section,strInterfaces,",",mail->interfaces,&style)) break; if(mail->outgoing4.s_addr == global->outgoing4.s_addr) @@ -1063,9 +1076,9 @@ BOOL sbbs_write_ini( if(!iniSetBool(lp,section,strAutoStart,run_services,&style)) break; - if(strcmp(services->interfaces, global->interfaces)==0) + if(strListCmp(services->interfaces, global->interfaces)==0) iniRemoveValue(lp,section,strInterfaces); - else if(!iniSetString(lp,section,strInterfaces,services->interfaces,&style)) + else if(!iniSetStringList(lp,section,strInterfaces,",",services->interfaces,&style)) break; if(services->outgoing4.s_addr == global->outgoing4.s_addr) @@ -1129,14 +1142,14 @@ BOOL sbbs_write_ini( if(!iniSetBool(lp,section,strAutoStart,run_web,&style)) break; - if(strcmp(web->interfaces, global->interfaces)==0) + if(strListCmp(web->interfaces, global->interfaces)==0) iniRemoveValue(lp,section,strInterfaces); - else if(!iniSetString(lp,section,strInterfaces,web->interfaces,&style)) + else if(!iniSetStringList(lp,section,strInterfaces,",",web->interfaces,&style)) break; - if(strcmp(web->tls_interfaces, global->interfaces)==0) + if(strListCmp(web->tls_interfaces, global->interfaces)==0) iniRemoveValue(lp,section,"TLSInterface"); - else if(!iniSetString(lp,section,"TLSInterface",web->tls_interfaces,&style)) + else if(!iniSetStringList(lp,section,"TLSInterface",",",web->tls_interfaces,&style)) break; if(web->outgoing4.s_addr == global->outgoing4.s_addr) diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index 45dcd7606defa10702c6b8147b3f1b0380d2c4ec..cccca20f945097114d79afb7b3cbeabd0a97b83b 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -84,7 +84,7 @@ typedef struct { /* These are sysop-configurable */ uint32_t interface_addr; uint16_t port; - char interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; struct in_addr outgoing4; struct in6_addr outgoing6; char protocol[34]; @@ -1511,7 +1511,7 @@ static service_t* read_services_ini(const char* services_ini, service_t* service /* Enumerate and parse each service configuration */ sec_list = iniGetSectionList(list,""); - default_interfaces = strdup(startup->interfaces); + default_interfaces = strListCombine(startup->interfaces, NULL, 16384, ","); for(i=0; sec_list!=NULL && sec_list[i]!=NULL; i++) { if(!iniGetBool(list,sec_list[i],"Enabled",TRUE)) { lprintf(LOG_WARNING,"Ignoring disabled service: %s",sec_list[i]); @@ -1520,7 +1520,7 @@ static service_t* read_services_ini(const char* services_ini, service_t* service memset(&serv,0,sizeof(service_t)); SAFECOPY(serv.protocol,iniGetString(list,sec_list[i],"Protocol",sec_list[i],prot)); serv.set = NULL; - SAFECOPY(serv.interfaces,iniGetString(list,sec_list[i],"Interface",default_interfaces,host)); + serv.interfaces=iniGetStringList(list,sec_list[i],"Interface",",",default_interfaces); serv.outgoing4.s_addr=iniGetIpAddress(list,sec_list[i],"OutgoingV4",startup->outgoing4.s_addr); serv.outgoing6=iniGetIp6Address(list,sec_list[i],"OutgoingV6",startup->outgoing6); serv.max_clients=iniGetInteger(list,sec_list[i],"MaxClients",max_clients); @@ -1853,7 +1853,7 @@ void DLLCALL services_thread(void* arg) cleanup(1); return; } - xpms_add_chararray_list(service[i].set, PF_UNSPEC, (service[i].options&SERVICE_OPT_UDP) ? SOCK_DGRAM : SOCK_STREAM + xpms_add_list(service[i].set, PF_UNSPEC, (service[i].options&SERVICE_OPT_UDP) ? SOCK_DGRAM : SOCK_STREAM , IPPROTO_IP, service[i].interfaces, service[i].port, service[i].protocol , (service[i].options&SERVICE_OPT_UDP) ? service_udp_sock_cb : open_socket_cb, startup->seteuid, &service[i]); total_sockets += service[i].set->sock_count; diff --git a/src/sbbs3/services.h b/src/sbbs3/services.h index 2f659664150c6e48ff5ad834fb0c10f28b96868c..642073f62c311fd8c1fea72d69150bc3d30ee73d 100644 --- a/src/sbbs3/services.h +++ b/src/sbbs3/services.h @@ -45,7 +45,7 @@ typedef struct { DWORD size; /* sizeof(bbs_struct_t) */ struct in_addr outgoing4; struct in6_addr outgoing6; - char interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; DWORD options; /* See BBS_OPT definitions */ WORD sem_chk_freq; /* semaphore file checking frequency (in seconds) */ diff --git a/src/sbbs3/startup.h b/src/sbbs3/startup.h index 6f447cbb02cbc4ef0d1c7f8c40ea873089a1e4e7..5be96476f241f07f17a397baa3d4fdabab59205c 100644 --- a/src/sbbs3/startup.h +++ b/src/sbbs3/startup.h @@ -66,7 +66,7 @@ typedef struct { ushort sem_chk_freq; struct in_addr outgoing4; struct in6_addr outgoing6; - char interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; int log_level; js_startup_t js; uint bind_retry_count; /* Number of times to retry bind() calls */ @@ -91,10 +91,10 @@ typedef struct { WORD sem_chk_freq; /* semaphore file checking frequency (in seconds) */ struct in_addr outgoing4; struct in6_addr outgoing6; - char telnet_interfaces[INI_MAX_VALUE_LEN]; + str_list_t telnet_interfaces; uint32_t options; /* See BBS_OPT definitions */ - char rlogin_interfaces[INI_MAX_VALUE_LEN]; - char ssh_interfaces[INI_MAX_VALUE_LEN]; + str_list_t rlogin_interfaces; + str_list_t ssh_interfaces; RingBuf** node_spybuf; /* Spy output buffer (each node) */ RingBuf** node_inbuf; /* User input buffer (each node) */ sem_t** node_spysem; /* Spy output semaphore (each node) */ diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 77c405500be634f3bb9dd4edd5a9aa0f732d9fb2..254a381bdbe614fdce8cfb59fff4286d3a0c48ee 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -5968,9 +5968,9 @@ void DLLCALL web_server(void* arg) /* * Add interfaces */ - xpms_add_chararray_list(ws_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->port, "Web Server", open_socket, startup->seteuid, NULL); + xpms_add_list(ws_set, PF_UNSPEC, SOCK_STREAM, 0, startup->interfaces, startup->port, "Web Server", open_socket, startup->seteuid, NULL); if(do_cryptInit()) - xpms_add_chararray_list(ws_set, PF_UNSPEC, SOCK_STREAM, 0, startup->tls_interfaces, startup->tls_port, "Secure Web Server", open_socket, startup->seteuid, "TLS"); + xpms_add_list(ws_set, PF_UNSPEC, SOCK_STREAM, 0, startup->tls_interfaces, startup->tls_port, "Secure Web Server", open_socket, startup->seteuid, "TLS"); listInit(&log_list,/* flags */ LINK_LIST_MUTEX|LINK_LIST_SEMAPHORE); if(startup->options&WEB_OPT_HTTP_LOGGING) { diff --git a/src/sbbs3/websrvr.h b/src/sbbs3/websrvr.h index c0a1a8ab16a25d0eabc513a53564e89cbd2a977c..7d38fffddb48d1fab17393993438bd219cf5ce2d 100644 --- a/src/sbbs3/websrvr.h +++ b/src/sbbs3/websrvr.h @@ -56,8 +56,8 @@ typedef struct { WORD tls_port; struct in_addr outgoing4; struct in6_addr outgoing6; - char interfaces[INI_MAX_VALUE_LEN]; - char tls_interfaces[INI_MAX_VALUE_LEN]; + str_list_t interfaces; + str_list_t tls_interfaces; void* cbdata; /* Private data passed to callbacks */