XMR1 ;ISC-SF/GMB-SMTP Receiver HELO/MAIL/RCPT (RFC 821) ;02/10/2004 06:31
Source file <XMR1.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
VALSET(XMINST,XMRVAL) | ;check validation number
|
|
VALCHK(XMDOMREC,XMRVAL) | ; Check the validation number
|
|
FACILITY(X) | ; If full domain name is found in domain file, either as main
; entry or as synonym, return main entry. "Domain IEN^Domain name" |
|
LOOKUP(XMTO,XMINSTR) | ;
|
|
VALPROC(XMINST,XMDOMREC,XMP,XMRVAL) | ; Check validation number
|
|
NORELAY | ; We want to prevent this site from unwittingly acting as a relay
; domain for spammers or viruses. Such nefarious ne'erdowells ; typically route their mail through unsuspecting sites to "launder" ; it. The unsuspecting sites forward it onward. ; XMC("HELO RECV") contains the sending site's name. If we ; were to be truly vigorous about this, we would find out the IP ; address of the site and do a reverse DNS lookup to verify the site's ; name. We don't yet have that capability, so we'll have to make do ; with XMC("HELO RECV") and trust that the site is who it says it is. |
|
; Recv: "MAIL FROM:<USER.JOE@DOMAIN.NAME>"
; Send: "250 OK Message-ID:12345@DOMAIN.NAME" |
||
HELO | ; Recv: "HELO REMOTE.MED.VA.GOV <security num>"
; Send: "250 OK DOMAIN.NAME <security num> [8.0,DUP,SER,FTP]" |
|
REJECT(XMNVFROM) | ; Check Senders rejected list
|
|
RCPT | ; Specify recipients
|
|
DOMAIN(XMDOMAIN) | ; Try to find the domain.
|
Name | Field # of Occurrence |
---|---|
$$EZBLD^DIALOG | MAIL+11 |
$$FIND1^DIC | DOMAIN+11 |
MIX^DIC1 | FACILITY+4, DOMAIN+4 |
FILE^DIE | MAIL+31 |
UPDATE^DIE | DOMAIN+19 |
$$NOW^XLFDT | MAIL+19 |
$$UP^XLFSTR | HELO+8, NORELAY+12, DOMAIN+2, REJECT+3, REJECT+6, REJECT+9 |
$$SCRUB^XMR3 | MAIL+4 |
CHKADDR^XMXADDR | LOOKUP+6 |
TASKBULL^XMXBULL | DOMAIN+29, VALCHK+7, LOOKUP+34 |
PUTMSG^XMXMSGS2 | MAIL+21 |
CRE8XMZ^XMXSEND | MAIL+11 |
$$INDT^XMXUTIL1 | MAIL+23 |
FileNo | Call Tags |
---|---|
^DIC(4.2 - [#4.2] | Classic Fileman Calls |
^DIC(4.2996 - [#4.2996] | FIND1^DIC |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DIC(4.2 - [#4.2] | HELO+25, DOMAIN+11, DOMAIN+23, VALPROC+1, VALPROC+4, VALPROC+8*, VALSET+4, VALSET+7*, VALSET+8 |
^TMP("XMERR" | MAIL+10!, MAIL+13, MAIL+14!, LOOKUP+8, LOOKUP+10! |
^TMP("XMY" | MAIL+7!, LOOKUP+14!, LOOKUP+26! |
^TMP("XMY0" | MAIL+7!, LOOKUP+14!, LOOKUP+26! |
^XMB("NETNAME" | HELO+4, HELO+27, NORELAY+13, NORELAY+15, NORELAY+17, NORELAY+18, MAIL+22, MAIL+25 |
^XMB("PARENT" | DOMAIN+11, DOMAIN+18, DOMAIN+23 |
^XMB(1 - [#4.3] | HELO+21, NORELAY+11 |
^XMB(3.9 - [#3.9] | MAIL+20*, MAIL+25* |
^XMBX(4.501 - [#4.501] | REJECT+1, REJECT+5, REJECT+7, REJECT+8 |
Name | Line Occurrences |
---|---|
$$DOMAIN | HELO+18 |
$$FACILITY | HELO+9 |
$$LOOKUP | RCPT+4 |
$$REJECT | HELO+13, MAIL+6 |
NORELAY | HELO+22 |
VALCHK | VALPROC+3 |
VALPROC | HELO+26 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
D | FACILITY+2~, FACILITY+3*, DOMAIN+1~, DOMAIN+3* |
DIC | FACILITY+2~, FACILITY+3*, DOMAIN+1~, DOMAIN+3* |
DIC(0 | FACILITY+3*, DOMAIN+3* |
>> DIERR | DOMAIN+23 |
>> ER | MAIL+22 |
U | HELO+12, HELO+20, HELO+26, FACILITY+5, DOMAIN+5, DOMAIN+11, DOMAIN+23, DOMAIN+30, VALPROC+7, VALCHK+1 , VALCHK+2, VALSET+5, VALSET+6, MAIL+20, REJECT+9 |
X | HELO+2~, HELO+5*, HELO+6, HELO+8*, HELO+9, HELO+13, HELO+17, HELO+18, FACILITY~, DOMAIN+1~ , DOMAIN+2*, DOMAIN+4*, DOMAIN+7 |
XM2LONG | MAIL+7! |
>> XMC("BATCH" | HELO+24 |
>> XMC("HELO REC | V" , HELO+12*, HELO+17*, NORELAY+21, VALCHK+6, MAIL+25, LOOKUP+29 |
>> XMC("MY DOMAI | N" , NORELAY+12*, NORELAY+15*, NORELAY+17, NORELAY+18*, NORELAY+21, LOOKUP+21 |
>> XMC("QUIT" | HELO+15* |
>> XMC("RELAY OK | " , HELO+23*, NORELAY+22*, LOOKUP+17 |
>> XMCONT | HELO+24*, HELO+28* |
XMD | MAIL+2~, MAIL+19*, MAIL+20, MAIL+23*, MAIL+25 |
XMDOMAIN | DOMAIN~, DOMAIN+2*, DOMAIN+27 |
XMDOMREC | HELO+2~, HELO+25*, HELO+26, VALPROC~, VALPROC+3, VALPROC+7*, VALPROC+8, VALCHK~, VALCHK+1, VALCHK+2* , VALSET+3~, VALSET+4*, VALSET+5*, VALSET+6*, VALSET+7 |
XMERR | MAIL+10!, MAIL+12, MAIL+14!, LOOKUP+7, LOOKUP+8, LOOKUP+10! |
XMFDA | DOMAIN+13~, MAIL+26~ |
XMFDA( | DOMAIN+15*, DOMAIN+16*, DOMAIN+17*, DOMAIN+18*, MAIL+28*, MAIL+29* |
XMFULL | LOOKUP+1~, LOOKUP+6, LOOKUP+11, LOOKUP+16, LOOKUP+17, LOOKUP+19, LOOKUP+22, LOOKUP+26, LOOKUP+30 |
XMIEN | DOMAIN+13~, REJECT+2~, REJECT+7*, REJECT+8 |
XMIEN(1 | DOMAIN+30 |
XMIENS | DOMAIN+13~, DOMAIN+14*, DOMAIN+15, DOMAIN+16, DOMAIN+17, DOMAIN+18, MAIL+26~, MAIL+27*, MAIL+28, MAIL+29 |
XMINST | HELO+11*, HELO+19*, HELO+25, HELO+26, VALPROC~, VALPROC+1, VALPROC+4, VALPROC+8, VALSET~, VALSET+4 , VALSET+7, VALSET+8, MAIL+27 |
XMINSTR | DOMAIN+25~, DOMAIN+29, VALCHK+4~, VALCHK+7, MAIL+7!, RCPT+4, LOOKUP~, LOOKUP+6, LOOKUP+28~, LOOKUP+34 |
XMINSTR("ADDR | FLAGS" , MAIL+9* |
XMINSTR("FROM" | DOMAIN+28*, VALCHK+5*, LOOKUP+32* |
XMINSTR("FWD | BY" , MAIL+8* |
XMINSTR("NET | FWD BY" , RCPT+2*, RCPT+3! |
XMNO | REJECT+2~, REJECT+4*, REJECT+5*, REJECT+6, REJECT+7 |
XMNVFROM | MAIL+7!, MAIL+17*, REJECT~, REJECT+3*, REJECT+6, REJECT+9, LOOKUP+2, LOOKUP+31 |
XMOKDOM | NORELAY+9~, NORELAY+10*, NORELAY+11*, NORELAY+12, NORELAY+16*, NORELAY+17*, NORELAY+18, NORELAY+20*, NORELAY+21*, NORELAY+22 , LOOKUP+18~, LOOKUP+20*, LOOKUP+21*, LOOKUP+22 |
XMP | HELO+3, HELO+5, HELO+26, VALPROC~, VALPROC+2, MAIL+3*, MAIL+4*, MAIL+5, MAIL+6, MAIL+17 , RCPT+1*, RCPT+2, RCPT+4 |
XMPARM | DOMAIN+25~, DOMAIN+29, VALCHK+4~, VALCHK+7, LOOKUP+28~, LOOKUP+34 |
XMPARM(1 | DOMAIN+26*, VALCHK+6*, LOOKUP+29* |
XMPARM(2 | DOMAIN+27*, LOOKUP+30* |
XMPARM(3 | LOOKUP+31* |
>> XMPROT | MAIL+25 |
XMREC | REJECT+2~, REJECT+8*, REJECT+9 |
XMREJECT | REJECT+2~, REJECT+4*, REJECT+5, REJECT+9*, REJECT+10 |
XMREMID | MAIL+7! |
XMRESTR | LOOKUP+1~, LOOKUP+6 |
XMRESTR("NET | RECEIVE" , LOOKUP+2* |
XMRVAL | HELO+26, HELO+27, VALPROC~, VALPROC+2*, VALPROC+3, VALPROC+4, VALPROC+5*, VALPROC+7, VALCHK~, VALCHK+1 , VALCHK+2, VALCHK+3!, VALSET~, VALSET+2, VALSET+5, VALSET+9! |
XMRXMZ | MAIL+7! |
>> XMSEN | HELO+3, HELO+4, HELO+6, HELO+14, HELO+27, VALPROC+1, VALCHK+8, MAIL+5, MAIL+6, MAIL+15 , MAIL+22, RCPT+1, RCPT+5, LOOKUP+4, LOOKUP+9, LOOKUP+13, LOOKUP+25 |
>> XMSG | HELO+3*, HELO+4*, HELO+6*, HELO+14*, HELO+27*, VALPROC+1*, VALCHK+8*, MAIL+5*, MAIL+6*, MAIL+13* , MAIL+22*, RCPT+1*, RCPT+5*, LOOKUP+4*, LOOKUP+8*, LOOKUP+12*, LOOKUP+24* |
>> XMSITE | HELO+12*, HELO+20* |
>> XMSTATE | HELO+7*, HELO+24*, HELO+28*, MAIL+18*, RCPT+6* |
XMTO | LOOKUP~, LOOKUP+3*, LOOKUP+4, LOOKUP+5*, LOOKUP+6, LOOKUP+28~, LOOKUP+34 |
XMTO( | LOOKUP+33* |
XMTOP | DOMAIN+6~, DOMAIN+7*, DOMAIN+11, DOMAIN+15, DOMAIN+26, DOMAIN+30 |
XMTRELAY | LOOKUP+18~, LOOKUP+19*, LOOKUP+21 |
XMZ | MAIL+7!, MAIL+11, MAIL+16, MAIL+20, MAIL+21, MAIL+22, MAIL+25, MAIL+29 |
XMZFDA | MAIL+7! |
XMZFDA( | MAIL+17*, MAIL+19* |
XMZIENS | MAIL+7!, MAIL+16*, MAIL+17, MAIL+19 |
Y | HELO+2~, HELO+9*, HELO+10, HELO+11, HELO+12, HELO+18*, HELO+19, HELO+20, FACILITY+2~, FACILITY+5 , DOMAIN+1~, DOMAIN+4, DOMAIN+5 |
Y(0 | FACILITY+5, DOMAIN+5 |
Name | Field # of Occurrence |
---|---|
$T(XMR1+1 | HELO+27, MAIL+25 |