XMXSEC2 ;ISC-SF/GMB-Message security and restrictions (cont.) ;04/18/2002 08:01
Source file <XMXSEC2.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| SET(XMCD,XMDN,XMOPT,XMOX) | ; | |
| EDIT(XMDUZ,XMZ,XMZREC) | ; May the user edit the message? (1=may, 0=may not) | 
 
 | 
| OPTMSG(XMDUZ,XMK,XMZ,XMIM,XMINSTR,XMIU,XMOPT,XMOX,XMQDNUM) | ; The user has access to the message.  Now what may the user do with it? ; in: ; XMDUZ = the user ; XMK = basket IEN if message is in a basket ; = ! if super search (option XM SUPER SEARCH) ; = 0 otherwise ; XMZ = the message IEN ; The following are set by INMSG1 and INMSG2^XMXUTIL2 ; XMIM("FROM") = piece 2 of the message's zero node ; XMINSTR = special instructions ; XMIU("ORIGN8")= ; XMIU("IEN") = the user's IEN in the message's recipient multiple ; XMQDNUM = 0 - set XMOPT(<opt>,"?")=dialog text (default) ; 1 - set XMOPT(<opt>,"?")=dialog number (all are TYPE: ERROR) ; FYI, XMOPT(<opt>,"?") is displayed in SHOWERR^XMJDIR. ; out: ; XMOPT(<opt>) Possible options ; '$D(XMOPT(<opt>,"?")) User may do these things. ; $D(XMOPT(<opt>,"?")) User may NOT do these things. | 
 
 | 
| OPTEDIT(XMINSTR,XMOPT,XMOX,XMQDNUM) | ; We know the user may edit the message. ; Now, what, exactly, may be edited? | 
 
 | 
| OPTR(XMDUZ,XMK,XMZ,XMIU,XMSECPAK,XMINSTR) | ; User must be self or have 'read' privilege as surrogate. | |
| Q(XMCD,XMDN) | ; | |
| OPTW(XMDUZ,XMZ,XMFROM,XMORIGN8,XMSECPAK,XMINSTR) | ; User must be self or have 'write' privilege as surrogate. | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^TMP("XMY" | OPTEDIT+20 | 
| ^XMB(3.9 - [#3.9] | EDIT+2, EDIT+3, EDIT+4, OPTEDIT+12, OPTMSG+20, OPTW+3, OPTW+15, OPTW+22, OPTR+1, OPTR+13 | 
| ^XUSEC("XUPROGMODE" | OPTR+16 | 
| Name | Line Occurrences | 
|---|---|
| OPTR | OPTMSG+55 | 
| OPTW | OPTMSG+52 | 
| Q | OPTEDIT+14, OPTEDIT+15, OPTEDIT+18, OPTEDIT+21, OPTEDIT+22, OPTMSG+56, OPTW+1, OPTW+2, OPTW+4, OPTW+6 , OPTW+7, OPTW+10, OPTW+13, OPTW+14, OPTW+22, OPTW+23, OPTR+1, OPTR+3, OPTR+4, OPTR+5 , OPTR+6, OPTR+8, OPTR+10, OPTR+12, OPTR+13, OPTR+14, OPTR+16, OPTR+17 | 
| SET | OPTEDIT+2, OPTEDIT+3, OPTEDIT+4, OPTEDIT+5, OPTEDIT+6, OPTEDIT+7, OPTEDIT+8, OPTEDIT+9, OPTEDIT+10, OPTEDIT+11 , OPTEDIT+12, OPTMSG+23, OPTMSG+24, OPTMSG+25, OPTMSG+26, OPTMSG+27, OPTMSG+28, OPTMSG+29, OPTMSG+30, OPTMSG+31 , OPTMSG+32, OPTMSG+34, OPTMSG+35, OPTMSG+36, OPTMSG+37, OPTMSG+38, OPTMSG+39, OPTMSG+40, OPTMSG+41, OPTMSG+42 , OPTMSG+43, OPTMSG+44, OPTMSG+45, OPTMSG+46, OPTMSG+47, OPTMSG+48, OPTMSG+49, OPTMSG+50 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| DIR | OPTW+19~ | 
| DIR("?" | OPTW+21 | 
| DUZ | OPTEDIT+18, OPTMSG+51, OPTMSG+56, OPTW+10, OPTR+16 | 
| U | EDIT+2, OPTW+15, OPTR+13 | 
| XMCD | SET~, SET+3, SET+4, SET+5, Q~, Q+1, Q+2 | 
| XMDN | SET~, SET+2, Q~, Q+1, Q+2 | 
| XMDREC | SET+1~, SET+2*, SET+3, SET+4, SET+5 | 
| XMDUZ | EDIT~, EDIT+1, OPTEDIT+16, OPTEDIT+18, OPTMSG~, OPTMSG+51, OPTMSG+52, OPTMSG+55, OPTMSG+57, OPTMSG+58 , OPTW~, OPTW+8, OPTW+10, OPTR~ | 
| XMFROM | OPTW~, OPTW+15 | 
| XMIM | OPTMSG~ | 
| XMIM("FROM" | OPTMSG+52 | 
| XMINSTR | OPTEDIT~, OPTMSG~, OPTMSG+52, OPTMSG+55, OPTMSG+57, OPTW~, OPTR~ | 
| XMINSTR("FLAGS" | OPTEDIT+2, OPTEDIT+4, OPTEDIT+6, OPTEDIT+7, OPTEDIT+11, OPTMSG+40, OPTMSG+42, OPTMSG+44, OPTW+2, OPTR+5 , OPTR+6, OPTR+12 | 
| XMINSTR("RCPT | BSKT" , OPTEDIT+3 | 
| XMINSTR("SCR | KEY" , OPTEDIT+12 | 
| XMINSTR("TYPE" | EDIT+4, OPTEDIT+13, OPTMSG+20, OPTMSG+50, OPTW+1, OPTR+15 | 
| XMINSTR("VAPOR" | OPTEDIT+10 | 
| XMIU | OPTMSG~, OPTMSG+55, OPTR~ | 
| XMIU("IEN" | OPTR+13 | 
| XMIU("ORIGN8" | OPTMSG+52, OPTMSG+54, OPTMSG+57, OPTR+6, OPTR+11 | 
| XMK | OPTMSG~, OPTMSG+33, OPTMSG+55, OPTMSG+57, OPTMSG+58, OPTR~, OPTR+2 | 
| XMOPT | OPTEDIT~, OPTEDIT+2, OPTEDIT+3, OPTEDIT+4, OPTEDIT+5, OPTEDIT+6, OPTEDIT+7, OPTEDIT+8, OPTEDIT+9, OPTEDIT+10 , OPTEDIT+11, OPTEDIT+12, SET~, OPTMSG~, OPTMSG+22!, OPTMSG+23, OPTMSG+24, OPTMSG+25, OPTMSG+26, OPTMSG+27 , OPTMSG+28, OPTMSG+29, OPTMSG+30, OPTMSG+31, OPTMSG+32, OPTMSG+34, OPTMSG+35, OPTMSG+36, OPTMSG+37, OPTMSG+38 , OPTMSG+39, OPTMSG+40, OPTMSG+41, OPTMSG+42, OPTMSG+43, OPTMSG+44, OPTMSG+45, OPTMSG+46, OPTMSG+47, OPTMSG+48 , OPTMSG+49, OPTMSG+50 | 
| XMOPT( | SET+3*, Q+1*, Q+2* | 
| XMOPT("A" | OPTW+6, OPTW+8, OPTW+11* | 
| XMOPT("C" | OPTW+7 | 
| XMOPT("E" | OPTW+18*, OPTW+21* | 
| XMOPT("H" | OPTR+9* | 
| XMOPT("NS" | OPTEDIT+16, OPTEDIT+19* | 
| XMOPT("P" | OPTR+9 | 
| XMORIGN8 | OPTW~, OPTW+2, OPTW+12 | 
| XMOX | OPTEDIT~, OPTEDIT+2, OPTEDIT+3, OPTEDIT+4, OPTEDIT+5, OPTEDIT+6, OPTEDIT+7, OPTEDIT+8, OPTEDIT+9, OPTEDIT+10 , OPTEDIT+11, OPTEDIT+12, SET~, OPTMSG~, OPTMSG+22!, OPTMSG+23, OPTMSG+24, OPTMSG+25, OPTMSG+26, OPTMSG+27 , OPTMSG+28, OPTMSG+29, OPTMSG+30, OPTMSG+31, OPTMSG+32, OPTMSG+34, OPTMSG+35, OPTMSG+36, OPTMSG+37, OPTMSG+38 , OPTMSG+39, OPTMSG+40, OPTMSG+41, OPTMSG+42, OPTMSG+43, OPTMSG+44, OPTMSG+45, OPTMSG+46, OPTMSG+47, OPTMSG+48 , OPTMSG+49, OPTMSG+50 | 
| XMOX("O" | SET+4* | 
| XMOX("X" | SET+5* | 
| >> XMPAKMAN | OPTEDIT+13 | 
| XMQDNUM | OPTEDIT~, Q+1, OPTMSG~, OPTW+18 | 
| XMSECPAK | OPTMSG+19~, OPTMSG+20*, OPTMSG+21*, OPTMSG+52, OPTMSG+55, OPTW~, OPTW+4, OPTW+23, OPTR~, OPTR+7 | 
| >> XMV("NAME" | OPTEDIT+19, OPTW+11 | 
| >> XMV("PRIV" | OPTMSG+51 | 
| XMZ | EDIT~, EDIT+2, EDIT+3, EDIT+4, OPTEDIT+12, OPTMSG~, OPTMSG+20, OPTMSG+52, OPTMSG+55, OPTW~ , OPTW+3, OPTW+15, OPTW+22, OPTR~, OPTR+1, OPTR+13, OPTR+14 | 
| XMZREC | EDIT~, EDIT+1, EDIT+2 |