XMXSEC1 ;ISC-SF/GMB-Message security and restrictions (cont.) ;05/17/2002 13:26
Source file <XMXSEC1.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| COPYLIMS() | ; Function returns copy limits string. ; limits: # recipients^# responses^# lines | 
 
 | 
| OPTGRP(XMDUZ,XMK,XMOPT,XMOX,XMQDNUM) | ; What may the user do at the basket/message group level? | 
 
 | 
| OPTUSER1(XMDUZ,XMOPT,XMOX) | ; | |
| SET(XMCD,XMDN,XMOPT,XMOX) | ; | |
| CHKLINES(XMDUZ,XMZ,XMRESTR) | ; Replaces NO^XMA21A | 
 
 | 
| OPTPOST(XMOPT,XMOX) | ; | |
| SSPRIV() | ; Is the user authorized to conduct a super search? | 
 
 | 
| TOOMANY(HOWMANY,XMLIMIT,XMDIALOG,XMABORT) | ; | |
| PAKMAN(XMZ,XMZREC) | ; Returns 1 if this is a packman msg; 0 if not. ; Unfortunately, there isn't always an "X" in piece 7 of the zero node, ; so we must go check out the first line of text. | 
 
 | 
| CHKMSG(XMDUZ,XMK,XMKZ,XMZ,XMZREC) | ; Is the message where the calling routine says it is, ; and is the user authorized to access it? | 
 
 | 
| GETRESTR(XMDUZ,XMZ,XMZREC,XMINSTR,XMRESTR) | ; ; If a message is closed, it may not be forwarded to SHARED,MAIL, even by the sender | 
 
 | 
| OPTSS(XMDUZ,XMOPT,XMOX) | ; Super Search | |
| Q(XMCD,XMDN) | ; | |
| ACCESS2(XMDUZ,XMZ,XMZREC) | ; The user (XMDUZ) is not a recipient | |
| COPYAMT(XMZ,XMWHICH) | ; Checks total number of lines to be copied and total number of responses to be copied. ; Function returns 1 if OK; 0 if not OK. ; XMWHICH string of which responses to copy (0=original msg). ; Default = original msg and all responses. | 
 
 | 
| COPYRECP(XMZ) | ; Checks total number of recipients to see if it's OK to list them in the copy text and send the copy to them, too. ; Function returns 1 if OK; 0 if not OK. | 
 
 | 
| ZSSPRIV() | ; Is the user authorized to conduct a super search? | 
 
 | 
| OPTUSER2(XMK,XMOPT,XMOX) | ; | 
| Name | Field # of Occurrence | 
|---|---|
| $$EZBLD^DIALOG | SET+2, Q+2, OPTUSER1+12 | 
| BLD^DIALOG | OPTUSER1+22, OPTUSER2+11 | 
| ADDRECP^XMTDL | ACCESS2+5 | 
| ADDITM^XMUT4A | CHKMSG+22 | 
| $$ACCESS^XMXSEC | CHKMSG+18, ACCESS2+8 | 
| $$ORIGIN8R^XMXSEC | GETRESTR+14 | 
| $$SURRACC^XMXSEC | CHKMSG+11, ACCESS2+3 | 
| $$ZPOSTPRV^XMXSEC | OPTUSER1+17, OPTUSER2+7 | 
| ERRSET^XMXUTIL | CHKMSG+7, CHKMSG+14, CHKMSG+17, TOOMANY+3, COPYRECP+5, SSPRIV+2, ACCESS2+9, ACCESS2+12 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^XMB(1 - [#4.3] | GETRESTR+14, CHKLINES+3, COPYLIMS+3 | 
| ^XMB(3.7 - [#3.7] | CHKMSG+3, CHKMSG+19, CHKMSG+21, OPTUSER1+10 | 
| ^XMB(3.9 - [#3.9] | GETRESTR+2, GETRESTR+18, CHKLINES+4, CHKMSG+8, CHKMSG+16, PAKMAN+4, PAKMAN+10, PAKMAN+11, COPYAMT+7, COPYAMT+8 , COPYAMT+16, COPYAMT+17, COPYRECP+4 | 
| ^XUSEC("XM GROUP PRIORITY" | GETRESTR+14 | 
| ^XUSEC("XM SUPER SEARCH" | ZSSPRIV+1 | 
| ^XUSEC("XMMGR" | CHKLINES+2 | 
| Name | Line Occurrences | 
|---|---|
| $$COPYLIMS | COPYAMT+6, COPYRECP+3 | 
| $$ZSSPRIV | SSPRIV+1 | 
| CHKLINES | GETRESTR+21 | 
| OPTPOST | OPTGRP+2 | 
| OPTSS | OPTGRP+6 | 
| OPTUSER1 | OPTGRP+3, OPTGRP+7 | 
| OPTUSER2 | OPTGRP+4 | 
| Q | OPTUSER1+11, OPTUSER1+15, OPTUSER2+5 | 
| SET | OPTUSER1+1, OPTUSER1+2, OPTUSER1+3, OPTUSER1+4, OPTUSER1+5, OPTUSER1+6, OPTUSER1+7, OPTUSER1+8, OPTUSER1+9, OPTUSER1+13 , OPTUSER2+1, OPTUSER2+2, OPTUSER2+3, OPTUSER2+4, OPTPOST+1, OPTPOST+2, OPTPOST+3, OPTPOST+4, OPTPOST+5, OPTSS+1 , OPTSS+2 | 
| TOOMANY | COPYAMT+8, COPYAMT+18, COPYAMT+19 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| DIR | OPTUSER1+21~, OPTUSER2+10~ | 
| DIR("?" | OPTUSER1+23, OPTUSER2+12 | 
| DUZ | CHKMSG+9, OPTUSER1+11, ZSSPRIV+1, ACCESS2+3, ACCESS2+7, ACCESS2+8 | 
| HOWMANY | TOOMANY~, TOOMANY+1 | 
| I | OPTUSER1+20*, OPTUSER1+23*, COPYAMT+9~, COPYAMT+12*, COPYAMT+13, COPYLIMS+2~, COPYLIMS+4* | 
| J | COPYAMT+9~, COPYAMT+14*, COPYAMT+16, COPYAMT+17 | 
| U | GETRESTR+3, GETRESTR+7, GETRESTR+14, CHKLINES+3, CHKLINES+4, CHKMSG+21, PAKMAN+5, COPYAMT+7, COPYAMT+8, COPYAMT+16 , COPYAMT+17, COPYAMT+18, COPYAMT+19, COPYLIMS+4, COPYRECP+4, COPYRECP+5, ACCESS2+2, ACCESS2+5 | 
| X | CHKMSG+10~, CHKMSG+11* | 
| XMABORT | COPYAMT+4~, COPYAMT+5*, COPYAMT+8, COPYAMT+18, COPYAMT+19, TOOMANY~, TOOMANY+2* | 
| XMCD | SET~, SET+3, SET+4, SET+5, Q~, Q+1, Q+2 | 
| XMDIALOG | TOOMANY~, TOOMANY+3 | 
| XMDN | SET~, SET+2, Q~, Q+1, Q+2 | 
| XMDREC | SET+1~, SET+2*, SET+3, SET+4, SET+5 | 
| XMDUZ | GETRESTR~, GETRESTR+14, GETRESTR+21, CHKLINES~, CHKLINES+2, CHKMSG~, CHKMSG+3, CHKMSG+9, CHKMSG+11, CHKMSG+18 , CHKMSG+19, CHKMSG+21, CHKMSG+22, OPTGRP~, OPTGRP+2, OPTGRP+3, OPTGRP+6, OPTGRP+7, OPTUSER1~, OPTUSER1+10 , OPTUSER1+11, OPTUSER1+14, OPTUSER2+7, OPTSS~, ACCESS2~, ACCESS2+2, ACCESS2+3, ACCESS2+5, ACCESS2+7 | 
| XMI | PAKMAN+8~, PAKMAN+10*, PAKMAN+11 | 
| XMINSTR | GETRESTR~ | 
| XMINSTR("ADDR | FLAGS" , GETRESTR+10 | 
| XMK | CHKMSG~, CHKMSG+2, CHKMSG+3, CHKMSG+6, CHKMSG+13, CHKMSG+19*, CHKMSG+20, CHKMSG+21, CHKMSG+22, OPTGRP~ , OPTGRP+1, OPTGRP+2, OPTGRP+4, OPTGRP+6, OPTUSER2~, OPTUSER2+5 | 
| XMKZ | CHKMSG~, CHKMSG+3, CHKMSG+6, CHKMSG+13, CHKMSG+15, CHKMSG+21*, CHKMSG+22 | 
| XMLIMIT | CHKLINES+1~, CHKLINES+3*, CHKLINES+4, COPYAMT+4~, COPYAMT+6*, COPYAMT+8, COPYAMT+18, COPYAMT+19, TOOMANY~, TOOMANY+1 , TOOMANY+3, COPYLIMS+3*, COPYLIMS+4*, COPYLIMS+5, COPYRECP+2~, COPYRECP+3*, COPYRECP+4, COPYRECP+5 | 
| XMLINES | COPYAMT+9~, COPYAMT+11*, COPYAMT+16*, COPYAMT+17*, COPYAMT+18 | 
| XMOK | ACCESS2+1~, ACCESS2+2, ACCESS2+3*, ACCESS2+6* | 
| XMOPT | OPTGRP~, OPTGRP+2, OPTGRP+3, OPTGRP+4, OPTGRP+6, OPTGRP+7, SET~, OPTUSER1~, OPTUSER1+1, OPTUSER1+2 , OPTUSER1+3, OPTUSER1+4, OPTUSER1+5, OPTUSER1+6, OPTUSER1+7, OPTUSER1+8, OPTUSER1+9, OPTUSER1+13, OPTUSER2~, OPTUSER2+1 , OPTUSER2+2, OPTUSER2+3, OPTUSER2+4, OPTPOST~, OPTPOST+1, OPTPOST+2, OPTPOST+3, OPTPOST+4, OPTPOST+5, OPTSS~ , OPTSS+1, OPTSS+2 | 
| XMOPT( | SET+3*, Q+1*, Q+2*, OPTUSER1+20*, OPTUSER1+23* | 
| XMOPT("C" | OPTUSER2+9*, OPTUSER2+12* | 
| XMOPT("FI" | OPTUSER1+12* | 
| XMOPT("L" | OPTUSER1+16 | 
| XMOPT("NT" | OPTUSER1+16* | 
| XMOX | OPTGRP~, OPTGRP+2, OPTGRP+3, OPTGRP+4, OPTGRP+6, OPTGRP+7, SET~, OPTUSER1~, OPTUSER1+1, OPTUSER1+2 , OPTUSER1+3, OPTUSER1+4, OPTUSER1+5, OPTUSER1+6, OPTUSER1+7, OPTUSER1+8, OPTUSER1+9, OPTUSER1+13, OPTUSER2~, OPTUSER2+1 , OPTUSER2+2, OPTUSER2+3, OPTUSER2+4, OPTPOST~, OPTPOST+1, OPTPOST+2, OPTPOST+3, OPTPOST+4, OPTPOST+5, OPTSS~ , OPTSS+1, OPTSS+2 | 
| XMOX("O" | SET+4* | 
| XMOX("X" | SET+5* | 
| XMPARM | CHKMSG+5~, CHKMSG+7, CHKMSG+12~, CHKMSG+14 | 
| XMPARM(1 | CHKMSG+6*, CHKMSG+13* | 
| XMPARM(2 | CHKMSG+6*, CHKMSG+13* | 
| XMPARM(3 | CHKMSG+13* | 
| XMQDNUM | OPTGRP~, Q+1, OPTUSER1+19, OPTUSER2+9 | 
| XMRANGE | COPYAMT+9~, COPYAMT+13*, COPYAMT+14 | 
| XMREC | PAKMAN+8~, PAKMAN+11*, PAKMAN+12, PAKMAN+13, PAKMAN+14, PAKMAN+15 | 
| XMRESPS | COPYAMT+4~, COPYAMT+7*, COPYAMT+8, COPYAMT+10, COPYAMT+11*, COPYAMT+15*, COPYAMT+19 | 
| XMRESTR | GETRESTR~, GETRESTR+21, CHKLINES~ | 
| XMRESTR("FLAGS" | GETRESTR+4*, GETRESTR+5*, GETRESTR+8*, GETRESTR+9* | 
| XMRESTR("NOBCAST" | GETRESTR+18* | 
| XMRESTR("NOFPG" | GETRESTR+14*, GETRESTR+15! | 
| XMRESTR("NONET" | CHKLINES+4*, CHKLINES+5! | 
| XMTYPE | PAKMAN+3~, PAKMAN+5*, PAKMAN+6, PAKMAN+9*, PAKMAN+13*, PAKMAN+14*, PAKMAN+15*, PAKMAN+16 | 
| >> XMV("NAME" | OPTUSER1+12, ACCESS2+9 | 
| XMWHICH | COPYAMT~, COPYAMT+10*, COPYAMT+12, COPYAMT+13 | 
| XMZ | GETRESTR~, GETRESTR+2, GETRESTR+18, GETRESTR+21, CHKLINES~, CHKLINES+4, CHKMSG~, CHKMSG+3*, CHKMSG+4, CHKMSG+8 , CHKMSG+11, CHKMSG+13, CHKMSG+15*, CHKMSG+16, CHKMSG+17, CHKMSG+18, CHKMSG+19, CHKMSG+21, CHKMSG+22, PAKMAN~ , PAKMAN+4, PAKMAN+10, PAKMAN+11, COPYAMT~, COPYAMT+7, COPYAMT+8, COPYAMT+16, COPYAMT+17, COPYRECP~, COPYRECP+4 , ACCESS2~, ACCESS2+3, ACCESS2+5, ACCESS2+8, ACCESS2+9, ACCESS2+12 | 
| XMZREC | GETRESTR~, GETRESTR+2*, GETRESTR+3, GETRESTR+7, GETRESTR+14, CHKMSG~, CHKMSG+8*, CHKMSG+9, CHKMSG+11, CHKMSG+16* , CHKMSG+17, CHKMSG+18, PAKMAN~, PAKMAN+4*, PAKMAN+5, ACCESS2~, ACCESS2+2, ACCESS2+3, ACCESS2+5, ACCESS2+8 |