From 26625b475fd35804a6dcbe7501b8d6d3cf3fd499 Mon Sep 17 00:00:00 2001 From: erititan <elemer.lelik@ericsson.com> Date: Tue, 19 Jun 2018 09:56:51 +0200 Subject: [PATCH] R13A -> R14A --- demo/RADIUS_Mapping_new.ttcn | 2 +- demo/RADIUS_Mapping_orig.ttcn | 2 +- demo/RADIUSandEAP_Demo.prj | 0 demo/RADIUSandEAP_Mapping.ttcn | 2 +- demo/RadiusAndEAP_Demo.ttcn | 2 +- demo/Radius_Test_new.ttcn | 2 +- demo/Radius_Test_orig.ttcn | 2 +- demo/gui_make_RPMG_new.sh | 0 demo/gui_make_RPMG_orig.sh | 0 demo/gui_make_RPMGandEAP.sh | 0 ...ProtocolModule_Generator_CNL113600_PRI.doc | Bin 86528 -> 88576 bytes src/ATTR.awk | 2 +- src/ATTR.sh | 0 src/RADIUS_EncDec.cc | 2 +- src/obsolate/RadiusAccountingAttributes.rdf | 114 +++ src/obsolate/RadiusAndIPv6.rdf | 63 ++ src/obsolate/RadiusAuthExtensions.rdf | 63 ++ src/obsolate/RadiusBaseAttributes.rdf | 772 ++++++++++++++++++ src/obsolate/RadiusBaseTypes.rdf | 92 +++ src/obsolate/RadiusExtensions.rdf | 124 +++ src/obsolate/RadiusGGSN.rdf | 54 ++ .../TunnelAuthenticationAttributes.rdf | 159 ++++ src/skt.rdf | 6 +- 23 files changed, 1453 insertions(+), 10 deletions(-) mode change 100644 => 100755 demo/RADIUSandEAP_Demo.prj mode change 100644 => 100755 demo/RADIUSandEAP_Mapping.ttcn mode change 100644 => 100755 demo/RadiusAndEAP_Demo.ttcn mode change 100644 => 100755 demo/gui_make_RPMG_new.sh mode change 100644 => 100755 demo/gui_make_RPMG_orig.sh mode change 100644 => 100755 demo/gui_make_RPMGandEAP.sh mode change 100644 => 100755 src/ATTR.awk mode change 100644 => 100755 src/ATTR.sh create mode 100644 src/obsolate/RadiusAccountingAttributes.rdf create mode 100644 src/obsolate/RadiusAndIPv6.rdf create mode 100644 src/obsolate/RadiusAuthExtensions.rdf create mode 100644 src/obsolate/RadiusBaseAttributes.rdf create mode 100644 src/obsolate/RadiusBaseTypes.rdf create mode 100644 src/obsolate/RadiusExtensions.rdf create mode 100644 src/obsolate/RadiusGGSN.rdf create mode 100644 src/obsolate/TunnelAuthenticationAttributes.rdf diff --git a/demo/RADIUS_Mapping_new.ttcn b/demo/RADIUS_Mapping_new.ttcn index 5592870..1b1380f 100644 --- a/demo/RADIUS_Mapping_new.ttcn +++ b/demo/RADIUS_Mapping_new.ttcn @@ -17,7 +17,7 @@ // // File: RADIUS_Mapping_new.ttcn // Description: Example module providing UDP Mapping for RPMG -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/RADIUS_Mapping_orig.ttcn b/demo/RADIUS_Mapping_orig.ttcn index d4dd077..bf65b98 100644 --- a/demo/RADIUS_Mapping_orig.ttcn +++ b/demo/RADIUS_Mapping_orig.ttcn @@ -17,7 +17,7 @@ // // File: RADIUS_Mapping_orig.ttcn // Description: Example module providing UDP Mapping for RPMG -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/RADIUSandEAP_Demo.prj b/demo/RADIUSandEAP_Demo.prj old mode 100644 new mode 100755 diff --git a/demo/RADIUSandEAP_Mapping.ttcn b/demo/RADIUSandEAP_Mapping.ttcn old mode 100644 new mode 100755 index 7199ba8..e1c6aec --- a/demo/RADIUSandEAP_Mapping.ttcn +++ b/demo/RADIUSandEAP_Mapping.ttcn @@ -17,7 +17,7 @@ // // File: RADIUSandEAP_Mapping.ttcn // Description: Example module providing UDP Mapping for RPMG -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/RadiusAndEAP_Demo.ttcn b/demo/RadiusAndEAP_Demo.ttcn old mode 100644 new mode 100755 index 7720aff..55ebb77 --- a/demo/RadiusAndEAP_Demo.ttcn +++ b/demo/RadiusAndEAP_Demo.ttcn @@ -16,7 +16,7 @@ ******************************************************************************/ // // File: RadiusAndEAP_Demo.ttcn -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/Radius_Test_new.ttcn b/demo/Radius_Test_new.ttcn index 1a23019..5ad2bf2 100644 --- a/demo/Radius_Test_new.ttcn +++ b/demo/Radius_Test_new.ttcn @@ -16,7 +16,7 @@ ******************************************************************************/ // // File: Radius_Test_new.ttcn -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/Radius_Test_orig.ttcn b/demo/Radius_Test_orig.ttcn index f5303ce..b6ca5f6 100644 --- a/demo/Radius_Test_orig.ttcn +++ b/demo/Radius_Test_orig.ttcn @@ -16,7 +16,7 @@ ******************************************************************************/ // // File: Radius_Test_orig.ttcn -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Remark: This file is not a part of the product. // diff --git a/demo/gui_make_RPMG_new.sh b/demo/gui_make_RPMG_new.sh old mode 100644 new mode 100755 diff --git a/demo/gui_make_RPMG_orig.sh b/demo/gui_make_RPMG_orig.sh old mode 100644 new mode 100755 diff --git a/demo/gui_make_RPMGandEAP.sh b/demo/gui_make_RPMGandEAP.sh old mode 100644 new mode 100755 diff --git a/doc/RADIUS_ProtocolModule_Generator_CNL113600_PRI.doc b/doc/RADIUS_ProtocolModule_Generator_CNL113600_PRI.doc index d9d7fdfdfce82373095170f91347cceba2062e19..d008f423de74d1d125f5803b10ba02b1eec4cf9c 100644 GIT binary patch delta 20767 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 delta 19096 zcmd_yd3+RAy72L;B!q+{ge@!ygs?>d31sQ+B<ulXHwj^veUq?<5M&b?L_tLbJxY|t z5ycfmF-kyG5Jea^gZC;RASei^2)K=c3itPPrP7`14s++;&wJ;OH_o?fJ5_bgbL!MN zU0uVXw<;~#P-$giqYYZ=Uo}m8ky#x#Zr;2pYoEjOTlyZ*{kq1gXul?5`I?sge3fBh zdX&oa%XT{IN<vMO>E>p}{H><7j3lm4&f+@F?$Z4{r)i|P&iap-z8|Y;Q<$3D*Ur$i z96wEKahvAUhE>wErSY2fISGa(@Zn>+vX!Rglg`hkX-`nVRd!7~NV+Hv#BsC+Oy%#t zGi^$`%QH1?D?4tuJ4DmEF_XaoBGh96HLI9qALC%Lwo}e5f97<I!&o+_vZLppxw|<v zOJt^zWg8_J$bPk18Pw6(Vx7wI&jn~HWp!d6$a-K2f#+XPNA+W6M}nC@@6GP>)u!O< zCTLoTs{U(Dm6x05+&S6UYM#ujV6F1m^I<EF$ff1_GuL-(Yb;NlsA*JT*<WQcB^SyR zrio0Y!sYL2(#3Mt@8%fGvVRSZD$9d4&0pI&S&h!^)=Tms7m%6GNbSBre`9+!t_QP} z=G2U$x$LUM*v9Tf<3Q%JS$P>VsO#9k!R<8d4L@cZw=q*#r)EK{>)p$$e&uJ9&3wC8 zmp`%hdWzkl!hA~G>=3GH1x<_k1Wogcu%$YZl2cL=8^`Fil7h4Ir;nR8wm_AH)(bMX zsH;^PnhQy)PKd{X$ChL@J|xymmh8Dtih3ucnYks!bBj$?4ZY3WVpBhcmL1xzc7?{7 zTkM`&9I9?uQsvUTsYc;3W~x**C#>vXsh+!}sl#C{%69p{y-T{ft!mjW=^ne-64ipL z_R?K!>T0NY7F&|~s%m=aDOqr5*_Nz&hMUD?!DCB`S{L5H+$Y6zi%os&-a<60HB2x{ zX0uCuq_j#2&PmEhv<26U$<FA0d(Q3MVn+6#KGtR?l0D1=JJjN8WoL1CZb?;#+*?vT zx1_0h)ywutlP&S3hfX)npUU|=Cni;Jeic^D42(TdZ7Dkx3)5?u8M7y;zua4rJhu?C z8quZsw<mjUNl~lZTT*08D<flen~|}k<lvm-jEZt*w|O4St`cjOoyP9D#i16|j4rKa zyJ}RUtTd@=f6e-38>ZEWDUFLgt@QMc;2cMW@37d@JWr9XM%AismNDI9iz88OEZf2Y zWh_03BdPQx>A^Ya6`aJ8q;5o*A$BCIj0m$HS@77Bq8@Q?N%7obQ^(y~Y_g^F+H;g% zd&zR~rBrl&yINJdhn}oX*KVq(6b002>93YX_H8*jzu>OaBu7%JBRDv7{Op+V(`HSL zxqI}KS>t0SPK%j2xnN|$+`RE4Wwi>58XN3LNVFv++9Sf$m8wxiE26%sQuK1{Bf6fV z9L)y@ckkBuc685J)km+THZ~tlZ{$j^!sC7_>NF=^S9*)@1|%1JsMXG$dFKQzu~(Wl zAV{z47qr-a(gJRjfkArppvA^UHfS~cC&}%z+`8bhrKS<N8C}~N$5NeIHn1EyH%M#f zI<g#sBS++Vow=HIomS5{qsMynX3IE#a;v^<*)8L5RW$7;1~7Wqi~#P<xhO%?Fip$D zy9lbPY5nmmE+H*k)9yow8XrGdor*6hdNyIO?vx-%IgNZ?rhoLEPa{GzjO}IRmpyBG z<kS_<vQqy-@9O(#fkuF}Y7MMAYnG5ks?Du~TX==dT?Lj3QeU;M<BHWEt%nbvNSr2N z0T#lEr?DDquomm^3?#14Vm;o&``C$H_z)lA6u!i1TvJ;T>pFki``hkqyC2%Nd)pU# zzxeH?-{yT`tdR=$_%ot=l2L>2co@+gX>2bSU1QI$1AOn98Kj$`G!8M|NLcO=mI%43 z+Z{h&@pgK}+sMX6f8W^%(!DO@gloj;I{v_)_zO316B^g8js}QEL&Ts7nqqhgA2!&L zg>3Xi4*H=#qyY@XAk0JoW<iG4b1@GO;}JZHm+=Z-RgWb{1s-JXP>6cR(M{b*4vi__ z3`#0n%c)wVL}r#x^m(8)k$E>UtHdiPJ}++XV7n{FSJfF6J;XS>XGOO<M41lb6MTyQ zz}Gm7bGU(<(709T@PmJ-)3}FJVj&QX(F9G=3@y+S-OwF9Fa~2W4&!kbCP3~(6EO)( zu?!F3K|G2T*o@cl2KM8MdfV0~xa@*cRqT<Lo6<+Y|18i(NV*&8JVWv?+`hG}UjABN zjP9j+w+wfBSDyEc*{pD*b?gtSD4$xql=J`&;t&qw6Ubfr2tLJST)|cR=;Y%k{0u*C z=l%#lG#VlXjnEiPAh-Tzh(%{~L08<49_WcoWFZ@qFd0)Y71J;s(tXT8a6TW8Vujl7 z=x1pkZ<49<H!>BUYHc6exYEieGQ;(+wU2-4=AT-}ym(rzAoDBn7@okBSdBGUi>)Ze zHf+Z`*a7K0-^2U(0w-`1r*H;e;XE$jBK+uF{SkmlRkb!+ATyOAJ#a9pAQrcwIpPqH z1SBH`He{+TY1y7FA>G;%UL@76Lu#}HIRokbZ7pFFVey?$Ek2XHWg#1Vk%NAavC04p zL_TJs0JEHY%)wkNge)(@YOKLptiv<-8)U$<9?#)@?8Gj7fRC^T`*8pVaUK_N5#QoF zd=D8k{ea-hd{klN6r#4bv9^RKs#{B{;@etV!fKw5`3}eb!<Nw2-4a5`d?><D4b@Q_ zbx;?{NP!J@IFJe%GNz*q24WBfV+e*}IL2Ts#$h3xScJvlw1j(^Sppe%-jAht4$or) zUck$E1)K3Y-oSpfrCqs}(B9e-9;o@xLTa>x5F_2cttC8KqoRD$Cs5J@IEX_yj89O4 zBlr}TaRpcLqr~=C`~!dBPyB^CTwirj50QvMeKbHc8lo-Qp*=dFGrFJ$dZHJ`VLa}_ z1mt2OCSfvyr||Ir9#q>qSX;u~JW(uvk*oNQ)|PNjgf-FsL7&jE&a~2zTPq2zL`6ze zi~yQ%U#!IiBvV}run)DkbVgwle#do$@?fzR(lG*4F&FpZA*{jHTIz#NvsFo_43(BK zOSMc0b6FQqMHOfCbUw&wAHs61z)C!cRVc(3yon;bg}1R4lHG0Cj?eHpj^Y?j;uOBd zS)9WS+=NE4bojx)x|ZxJb0ro6(HKq86wMHa7HEw`B%!z3(z#q?>|$+<lXyf}zUr;D zYBa_l>bTPV+Ztn@aenJpPWciW-<y*5!5zp%7P28%M-KX7I`S|B`A$CW#%#>PeB6Uo zD8y5E8mqAea*3_OGk6C(@GjoN2iT20_!xWf6~4w<oWnOb54lV)BKTWAD#`6dZSQJr zjDw@BHKO8gw>HKRk=8`kYV#fg`}(%{FAdOccXvyHWWF+j5Q;EVLv_?ZJQC0ft&xZ% zNFz;w4cX|69Q4B=48~9l!*I;T9L&YM8gxtZnYjnj(ig&sHCT&vcm~hmdAx|1@G^F* zE#1nsgznas(5Jya3#ri(KB@0Y_it+nImY>YwuIf3^h11vJ@^=VA@{_;V?WO00xsfP z3EvO6jGyo`enC}knBk~~>ZpO5kQ-|RY9kpbu)&UWv_S`SL?_&dp%{kY7=e+HoAYP{ zkKtn>oN9XyYfESoW33St-_zO>IyJN=`aft1J>4zAN#++}G497wJcQ+V7%$=_yo^`y zDmFs8rq{3;`*8pVaR^87DL%(h9K%oe8NcAynp$J+AI$s)>EEtF`nW$JeOz<c)RtaN zs?47~V@mEgx)M!Y?33f%*x38xHNFA2GPd}*tjvL~artj)<b4ERk2>5BLOkv}`UIY| zM*a`JpWBSH`pBIYYooAsIFO1oNGIP8cc4E8U@(T@PA4BjF$}}uIT~2NvWy7UGTPaV z12~B5sKYR+A>z;u?J)oYQGi(}#8cRWKY#z_&#RX%o;!2$>Y3kvId*8@#T}d1Ke23m z)n)UhuHUiQ_1~x+n)*ERQ}sqxOK0K4<;1pjZc&sx4XK^`YhAg^*UmlPQ63o8&i$d` z5Z5$y_*vI9EXi1}Mb&dHugM&)HQP$&58^87lIb28hovwJB?UT$uW$uM;ZoeClafiP zq(oAh*RT`EZ~?zUr$-JinvvaBS0DF{)PLmn&xTI_a4oQ@uIW6=)a8L=xK?vRJ8i<a z=evHu*j9ofhk74!IP*{%hmylpl|v!|S-2BJF$t3~69t%q#kddmV=2~PkCTu6IEbS- zhOcoJ=kO2sGvWzAJbL5j^T!YF`)J?JeLGyAJNFguE86$^zKv@iUHj0|dl$}II$`5j zX+Q2is-kuN6h>VUxf1f)uFuXb^bx((jhs4BW_3gjUF52klWp!Zt4qc7>!UXH>!;q! ztl~c_=pMBwtGRkVvtDLXDYg_<ink0>oVT$DQVPj&9n^>9d^(n6JwCuuT)+?bOFcHM zo*F(XOwG**)4x}9M#ZZ5;WC#nyk6(;-38%0i|4{#&xN-=7hdyRcw03XP)~nWUUN{* zhlHwkhg1y@^4F@w`h|4UscT}RvIZ=3UgYTJ^}yJ@h6KA0#$YU_Vj9e%tYrRim__=S z`F)V0{eeHxjVpZs#v%_hkdM`P4&Nb!RudY@8zSM%G)68aVmkKY0HPRWwL~kVqcghT zcJxFRMqn(KU?m>Ivv?6(@!QY8efQh>uTPynC60e~<g+9DkAMB~?vHox;J=8Ei;Ie1 zf4SU$8y=HZqK*xXRlNqSa6Rst+CvMNhFPwk16)ly-1rr#cCIYR2scG)Rf;(WW=W(J zM_}ft661mp^kN*7jV0KOFL4dw(R9}sirIKNTAdsgr+=d^4XdZ0QX>b~(@W%2T^kjt z?@+HXw|#KfEe#zV>_56;Cw1G92c24kgyc9b;vWbgGiIh5Fy9qDF$Q<z0Tg2|zQSJ! zlZ>J|dY~tyK=ZH|_d*JF3R1A&A%&~jh7w5$lOd(N6H?N<A*Fo^Ph&Ga!wFo)m6KQ0 z);r^<mYBzfZj+kP8>-Vo8|6si*I_39jB&;ZM8t6Mpa(LsA0=o>50!*bxC;+sCEmg| zoNS~P538@fAGRWDm*(-e!((3CMc8BOZSq{T#bZGo7;RI_hZi_&N!Htwn=ZH?lDng* z6=USE4%0?RM>lkb<ai|>M<Mp%?=VYnig_tTU)%{PiCKy(XRn+-akS*b!ChNkSoL_= zql@$JIy+|Qm_gZt`t>KBBGu_|UrQ%$+e#ElLW#4pQ(FIEl&(E`m@E4Pe6%Jc7re za1e)Z7{_oNSMe*_HepDK9_Wc_n2tQ;V<u+d?l?Z?U@qq49xT8@IPoerVsjJq>X`aY zwZi!C+vST3CKpWB<c}{-^2ovHcDwYV8!h|sp!|ATCcmG$*R=~;EXnB|#>VkO8B_Uv zSu1PJvcx{Dmph|uR~cj5`ZaH&7LHv!C{E&Z1`?-GNQ}}TaT)<LR%T2j4w;ZR%z(t9 z01}7UkTA?^qB2L-SF`B~q&v88RHRxPAEvf3Jv}NT>s?oYOF#bi3pAqot1|U~8Uf*S z1Fl<HfS)m^hL6s3M$98i)>_%by4SE7Z{R1iYRb1pWZ^H*JpSRiP;SeQo?FUwab*kL zB+1Huo=#Gf?Ia7!<iq@1#v50?REvo<Di38)GA_8O%9{AP+B`na87f71y|frxn0|@V zxQZVkMf(|%6e|kxNPt<~MCRL|E!v?yI-(PLp*Q;A4oGMg<6bPm#-`Z}I+@vtUw$}q z^vvNid$w-c`rOt{d!F3$<O;Yxe^@$m+{^)5ee=SV%U7;ivm2V(qh>(qR#kFWBUcwy zJNLuPBd%0jzMcs!O@&{Usu(W^{CAs;oV~5lY|5IFoU3$Qeg7(xB<`-vs!<anO0y#a zV%I6kGGG?N-FnR|TU)QWo}z@BL2wPQBm5`LC3c?cNTW59NM~aK!px9=z`}FtGJWKA z`pAxx#`!&+pswXbsa=yE^lO%&dQX1aDK)VRl6E&P;3D*9Jkdh{nj;P^&>sVkkC`aI zEUd*kY`_b65ij8Y4&rkh#W5U*9?S7#8UOe*6M#wxL~A6%4hK?^hBj!6c4&_dxOA#y zZ^`>5Z*P8~Wbac<OZF~zeabpxi}AU{Ie+&2*-}X!_r1gO`*BbIdWw1Z4AokimyhLM zYStT(E~`tUcDb0!*N<g8_vNxR=26^hN^6<hrsael)o-)`wP9+b_Huv<uX3%G)Sy3+ zl^P2}1R@cQ=FN(tr?u7n8nseGr@s(sR;W~-RFqVT#6LAwMdqFID{fVEEw8ekY=%Ca zO}@h4k@cOBfzId>tCI8g``zEV=tjPuUSDd+I|)N9))yrfyrHXS18T*2^fa!X$WlXr zT}Ul^TrWNnuV2#D$kCOGuFsy~7iQB^HHVhO1LqViMIBj`=e;JpTpEqHBj-=^wa&6< z$&=P&vBt6=Z%uj~%eBsOtc<6u$MRltWxh3y_nH|it!Y?e$rJCGdgaNr&XT9~4_J@I z8q2YG`PA!Ju65;(W%G)=YfZUh*?h#kbe-i`*0|f0HSRWQ+M2J@b(UjUqij>&YphYW zDepDbxZ9L9?p$L&^5h+No3h5;wZ;-F@3`AE@3`B&;_g~g?pSsoaW7q0E>?DlviBOx zvApAMH|oN&r!~rUiF=4gJ5+h|^R3I4V_0KumzbB^=c@(fkHNC#7}i+ZCHj^!dB@sr z#Jb$MK3P=$Tr8J64)-9h`Y&BqE>8}xIJ?%AJ6ESA<<G^k<rvoZI=te$<^KGd9`WWL zX{Y1+O6l{u6pi}ZcD?d@bQIj{i(=OQXQ=;;O6`jLH+KmPUZm-xe!TgUwn$xgt3lDd zZ~d<8TG9NiN5YG$?7b%}s4L&)_+Fo{9{tZgL*&&vc^6DxI+C|w<dq9~2S9#smY*Nx zw=VhdMV|D_qi1>eDUa3U;fj0#moJ9$4NS(OG60dDLhkXk3j1d2x2X}I)pg!R7UR$o z3222R@cfVaK7YImB|o;xlSFweB@Z9u+pv5=krBKMh@?l9u1@+fvm4<-qQ+NHja6E6 zv_L#sBN554F+_9)&A~#N3i-UyxzLZtH&}~x_#1ZOOI*jF_zO4D(4Rvf8#(BQ0honH z@Cr6!6E@>8&f+HInWP^A&=lP<Hh^K0ymxsQa`6CO#{nF|VU*x1{40?GG(uxEMOS2D zGNxi0@~{$XP>k((2k$~&BfS9sK!ybf40IB2W||`fS?G%#^hW`lSc7$V2G3#_4&Va5 z#do-b(8@d~L<;P1APs{t7EUb2y|@n>WX0<^fI~P8d57{U{zP4_hDb!A0otP{#$y6_ zV_2Jnhp-B7;w`+5VjRU;+=L!X6(9gjkqBoWJ~EMozL<geD8$oPjkS0eALDDB!#B8q z%Cwm3NI+{OA{jXthB=sr`B;E;cnR`i@SZBv|HsVi!$tgzaGGCr)IcrB%d8zS6vHtB zqp%3e@e*7wr!w6Hc|G+ge#Wo(2YyFyn(r7)#p67<JA`AATv%PBi%O2as~2rJ5$VTU z_B&6-mAeb3Xo>2BQ}tA}FRNPCC#i%lGrD`;ky2=7VcJNozcyVPOKU5?E#(&5Y_4;3 zIBh+LUA=ZXO5N?X-a-00>ebWnmOQ0O`p3^$50j=EoUs-w-F4_ZOIjPneZ-Ph1~q@3 ziBf00(k8P$&gof91}zm9Qvy;^cx>F4D&FR}#kN%EEjFgzVq1EJ+w9yiE6NNb4a+vC zd$?}D#Rb5y!m^|1eicW?ev8Q1=>)@^6<l$4`jd)FQE_A#D^$3j!$)MC=9d+jR&+wg zEh6K%MPwYexMpMk@J9&u5I(d}`O1nB9;PxcFDNdfKNV|Az0K4V!2LkTYhNNB(;;se zt%tlRBrcT7X9zHn?*9OuWe8BIRu7&J(ffYJIN&on><BvS9@vkTj4VdsVZ4Qt2;#<L z!w@`ztB~J3ZjV+^opS_}HG;@9^}_T_eYrD)B8Zx$q<E7t1#|EV#aqoj;;m92F%`AR zvZ*EWLSCQ}yGosBD!#`h$V)lXC|U_#sHyeQsxS`8qIh3Wye}wTB*nS|pCFOqjK>NT z<22;=pHvLTWB3JkxQeH#`Ij=B?=z5)0Y)@~0vS*gKn4(pAOnUb+>&L0unaODxB}__ zyU=e-f4>6Kzn_5g=eN=AO7}ez(p~R_bk8C5p3)r;f^@&nV?$*wmMhFi_u7swQM%Iy zA>HTaknXYxy_$57d63?42c-84q;rzqt}mo_Gyg9z7nqmMD}{?tIx8onb2<R&jILoW zHMJPKX{_1-s`ns{;uy|AUX8wtE4YU1s7=+@K{VvO<aTHe^Ic!pJH9Lz;wfx`ys~=~ z#~`ogUgR>k1bOk%pX%-H<YOA-eYG}_7q8@1+`r=}zQ^y7*NGZKULWd?jVQudT!OqF zDzBroL>jUoua`{563B}eTX7s05zA$i1gHGuKMMbWbGV6WTwf7LKrZrdg6r*D)Zm(n zMiaEdc+5sR*IzgMf?%$@255n4TyJ;7iH9M5{c%j=8k`<Q{m)<~9|f3&*_eZQn2&|n zh&S*fenJ92j<rU6bi^IF7rXEQ{P+<p4l_}J7w{sE;ur!Lz*mAJnhUHmGc@)$zFn<y zzT2(pem~GD*GTWunz3Z~f0f?_KJpnrej?$K-{!Z-Fx5+bjXZ0r(WN#2f3{$E?a+cf zt|z&s%BtvAm(>E&d0tv_N&Sy5p)jgLes3+kj7D5uT@-MoZ9<(6I@cK;2UnQ(4dk!A zt`*-|UmvX(?rfmfEj-acpHgE`^gu1K$w2K!?m+EY-$B}nq{7kB`kRGO4fQt)KWV6U zEvyrxUn;EJNG}L93Rk$ek)H0?HM;oSM*3F2)DN3<y=`2JuHBn`<o8k~ja#rbnftc9 zA`z%vXDNU?O$eDOzc!@!m8N=@UOU+)8FT;5qHWHKEUp@>|K!iVW{|hFg<juJPbq8= zuea6hg+t=?=3PgWyeT_$l8?ikKGJ_asJrIBD9p}(^oTK^s1C}%bwEzY1~)rM24pH( z^OvWrt;2XS8@j5E{#m^o-L*;bDM=*XGMyD!c)5-Krr%T53ZHAMH+J^s9x6edz*I`Q zgsB`}{_hg>A=-ybCE%YhrH{}~Go>%kx^us!O}k$F=f1B^W|>>M>pgvvXh&J*f37#w zY4@&|(z)xpUP$Ne>guYwYqoT~ea;<H%OVwbMQtck?uxFr%()9{^I4{N+OlfJ)7t5; z=n*BH_DfbsX+~+yT+^=#<2&d}f|GcoSymq{+}1%)YUnv^H=d=)Ml;b7Ux}pdJQE%8 zl_<rMXpgT%$(BSreI-h=B--vPQDRx58m_z*c_)$)t(kEn(QCdErCAca<SS9CCDD3c zi5!+hYkVcLTM|9#E0H_mM#fk8O5~2Xk?28RiQEx45-stS$Q^Mb(E?wI+!3$oiui2r zL_FIqE1i*OhOb2Kh#QF}`%2`FxRGeQuSD*M8;M5xO5~2Xk!XmoMDB<iiTe3U<c_$J z=nh|r+z~etb@!FX9dRR3hOb2Kh}UvOysdYl6px4-iR``-xg%~QYV9kLJK{#7IA4j} z5jPSw@s-FOaU)R!Uy0liHxkwHmB<}&BT;o<iQEx45{39m<c_$JsFEv@<v~hf;RC(& zne;<{_R?PrD*d+*w89-N^*h}ER>F&YbU*s6XL;@7T&Vo(O>Md8+oAAkrariutm)6v z01TA1gR}H=Hd*@^OOHe02|S5aD1>Z(n(1n+!CDmNW$U%VWXoTrUMOClt&h|n%d563 zN1qaW=7-C!f9mI@!dW@GGq4T&OiC=go}<qT?8kiPxrOuk=}tYr@OnRep1!hhR)5`D P=_$6P6<_PGSFZG5;7`<} diff --git a/src/ATTR.awk b/src/ATTR.awk old mode 100644 new mode 100755 index 70887a7..4b1cb8a --- a/src/ATTR.awk +++ b/src/ATTR.awk @@ -18,7 +18,7 @@ # # # File: ATTR.awk # # Description: RPMG AWK script for weaving RDF files # -# Rev: R13A +# Rev: R14A # Prodnr: CNL 113 600 # ############################################################################# diff --git a/src/ATTR.sh b/src/ATTR.sh old mode 100644 new mode 100755 diff --git a/src/RADIUS_EncDec.cc b/src/RADIUS_EncDec.cc index 9d733a3..1c97f3a 100644 --- a/src/RADIUS_EncDec.cc +++ b/src/RADIUS_EncDec.cc @@ -18,7 +18,7 @@ // // File: RADIUS_EncDec.cc // Description: Encoder/Decoder and external functions for RPMG -// Rev: R13A +// Rev: R14A // Prodnr: CNL 113 600 // Reference: RFC 2865(RADIUS), 2866(RADIUS Accounting), // diff --git a/src/obsolate/RadiusAccountingAttributes.rdf b/src/obsolate/RadiusAccountingAttributes.rdf new file mode 100644 index 0000000..fdcb867 --- /dev/null +++ b/src/obsolate/RadiusAccountingAttributes.rdf @@ -0,0 +1,114 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusAccountingAttributes.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 2866(RADIUS Accounting) +// +// +// + + +// APPLICATION-NAME: Acc + + +// Packet-Type: Accounting_Request (4) + +// Packet-Type: Accounting_Response (5) + + +// RFC 2866 +// Attrib: Acct-Status-Type (40) +type enumerated Acct_Status_Type +{ + Start (1), + Stop (2), + Interim_Update (3), + Accounting_On (7), + Accounting_Off (8) +} + +// RFC 2866 +// Attrib: Acct-Delay-Type (41) +type Attrib_Value Acct_Delay_Type; + +// RFC 2866 +// Attrib: Acct-Input-Octets (42) +type Attrib_Value Acct_Input_Octets; + +// RFC 2866 +// Attrib: Acct-Output-Octets (43) +type Attrib_Value Acct_Output_Octets; + +// RFC 2866 +// Attrib: Acct-Session-Id (44) +type Attrib_Text Acct_Session_Id; + +// RFC 2866 +// Attrib: Acct-Authentic (45) +type enumerated Acct_Authentic +{ + RADIUS (1), + Local (2), + Remote (3) +} + +// RFC 2866 +// Attrib: Acct-Session-Time (46) +type Attrib_Value Acct_Session_Time; + +// RFC 2866 +// Attrib: Acct-Input-Packets (47) +type Attrib_Value Acct_Input_Packets; + +// RFC 2866 +// Attrib: Acct-Output-Packets (48) +type Attrib_Value Acct_Output_Packets; + +// RFC 2866 +// Attrib: Acct-Terminate-Cause (49) +type enumerated Acct_Terminate_Cause +{ + User_Request (1), + Lost_Carrier (2), + Lost_Service (3), + Idle_Timeout (4), + Session_Timeout (5), + Admin_Reset (6), + Admin_Reboot (7), + Port_Error (8), + NAS_Error (9), + NAS_Request (10), + NAS_Reboot (11), + Port_Unneeded (12), + Port_Preempted (13), + Port_Suspended (14), + Service_Unavailable (15), + Callback (16), + User_Error (17), + Host_Request (18) +} + +// RFC 2866 +// Attrib: Acct-Multi-Session-Id (50) +type Attrib_String Acct_Multi_Session_Id; + +// RFC 2866 +// Attrib: Acct-Link-Count (51) +type Attrib_Value Acct_Link_Count; diff --git a/src/obsolate/RadiusAndIPv6.rdf b/src/obsolate/RadiusAndIPv6.rdf new file mode 100644 index 0000000..e246e2f --- /dev/null +++ b/src/obsolate/RadiusAndIPv6.rdf @@ -0,0 +1,63 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusAndIPv6.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 3162(RADIUS and IPv6) +// +// +// + + +// APPLICATION-NAME: IPv6 + +// RFC 3162 +// Attrib: NAS-IPv6-Address (95) +type OCTET16 NAS_IPv6_Address; + +// RFC 3162 +// Attrib: Framed-Interface-Id (96) +type OCTET8 Framed_Interface_Id; + +// RFC 3162 +// Attrib: Framed-IPv6-Prefix (97) +type record Framed_IPv6_Prefix +{ + OCTET1 reserved, + UINT8 prefix_length, + bitstring prefixValue, + bitstring prefixPadding +} with { + variant (prefix_length) "LENGTHTO(prefixValue)"; + variant (prefix_length) "UNIT(bits)"; + variant (prefixValue) "BYTEORDER(last)"; + variant "FIELDORDER(msb)"; + } + +// RFC 3162 +// Attrib: Login-IPv6-Host (98) +type OCTET16 Login_IPv6_Host; + +// RFC 3162 +// Attrib: Framed-IPv6-Route (99) +type Attrib_Text Framed_IPv6_Route; + +// RFC 3162 +// Attrib: Framed-IPv6-Pool (100) +type Attrib_String Framed_IPv6_Pool; diff --git a/src/obsolate/RadiusAuthExtensions.rdf b/src/obsolate/RadiusAuthExtensions.rdf new file mode 100644 index 0000000..dacbc16 --- /dev/null +++ b/src/obsolate/RadiusAuthExtensions.rdf @@ -0,0 +1,63 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusAuthExtensions.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 3576(RADIUS Authorization Extensions) +// +// +// + + +// APPLICATION-NAME: AuthExt + + +// Packet-Type: Disconnect-Request (40) + +// Packet-Type: Disconnect-ACK (41) + +// Packet-Type: Disconnect-NAK (42) + +// Packet-Type: CoA-Request (43) + +// Packet-Type: CoA-ACK (44) + +// Packet-Type: CoA-NAK (45) + + +// RFC 3576 +// Attrib: Error-Cause (101) +type enumerated Error_Cause +{ + Residual_Session_Context_Removed (201), + Invalid_EAP_Packet (202), + Unsupported_Attribute (401), + Missing_Attribute (402), + NAS_Identification_Mismatch (403), + Invalid_Request (404), + Unsupported_Service (405), + Unsupported_Extension (406), + Administratively_Prohibited (501), + Request_Not_Routable_Proxy (502), + Session_Context_Not_Found (503), + Session_Context_Not_Removable (504), + Other_Proxy_Processing_Error (505), + Resources_Unavailable (506), + Request_Initiated (507) +} diff --git a/src/obsolate/RadiusBaseAttributes.rdf b/src/obsolate/RadiusBaseAttributes.rdf new file mode 100644 index 0000000..0de0562 --- /dev/null +++ b/src/obsolate/RadiusBaseAttributes.rdf @@ -0,0 +1,772 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusBaseAttributes.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 2865(RADIUS) +// +// +// + + +// APPLICATION-NAME: Base + + + +// Packet-Type: Access-Request (1) + +// Packet-Type: Access_Accept (2) + +// Packet-Type: Access_Reject (3) + +// Packet-Type: Accounting_Request (4) + +// Packet-Type: Accounting_Response (5) + +// Packet-Type: Access_Challenge (11) + +// Packet-Type: Status_Server (12) + +// Packet-Type: Status_Client (13) + +// Packet-Type: Reserved (255) + + + + +// RFC 2865 +// Attrib: User-Name (1) +type Attrib_String User_Name; + +// RFC 2865 +// Attrib: User-Password (2) +type Attrib_String User_Password; + +// RFC 2865 +// Attrib: CHAP-Password (3) +type record CHAP_Password +{ + UINT8 CHAP_Ident, + Attrib_String String length(16) +} + +// RFC 2865 +// Attrib: NAS-IP-Address (4) +type Attrib_Address NAS_IP_Address; + +// RFC 2865 +// Attrib: NAS-Port (5) +type Attrib_Value NAS_Port; + +// RFC 2865 +// Attrib: Service-Type (6) +type enumerated Service_Type +{ + Login (1), + Framed (2), + Callback_Login (3), + Callback_Framed (4), + Outbound (5), + Administrative (6), + NAS_Prompt (7), + Authenticate_Only (8), + Callback_NAS_Prompt (9), + Call_Check (10), + Callback_Administrative (11) +} + + +// RFC 2865 +// Attrib: Framed-Protocol (7) +type enumerated Framed_Protocol +{ + PPP (1), + SLIP (2), + Appletalk_Remote_Access_Protocol (3), + Gandalf_proprietary_protocol (4), + Xylogics_proprietary (5), + Xpoint75_Syncronous (6), + GPRS_PDP_Context (7) +} + + +// RFC 2865 +// Attrib: Framed-IP-Address (8) +type Attrib_Address Framed_IP_Address; + +// RFC 2865 +// Attrib: Framed-IP-Netmask (9) +type Attrib_Address Framed_IP_Netmask; + +// RFC 2865 +// Attrib: Framed-Routing (10) +type enumerated Framed_Routing +{ + None (0), + Send_routing_pacets (1), + Listen_for_routing_pacets (2), + Send_and_Listen (3) +} + +// RFC 2865 +// Attrib: Filter-Id (11) +type Attrib_Text Filter_Id; + +// RFC 2865 +// Attrib: Framed-MTU (12) +type Attrib_Value Framed_MTU (64..65535); + +// RFC 2865 +// Attrib: Framed-Compression (13) +type enumerated Framed_Compression +{ + None (0), + VJ_TCP_IP_header_compression (1), + IPX_header_compression (2), + STAC_LZS_compression (3) +} + +// RFC 2865 +// Attrib: Login-IP-Host (14) +type Attrib_Address Login_IP_Host; + +// RFC 2865 +// Attrib: Login-Service (15) +type enumerated Login_Service +{ + Telnet (0), + Rlogin (1), + TCP_Clear (2), + Port_Master (3), + LAT (4), + X25_PAD (5), + X25_T3POS (6), + TCP_Clear_Quiet (7) +} + +// RFC 2865 +// Attrib: Login-TCP-Port (16) +type Attrib_Value Login_TCP_Port (0..65535); + +// RFC 2865 +// Attrib: Reply-Message (18) +type Attrib_Text Reply_Message; + +// RFC 2865 +// Attrib: Callback-Number (19) +type Attrib_String Callback_Number; + +// RFC 2865 +// Attrib: Callback-Id (20) +type Attrib_String Callback_Id; + +// RFC 2865 +// Attrib: Framed-Route (22) +type Attrib_Text Framed_Route; + +// RFC 2865 +// Attrib: Framed-IPX-Network (23) +type Attrib_Value Framed_IPX_Network; + +// RFC 2865 +// Attrib: State (24) +type Attrib_String State; + +// RFC 2865 +// Attrib: Class (25) +type Attrib_String Class; + + +// RFC 2865 +// Attrib: Session-Timeout (27) +type Attrib_Value Session_Timeout; + +// RFC 2865 +// Attrib: Idle-Timeout (28) +type Attrib_Value Idle_Timeout; + +// RFC 2865 +// Attrib: Termination-Action (29) +type enumerated Termination_Action +{ + Default (0), + RADIUS_Request (1) +} + +// RFC 2865 +// Attrib: Called-Station-Id (30) +type Attrib_String Called_Station_Id; + +// RFC 2865 +// Attrib: Calling-Station-Id (31) +type Attrib_String Calling_Station_Id; + +// RFC 2865 +// Attrib: NAS-Identifier (32) +type Attrib_String NAS_Identifier; + +// RFC 2865 +// Attrib: Proxy-State (33) +type Attrib_String Proxy_State; + +// RFC 2865 +// Attrib: Login-LAT-Service (34) +type Attrib_String Login_LAT_Service; + +// RFC 2865 +// Attrib: Login-LAT-Node (35) +type Attrib_String Login_LAT_Node; + +// RFC 2865 +// Attrib: Login-LAT-Group (36) +type Attrib_String Login_LAT_Group; + +// RFC 2865 +// Attrib: Framed-AppleTalk-Link (37) +type Attrib_Value Framed_AppleTalk_Link (0..65535); + +// RFC 2865 +// Attrib: Framed-AppleTalk-Network (38) +type Attrib_Value Framed_AppleTalk_Network (0..65535); + +// RFC 2865 +// Attrib: Framed-AppleTalk-Zone (39) +type Attrib_String Framed_AppleTalk_Zone; + +// RFC 2865 +// Attrib: CHAP-Challenge (60) +type Attrib_String CHAP_Challenge; + +// RFC 2865 +// Attrib: NAS-Port-Type (61) +type enumerated NAS_Port_Type +{ + Async (0), + Sync (1), + ISDN_Sync (2), + ISDN_Async_v120 (3), + ISDN_Async_v110 (4), + Virtual (5), + PIAFS (6), + HDLC_Clear_Channel (7), + X25 (8), + X75 (9), + G3_Fax (10), + SDSL_Symmetric_DSL (11), + ADSL_CAP_Asymmetric_DSL (12), + ADSL_DMT_Asymmetric_DSL (13), + ISDL_ISDN_Digital_Subscriber_Line (14), + Ethernet (15), + xDSL (16), + Cable (17), + Wireless_Other (18), + Wireless_IEEE_80211 (19) +} + + +// RFC 2865 +// Attrib: Port-Limit (62) +type Attrib_Value Port_Limit; + +// RFC 2865 +// Attrib: Login-LAT-Port (63) +type Attrib_String Login_LAT_Port; + + + +// RFC 2865 +// Attrib: Vendor-Specific (26) +type record Vendor_Specific +{ + vendor_id_enum vendor_id, + string_val_spec attrib_value +} with { + variant (attrib_value) "CROSSTAG(f_scap_subattr_list, vendor_id=scap; + f_acc_subattr_list, vendor_id=acc; + f_cisco_subattr_list, vendor_id=cisco; + f_ericsson_subattr_list, vendor_id=ericsson; + f_microsoft_subattr_list, vendor_id=microsoft; + f_adslforum_subattr_list, vendor_id=adslforum; + f_cdma2000_subattr_list, vendor_id=cdma2000 ; + f_servicefactory_subattr_list, vendor_id=servicefactory; + f_threegpp_subattr_list, vendor_id=threegpp; + f_wispr_subattr_list, vendor_id=wispr)" + } + + +type enum_32 vendor_id_enum +{ + acc (5), + cisco (9), + ericsson (193), + microsoft (311), + adslforum (3561), + cdma2000 (5535), + servicefactory (5556), + threegpp (10415), + scap (10923), + wispr (14122) +} + + +type enum_8 acc_type_enum +{ + acc_error_message (1), + acc_ccp_option (2), + acc_customer_id (6), + acc_tunnel_secret (14), + acc_service_profile (17), + acc_request_type (18), + acc_dns_server_pri (23), + acc_dns_server_sec (24), + acc_nbns_server_pri (25), + acc_nbns_server_sec (26), + acc_dial_port_index (27), + acc_mn_ha_shared_secret (73), + acc_mip_spi (74) +} + + +type enum_8 cisco_type_enum +{ + cisco_access_control_list (1), + cisco_nas_port (2), + cisco_info_service (250), + cisco_service_list (251), + cisco_n_service_info (252), + cisco_byte_count (253) +} + + +type enum_8 ericsson_type_enum +{ + product_profile (1), + digest_response (14), + digest_attributes (15), + pmk (17), + layer_identity (34), + major_protocol_version (35), + minor_protocol_version (36), + ipt_timestamp (126), + master_session_id (200), + message_from_sn (202), + requested_url (203), + authorization_result_code (204), + cds_uid (205), + msisdn (206), + authentication_type (207), + timestamp_created (208), + timestamp_used (209), + access_type (210), + requested_service_id (211), + user_alias (212), + service_session_id (213) +} + + +type enum_8 cdma2000_type_enum +{ + ike_pre_shared_secret_request (1), + security_level (2), + pre_shared_secret (3), + reverse_tunnel_specification (4), + differentiated_services_class (5), + container (6), + home_agent (7), + key_id (8), + pcf_ip_addr (9), + bs_msc_addr (10), + userid (11), + forward_mux (12), + reverse_mux (13), + forward_fundamental_rate (14), + reverse_fundamental_rate (15), + service_option (16), + forward_traffic_type (17), + reverse_traffic_type (18), + fundamental_frame_size (19), + forward_fundamental_rc (20), + reverse_fundamental_rc (21), + ip_technology (22), + compulsory_tunnel_indicator (23), + release_indicator (24), + bad_frame_count (25), + num_active (30), + sdb_input_octects (31), + sdb_output_octects (32), + numsdb_input (33), + numsdb_output (34), + ip_QoS (36), + air_QoS (39), + airlink_record_type (40), + rp_session_id (41), + airlink_secuence_number (42), + num_bytes_received_total (43), + + correlation_id (44), + mo_mt_indicator (45), + mobile_ip_sig_inbound_count (46), + mobile_ip_sig_outbound_count (47), + session_cont (48), + active_time (49), + dcch_frame_format (50), + ESN (52), + s_key (54), + s_request (55), + s_lifetime (56), + mn_ha_shared_secret_request (57), + mn_ha_shared_secret (58), + remote_ipv4_address (59), + hrpd_access_authentication (60), + + remote_ipv6_address (70), + remote_address_table_index (71), + remote_address_octet_count (72), + always_on (78), + last_user_activity_time (80), + + session_termination_capability (88), + prepaid_accounting_quota (90), + prepaid_accounting_capability (91), + mip_rrq_lifetime (92), + service_reference_id (94), + disconnect_reason (96), + cdma2000_error_cause (255) // WARNING: temporary type number, not yet standardized 2003-06-17 tmptso +} + + +type enum_8 threegpp_type_enum +{ + threegpp_imsi (1), + threegpp_charging_id (2), + threegpp_pdp_type (3), + threegpp_charging_gateway_address (4), + threegpp_gprs_negotiated_qos_profile (5), + threegpp_sgsn_ip_address (6), + threegpp_ggsn_ip_address (7), + threegpp_imsi_mcc_mnc (8), + threegpp_ggsn_mcc_mnc (9), + threegpp_nsapi (10), + threegpp_session_stop_indicator (11), + threegpp_selection_mode (12), + threegpp_charging_characteristics (13), + threegpp_cg_ipv6_address (14), + threegpp_sgsn_ipv6_address (15), + threegpp_ggsn_ipv6_address (16), + threegpp_ipv6_dns_servers (17), + threegpp_sgsn_mcc_mnc (18), + threegpp_teardown_indicator (19), + threegpp_imeisv (20), + threegpp_rat_type (21), + threegpp_user_location_info (22), + threegpp_ms_timezone (23), + threegpp_camel_charging_info (24), + threegpp_packet_filter (25), + threegpp_negotiated_dscp (26), + threegpp_chargeable_user_identity (89) // FIXME no standard reference available ETIBSZA +} + + +type enum_8 servicefactory_type_enum +{ + servicefactory_product_profile_id (1), + servicefactory_access_point_id (7), + servicefactory_apn (14) // FIXME no standard reference available ETIBSZA +} + + +type enum_8 microsoft_type_enum +{ + microsoft_chap_mppe_keys (12), + microsoft_mppe_send_key (16), + microsoft_mppe_recv_key (17), + microsoft_primary_dns_server (28), + microsoft_secondary_dns_server (29), + microsoft_primary_nbns_server (30), + microsoft_secondary_nbns_server (31) +} + +type enum_8 adslforum_type_enum +{ + adslforum_agent_circuit_id (1) +} + + +type enum_8 wispr_type_enum +{ + wispr_location_id (1), + wispr_location_name(2) +} + +type enum_8 scap_type_enum +{ + requested_service_unit (1), + used_service_unit (2), + granted_service_unit (3), + unit_type (4), + unit_value (5), + value_digits (6), + exponent (7), + currency_code (8), + subscription_id (9), + additional_subscription_id (10), + subscription_id_type (11), + subscription_id_data (12), + event_timestamp (13), + accounting_record_number (14), + result_code (15), + accounting_interim_interval (16), + origin_state_id (17), + suggested_primary_rulespace (30), + suggested_secondary_rulespace (31) +} + + +type enum_8 scap_unit_type_enum { + SERVICE_CREDIT_TIME (0), + SERVICE_CREDIT_VOLUME (1), + SERVICE_CREDIT_EVENT (2), + SERVICE_CREDIT_MONEY (3) +} + + +type enum_8 scap_subsription_id_type_enum { + END_USER_MSISDN (0), + END_USER_IMSI (1), + END_USER_SIP_URL (2), + END_USER_NAI (3), + END_USER_PRIVATE (4) +} + +type record scap_unit_type_t { + scap_type_enum scap_type, + UINT8 scap_length, + INT32 scap_val +} with { + variant (scap_length) "LENGTHTO(scap_type, scap_length, scap_val)" +} + +type set of scap_unit_type_t unit_value_list; + +type union unit_value_t +{ + octetstring string_val, + scap_unit_type_enum unit_type_val, + scap_subsription_id_type_enum subsription_id_type_val, + unit_value_list unit_type_list, + INT32 integer_val, + charstring unichar_val +} + + +type record service_unit_t { + scap_type_enum scap_type, + UINT8 scap_length, + unit_value_t scap_val +} with { + variant (scap_length) "LENGTHTO(scap_type, scap_length, scap_val)"; + variant (scap_val) "CROSSTAG( + unit_type_val, scap_type=unit_type; + unit_type_list, scap_type=unit_value; + integer_val, scap_type=value_digits; + integer_val, scap_type=exponent; + integer_val, scap_type=currency_code; + unit_type_list, scap_type=subscription_id; + integer_val, scap_type=additional_subscription_id; + subsription_id_type_val, scap_type=subscription_id_type; + unichar_val, scap_type=subscription_id_data; + integer_val, scap_type=event_timestamp; + integer_val, scap_type=accounting_record_number; + integer_val, scap_type=result_code; + integer_val, scap_type=accounting_interim_interval; + integer_val, scap_type=origin_state_id)" + } + + +type set of service_unit_t service_unit_list; + + +type union scap_value { + octetstring string_val, + scap_unit_type_enum unit_type_val, + unit_value_list unit_type_list, + service_unit_list f_service_unit_list, + scap_subsription_id_type_enum subscription_id_type_val, + INT32 integer_val, + charstring unichar_val, + charstring charstring_val +} + + +type record scap_subattr_t { + scap_type_enum scap_type, + UINT8 scap_length, + scap_value scap_val +} with { + variant (scap_length) "LENGTHTO(scap_type, scap_length, scap_val)"; + variant (scap_val) "CROSSTAG( + f_service_unit_list, scap_type=requested_service_unit; + f_service_unit_list, scap_type=used_service_unit; + f_service_unit_list, scap_type=granted_service_unit; + unit_type_val, scap_type=unit_type; + unit_type_list, scap_type=unit_value; + integer_val, scap_type=value_digits; + integer_val, scap_type=exponent; + integer_val, scap_type=currency_code; + f_service_unit_list, scap_type=subscription_id; + integer_val, scap_type=additional_subscription_id; + subscription_id_type_val, scap_type=subscription_id_type; + unichar_val, scap_type=subscription_id_data; + integer_val, scap_type=event_timestamp; + integer_val, scap_type=accounting_record_number; + integer_val, scap_type=result_code; + integer_val, scap_type=accounting_interim_interval; + integer_val, scap_type=origin_state_id; + charstring_val, scap_type=suggested_primary_rulespace; + charstring_val, scap_type=suggested_secondary_rulespace)" + } + +type set of scap_subattr_t scap_subattr_list; + + + + + +type record acc_type +{ + acc_type_enum f_acc_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_acc_type, attrib_length_spec, string_val)" + } + +type set of acc_type acc_subattr_list; + +type record cisco_type +{ + cisco_type_enum f_cisco_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_cisco_type, attrib_length_spec, string_val)" + } + +type set of cisco_type cisco_subattr_list; + + +type record ericsson_type +{ + ericsson_type_enum f_ericsson_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_ericsson_type, attrib_length_spec, string_val)" + } + +type set of ericsson_type ericsson_subattr_list; + + +type record cdma2000_type +{ + cdma2000_type_enum f_cdma2000_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_cdma2000_type, attrib_length_spec,string_val)" + } + +type set of cdma2000_type cdma2000_subattr_list; + + +type record threegpp_type +{ + threegpp_type_enum f_threegpp_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_threegpp_type, attrib_length_spec, string_val)" + } + +type set of threegpp_type threegpp_subattr_list; + +type record microsoft_type +{ + microsoft_type_enum f_microsoft_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_microsoft_type, attrib_length_spec, string_val)" + } + +type set of microsoft_type microsoft_subattr_list; + +type record servicefactory_type +{ + servicefactory_type_enum f_servicefactory_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_servicefactory_type, attrib_length_spec, string_val)" + } + +type set of servicefactory_type servicefactory_subattr_list; + +type record adslforum_type +{ + adslforum_type_enum f_adslforum_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_adslforum_type, attrib_length_spec, string_val)" + } + +type set of adslforum_type adslforum_subattr_list; + + +type record wispr_type +{ + wispr_type_enum f_wispr_type, + UINT8 attrib_length_spec, + octetstring string_val +} with { + variant (attrib_length_spec) "LENGTHTO(f_wispr_type, attrib_length_spec, string_val)" + } + +type set of wispr_type wispr_subattr_list; + + + +type union string_val_spec +{ + acc_subattr_list f_acc_subattr_list, + cisco_subattr_list f_cisco_subattr_list, + ericsson_subattr_list f_ericsson_subattr_list, + cdma2000_subattr_list f_cdma2000_subattr_list, + threegpp_subattr_list f_threegpp_subattr_list, + microsoft_subattr_list f_microsoft_subattr_list, + servicefactory_subattr_list f_servicefactory_subattr_list, + adslforum_subattr_list f_adslforum_subattr_list, + wispr_subattr_list f_wispr_subattr_list, + scap_subattr_list f_scap_subattr_list, + octetstring f_string_val +} + + + diff --git a/src/obsolate/RadiusBaseTypes.rdf b/src/obsolate/RadiusBaseTypes.rdf new file mode 100644 index 0000000..94a3872 --- /dev/null +++ b/src/obsolate/RadiusBaseTypes.rdf @@ -0,0 +1,92 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusBaseTypes.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 2865(RADIUS) +// +// +// + + +// +// External functions for encoding and decoding +// + +external function f_RADIUS_Enc(in PDU_RADIUS pdu) return octetstring; +external function f_RADIUS_Dec(in octetstring stream) return PDU_RADIUS; +external function crypt_password(in octetstring P,in octetstring req_auth,in octetstring salt,in boolean decrypt,in charstring secret) return octetstring; +external function f_calc_MD5(in octetstring input) return octetstring; + + + +// +// Basic type definitions +// + +type integer UINT8 (0..255) with { +variant "FIELDLENGTH(8)" +variant "BYTEORDER(last)" +} + +type integer UINT16 (0..65535) with { +variant "FIELDLENGTH(16)" +variant "BYTEORDER(last)" +} + +type integer UINT24 (0..16777215) with { +variant "FIELDLENGTH(24)" +variant "BYTEORDER(last)" +} + +type integer UINT32 (0..4294967296) with { +variant "FIELDLENGTH(32)" +variant "BYTEORDER(last)" +} + +type integer UINT64 with { +variant "FIELDLENGTH(64)" +variant "BYTEORDER(last)" +} + +type integer INT32 with { +variant "FIELDLENGTH(32)" +variant "BYTEORDER(last)" +variant "COMP(2scompl)" +} + +type octetstring OCTET1 length(1) +type octetstring OCTET2 length(2) +type octetstring OCTET3 length(3) +type octetstring OCTET4 length(4) +type octetstring OCTET8 length(8) +type octetstring OCTET16 length(16) + +// +// Basic Attribute Data Formats +// + +type charstring Attrib_Text length(1..253) with { variant "PADDING(yes)"}; +type octetstring Attrib_String length(1..253); +type OCTET4 Attrib_Address; +type OCTET4 Attrib_Time; +type UINT32 Attrib_Value; + + + diff --git a/src/obsolate/RadiusExtensions.rdf b/src/obsolate/RadiusExtensions.rdf new file mode 100644 index 0000000..ab4c0e1 --- /dev/null +++ b/src/obsolate/RadiusExtensions.rdf @@ -0,0 +1,124 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusExtensions.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 2866(RADIUS Extensions) +// +// +// + + +// APPLICATION-NAME: Ext + +// RFC 2869 +// Attrib: Acct-Input-Gigawords (52) +type Attrib_Value Acct_Input_Gigawords; + +// RFC 2869 +// Attrib: Acct-Output-Gigawords (53) +type Attrib_Value Acct_Output_Gigawords; + +// RFC 2869 +// Attrib: Event-Timestamp (55) +type Attrib_Value Event_Timestamp; + +// RFC 2869 +// Attrib: ARAP-Password (70) +type record ARAP_Password +{ + Attrib_Value Value1, + Attrib_Value Value2, + Attrib_Value Value3, + Attrib_Value Value4 +} + +// RFC 2869 +// Attrib: ARAP-Features (71) +type record ARAP_Features +{ + UINT8 variable_password, + UINT8 password_length, + Attrib_Time creation_time, + Attrib_Value expiration_time, + Attrib_Time radius_time +} + +// RFC 2869 +// Attrib: ARAP-Zone-Access (72) +type enumerated ARAP_Zone_Access +{ + To_default_zone (1), + Use_zone_filter_inclusively (2), + Use_zone_filter_exclusively (3) +} + +// RFC 2869 +// Attrib: ARAP-Security (73) +type Attrib_Value ARAP_Security; + +// RFC 2869 +// Attrib: ARAP-Security-Data (74) +type Attrib_String ARAP_Security_Data; + +// RFC 2869 +// Attrib: Password-Retry (75) +type Attrib_Value Password_Retry; + +// RFC 2869 +// Attrib: Prompt (76) +type enumerated Prompt +{ + No_Echo (0), + Echo (1) +} + +// RFC 2869 +// Attrib: Connect-Info (77) +type Attrib_Text Connect_Info; + +// RFC 2869 +// Attrib: Configuration-Token (78) +type Attrib_String Configuration_Token; + +// RFC 2869 +// Attrib: EAP-Message (79) +type Attrib_String EAP_Message; + +// RFC 2869 +// Attrib: Message-Authenticator (80) +type Attrib_String Message_Authenticator; + +// RFC 2869 +// Attrib: ARAP-Challenge-Response (84) +type UINT64 ARAP_Challenge_Response; + +// RFC 2869 +// Attrib: Acct-Interim-Interval (85) +type Attrib_Value Acct_Interim_Interval; + +// RFC 2869 +// Attrib: NAS-Port-Id (87) +type Attrib_Text NAS_Port_Id; + +// RFC 2869 +// Attrib: Framed-Pool (88) +type Attrib_String Framed_Pool; + + diff --git a/src/obsolate/RadiusGGSN.rdf b/src/obsolate/RadiusGGSN.rdf new file mode 100644 index 0000000..6b75e80 --- /dev/null +++ b/src/obsolate/RadiusGGSN.rdf @@ -0,0 +1,54 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: RadiusGGSN.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: GGSN Functional Specification: RADIUS +// 46/155 17-CSA 113 35/4 Uen Rev B +// +// + + +// APPLICATION-NAME: Ggsn + +// Attrib: Imsi (224) +type Attrib_Text Imsi; + +// Attrib: Charging-Id (225) +type Attrib_Value Charging_Id; + +// Attrib: Imsi-Mcc-Mnc (226) +type Attrib_Text Imsi_Mcc_Mnc; + +// Attrib: Sgsn-IP-Address (228) +type Attrib_Address Sgsn_IP_Address; + +// Attrib: Selection-Mode (229) +type Attrib_Text Selection_Mode; + +// Attrib: Ggsn-Gtp-IP-Address (230) +type Attrib_Address Ggsn_Gtp_IP_Address; + +// Attrib: Primary-Dns-Server (135) +type Attrib_Address Primary_Dns_Server; + +// Attrib: Secondary-Dns-Server (136) +type Attrib_Address Secondary_Dns_Server; + + diff --git a/src/obsolate/TunnelAuthenticationAttributes.rdf b/src/obsolate/TunnelAuthenticationAttributes.rdf new file mode 100644 index 0000000..bd880c5 --- /dev/null +++ b/src/obsolate/TunnelAuthenticationAttributes.rdf @@ -0,0 +1,159 @@ +/****************************************************************************** +* Copyright (c) 2008, 2015 Ericsson AB +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* Timea Moder +* Endre Kulcsar +* Gabor Szalai +* Janos Kovesdi +* Kulcsár Endre +* Zoltan Medve +* Tamas Korosi +******************************************************************************/ + +// +// File: TunnelAuthenticationAttributes.rdf +// Rev: <RnXnn> +// Prodnr: CNL 113 600 +// Reference: RFC 2868(RADIUS Attributes for Tunnel Protocol Support) +// +// +// + + +// APPLICATION-NAME: Auth + + +type enum_24 Tunnel_Type_Value +{ + PPTP (1), + L2F (2), + L2TP (3), + ATMP (4), + VTP (5), + AH (6), + IP_IP (7), + MIN_IP_IP (8), + ESP (9), + GRE (10), + DVS (11), + IP_IP_Tunneling (12) +} + +// RFC 2868 +// Attrib: Tunnel-Type (64) +type record Tunnel_Type +{ + OCTET1 Tag, + Tunnel_Type_Value Value +} + + +type enum_24 Tunnel_Medium_Type_Value +{ + IPv4 (1), + IPv6 (2), + NSAP (3), + HDLC (4), + BBN_1822 (5), + media_plus_Ethernet_802 (6), + Epoint163 (7), + Epoint164 (8), + Fpoint69 (9), + Xpoint121 (10), + IPX (11), + Appletalk (12), + Decnet_IV (13), + Banyan_Vines (14), + Epoint164_with_NSAP_subaddress (15) +} + + +// RFC 2868 +// Attrib: Tunnel-Medium-Type (65) +type record Tunnel_Medium_Type +{ + OCTET1 Tag, + Tunnel_Medium_Type_Value Value +} + + +// RFC 2868 +// Attrib: Tunnel-Client-Endpoint (66) +type record Tunnel_Client_Endpoint +{ + OCTET1 Tag, + Attrib_String String +} + +// RFC 2868 +// Attrib: Tunnel-Server-Endpoint (67) +type record Tunnel_Server_Endpoint +{ + OCTET1 Tag, + Attrib_String String +} + +type record Tunnel_Password_String +{ + UINT8 Data_Length, + Attrib_String Password, + octetstring Padding_Sub_Field +} with { + variant (Data_Length) "LENGTHTO(Password)" +} + +// RFC 2868 +// Attrib: Tunnel-Password (69) +type record Tunnel_Password +{ + OCTET1 Tag, + OCTET2 Salt, + Tunnel_Password_String String +} + +// RFC 2868 +// Attrib: Tunnel-Private-Group-ID (81) +type record Tunnel_Private_Group_ID +{ + OCTET1 Tag, + Attrib_String String +} + +// RFC 2868 +// Attrib: Tunnel-Assignment-ID (82) +type record Tunnel_Assignment_ID +{ + OCTET1 Tag, + Attrib_String String +} + + +// RFC 2868 +// Attrib: Tunnel-Preference (83) +type record Tunnel_Preference +{ + OCTET1 Tag, + Attrib_Value Value +} + +// RFC 2868 +// Attrib: Tunnel-Client-Auth-ID (90) +type record Tunnel_Client_Auth_ID +{ + OCTET1 Tag, + Attrib_String String +} + +// RFC 2868 +// Attrib: Tunnel-Server-Auth-ID (91) +type record Tunnel_Server_Auth_ID +{ + OCTET1 Tag, + Attrib_String String +} + diff --git a/src/skt.rdf b/src/skt.rdf index b5e0a2a..bf2475d 100644 --- a/src/skt.rdf +++ b/src/skt.rdf @@ -1,5 +1,5 @@ /****************************************************************************** -* Copyright (c) 2008, 2016 Ericsson AB +* Copyright (c) 2008, 2017 Ericsson AB * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -31,6 +31,7 @@ type enum_8 skt_type_enum service_key (1), prepaid_expired (2), data_zone_service (3), + low_access_priority (4), preservation_indicator (17) } @@ -55,7 +56,8 @@ type record skt_subattr_t { string_val, skt_type=preservation_indicator; byte_val, skt_type=prepaid_expired; integer_val, skt_type=service_key; - string_val, skt_type=data_zone_service)" + string_val, skt_type=data_zone_service; + byte_val, skt_type=low_access_priority)" } type set of skt_subattr_t skt_subattr_list; -- GitLab