diff --git a/src/sbbs3/scfg/scfg.h b/src/sbbs3/scfg/scfg.h index ef6ba97c152ecc09873ed70f5e0c8d1797439881..93e8604a85065ef57901344b77bac7d7409d8876 100644 --- a/src/sbbs3/scfg/scfg.h +++ b/src/sbbs3/scfg/scfg.h @@ -142,12 +142,10 @@ void page_cfg(void); void xedit_cfg(void); void txt_cfg(void); void shell_cfg(void); -void init_mdms(void); void guru_cfg(void); void actsets_cfg(void); void chan_cfg(void); void server_cfg(void); -void mdm_cfg(int mdmnum); void wizard_msg(int page, int total, const char* text); int edit_sys_name(int page, int total); int edit_sys_id(int page, int total); @@ -163,7 +161,6 @@ int edit_sys_alias_policy(int page, int total); int edit_sys_delmsg_policy(int page, int total); int edit_sys_newuser_fback_policy(int page, int total); void reencrypt_keys(const char* old_pass, const char* new_pass); -int export_mdm(char *fname); int code_ok(char *str); int bits(long l); void getar(char *desc, char *ar); diff --git a/src/sbbs3/scfg/scfgmdm.c b/src/sbbs3/scfg/scfgmdm.c deleted file mode 100644 index 22915d9bb86c6b8ee781ea5d227a691c97db5e89..0000000000000000000000000000000000000000 --- a/src/sbbs3/scfg/scfgmdm.c +++ /dev/null @@ -1,325 +0,0 @@ -/* scfgmdm.c */ - -/* $Id: scfgmdm.c,v 1.6 2018/07/24 01:12:24 rswindell Exp $ */ - -/**************************************************************************** - * @format.tab-size 4 (Plain Text/Source Code File Header) * - * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * - * * - * Copyright Rob Swindell - http://www.synchro.net/copyright.html * - * * - * This program is free software; you can redistribute it and/or * - * modify it under the terms of the GNU General Public License * - * as published by the Free Software Foundation; either version 2 * - * of the License, or (at your option) any later version. * - * See the GNU General Public License for more details: gpl.txt or * - * http://www.fsf.org/copyleft/gpl.html * - * * - * Anonymous FTP access to the most recent released source is available at * - * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * - * * - * Anonymous CVS access to the development source and modification history * - * is available at cvs.synchro.net:/cvsroot/sbbs, example: * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login * - * (just hit return, no password is necessary) * - * cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src * - * * - * For Synchronet coding style and modification guidelines, see * - * http://www.synchro.net/source.html * - * * - * You are encouraged to submit any modifications (preferably in Unix diff * - * format) via e-mail to mods@synchro.net * - * * - * Note: If this box doesn't appear square, then you need to fix your tabs. * - ****************************************************************************/ - -#include "scfg.h" - -int exec_mdm(char *fname); - -void mdm_cfg(int mdmnum) -{ - -free(cfg.mdm_result); -cfg.mdm_result=NULL; - -/* -strcpy(cfg.mdm_answ,"ATA"); -strcpy(cfg.mdm_hang,"ATH"); -strcpy(cfg.mdm_dial,"ATDT"); -strcpy(cfg.mdm_offh,"ATM0H1"); -strcpy(cfg.mdm_term,"ATE1V1"); -strcpy(cfg.mdm_init,"AT&FS0=0S2=128E0V0X4&C1&D2"); -*/ -cfg.mdm_answ[0]=0; -cfg.mdm_hang[0]=0; -cfg.mdm_dial[0]=0; -cfg.mdm_offh[0]=0; -cfg.mdm_term[0]=0; -cfg.mdm_init[0]=0; -cfg.mdm_spec[0]=0; -cfg.mdm_results=0; -cfg.mdm_misc=(MDM_RTS|MDM_CTS); - -exec_mdm(mdm_file[mdmnum]); - -} - -void cvttab(char *str) -{ - int i; - -for(i=0;str[i];i++) - if(str[i]==TAB) - str[i]=' '; -} - -int export_mdm(char *fname) -{ - char str[256]; - int file,i; - time_t now; - FILE *stream; - -sprintf(str,"%s%s.MDM",cfg.ctrl_dir,fname); -if((file=nopen(str,O_WRONLY|O_CREAT|O_TRUNC))==-1) - return(0); -if((stream=fdopen(file,"wb"))==NULL) { - close(file); - return(0); } - -now=time(NULL); -fprintf(stream,"# Exported from %s Node %u on %.24s\r\n\r\n" - ,cfg.sys_name,cfg.node_num,ctime(&now)); -fprintf(stream,"COM_RATE\t%ld\r\n",cfg.com_rate); -fprintf(stream,"INIT_STR\t%s\r\n",cfg.mdm_init); -fprintf(stream,"DIAL_STR\t%s\r\n",cfg.mdm_dial); -fprintf(stream,"HANGUP_STR\t%s\r\n",cfg.mdm_hang); -fprintf(stream,"ANSWER_STR\t%s\r\n",cfg.mdm_answ); -fprintf(stream,"OFFHOOK_STR\t%s\r\n",cfg.mdm_offh); -fprintf(stream,"SPEC_INIT\t%s\r\n",cfg.mdm_spec); -fprintf(stream,"TERM_INIT\t%s\r\n",cfg.mdm_term); -fprintf(stream,"LOCKED_RATE\t%s\r\n",(cfg.mdm_misc&MDM_STAYHIGH) ? "YES":"NO"); -fprintf(stream,"CALLER_ID\t%s\r\n",(cfg.mdm_misc&MDM_CALLERID) ? "YES":"NO"); -fprintf(stream,"DROP_DTR\t%s\r\n",(cfg.mdm_misc&MDM_NODTR) ? "NO":"YES"); -fprintf(stream,"FLOW_CONTROL\t%s\r\n" - ,(cfg.mdm_misc&(MDM_RTS|MDM_CTS)==(MDM_RTS|MDM_CTS)) ? "BOTH": - (cfg.mdm_misc&MDM_CTS) ? "TRANSMIT" : (cfg.mdm_misc&MDM_RTS) ? "RECEIVE" : "NONE"); -for(i=0;i<cfg.mdm_results;i++) - fprintf(stream,"RESULT\t\t%u\t%u\t%u\t%s\r\n",cfg.mdm_result[i].code - ,cfg.mdm_result[i].cps,cfg.mdm_result[i].rate,cfg.mdm_result[i].str); - -fclose(stream); - -return(1); -} - -int exec_mdm(char *fname) -{ - char str[256],msg[128],*p; - int file,i,j; - FILE *stream; - -sprintf(str,"%s%s.MDM",cfg.ctrl_dir,fname); - -if((file=open(str,O_RDONLY|O_BINARY|O_DENYALL))==-1) - return(0); -if((stream=fdopen(file,"rb"))==NULL) { - close(file); - return(0); } - -while(!feof(stream)) { - if(!fgets(str,255,stream)) - break; - cvttab(str); - truncsp(str); - p=str; - while(*p && *p<=' ') /* look for beginning of command */ - p++; - if(!*p) - continue; - if(*p=='#') /* remarks start with # */ - continue; - - if(!strnicmp(p,"COM_RATE",8)) { - p+=8; - while(*p==' ') p++; - cfg.com_rate=atol(p); - continue; } - - if(!strnicmp(p,"INIT_STR",8)) { - p+=8; - while(*p==' ') p++; - sprintf(cfg.mdm_init,"%.63s",p); - continue; } - - if(!strnicmp(p,"DIAL_STR",8)) { - p+=8; - while(*p==' ') p++; - sprintf(cfg.mdm_dial,"%.63s",p); - continue; } - - if(!strnicmp(p,"HANGUP_STR",10)) { - p+=10; - while(*p==' ') p++; - sprintf(cfg.mdm_hang,"%.63s",p); - continue; } - - if(!strnicmp(p,"ANSWER_STR",10)) { - p+=10; - while(*p==' ') p++; - sprintf(cfg.mdm_answ,"%.63s",p); - continue; } - - if(!strnicmp(p,"OFFHOOK_STR",11)) { - p+=11; - while(*p==' ') p++; - sprintf(cfg.mdm_offh,"%.63s",p); - continue; } - - if(!strnicmp(p,"SPEC_INIT",9)) { - p+=9; - while(*p==' ') p++; - sprintf(cfg.mdm_spec,"%.63s",p); - continue; } - - if(!strnicmp(p,"TERM_INIT",9)) { - p+=9; - while(*p==' ') p++; - sprintf(cfg.mdm_term,"%.63s",p); - continue; } - - if(!strnicmp(p,"LOCKED_RATE",11)) { - p+=11; - while(*p==' ') p++; - if(!stricmp(p,"OFF") || !stricmp(p,"NO")) - cfg.mdm_misc&=~MDM_STAYHIGH; - else - cfg.mdm_misc|=MDM_STAYHIGH; - continue; } - - if(!strnicmp(p,"CALLER_ID",9)) { - p+=9; - while(*p==' ') p++; - if(!stricmp(p,"YES") || !stricmp(p,"ON")) - cfg.mdm_misc|=MDM_CALLERID; - else - cfg.mdm_misc&=~MDM_CALLERID; - continue; } - - if(!strnicmp(p,"VERBAL_RESULTS",14)) { - p+=14; - while(*p==' ') p++; - if(!stricmp(p,"YES") || !stricmp(p,"ON")) - cfg.mdm_misc|=MDM_VERBAL; - else - cfg.mdm_misc&=~MDM_VERBAL; - continue; } - - if(!strnicmp(p,"DROP_DTR",8)) { - p+=8; - while(*p==' ') p++; - if(!stricmp(p,"OFF") || !stricmp(p,"NO")) - cfg.mdm_misc|=MDM_NODTR; - else - cfg.mdm_misc&=~MDM_NODTR; - continue; } - - if(!strnicmp(p,"FLOW_CONTROL",12)) { - p+=12; - while(*p==' ') p++; - cfg.mdm_misc&=~(MDM_RTS|MDM_CTS); - strupr(p); - if(strstr(p,"RTS") || strstr(p,"RECEIVE") || strstr(p,"RECV") - || strstr(p,"BOTH")) - cfg.mdm_misc|=MDM_RTS; - if(strstr(p,"CTS") || strstr(p,"TRANSMIT") || strstr(p,"SEND") - || strstr(p,"BOTH")) - cfg.mdm_misc|=MDM_CTS; - continue; } - - if(!strnicmp(p,"RESULT ",7)) { - p+=7; - while(*p==' ') p++; - i=atoi(p); - for(j=0;j<cfg.mdm_results;j++) - if(cfg.mdm_result[j].code==i) - break; - if(j>=cfg.mdm_results) { - if((cfg.mdm_result=(mdm_result_t *)realloc( - cfg.mdm_result,sizeof(mdm_result_t) - *(cfg.mdm_results+1)))==NULL) { - errormsg(WHERE,ERR_ALLOC,p,cfg.mdm_results+1); - cfg.mdm_results=0; - bail(1); - continue; } - cfg.mdm_results++; } - cfg.mdm_result[j].code=i; - while(*p!=' ') p++; - while(*p==' ') p++; - cfg.mdm_result[j].cps=atoi(p); - while(*p!=' ') p++; - while(*p==' ') p++; - cfg.mdm_result[j].rate=atoi(p); - while(*p!=' ') p++; - while(*p==' ') p++; - sprintf(cfg.mdm_result[j].str,"%.*s",LEN_MODEM,p); - continue; } - - if(!strnicmp(p,"INCLUDE ",8)) { - p+=8; - while(*p==' ') p++; - exec_mdm(p); - continue; } - - sprintf(msg,"ERROR: '%.15s' in %.8s.MDM",p,fname); - umsg(msg); -} - -fclose(stream); -return(1); -} - - -void init_mdms() -{ - char str[128],fname[128]; - int file; - FILE *stream; - -mdm_types=0; -mdm_type=NULL; -mdm_file=NULL; -sprintf(str,"%sMDMS.IXT",cfg.ctrl_dir); -if((file=nopen(str,O_RDONLY))==-1) { - errormsg(WHERE,ERR_OPEN,str,O_RDONLY); - return; } -if((stream=fdopen(file,"rb"))==NULL) { - close(file); - errormsg(WHERE,ERR_FDOPEN,str,O_RDONLY); - return; } - -while(!feof(stream)) { - if(!fgets(str,120,stream)) - break; - truncsp(str); - if(!fgets(fname,120,stream)) - break; - truncsp(fname); - if((mdm_type=realloc(mdm_type,sizeof(char *)*(mdm_types+1)))==NULL) { - errormsg(WHERE,ERR_ALLOC,"Modem Type",sizeof(char *)*(mdm_types+1)); - break; } - if((mdm_file=realloc(mdm_file,sizeof(char *)*(mdm_types+1)))==NULL) { - errormsg(WHERE,ERR_ALLOC,"Modem File",sizeof(char *)*(mdm_types+1)); - break; } - if((mdm_type[mdm_types]=malloc(strlen(str)+1))==NULL) { - errormsg(WHERE,ERR_ALLOC,"Modem Typename",sizeof(char *)*(mdm_types+1)); - break; } - if((mdm_file[mdm_types]=malloc(9))==NULL) { - errormsg(WHERE,ERR_ALLOC,"Modem Filename",sizeof(char *)*(mdm_types+1)); - break; } - strcpy(mdm_type[mdm_types],str); - sprintf(mdm_file[mdm_types],"%.8s",fname); - mdm_types++; } -fclose(stream); -}