XUSAML ;ISD/HGW - Kernel SAML Token Implementation ; Apr 18, 2022@15:39
Source file <XUSAML.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| EN(DOC) | ;Function. Main entry point
|
|
| ND(HDL,ND,FS,XUPN,XASSRT) | ;SR. Traverse tree
|
|
| SH(HDL,ND,XUPN,XASSRT) | ;SR. Process node elements
|
|
| CH(HDL,ND,XUPN) | ;SR. Process text node
|
|
| EL(HDL,ND,NM,XUPN) | ;SR. Process element
|
|
| FINDUSER(XUERR) | ;Function. Identify user
|
|
| VALASSRT(XASSRT,DOC,XUERR) | ;Intrinsic Subroutine. Validate SAML assertion
|
|
| IDPASS(XUA) | ;Intrinsic Function. Extract Application ID
|
|
| CONVTIME(TIME) | ;Intrinsic Function. Convert XML time to FileMan format
|
|
| WARNINGS(XUERR) | ;
|
|
| TOKVALID(DUZ,XUERR) | ;
|
|
| LOGFAIL(IEN,DUZ) | ; Record failed access
|
|
| MPISSN(XATR) | ; Return SSN found in MPI
|
| Name | Field # of Occurrence |
|---|---|
| ^%DT | CONVTIME+9 |
| $$ATTRIB^MXMLDOM | SH+35, EL+2 |
| $$CHILD^MXMLDOM | ND+4, SH+31 |
| $$EN^MXMLDOM | EN+14 |
| $$NAME^MXMLDOM | SH+3 |
| $$SIBLING^MXMLDOM | ND+8 |
| $$TEXT^MXMLDOM | SH+32 |
| $$VALUE^MXMLDOM | SH+37, EL+3 |
| DELETE^MXMLDOM | EN+21 |
| TEXT^MXMLDOM | CH+4 |
| $$DT^XLFDT | IDPASS+3 |
| $$FMADD^XLFDT | IDPASS+4, CONVTIME+11 |
| $$NOW^XLFDT | VALASSRT+16 |
| $$TZ^XLFDT | CONVTIME+11 |
| $$LOW^XLFSTR | FINDUSER+9, FINDUSER+28, FINDUSER+29, FINDUSER+33, VALASSRT+5 |
| $$TITLE^XLFSTR | FINDUSER+8 |
| $$TRIM^XLFSTR | FINDUSER+33, FINDUSER+34, FINDUSER+35, FINDUSER+36, FINDUSER+37 |
| VALIDATE^XUCERT | VALASSRT+31 |
| $$ADDUSER^XUESSO2 | FINDUSER+51, FINDUSER+65, FINDUSER+83 |
| $$AUTH^XUESSO2 | FINDUSER+3 |
| $$FINDUSER^XUESSO2 | FINDUSER+44, FINDUSER+46, FINDUSER+60, FINDUSER+62, FINDUSER+75, FINDUSER+78, FINDUSER+80 |
| $$GETCNTXT^XUESSO2 | FINDUSER+15 |
| USER^XUIAMXML | MPISSN+8 |
| FILE^XUSTZ | LOGFAIL+12 |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^TMP("XUSAML" | EN+9!, EN+27!, SH+11, SH+12, SH+17, SH+18, SH+23, SH+27, SH+38*, CH+7* , CH+9*, EL+5*, EL+7*, FINDUSER+8, FINDUSER+9, FINDUSER+10, FINDUSER+11, FINDUSER+21, FINDUSER+22, FINDUSER+23 , FINDUSER+25, FINDUSER+26, FINDUSER+28, FINDUSER+29, FINDUSER+30, FINDUSER+31, VALASSRT+3, VALASSRT+4, VALASSRT+5, VALASSRT+9 |
| ^VA(200 - [#200] | FINDUSER+43, FINDUSER+47, FINDUSER+52, FINDUSER+59, FINDUSER+66, FINDUSER+74, FINDUSER+84, LOGFAIL+8 |
| ^XTMP("XUSAMLAPPID" | IDPASS+6*, IDPASS+7* |
| ^XTV(8989.3 - [#8989.3] | FINDUSER+39, FINDUSER+54, FINDUSER+68, VALASSRT+33 |
| ^XWB(8994.5 - [#8994.5] | FINDUSER+17, FINDUSER+18 |
| Name | Line Occurrences |
|---|---|
| $$CONVTIME | VALASSRT+17, VALASSRT+19, VALASSRT+21 |
| $$FINDUSER | EN+20 |
| $$IDPASS | FINDUSER+13 |
| $$MPISSN | FINDUSER+45, FINDUSER+61, FINDUSER+79 |
| $$TOKVALID | EN+23, FINDUSER+50, FINDUSER+64, FINDUSER+82 |
| $$WARNINGS | EN+22 |
| CH | SH+26 |
| EL | SH+10, SH+16, SH+22 |
| LOGFAIL | EN+23 |
| ND | EN+17, ND+5, ND+8 |
| SH | ND+2 |
| VALASSRT | EN+19 |
| Name | Field # of Occurrence |
|---|---|
| ^(1.1 | LOGFAIL+8* |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| >> %DT | CONVTIME+8* |
| >> %DT(0 | CONVTIME+12! |
| CH | ND+1~, ND+3*, ND+4*, ND+5 |
| >> DILOCKTM | FINDUSER+43, FINDUSER+59, FINDUSER+74 |
| DOC | EN~, EN+14, EN+19, VALASSRT~, VALASSRT+31 |
| DUZ | EN+23, FINDUSER+50, FINDUSER+64, FINDUSER+82, TOKVALID~, LOGFAIL~ |
| DUZ("AUTHENTICATION" | FINDUSER+41*, FINDUSER+58*, FINDUSER+73*, TOKVALID+5, LOGFAIL+9 |
| DUZ("LOA" | VALASSRT+11* |
| DUZ("MVIICN" | FINDUSER+31* |
| DUZ("REMAPP" | FINDUSER+6*, FINDUSER+17*, FINDUSER+57, FINDUSER+69 |
| DUZ("WARNINGS" | EN+22*, LOGFAIL+4 |
| ELE | SH+2~, SH+3*, SH+5, SH+9, SH+15, SH+21, SH+24, SH+30 |
| FS | ND~, ND+6 |
| HDL | EN+8~, EN+14*, EN+16, EN+17, EN+21, ND~, ND+2, ND+4, ND+5, ND+8 , SH~, SH+3, SH+10, SH+16, SH+22, SH+26, SH+31, SH+32, SH+35, SH+37 , CH~, CH+4, EL~, EL+2, EL+3 |
| I | SH+2~, SH+33*, CH+1~, CH+5* |
| IEN | LOGFAIL~, LOGFAIL+5, LOGFAIL+6, LOGFAIL+7*, LOGFAIL+8 |
| ND | ND~, ND+2, ND+4, ND+7, SH~, SH+3, SH+10, SH+16, SH+22, SH+26 , SH+31, SH+35, SH+37, CH~, CH+4, EL~, EL+2, EL+3 |
| NM | SH+2~, SH+10, SH+16, SH+22, SH+34*, SH+35*, SH+36, SH+37, SH+38, EL~ , EL+1*, EL+2*, EL+3 |
| RETURN | IDPASS+1~, IDPASS+2*, IDPASS+5, IDPASS+7, IDPASS+9 |
| SIB | ND+1~, ND+7*, ND+8* |
| SSN | MPISSN+1~, MPISSN+2*, MPISSN+6, MPISSN+8*, MPISSN+9 |
| STRICT | TOKVALID+1~, TOKVALID+3*, TOKVALID+4, LOGFAIL+1~, LOGFAIL+2*, LOGFAIL+3 |
| TIME | CONVTIME~, CONVTIME+3, CONVTIME+4, CONVTIME+6 |
| TX | ND+1~ |
| U | FINDUSER+17, FINDUSER+18, FINDUSER+39, FINDUSER+54, FINDUSER+68, FINDUSER+88, VALASSRT+33, TOKVALID+3, LOGFAIL+2, LOGFAIL+5 , LOGFAIL+6, LOGFAIL+8 |
| V | SH+2~ |
| VISTAID | FINDUSER+2~ |
| VV | SH+2~, SH+32, CH+1~, CH+4, CH+5 |
| VV( | SH+33, CH+5 |
| WARN | LOGFAIL+1~, LOGFAIL+3*, LOGFAIL+4*, LOGFAIL+5*, LOGFAIL+6*, LOGFAIL+10 |
| X | FINDUSER+2~, CONVTIME+2~, CONVTIME+8*, WARNINGS+1~, WARNINGS+2*, WARNINGS+3*, LOGFAIL+8* |
| XARRY | FINDUSER+2~, FINDUSER+44, FINDUSER+45, FINDUSER+46, FINDUSER+51, FINDUSER+60, FINDUSER+61, FINDUSER+62, FINDUSER+65, FINDUSER+75 , FINDUSER+78, FINDUSER+79, FINDUSER+80, FINDUSER+83 |
| XARRY(1 | FINDUSER+8*, FINDUSER+55 |
| XARRY(10 | FINDUSER+25* |
| XARRY(11 | FINDUSER+26*, FINDUSER+37*, FINDUSER+72 |
| XARRY(2 | FINDUSER+9*, FINDUSER+55, FINDUSER+68 |
| XARRY(3 | FINDUSER+10*, FINDUSER+33*, FINDUSER+40*, FINDUSER+56*, FINDUSER+70*, FINDUSER+71*, FINDUSER+72*, FINDUSER+74, FINDUSER+84 |
| XARRY(4 | FINDUSER+11*, FINDUSER+12*, FINDUSER+88 |
| XARRY(5 | FINDUSER+19*, FINDUSER+20*, FINDUSER+49, FINDUSER+63, FINDUSER+81 |
| XARRY(6 | FINDUSER+21* |
| XARRY(7 | FINDUSER+22*, FINDUSER+34*, FINDUSER+40, FINDUSER+43, FINDUSER+47, FINDUSER+52, FINDUSER+56, FINDUSER+59, FINDUSER+66, FINDUSER+88 |
| XARRY(8 | FINDUSER+23*, FINDUSER+35*, FINDUSER+70, FINDUSER+77* |
| XARRY(9 | FINDUSER+45*, FINDUSER+46, FINDUSER+61*, FINDUSER+62, FINDUSER+79*, FINDUSER+80 |
| XASSRT | EN+8~, EN+10*, EN+17, EN+19, ND~, ND+2, ND+5, ND+8, SH~, VALASSRT~ |
| XASSRT("Address" | SH+12* |
| XASSRT("AuthnContextClassRef" | SH+27*, VALASSRT+28 |
| XASSRT("AuthnInstant" | SH+23*, VALASSRT+17 |
| XASSRT("NotBefore" | SH+17*, VALASSRT+19 |
| XASSRT("NotOnOrAfter" | SH+18*, VALASSRT+21 |
| XASSRT("Recipient" | SH+11*, FINDUSER+13 |
| XASSRT("Subject" | SH+6* |
| XATR | MPISSN~ |
| XATR(10 | MPISSN+5 |
| XATR(6 | MPISSN+4 |
| XATR(7 | MPISSN+3 |
| XAUTH | FINDUSER+2~, FINDUSER+28*, FINDUSER+39, FINDUSER+54, FINDUSER+69, VALASSRT+2~, VALASSRT+5* |
| XC | FINDUSER+2~ |
| XCHILD | SH+2~, SH+31*, SH+32 |
| XCTXT | FINDUSER+2~, FINDUSER+18*, FINDUSER+19 |
| XD | VALASSRT+2~, VALASSRT+9*, VALASSRT+10, VALASSRT+11, VALASSRT+17*, VALASSRT+19*, VALASSRT+21*, VALASSRT+26, CONVTIME+2~, CONVTIME+4* , CONVTIME+5*, CONVTIME+8 |
| XDUZ | FINDUSER+2~, FINDUSER+4*, FINDUSER+43*, FINDUSER+44*, FINDUSER+45, FINDUSER+46*, FINDUSER+47, FINDUSER+50*, FINDUSER+51*, FINDUSER+55* , FINDUSER+59*, FINDUSER+60*, FINDUSER+61, FINDUSER+62*, FINDUSER+63, FINDUSER+64*, FINDUSER+65*, FINDUSER+74*, FINDUSER+75*, FINDUSER+76 , FINDUSER+78*, FINDUSER+79, FINDUSER+80*, FINDUSER+81, FINDUSER+82*, FINDUSER+83*, FINDUSER+86, FINDUSER+88*, FINDUSER+89 |
| XEDIPI | FINDUSER+2~, FINDUSER+30*, FINDUSER+36*, FINDUSER+71 |
| XERR | SH+2~, SH+32*, SH+33, FINDUSER+5* |
| XI | MPISSN+6~*, MPISSN+8 |
| XIN | MPISSN+7~, MPISSN+8 |
| XIN( | MPISSN+8* |
| XMPI | MPISSN+1~ |
| XMPI( | MPISSN+8 |
| XMPI("VAemail" | MPISSN+5* |
| XMPI("samacctnm" | MPISSN+4* |
| XMPI("secId" | MPISSN+3* |
| XNOW | VALASSRT+2~, VALASSRT+16*, VALASSRT+19, VALASSRT+26 |
| >> XOBDATA("XOB | RPC" , EN+11*, EN+12*, EN+25*, EN+26*, VALASSRT+3*, VALASSRT+4*, VALASSRT+6, VALASSRT+8!, VALASSRT+10* , VALASSRT+33 |
| >> XOPT | TOKVALID+3, LOGFAIL+2 |
| XOUT | CONVTIME+2~, CONVTIME+9*, CONVTIME+10, CONVTIME+11*, CONVTIME+13, MPISSN+1~, MPISSN+8 |
| XOUT("pnid" | MPISSN+8 |
| XPASS | FINDUSER+2~, FINDUSER+13*, FINDUSER+14, FINDUSER+15, FINDUSER+19 |
| XPROOF | VALASSRT+2~, VALASSRT+6* |
| XT | FINDUSER+2~, FINDUSER+15*, FINDUSER+16, FINDUSER+17, FINDUSER+18, CONVTIME+2~, CONVTIME+6*, CONVTIME+7*, CONVTIME+8 |
| XTD | IDPASS+1~, IDPASS+3*, IDPASS+4, IDPASS+6 |
| XTE | IDPASS+1~, IDPASS+4*, IDPASS+6 |
| XTEXT | SH+2~, SH+32*, SH+33*, SH+38 |
| XUA | IDPASS~, IDPASS+2 |
| XUERR | EN+19, EN+20, EN+22, EN+23, FINDUSER~, FINDUSER+50, FINDUSER+64, FINDUSER+82, VALASSRT~, VALASSRT+31 , WARNINGS~, TOKVALID~, TOKVALID+4 |
| XUERR( | WARNINGS+3 |
| XUERR("AuthnCCR" | VALASSRT+29* |
| XUERR("AuthnI" | VALASSRT+18* |
| XUERR("CALL-RTN" | FINDUSER+3* |
| XUERR("EXPIRED" | VALASSRT+26*, TOKVALID+6 |
| XUERR("ISSUER" | VALASSRT+34* |
| XUERR("NotBefore" | VALASSRT+20* |
| XUERR("SECID" | FINDUSER+87* |
| XUF | LOGFAIL+1~, LOGFAIL+11* |
| XUF( | LOGFAIL+8*, LOGFAIL+9*, LOGFAIL+10* |
| XUHOME | FINDUSER+2~, FINDUSER+29*, FINDUSER+39, FINDUSER+54 |
| XUIAM | FINDUSER+2~, FINDUSER+7* |
| XUPN | EN+8~, EN+10*, EN+17, ND~, ND+2, ND+5, ND+8, SH~, SH+10, SH+16 , SH+22, SH+25*, SH+26, CH~, CH+2, CH+6, CH+7, CH+9, EL~, EL+1!* , EL+3*, EL+4, EL+5, EL+7 |
| XVALUE | SH+2~, SH+37*, SH+38 |
| XZ | CONVTIME+2~, CONVTIME+3*, CONVTIME+7, CONVTIME+11 |
| Y | EN+8~, EN+10*, EN+18*, EN+20*, EN+23*, EN+24, EN+28, CH+1~, CH+3*, CH+5* , CH+7, CH+9, CONVTIME+2~, CONVTIME+9, WARNINGS+1~, WARNINGS+2*, WARNINGS+3*, WARNINGS+4 |
| Z | FINDUSER+2~ |