Skip to content

Commit

Permalink
ACP
Browse files Browse the repository at this point in the history
1) Allow .txt and .cfg files
2) Specify path to acp.info/.cfg/.txt file on start-up
3) Update version to 5.2.3
Express
1) Improve cfg file handling for access levels
2) Ensure modem taken offhook during local and sysop logons
3) Update version to 5.2.3
  • Loading branch information
dmcoles committed Mar 6, 2020
1 parent 84044ca commit e5b9c0d
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 25 deletions.
17 changes: 14 additions & 3 deletions ACP.e
Original file line number Diff line number Diff line change
Expand Up @@ -784,8 +784,15 @@ PROC getToolTypes(filename:PTR TO CHAR)
dobj:=GetDiskObject(filename)
isCfg:=FALSE
IF(dobj=NIL)
StringF(fn,'\s.cfg',filename)
IF fileExists(fn)
StringF(fn,'\s.txt',filename)
IF fileExists(fn)=FALSE
StringF(fn,'\s.cfg',filename)
IF fileExists(fn)=FALSE
StrCopy(fn,'')
ENDIF
ENDIF

IF StrLen(fn)>0
dobj:=GetDefDiskObject(WBPROJECT)
IF dobj<>NIL
fileBuf:=New(getFileSize(fn)+1) ->allow an extra char in case file does not end in LF
Expand Down Expand Up @@ -3453,7 +3460,7 @@ PROC main() HANDLE

KickVersion(37) -> E-Note: requires V37

StringF(myVerStr,'v5.2.1')
StringF(myVerStr,'v5.2.3')

FOR i:=0 TO MAX_NODES-1
ndUser[i]:=NIL
Expand Down Expand Up @@ -3523,6 +3530,10 @@ PROC main() HANDLE
ELSE
IF StrLen(arg)>0
StrCopy(iconStartName,arg)
RightStr(tempstr,iconStartName,3)
UpperStr(tempstr)
IF StrCmp(tempstr,'acp')=FALSE THEN StrAdd(iconStartName,'acp')

StrCopy(tempstr,iconStartName,PathPart(iconStartName)-iconStartName)
newlock:=Lock(tempstr,ACCESS_READ)
IF newlock<>NIL THEN oldDirLock:=CurrentDir(newlock)
Expand Down
8 changes: 2 additions & 6 deletions MiscFuncs.e
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,10 @@ EXPORT PROC getFileSize(s: PTR TO CHAR)
FreeDosObject(DOS_FIB,fBlock)
ENDPROC fsize

EXPORT PROC fileExists(filename, addInfo = FALSE)
EXPORT PROC fileExists(filename)
/* checks to see if a file exists and returns TRUE OR FALSE */
DEF lh
DEF fn[255]:STRING

StrCopy(fn,filename)
IF addInfo THEN StrAdd(fn,'.info')
IF lh:=Lock(fn,ACCESS_READ)
IF lh:=Lock(filename,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
Expand Down
56 changes: 40 additions & 16 deletions express.e
Original file line number Diff line number Diff line change
Expand Up @@ -879,6 +879,27 @@ PROC listAdd2(list:PTR TO LONG, v)
list[ListLen(list)-1]:=v
ENDPROC

PROC configFileExists(fname:PTR TO CHAR)
DEF lh
DEF fn[255]:STRING

StringF(fn,'\s.info',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
StringF(fn,'\s.cfg',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF

StringF(fn,'\s.txt',fname)
IF lh:=Lock(fn,ACCESS_READ)
UnLock(lh)
RETURN TRUE
ENDIF
ENDPROC FALSE

PROC checkIconifyMsg()
ENDPROC
Expand Down Expand Up @@ -914,11 +935,11 @@ PROC convertAccess()
DEF tempStr[255]:STRING

acsLevel:=findAcsLevel()
StringF(tempStr,'\sAccess.info',cmds.bbsLoc)
IF fileExists(tempStr)=FALSE THEN overrideDefaultAccess:=TRUE ELSE overrideDefaultAccess:=checkSecurity(ACS_OVERRIDE_DEFAULTS)
StringF(tempStr,'\sAccess',cmds.bbsLoc)
IF configFileExists(tempStr)=FALSE THEN overrideDefaultAccess:=TRUE ELSE overrideDefaultAccess:=checkSecurity(ACS_OVERRIDE_DEFAULTS)

getUserAccessFilename(tempStr)
userSpecificAccess:=fileExists(tempStr,TRUE);
userSpecificAccess:=configFileExists(tempStr);

StrCopy(securityFlags,'')
ENDPROC
Expand Down Expand Up @@ -4221,7 +4242,7 @@ PROC findAcsLevel()
level:=loggedOnUser.secStatus/5*5
REPEAT
getNodeFile(TOOLTYPE_ACCESS,level,ttfile)
found:=fileExists(ttfile,TRUE)
found:=configFileExists(ttfile)
IF (found=FALSE) THEN level:=level-5
UNTIL (level=0) OR (found)

Expand Down Expand Up @@ -5613,15 +5634,15 @@ PROC runCommand(cmdtype,cmd,params,privcmd)

IF cmdtype=CMDTYPE_BBSCMD
getNodeFile(TOOLTYPE_CONFCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFCMD
ELSE
getNodeFile(TOOLTYPE_NODECMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_NODECMD
ELSE
getNodeFile(TOOLTYPE_BBSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_BBSCMD
ELSE
RETURN FALSE
Expand All @@ -5631,15 +5652,15 @@ PROC runCommand(cmdtype,cmd,params,privcmd)

ELSEIF cmdtype=CMDTYPE_SYSCMD
getNodeFile(TOOLTYPE_CONFSYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFSYSCMD
ELSE
getNodeFile(TOOLTYPE_NODESYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_NODESYSCMD
ELSE
getNodeFile(TOOLTYPE_SYSCMD,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_SYSCMD
ELSE
RETURN FALSE
Expand All @@ -5648,7 +5669,7 @@ PROC runCommand(cmdtype,cmd,params,privcmd)
ENDIF
ELSEIF cmdtype=CMDTYPE_CUSTOM
getNodeFile(TOOLTYPE_CONFCMD2,cmd,commandfile)
IF fileExists(commandfile,TRUE)
IF configFileExists(commandfile)
tooltype:=TOOLTYPE_CONFCMD2
ELSE
RETURN FALSE
Expand Down Expand Up @@ -8415,6 +8436,7 @@ PROC processInputMessage(timeout, extsig = 0,rawMode=FALSE, allowSer=TRUE)
ioFlags[IOFLAG_SCR_OUT]:=-1
onlineBaud:=cmds.openingBaud
onlineBaudR:=cmds.openingBaud
intDoReset(sopt.offHook)
reqState:=REQ_STATE_SYSOPLOGON
ENDIF

Expand All @@ -8429,6 +8451,7 @@ PROC processInputMessage(timeout, extsig = 0,rawMode=FALSE, allowSer=TRUE)
onlineBaud:=cmds.openingBaud
onlineBaudR:=cmds.openingBaud
logonType:=LOGON_TYPE_LOCAL
intDoReset(sopt.offHook)
reqState:=REQ_STATE_LOGON
ENDIF

Expand Down Expand Up @@ -10868,8 +10891,8 @@ PROC edit(allowFullscreen=TRUE,maxLineLen=75,updatePosted=FALSE)
x:=0
bkFlag:=0

StringF(str,'\sCommands/SysCmd/FULLEDIT.info',cmds.bbsLoc)
IF(fileExists(str) AND checkSecurity(ACS_FULL_EDIT) AND (loggedOnUser.editorType<>1))
StringF(str,'\sCommands/SysCmd/FULLEDIT',cmds.bbsLoc)
IF(configFileExists(str) AND checkSecurity(ACS_FULL_EDIT) AND (loggedOnUser.editorType<>1))
stat:=0
IF allowFullscreen
IF(loggedOnUser.editorType<>2)
Expand Down Expand Up @@ -27184,6 +27207,7 @@ PROC processAwait()

IF (netTrans<>0)
logonType:=LOGON_TYPE_SYSOP
intDoReset(sopt.offHook)
reqState:=REQ_STATE_SYSOPLOGON
ELSE
IF sopt.toggles[TOGGLES_MULTICOM]
Expand Down Expand Up @@ -27596,7 +27620,7 @@ PROC initNewUser(userData:PTR TO user,userKeys: PTR TO userKeys,userMisc: PTR TO
DEF ttdata[255]:STRING

StringF(ttdata,'\sNode\d/Preset.1',cmds.bbsLoc,node)
IF fileExists(ttdata,TRUE)
IF configFileExists(ttdata)
userData.secStatus:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.ACCESS')
userData.secBoard:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.RATIO_TYPE')
userData.secLibrary:=readToolTypeInt(TOOLTYPE_NODE_PRESET,1,'PRESET.RATIO')
Expand Down Expand Up @@ -28141,8 +28165,8 @@ PROC main() HANDLE
DEF oldWinPtr
DEF proc: PTR TO process

StrCopy(expressVer,'v5.2.2',ALL)
StrCopy(expressDate,'20-Jan-2020',ALL)
StrCopy(expressVer,'v5.2.3',ALL)
StrCopy(expressDate,'06-Mar-2020',ALL)

nodeStart:=getSystemTime()

Expand Down

0 comments on commit e5b9c0d

Please sign in to comment.