diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index b0c873516304d14be4e43900822bbdbe3b61b7ce..e258f6456202868c70819295cb0b70b10458fac2 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -4941,7 +4941,7 @@ void bbs_thread(void* arg) union xp_sockaddr client_addr; socklen_t client_addr_len; SOCKET client_socket=INVALID_SOCKET; - int i; + int node_num; int result; time_t t; time_t start; @@ -5128,7 +5128,7 @@ void bbs_thread(void* arg) /* Create missing node directories */ lprintf(LOG_INFO,"Verifying/creating node directories"); - for(i=0;i<=scfg.sys_nodes;i++) { + for(int i=0;i<=scfg.sys_nodes;i++) { char newfn[MAX_PATH + 1]; char oldfn[MAX_PATH + 1]; if(i) { @@ -5207,7 +5207,7 @@ void bbs_thread(void* arg) } /* Initial global node variables */ - for(i=0;i<MAX_NODES;i++) { + for(int i=0;i<MAX_NODES;i++) { node_inbuf[i]=NULL; node_socket[i]=INVALID_SOCKET; spy_socket[i]=INVALID_SOCKET; @@ -5253,6 +5253,7 @@ void bbs_thread(void* arg) lprintf(LOG_ERR, "SSH cryptInit failure"); goto NO_SSH; } + int i; /* Get the private key... first try loading it from a file... */ SAFEPRINTF2(str,"%s%s",scfg.ctrl_dir,"cryptlib.key"); if(cryptStatusOK(cryptKeysetOpen(&ssh_keyset, CRYPT_UNUSED, CRYPT_KEYSET_FILE, str, CRYPT_KEYOPT_READONLY))) { @@ -5323,7 +5324,7 @@ NO_SSH: first_node=startup->first_node; last_node=startup->last_node; - for(i=first_node;i<=last_node;i++) { + for(int i=first_node;i<=last_node;i++) { sbbs->getnodedat(i,&node,1); node.status=NODE_WFC; node.misc&=NODE_EVENT; /* Note: Turns-off NODE_RRUN flag (and others) */ @@ -5566,6 +5567,7 @@ NO_SSH: if(ssh) { BOOL nodelay = true; ulong nb = 0; + int i; if(cryptStatusError(i=cryptCreateSession(&sbbs->ssh_session, CRYPT_UNUSED, CRYPT_SESSION_SSH_SERVER))) { GCESS(i, client_socket, CRYPT_UNUSED, "creating SSH session"); @@ -5669,16 +5671,16 @@ NO_SSH: client.usernum = 0; client_on(client_socket,&client,false /* update */); - for(i=first_node;i<=last_node;i++) { + for(node_num=first_node; node_num <= last_node; node_num++) { /* paranoia: make sure node.status!=NODE_WFC by default */ node.status=NODE_INVALID_STATUS; - if(sbbs->getnodedat(i,&node,1)!=0) + if(sbbs->getnodedat(node_num,&node,1)!=0) continue; if(node.status==NODE_WFC) { - if(node_socket[i - 1] != INVALID_SOCKET) { + if(node_socket[node_num - 1] != INVALID_SOCKET) { lprintf(LOG_CRIT, "%04d !Node %d status is WFC, but the node socket (%d) and thread are still in use!" - ,client_socket, i, node_socket[i - 1]); - sbbs->putnodedat(i, &node); + ,client_socket, node_num, node_socket[node_num - 1]); + sbbs->putnodedat(node_num, &node); continue; } node.status=NODE_LOGON; @@ -5692,13 +5694,13 @@ NO_SSH: else node.connection=NODE_CONNECTION_TELNET; - sbbs->putnodedat(i,&node); + sbbs->putnodedat(node_num, &node); break; } - sbbs->putnodedat(i,&node); + sbbs->putnodedat(node_num, &node); } - if(i>last_node) { + if(node_num>last_node) { lprintf(LOG_WARNING,"%04d %s [%s] !No nodes available for login.", client_socket, client.protocol, host_ip); SAFEPRINTF(str,"%snonodes.txt",scfg.text_dir); if(fexist(str)) @@ -5714,21 +5716,21 @@ NO_SSH: continue; } - lprintf(LOG_INFO, "%04d %s [%s] Attaching to Node %d", client_socket, client.protocol, host_ip, i); + lprintf(LOG_INFO, "%04d %s [%s] Attaching to Node %d", client_socket, client.protocol, host_ip, node_num); // Load the configuration files for this node, only if/when needed/updated - scfg_t* cfg = &node_scfg[i - 1]; + scfg_t* cfg = &node_scfg[node_num - 1]; if(cfg->size != sizeof(*cfg) || (node.misc & NODE_RRUN)) { sbbs->bprintf("Loading configuration..."); cfg->size = sizeof(*cfg); - cfg->node_num = i; + cfg->node_num = node_num; SAFECOPY(cfg->ctrl_dir, startup->ctrl_dir); lprintf(LOG_INFO,"Node %d Loading configuration files from %s", cfg->node_num, cfg->ctrl_dir); SAFECOPY(logstr,UNKNOWN_LOAD_ERROR); - if(!load_cfg(cfg, node_text[i - 1], /* prep: */true, /* node_req: */true, logstr, sizeof(logstr))) { + if(!load_cfg(cfg, node_text[node_num - 1], /* prep: */true, /* node_req: */true, logstr, sizeof(logstr))) { lprintf(LOG_WARNING, "Node %d LOAD ERROR: %s, falling back to Node %d", cfg->node_num, logstr, first_node); cfg->node_num = first_node; - if(!load_cfg(cfg, node_text[i - 1], /* prep: */true, /* node: */true, logstr, sizeof(logstr))) { + if(!load_cfg(cfg, node_text[node_num - 1], /* prep: */true, /* node: */true, logstr, sizeof(logstr))) { lprintf(LOG_CRIT,"!ERROR %s",logstr); lprintf(LOG_CRIT,"!FAILED to load configuration files"); sbbs->bprintf("\r\nFAILED: %s", logstr); @@ -5741,7 +5743,7 @@ NO_SSH: continue; } } - cfg->node_num = i; // correct the node number + cfg->node_num = node_num; // correct the node number if(node.misc & NODE_RRUN) { sbbs->getnodedat(cfg->node_num,&node,true); node.misc &= ~NODE_RRUN; @@ -5753,11 +5755,11 @@ NO_SSH: for(int e=0; e < cfg->total_events && e < scfg.total_events; e++) cfg->event[e]->last = scfg.event[e]->last; - node_socket[i-1]=client_socket; + node_socket[node_num-1]=client_socket; - sbbs_t* new_node = new sbbs_t(/* node_num: */i, &client_addr, client_addr_len, host_name + sbbs_t* new_node = new sbbs_t(node_num, &client_addr, client_addr_len, host_name ,client_socket - ,cfg, node_text[i-1], &client); + ,cfg, node_text[node_num-1], &client); new_node->client=client; #ifdef USE_CRYPTLIB @@ -5785,7 +5787,7 @@ NO_SSH: node.status=NODE_WFC; sbbs->putnodedat(new_node->cfg.node_num,&node); delete new_node; - node_socket[i-1]=INVALID_SOCKET; + node_socket[node_num-1]=INVALID_SOCKET; client_off(client_socket); SSH_END(client_socket); close_socket(client_socket); @@ -5932,7 +5934,7 @@ NO_SSH: set_state(terminate_server ? SERVER_STOPPING : SERVER_RELOADING); // Close all open sockets - for(i=0;i<MAX_NODES;i++) { + for(int i=0;i<MAX_NODES;i++) { if(node_socket[i]!=INVALID_SOCKET) { lprintf(LOG_INFO,"Closing node %d socket %d", i+1, node_socket[i]); close_socket(node_socket[i]); @@ -6018,7 +6020,7 @@ NO_SSH: } // Set all nodes' status to OFFLINE - for(i=first_node;i<=last_node;i++) { + for(int i=first_node;i<=last_node;i++) { sbbs->getnodedat(i,&node,1); node.status=NODE_OFFLINE; sbbs->putnodedat(i,&node);