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 |