home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
vrac
/
callid22.zip
/
CALLERID.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-05-26
|
7KB
|
422 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
;------------------------------------------------------------------------------
STRING005 = PPEPath() + PPEName() + ".LOG"
INTEGER003 = 0
STRING006 = ""
INTEGER004 = 10
INTEGER005 = 0
INTEGER006 = 0
STRING009 = " -()+"
STRING010 = PPEPath() + "HITSMAX"
STRING012 = PPEPath() + PPEName() + ".CFG"
STRING013 = PPEPath() + "MESSAGE.TXT"
STRING015 = PPEPath() + "NOMATCH"
INTEGER011 = 0
STRING019 = "O"
STRING020 = PPEPath() + "LONG-D"
STRING017 = "P"
STRING018 = PPEPath() + "BLOCKEDP"
INTEGER016 = 0
STRING021 = PPEPath() + "RECALLID"
INTEGER017 = 0
INTEGER018 = 0
INTEGER019 = 1
INTEGER020 = 0
Cls
PrintLn
PrintLn
PrintLn "@X0A..Performing CallerID verification checking....Please Standby!!@X07"
PrintLn "@X0C..CALLERID v2.2 @X0D(c) Copyright 1993 by Al Segura..@X07"
PrintLn
If (OnLocal()) Then
Newline
PrintLn "@X0F...CALLERID.PPE is bypassed in LOCAL mode!@X07"
If (INTEGER019) Log "LOCAL mode detected, CALLERID.PPE bypassed!", 1
Newline
Else
STRING004 = CallId()
If (STRING004 == "") Then
If (INTEGER019) Log "No CID info available! (CALLERID.PPE)", 1
If (INTEGER011) Goto LABEL004
STRING016 = "BLANK!"
Goto LABEL010
Endif
If (Exist(STRING012)) Then
FOpen 1, STRING012, 0, 0
Newlines 2
SPrintLn "...Loading CID Records...(CALLERID.PPE)"
Newline
FGet 1, STRING014
FGet 1, INTEGER020
FGet 1, INTEGER017
FGet 1, INTEGER018
FGet 1, INTEGER010
FGet 1, INTEGER006
FGet 1, INTEGER005
FGet 1, INTEGER016
FGet 1, INTEGER003
FGet 1, STRING002
FGet 1, INTEGER019
FGet 1, INTEGER022
FGet 1, INTEGER011
FGet 1, INTEGER004
FClose 1
Else
STRING014 = "1"
INTEGER020 = 1
INTEGER017 = 0
INTEGER018 = 80
INTEGER010 = 3
INTEGER006 = 1
INTEGER005 = 1
INTEGER016 = 0
INTEGER003 = 1
STRING002 = "SYSOP"
INTEGER019 = 1
INTEGER022 = 20
INTEGER011 = 0
INTEGER004 = 10
If (INTEGER019) Log "CallerID.PPE using built-in defaults!", 1
Endif
Select Case (STRING014)
Case "1"
STRING006 = "NMBR = "
Case "2"
STRING006 = "NUMBER: "
Case Else
STRING006 = STRING014
End Select
If ((CurSec() < INTEGER017) || (CurSec() > INTEGER018)) Stop
GetUser
STRING023 = U_HVPhone
Gosub LABEL005
STRING011 = STRING023
STRING023 = U_BDPhone
Gosub LABEL005
STRING003 = STRING023
INTEGER014 = InStr(STRING004, STRING006)
INTEGER012 = Len(STRING006)
If (INTEGER012 == 0) Then
If (INTEGER019) Log "Your CID Key is BLANK! (CALLERID.PPE).", 1
If (INTEGER019) Log "Verify proper CID Key for your modem!", 1
Goto LABEL004
ElseIf (INTEGER014 == 0) Then
If (INTEGER019) Log "Could not find CID key: " + STRING006 + " (CALLERID.PPE).", 1
If (INTEGER019) Log "Verify proper CID Key for your modem!", 1
Goto LABEL004
Endif
STRING016 = Upper(Trim(Mid(STRING004, INTEGER014 + INTEGER012, 10), " "))
Select Case (Left(STRING016, 1))
Case STRING017
Message 0, STRING002, "CALLERID.PPE", "Blocked Number User", "R", 0, 0, 0, STRING013
If (Exist(STRING018)) Then
StartDisp 1
DispFile STRING018, 4 + 2 + 1
Endif
If (INTEGER016) Then
Gosub LABEL006
Hangup
End
Endif
Goto LABEL001
Case STRING019
If (Exist(STRING020)) Then
DispFile STRING020, 4 + 2 + 1
Endif
Goto LABEL001
End Select
If (Len(STRING016) <> INTEGER004) Then
If (INTEGER019) Log "CID Number not = " + String(INTEGER004) + " digits. (CALLERID.PPE)", 1
Goto LABEL010
Endif
For INTEGER014 = 1 To INTEGER004
If (InStr(Mask_Num(), Mid(STRING016, INTEGER014, 1)) == 0) Then
If (INTEGER019) Log "Garbage found in CID number! (CALLERID.PPE)", 1
Goto LABEL010
Endif
Next
If ((Right(STRING016, Len(STRING011)) <> STRING011) && (Right(STRING016, Len(STRING003)) <> STRING003)) Then
If (INTEGER019) Log "CallerID NoMatch Hit!! (CALLERID.PPE)", 1
INTEGER007 = 1
If (Exist(STRING015)) Then
DispFile STRING015, 4 + 2 + 1
Endif
Endif
:LABEL001
If ((Left(STRING016, 1) == STRING019) || (Left(STRING016, 1) == STRING017)) Then
PrintLn
Else
PrintLn
PrintLn "@X0A Logging @X0B", STRING016, "@X0A as current number!@X07"
Endif
PrintLn "@X0C Writing information in log....Please Standby!! (CALLERID.PPE)@X07"
PrintLn
If (INTEGER020 == 1) Then
STRING022 = U_Cmnt2
If ((Len(STRING022) > INTEGER004 + 1) && (INTEGER007 == 1)) Then
STRING024 = Left(STRING022, INTEGER004 + 3)
STRING024 = Right(STRING024, 2)
If (Left(STRING024, 1) == ",") STRING024 = Right(STRING024, 1)
INTEGER008 = STRING024
STRING022 = Left(STRING022, Len(STRING016))
If (STRING022 <> STRING016) Then
STRING022 = STRING016
INTEGER008 = 0
Endif
If (((INTEGER008 >= INTEGER010) && (INTEGER010 <> 0)) && (CurSec() < INTEGER022)) Then
CdChkOff
U_ExpSec = INTEGER006
U_Sec = INTEGER006
If (INTEGER019) Log "Excessive CallerID failures! (CALLERID.PPE)", 1
Message 0, STRING002, "CALLERID.PPE", "Excessive No-Matches", "R", 0, 0, 0, STRING013
Gosub LABEL006
If (INTEGER019) Log "CallerID.PPE results: " + U_Cmnt2, 0
INTEGER008 = 0
U_Cmnt2 = STRING022 + "," + String(INTEGER008)
PutUser
If (Exist(STRING010)) Then
StartDisp 1
DispFile STRING010, 4 + 2 + 1
Goto LABEL002
Endif
If (INTEGER019) Log "HitsMaxFile is missing! (CALLERID.PPE)", 1
:LABEL002
CdChkOn
Hangup
End
Endif
Inc INTEGER008
Goto LABEL003
Endif
STRING022 = STRING016
:LABEL003
STRING022 = STRING022 + "," + String(INTEGER008)
SPrintLn "CallerID.PPE Results: " + STRING022
If (INTEGER019) Log "CallerID.PPE Results: " + STRING022, 0
U_Cmnt2 = STRING022
PutUser
Endif
Gosub LABEL006
More
Newline
SPrintLn "CALLERID.PPE Completed Successfully!"
Newline
Endif
:LABEL004
End
:LABEL005
For INTEGER021 = 1 To Len(STRING009)
STRING023 = Strip(STRING023, Mid(STRING009, INTEGER021, 1))
Next
If (STRING023 == "") Then
STRING023 = "0000000000"
ElseIf (Left(STRING023, 1) == "1") Then
STRING023 = Mid(STRING023, 2, Len(STRING023) - 1)
Endif
Return
:LABEL006
If (INTEGER005 == 1) Then
INTEGER015 = InStr(STRING004, "NAME")
INTEGER013 = Len(STRING004) - INTEGER015 + 1
If (INTEGER015 > 0) Then
STRING007 = Left(STRING004, INTEGER015 - 1)
STRING008 = Mid(STRING004, INTEGER015, INTEGER013)
INTEGER009 = 2
Goto LABEL007
Endif
STRING007 = STRING004
:LABEL007
If (Exist(STRING005)) Goto LABEL008
FCreate 1, STRING005, 2, 0
FPutLn 1, "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
FPutLn 1, "@@@@@@@@ CALLERID.LOG @@@@@@@@@@"
FPutLn 1, "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
FPutLn 1, STRING007
If (INTEGER009 == 2) FPutLn 1, STRING008
FPutLn 1, "User Name: ", U_Name(), " Hits: ", String(INTEGER008)
FPutLn 1, "____________________________________________________________"
Goto LABEL009
:LABEL008
FAppend 1, STRING005, 2, 0
FPutLn 1, STRING007
If (INTEGER009 == 2) FPutLn 1, STRING008
FPutLn 1, "User Name: ", U_Name(), " Hits: ", String(INTEGER008)
FPutLn 1, "____________________________________________________________"
:LABEL009
FClose 1
Endif
Return
:LABEL010
Gosub LABEL006
Cls
If (Exist(STRING021)) Then
Newlines 6
DispFile STRING021, 4 + 2 + 1
Newlines 2
Else
Newlines 2
PrintLn "Tell SysOp file RECALLID is missing! (CALLERID.PPE)"
Newlines 2
If (INTEGER019) Log "File RECALLID is missing..(CALLERID.PPE).", 1
Endif
If (INTEGER019) Log "CallerID.PPE results faulty: " + STRING016, 0
If (INTEGER003) Hangup
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 2 Cls
; 1 More
; 53 Goto
; 77 Let
; 12 PrintLn
; 52 If
; 5 DispFile
; 1 FCreate
; 1 FOpen
; 1 FAppend
; 2 FClose
; 14 FGet
; 11 FPutLn
; 2 StartDisp
; 3 Hangup
; 1 GetUser
; 2 PutUser
; 16 Log
; 6 Gosub
; 2 Return
; 1 CdChkOn
; 1 CdChkOff
; 1 Inc
; 5 Newline
; 5 Newlines
; 1 Stop
; 2 Message
; 3 SPrintLn
;
;
; ■ Functions used :
;
; 38 +
; 3 -
; 18 ==
; 5 <>
; 4 <
; 2 <=
; 3 >
; 5 >=
; 30 !
; 8 &&
; 4 ||
; 10 Len(
; 1 Upper()
; 5 Mid()
; 9 Left()
; 4 Right()
; 3 InStr()
; 1 Trim()
; 2 U_Name()
; 1 Strip()
; 5 String()
; 1 Mask_Num()
; 8 PPEPath()
; 1 OnLocal()
; 3 CurSec()
; 1 CallId()
; 7 Exist()
; 2 PPEName()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WB
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 23 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------