Skip to content

Commit

Permalink
Express
Browse files Browse the repository at this point in the history
1) Fix for downloading files with [] and other characters in
2) Add ACS.NO_TIMEOUT to disable timeouts for a user
3) Add NoUploads.Txt to prevent uploads in a conf
4) Improve ftp and http transfers to detect failure
5) Many optimisations to zmodem to improve speeds
6) Added ymodem protocol
7) Fixed open file handle checks in various places
8) Add force_bgfilecheck option
9) Fixed moving planpen directory
10) Fixed bug with download stats not updating correctly
11) Updated copyright date to 2021
12) Added DEFAULT_BGFILECHECK to enable background file checking for new
    users
  • Loading branch information
dmcoles committed Jan 19, 2021
1 parent f2228b3 commit bfef565
Show file tree
Hide file tree
Showing 16 changed files with 2,075 additions and 594 deletions.
14 changes: 7 additions & 7 deletions ACP.e
Original file line number Diff line number Diff line change
Expand Up @@ -778,7 +778,7 @@ PROC getToolTypes(filename:PTR TO CHAR)
fileBuf:=New(len+1) ->allow an extra char in case file does not end in LF

fh:=Open(fn,MODE_OLDFILE)
IF fh>0
IF fh<>0
off:=0
lineCount:=0
WHILE(ReadStr(fh,fn)<>-1) OR (StrLen(fn)>0)
Expand Down Expand Up @@ -2274,7 +2274,7 @@ PROC loadTranslators(baseDir:PTR TO CHAR)
trans2.translationText:=New(fsize+4) ->allocate some memory, two extra bytes for ending colon and space and some in case there is no newline

fh:=Open(fullFileName,MODE_OLDFILE)
IF fh>0
IF fh<>0
->read file into workMem
outtxt:=workMem

Expand Down Expand Up @@ -3121,7 +3121,7 @@ PROC runConfig(infile:PTR TO CHAR,outpath:PTR TO CHAR) HANDLE
jsmn_init(p)

fh:=Open(infile,MODE_OLDFILE)
IF fh<1
IF fh=0
myrequest('Could not open json file.')
RETURN
ENDIF
Expand Down Expand Up @@ -3244,7 +3244,7 @@ PROC loadState()

StringF(stateFile,'\sacp.dat',bbsPath)
fh:=Open(stateFile,MODE_OLDFILE)
IF fh>0
IF fh<>0
FOR i:=0 TO MAX_NODES-1
FOR j:=0 TO 4
ReadStr(fh,tempStr)
Expand Down Expand Up @@ -3297,7 +3297,7 @@ PROC saveState()

StringF(stateFile,'\sacp.dat',bbsPath)
fh:=Open(stateFile,MODE_NEWFILE)
IF fh>0
IF fh<>0
FOR i:=0 TO MAX_NODES-1
FOR j:=0 TO 4
list:=ndUser[i]
Expand Down Expand Up @@ -3348,7 +3348,7 @@ PROC loadConnectionList(connList:PTR TO stdlist)
DEF fh
StringF(connFile,'\sacpConnections.dat',bbsPath)
fh:=Open(connFile,MODE_OLDFILE)
IF fh>0
IF fh<>0
WHILE (ReadStr(fh,tempStr)<>-1) OR (EstrLen(tempStr)>0)
connItem:=NEW connItem
connItem.ipAddr:=Val(tempStr)
Expand All @@ -3372,7 +3372,7 @@ PROC saveConnectionList(connList:PTR TO stdlist)
DEF i,fh
StringF(connFile,'\sacpConnections.dat',bbsPath)
fh:=Open(connFile,MODE_NEWFILE)
IF fh>0
IF fh<>0
FOR i:=0 TO connList.count()-1
connItem:=connList.item(i)

Expand Down
21 changes: 21 additions & 0 deletions MiscFuncs.e
Original file line number Diff line number Diff line change
Expand Up @@ -574,4 +574,25 @@ EXPORT PROC byteSignExtend(n)
DEF r
r:=n AND 255
IF r>127 THEN r:=-(256-r)
ENDPROC r

EXPORT PROC parsePatternNoCase2(source:PTR TO CHAR,dest:PTR TO CHAR, len)
DEF s:PTR TO CHAR
DEF t[1]:STRING
DEF c,i,r

c:=StrLen(source)
FOR i:=0 TO c-1
StrCopy(t,source+i,1)
IF InStr('()|~[]%',t)>=0 THEN c++
ENDFOR

s:=String(c)
FOR i:=0 TO StrLen(source)-1
StrCopy(t,source+i,1)
IF InStr('()|~[]%',t)>=0 THEN strAddChar(s,39)
StrAdd(s,t)
ENDFOR
r:=ParsePatternNoCase(s,dest,len)
Dispose(s)
ENDPROC r
2 changes: 1 addition & 1 deletion axcommon.e
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ EXPORT ENUM ACS_ACCOUNT_EDITING,ACS_READ_BULLETINS,ACS_COMMENT_TO_SYSOP,ACS_DOWN
ACS_RELOGON,ACS_ULSTATS,ACS_XPR_RECEIVE,ACS_XPR_SEND,ACS_WILDCARDS,ACS_CONFERENCE_ACCOUNTING,ACS_PRI_MSGFILES,ACS_PUB_MSGFILES,ACS_FULL_EDIT,ACS_CONFFLAGS,
ACS_OLM,ACS_HIDE_FILES,ACS_SHOW_PAYMENTS,ACS_CREDIT_ACCESS,ACS_VOTE,ACS_MODIFY_VOTE,ACS_FILE_EXPANSION,ACS_EDIT_REAL_NAME,ACS_EDIT_USER_NAME,ACS_CENSORED,
ACS_ACCOUNT_VIEW,ACS_TRANSLATION,ACS_UNKNOWN,ACS_CREATE_CONFERENCE,ACS_LOCAL_DOWNLOADS,ACS_MAX_PAGES,ACS_OVERRIDE_DEFAULTS,ACS_HOLD_ACCESS,ACS_EDIT_EMAIL,
ACS_READ_PRIV_EALL,ACS_READ_PRIV_ALL,ACS_OVERRIDE_TIMELIMIT,ACS_OVERRIDE_CHATLIMIT
ACS_READ_PRIV_EALL,ACS_READ_PRIV_ALL,ACS_OVERRIDE_TIMELIMIT,ACS_OVERRIDE_CHATLIMIT,ACS_NO_TIMEOUT

EXPORT ENUM ENV_IDLE=0,ENV_DOWNLOADING=1,ENV_UPLOADING=2,ENV_DOORS=3,ENV_MAIL=4,ENV_STATS=5,ENV_ACCOUNT=6,ENV_ZOOM=7,ENV_FILES=8,ENV_BULLETINS=9,
ENV_VIEWING=10,ENV_ACCOUNTSEQ=11,ENV_LOGOFF=12,ENV_SYSOP=13,ENV_SHELL=14,ENV_EMACS=15,ENV_JOIN=16,ENV_CHAT=17,ENV_NOTACTIVE=18,
Expand Down
2 changes: 1 addition & 1 deletion axenums.e
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ EXPORT ENUM DOORTYPE_XIM, DOORTYPE_AIM, DOORTYPE_SIM, DOORTYPE_TIM, DOORTYPE_IIM

EXPORT ENUM LOG_NONE=0, LOG_ERROR=1, LOG_WARN=2, LOG_DEBUG=3

EXPORT ENUM SCREEN_AWAIT, SCREEN_BBSTITLE, SCREEN_LOGON, SCREEN_JOIN, SCREEN_JOINCONF, SCREEN_JOINMSGBASE, SCREEN_JOINED, SCREEN_BULL, SCREEN_NODE_BULL, SCREEN_CONF_BULL, SCREEN_MENU, SCREEN_LOGOFF, SCREEN_DOWNLOAD, SCREEN_UPLOAD, SCREEN_NEWUSERPW, SCREEN_NONEWUSERS, SCREEN_NONEWATBAUD, SCREEN_GUESTLOGON, SCREEN_NOCALLERSATBAUD, SCREEN_LOCKOUT0, SCREEN_LOCKOUT1, SCREEN_PRIVATE, SCREEN_ONENODE, SCREEN_LOGON24, SCREEN_NOT_TIME, SCREEN_FILEHELP,SCREEN_LANGUAGES,SCREEN_REALNAMES,SCREEN_INTERNETNAMES, SCREEN_MAILSCAN
EXPORT ENUM SCREEN_AWAIT, SCREEN_BBSTITLE, SCREEN_LOGON, SCREEN_JOIN, SCREEN_JOINCONF, SCREEN_JOINMSGBASE, SCREEN_JOINED, SCREEN_BULL, SCREEN_NODE_BULL, SCREEN_CONF_BULL, SCREEN_MENU, SCREEN_LOGOFF, SCREEN_DOWNLOAD, SCREEN_UPLOAD, SCREEN_NEWUSERPW, SCREEN_NONEWUSERS, SCREEN_NONEWATBAUD, SCREEN_GUESTLOGON, SCREEN_NOCALLERSATBAUD, SCREEN_LOCKOUT0, SCREEN_LOCKOUT1, SCREEN_PRIVATE, SCREEN_ONENODE, SCREEN_LOGON24, SCREEN_NOT_TIME, SCREEN_FILEHELP,SCREEN_LANGUAGES,SCREEN_REALNAMES,SCREEN_INTERNETNAMES, SCREEN_MAILSCAN, SCREEN_NOUPLOADS

EXPORT ENUM LOGON_TYPE_LOGGED_OFF=0, LOGON_TYPE_SYSOP=1, LOGON_TYPE_LOCAL=2, LOGON_TYPE_REMOTE=3

Expand Down
11 changes: 4 additions & 7 deletions axobjects.e
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-> EXPORT EXPORT OBJECTs for express
-> EXPORT EXPORT OBJECTs for express

OPT MODULE

Expand Down Expand Up @@ -121,8 +121,11 @@ EXPORT OBJECT zModem
lastUpdate: LONG
currentOperation: LONG
freeDFlag: LONG
fileList:PTR TO stdlist
current: LONG
total: LONG
shouldUpdateDownloadStats: CHAR
needUpdateDownloadStats: CHAR
ENDOBJECT

EXPORT OBJECT confBase
Expand Down Expand Up @@ -275,12 +278,6 @@ EXPORT OBJECT diskObjectCacheItem
ownsToolTypes: CHAR
ENDOBJECT

EXPORT OBJECT xprData
currentFile:LONG
fileList:PTR TO stdlist
updateDownloadStats: LONG
ENDOBJECT

EXPORT OBJECT flagFileItem
fileName:PTR TO CHAR
confNum: LONG
Expand Down
Loading

0 comments on commit bfef565

Please sign in to comment.