From 7ab641ed9e325f1a6f39684d81f19e67ba5ec825 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 16 Nov 2021 15:24:08 -0800 Subject: [PATCH] Added Intel AMT DDNS support to MeshCMD. --- agents/MeshCentralRouter.exe | Bin 3519128 -> 3518616 bytes agents/MeshCmd-signed.exe | Bin 4210144 -> 4215216 bytes agents/MeshCmd64-signed.exe | Bin 3824608 -> 3829680 bytes agents/meshcmd.js | 83 ++++++++++++++++++++++++++++++++++- 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index 9bf742e46518d27d40fc22261329e84b0fe0c9e2..6f70ca9c7b658e666edae6604ffa8ebf4ab9bf1a 100644 GIT binary patch delta 16673 zcmb_@c~}(J^7iRIGs6G_I4rWm41)r)3n(foDySf86a?H56pcF|s36FI;J(DY-C{J+ zsBuk9L=AB_YT_D=OH?8;iN+X>H{PgG@vExtz}(#5xBT(>Jm)?2R@JFGd-pKos-Lb3 ztLm=`i|6iba|3r$=~eCC$AIFb&%cr?{}N5on-`*uS);#58NkUZIM~rD zuosG2uwt0J6kvL-?5fx18PK^m0At|V2ZYeGbq=dFF*Pu-sxI4_pKNbyBm~ zL=o~kJ6Vg9tiBfVxpUxDQJV9Y=+m+i1G`mhSu|s<=+ClkWW`4l>*3J%coX`!Iu@-VR47KYWtX!$s? z8OC)|i=`Myug=S^*<-`s6?}6*&9sxoToUrFT-W3&wDK}gH=xpZ9dEB04o-PFH9K_t zw5r(%Y{7!ln4^}f)PcEDwVt=oj6|1F(r!I(u6Y~f(bCs?UL}mF>Fdbnh#_M^=L8$$ zAr2{T9L8`|>s6(p9J-?_4U?;Is30PD;jR4Sh~PN=R~&mOVT0xi+(dGQn!YalCqWo5 z#klgx!USo%E8i@Pl=``GS7D+w#*Md(rXYEkTMdKG$FxuvK&{i}O@hj;L1^9}IN@cX zXI9qDwRwfoaW@{ESOiA2Sm~`os~UZsw0dobI<_rbR#wf&=1s>5S zp^+5j&Swdeq=W9fOqf#B)`OP|!c=LWCl3{hr5`WJ7 zwZfw;=B4iQ=B))y36R2RQmhXjAe2gre0TsRmHKiUki!fhZ%4UQDmQ}r!6x@QbT5_cBP^p(lW*vuVGv#x6s0O!lY+B)itshw~Qh9W3-de&kMBsv7lW(nLSX zvR*b*=N>njA-sit@b#uNolH&PHa6;Ms={HG4w)cone<4meEf;^k*jjK+9g+Ya%JCw zTsq0sM661s^(~r)e)C3Cau_oXojM!!U6a03%O-t43;iNlPh+3is4tW1T2dPO0BEMH z?BD=eSql9{qbuY>A7$TIsOw}kxxcp1!$xZCVbIN{9+u1cK4GwE7V7gB?prMMK0!@k zUR&rVTIe%wHHAMU>uI1n8}((9eJdJhr&bgWqWai0T48LmT3&k#eVv8g`gT*6u;8X% zy=|c{x6r?5p+7I{VW0chSg3tMn!*InXxi8lE%YBBZb}PhwsB59>zefTp-uWi3w@S_ z{v;q^u zoBA4brz!a%3;j?FJzOQYHQPk+5c}zPakfe??7*2Ouw2TI;A;f4WE;sNgbFDxl5Y|! zrTR!d6RNjc^Gacc^h;|V=0sO}6|~K(2GBW*fitC6QM{KhTbdHZ{X5J7tymfjPm~4? zyyR&L=Qb)z58~~J0o(%T0p`s|z%WiKM-{~RHi{=h978lWx-I}Ut8*588>UA>FtMyP zKBN{(nbG_^YiwiZ$e~Gx7@h)6=EU$28;YccC;m+7Pz>(_YP&Xkh-IWU6sfHosiF<< zX?=DbW2SP(Vx>!MxRddzpTL&i5twN}Dx1SOYX)y4rXB;55};lMyhu{Fg?EXCHHmHc zyLRSpyahJS{VL$qNjCvszx6%fUBXZL-vwC|?g8$v_!Y21L^+ltt|#k9B>PpO^(Dz+ zB;Qb>Pq%)L0s9laU-<{fA!^jGPJ0F@bo|B))&Jl0KT;Ywz1$T!z1)?j)UBqjnE&pJ zJo@34FQG&0I$|H?IgsbWyMp-$?2}?Oprz*-!5TF64E<%#$uvWweDA3Q)_b5mSleei z0w#`k1(Y=()O2!U$JQ(hFgt-NF@p)JAs zLqA+lds-AZnjAqMo>}hoU$nY%vuYaa12c|TBH52)w=BnPIXCibT_=A_AIqI2N4`!S z-I|TF_?Ir&N5eib=L7@E&8O)yplnJB1B@cH9KF0Ww?&+A%W2;~Gzv8Gv|G)D^yl?*q4o&$$-l<(LAcGuaBNB z3&w86kHv2F?wJPG{G?34Pn;1Clp#JPxxVLMkkx@0XJ&fiNW&(J!WC;8x=>^ugB za{*l+QG?j>=^+0|axlp?B)?6Y@gtI#kX*oLfai6>pG#+hd{scr0}(NYwq!n{nSCi= zHH0-}XhR+9L0C%qr)dkI*~x?@fYriEz-EakN0HT^a1r4-itwB~Z3kd0Zvj2q5Uv%m zZC{f8d!XLDlp4qz?MGoPs4Vxbd{pG!yD4%5SUOBu=B&Ww%H(-6OQ zMJyS95*ocHvub~--NdJi*bt{o8BPZP3C&)M56W%n03~Oxv-J+%)0C@prPzHz}T{9 zfc?q@Up@P@1p6<~+f(R}z)~Fk4*j=&7VQY%3>#m8jV0MR!vW*~m^XpFAWh>D$0vb& zt;mxuFNXYhxo+|Bd0=r>^`~1+zWLJWs^Wx);4;#%E?u1=nVdk5{1-jSGu?_HRB!h&+F~)VI8-) zBIG+o-PHiOA2Pf&>*x2qD}}xCyq?vGweZ z$8#JV()J+3?FuJG!)8%u;myHY!#Yp%_XRy&mMIg0K)xD^2js5-i1U*XeWoEktU`>M zg7`EE@it*i*HCEnD8DtJUD!R98Av)_*_rO>w8@qXy)ki2cw2C4l^q8oo|}CYHowL` z-nUqg5EG&+7CviEU z6}^!?q!%OeUaI6x{xzBJPzd=T$S-&sDO??mBVJxVk{z<}Ni3h(23qx}6k#;2^f)ti zbOZTcr)SZ*K)pJxQN80{7L7QzYFuti}5VcX(skcO@e4ZBl}xAi<9MA>r?MGJ>{ z?IExXn!q_UEqiFJs|cIXD()bCIpGaj%f2-F*);CsBv%Vdq_+Kdkhv*mc~%zmVqO`( z*35)+reWXGNtMrK&ZH4w?Fgsyzk38DrVhPNDf1|$+%0*HJ5gd^SU(N>15PtU$ihqQ zO#Z!|P`M-{!8=c21@IQAVbx>ahGg5u6aYs1VOREsB2H4{iN8x%#7vU^BDw!Ge<`3p z4~OUD-#3eVr|4X<*&uk+hsK2%dc&kr2zoNF3VP8>GauypV^RNH#494%VKL|j>sJ6e z>em2Hwtf#V)pHYIYtuG(s%B^0aM81T!jnb#=^>|T7g%HL_jZM9=fq*4+Ck`(i#LvQ z$$roW60YW7fP7l@1>8#8=~gNUz!1v-aq+*ATvK_6wm6Qa*%w&5tYgqj?r%mmJ^-qx zBA%c(+gpHe<1{-Z%}wPok!N90-x+XF^2XZJ;{s^j?Ro|93_Jqi4HjPSHEiSroC>S_ zAn9=`_s+p)sQP<-|N9+FzFv;W5Kg1*J%aXT8lAf5bpObk-!efwokRHp5T?K0HOymH;R9$k(dseGhtv!AyL0hV(A@3z0`OtC2EdvA z+#s-vCQS2h+R#Z--*Mvp2;XrGNN2v0#7e^mT=sTmXE=Qv>j8bwGecK z$quj+$a)s!Y7Z}Sw$pHLl#Rd@T>vPs6GI)r=RD!_cns|{5ZhYO8|5Qg)YSKI1&wb9 zF9U3)NMFFV_$ba~K~Obk@03xq4*p=M4??G0F$mDj71QLm!W~#jTeiPVCOos)}HKbQ`s6x#0Lv%AD z{z;m3y-@x-4Do6bVo&nPnU1o5N5qwdh`}=uw+%(S6^eL=u*w7FuBnKdiV#OlLtNpG z_)|`<*`U!lS~pmyS9I5m0o7o_aKd`Rr-Ww#|Mnc@G7&uMLJ(6xhPx<$E{Wl|a+yi^ zwvT^4X!7UekC@`Z8{_DWz6Nu8#rzUqFm$hiMNqnOIHwSTPPV~?eNcp6JP$UcN`I~kkBD%_Vy*E0Ehu#FhVbHJu&58w-8#a459Aa5Z!tTF_$ zZ2a>Sw1_TTFIf%dZ5=in!dYMvDYXIPH`nwY3}1N(JEV7q@KoVb>B$iOn@}r#Ka?LA zR!JXZ@l@|)hJ5yLG`6T@=Yx+K3YgninN15hB{>b_LBa*8BUax^Zx7=+LY;JG7;oF- zzF`ham?3+*`TlO0&-N>9xBoN4A~vT=w#~GDV_3qP&6Qaz8?A9Ui(M+S(4On19@#um zI3+F2=54*5jhoqkHL`6{tkHH0TcxmH+dE73*)Szu(u5rD3Dw*j=#sy*H-}#`hZt|L zD+lFvx#=Osn{59fnZ*P;8*j4>hh>%m?0a_oh|H!93o+KSAxCA_2io0b`6rPrVTXdF zjX$v?#46dzq;|%i*^n<~&yQRA8}G56r({;q+9>f6FfZ}aNT|%+jW1Z{U9?rPZgKGJ zV+)AQVz(oD8~jEws?kYkevg#w^9f~A-;sQ}P$iuk z$vsERGkObm{*Y~A)l#Fc5cpJPHdU*PMxmNmC37fPZ!`(of1|CEiB%sOTL{+`Hpp+6 zF+f-j-8{B!9F-Qo6?|;#Akl#M3*C?La?vOD;h<_<7=k|9tMhYnkyOQc`j1n>x zW`I?R5hP->SY&5s=^8XQpESk^ui#5}##XY1tgnF$p&44qE_eIJ*iks5u*2Q119PVN zTFLw}zc+RgiWO#;`4h0S3j27*Lt|$l1-^;Lm>Xt10k(lyC9_U_W{ejeDy(I}8!uy5 z_JO&`vT=0O~Idgvz_hcvEXlOxiht z=LN_3)uV=XoV73#_x(?yhDuX;`l9c%s4o@nIhXNvkR^Kr8foq zGoe8GY!Xit-xzCNP2!HCLy6xeu~@`kj?7}86qzOO$-Hg50>5pdK_e?~zyxm>ivy4? zVNoFt>RqBCkZjsF_H+IAh?xp=beJnGoXkDVb%woSLXhmzQoq>mGqFrz?SSnQKULV} zW|Cix_)uZL0^2Y8x02g+vR?0ZKpdj5{=g23%N6G4x!Lb?@vOqafYpksV7Z-O+F|ea zg&3z$N7D`|W(sc`yw~rj_%KBF8C12`@0jQxDl=F6gMP=wAqoq#KPX94c;0}cey7Dd zvE;&<+nn}0BSy57S!(HJzq8^FV)B)BUc4jQw5Dda{LYJR?d8zzfL##Zk{NTGc2^oa zmA4)7$nTo?R%djnWam2MiZ{jk3aheu<#$WG6))SWtW>5t@nRR5l}G4Icf_+@W%iqW zouOVV>n1Zi1$RZa?lQwu@b9UxEu5svV(#hSZu(t3*avMZS$zkiw7r<;!Orn40hede zmJ--ULDHoXc!ESpzm@Rcg4>%+d_lI{VC(cQCV%dhBeUBHJxwk6CWTp-_m$M8&^%oV zFNNmWQZK9$rMFAru{+w-j=R~xFGC=$A#Aj?vy>;A^GqH2cs(j-Y1`Wro4W8#3hM=| zE5D_%71m}`H}32xdwvKkfu|^}o5w6uBCl3hIX<-@kextOl3_fsfHTCAql^U{9wtu?!;XM`RIPGIo zAAZCGZI$dWEMPxA$4h1v!20uSAGzHI_f9({O%TVXz>k5&U})~PBYiS7nwMT9_h&D z#F7o4`@l}OLna?nGk->`l7+F`rY4pMtODKO)?aCulKrEpl1t~yxm&MaOx2D0%Uz$C z;Okt)D=7Jm3BHt7n3LB?pDo5+Tl(Y7zSjo1{)B%f^BF%6$UV!hH;U$PVw}Rgy zwoIEg(8YfR_m4x{GHtTa6Icg@r5laF5)}3#Z;t&+K3-wnry^Ufuvvx3Y8BSafb2(w zePM-6XYMGc7^@2OU&-SXHjUVLg*_TaK^3-AO+gj*%1A*K=F2dOb0<0G=pwYmDXgap zvRs9I7lLd-C$sE2I1}loiZPzj|ERDkC$#B0%bpu3Xtcu8Dd-S|xsO24YK8UEBHN*` z9GZ(O3Nz9?z3R-(G{J?==;|M@bS4W&k*2WcG*M*=bEKe~6n4D?+nrTdhhE5@D$JRf zR~I>En^LqTDC~0@U=c9LzfAi9(M^hRDX}XG8%#{qRSt7=0Cp`}Va_z&xeBu;wp?MQ zY3O-EVMCITJyqDIGGzYUAf_48XH&y8q`<;*v8QDU`%Z^!lfquPB0HxN6Ra@*1hg$z*u@FRY87VZi|j{*eQu_Mr-R>w;@X!`PooufBOYCcD9nu} zxLRR9rlW0#!ivg~T~S!Le7F?$3!QZTWI00@I%z2i>nNJBVUa?Ql_6WFu*I}6ClnU% zj<$yi`;88lb1ymQ%4ukeQ`iE!A#xSgiWX*p!s=-dpDOHJ$Q&~?yrt0TGzwLU9Q1rX z1`Scz5L&e~g%!|^Sf;R-Ht4xYVJC^5Raneqv^`arwhJ9Rc#pu@z6PG=l{`hEzfi*> zh51v%bqaGLc0ytLu^9BB!ako&XQU4XU8(IeB@9kX6fyd!%V1`R$&Wm^*oZA-FGHjK zS4xLx@&IEy|25c}arUJ!-ZNKxmoI7zkl??b@0YA*!AF{lQtw%OoWpv3^@0jrW`+tpFFHL^?c&Ck4B~?@r+@ z0-lDOtzYm6Vqdby!QJ8KKRp|5)&4JewiGp&e*kH(&E-k(t5xGXcvCwfb)3h$;3u$o z@IqT6J)Q@j$L2`^^MS39r1|ve?81B=$#)@mYK;plJYPr|sC;8sYoWB2-a(~Diw`Z7e$pva)){tN zC?ljdpfu}D`z@65EeWn1KXy$J+YIAyUocA_>UHl zp%1%Z^;OnVyEFXOj0BG}yfPrg;}>gbW`7TB^|qOr9{p7K_SH{iF3JJ9s3=!F0GcTt z2UHKHRs()BHCJ@!=+i}XukOy=`IQ+?nls?@#G^}!P3rJ+;S!LS9vf91Qr$eSu#O2U z)Z5gzdUR*6*dyJ~+*wE+Ugi0*>Os;1Pr;_G?NU!K(3A`Hs=$a{o*1as^A(Fu_(8gG zn7g{0yabyR+g4uns%w)q%wH&*@&gM}R~mXqZw~Vy-?zOA)TzTK06q^c1q>>h=QS5J zFa($F#rda+9%CaB+bIS=ybDe!k`)u8Ghyv9(s3vBvKx$l)@ zbAI|GFF}2$FZ^ai{SEkNSq1Olt!33b9xz&y2$*l34EU*SU%>sgX@Ir10|Aeae8M&h za0aJ8e0H#sm zObR_jcMLSyls=alkJg<6O}-AtSER%76_fvB(kv&O^ft*VE!Gt52L(4EWj2$)CmJdoW2KO*@fkh=%YRo!Hp0=5xWsm)(A>wqftWtQe$r7i^gK*6tB za=>wtD>SIzK)BHg<&9RQj0JEV$|k~iPn5F>D+o6b9`!~2QD5}0C%Imhji|3TmcpxJ zfZ&Hj@Ixo&kFtR+Z{d8j>oJ==J8_w4O?%JaVG z@1D;*-+1=+8tOIKtIBJs*G8`oy>@tMq;X&J+vfBZ41QcV2(X_o%67f80Mlonrga=* z@Jz&q0f=qMry?GG5(%gHq1-DEtqEy}2V4;+3?B}7HXN-xCnL7hi~>A28LjJjp(eXk zmKm!5U5L+p(Dk_qU3I01Pp6Tbi+Z_>e}s<%Iom%EaJ}DTz=DCLfMbo7fUomr17=P| zoL7k0!+?0y3UQ)pehWAp3@Z5*Q6h5C4IB9ea8yVxX@ z{~d>cUJpaLo*JB?Uhiy<8f%)ygaDLh^g-i@NnZ9p#zjh*31*uW7Lo zY1+GpsQ;!6aXEE2!5!r%z06pxnTEKSRxynF`x6DdL?J3E=r{T3lTCe}Onc>x4QkF1 zwwsKyt_#lDP15{E7)W|oLYJ}Vb8a&F6ir#u0-l#ltU3A>&r@4Rc(nB>^W5y&NoseI zj|p$%JFEx3b>adrMz3-*Wd`q6@ZZ<|p_49Md`JW+L zOU6swDJaN0b>=@!LEdeO|4Uah^b#)>wRToFyzH!8y=VV$nL|<4{BT*_e^j$y9_O}Q zmGY*?(j5o(ZtgfJye6T&#@2)TTe;MvrfEjm&#oP=fno(k3&k3W4HR1_Iw*Ef(8mEv zGbnl}j!>MSI74xP(j1B_6gMdDP&}Y`Lh*v)4aEnFFBAh5BNRU+kw zlprXrpaeq+ff5QO3`#hZ2q=+ITG!MLk9s&W=BW<0Sr!vSEp_xp>`5(maTYpKbpzs>c3d z^q_ZKhV^LUtA#JcuR5eWs77byn~A<154Qtc-6*bZp&yXvW2B=ifK1xDYPc?2MUdZjoG` zd#Y-uYPNfka6H~oKT_S_x=(@W__*M)9e(vK=(pA(?A&dai;vfRvL`=1{LqD4txNB< zUhBU4!w^9lw_rZIGtZ%`s%Y*93tb<7>yuTtK5ojrr(a|?oXM2R>H}x?^V||J|IfKA zrhKh$RWjq*ql+a|eqUH|G$e8Rq$ez~bj<{F(D!4-M>eld+?;cLM%Mafs`|bo_N7`q zw!7d~y}R$?s@sn99hQtKo(JD|j!BE?pR{Dw^c*Vh)dh1 z_i}Jp8+GG_wg1ua1@(qI4VBAFuRr`K@mZT+r{2(Qe?0x(Cua+~Z4C{5a@*M~PVMjd z=jn6tRDX)b@lFN z0o9jwW?lX&UT>IKd%4%xg=2e`^qajlY<2Xc1yP?!^}A#CnVo!R7cbCXT{Ft%$zMK; z)@E+;ecmf_^VPi<`h4zj>`Lg1!ad_hw^%$ae0Ri_x`Q{^!{VaQ!#{Pn@!q#bRqt;7 zQq;S+?aPYI$Xt>9++$z*+{cM0a=)4}xc{%ht;^+ax&(bPdwcsQ^@jYq)i3uQUD5uo z$;Y_iaZD=v^+ota-MIZ7V$EA#Z=9!}e4#R;vNYX^^YKSbozs_WV0TX^hYebqxc2b! z>rpoS`?#&0p3>*LUHcOm2hR2dC|QG-v$OBO{z{4vPJ*#Obqr zMT{U-C)wq38yL&yF{NhjhCm%(sk4|{=(WcFZSI1wPnExa?BlKtU z!Y6Knx{O)2;-RS(=SzO6 z{c6eD8L7^S*Yd zyK}b>M)t0~YhRvuw9a^Jb?<>o7QXZRc|e!m-w*nr{;TEFib}VxYI9}fhvlDq5xtf# z%NyJ={ll-WmFx}}xx&!#odog3x5wUdKa=mp&j0+ITdU_w;@0Ke*}cAdw)n%^7k8F7 c_|A#sWH45ZIg~y^ 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 diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index 33b05c12432a613ae3c2b186817caf8418de0e91..df5c05a1237da41f62eadc4b4a7d479b3ce78d04 100644 GIT binary patch delta 3784 zcma);3s_Xu7JwNZ@{kb(0RhoH5X=lt%rFulc+MFR6?{KXt|-~S9At7HIA;bSz(G++ zEai%}eN|V zv6OIfWWTXAlknrSZ-}9dMzwA^W7(5Qcr3!tsR=Jfl}g9p19?QSf?J|ykcpvH$f!pv zO|+o^DRnAV4jFT3l%g}z8U*_wRe?^aRcE1rS~1cQp$?!Ae^Et9ari-k!O|MSjJ-D# z<``DT5|x@!W@>1aRF#vJE2VYZM+Smtfpv?4inV$bjRhYPAsK4e*pR2xpe0(h&Saz+ zPKK4^9#+_tt5O6s{#;m8$)kEQkyF=AD36jwh@26zv2U^#7+g5Ox- zLL#i+L%Le3#pEs?ZazW{GlO;kfpjK~MvMxP(y*L~U}Hq|y+#=IGxe)z!(=5xi^TD$ znD1tDSe=bTqCSy6HDO_B(5TQFVWAlPZ3?kR@VE)v8R3!R6h2s+O1i{znUST`A-zsh zfHJ{K)=~&duyuoA2?}QQ1tYxy-mIq_93d3rJu#$jLf@(MnQHa8Z-PL%N&`cu=#0G{ z*e1Yl)>&M%j|!NnGiftv0~lRYghXm)wsQ86#bP#;aDgKND&;a;o^cv+wubU#57^1fX4FuB*|DLn z!kE=dk+C3`)@S!-fK^=hB&S)izx$h-IurG}>Ndnz-0V#H4o~VWT&P4#r=t%r!=5Uy{Z6$W}ul| zI9VDuZ6T4FiAaRu_`xgLUS`cm5Mbq&2-)0S$n}OPz3oPr@faxvl7u!qMkui$DS7hT z1>E!i1?Ij|WG!U(RqH?j+oA?;JeM}8^(u8%uK~7Pe5?h%nbB`E9OPryu}u*X^O0zf zvjoakY8YCKC}<4qjLjhe84V_GT*x{iL~%%%WUWsqB>1voE1pqEg@g_reQY$bpoj3ovNS3HS65Q5?l%2w zLt&K%_zzWMGdY754aAD+a>p@4*9_c>GX|q+)YyNb>YrO3h|jL0LK4~5ZEGKF=jb=( zN#_qqGN|d`Jr>FbmlRP>0=BFN>EIHiZfmUF zK?<9eMra)uD#=k}pU?v$C7g%&z(UgJl@2lpH~&WP(L$~S*_(qsWF6E#RE&vcB#1T` z^oBV6LjviC`E$vUxOO2KI?Sr1zKrn3aM60;%2Sl%C^o-)%K);_nhRVOvYU9}+*H!Z z%w1XRBFJzwo~uw!WITc>K}h?D*(`@qYZn(WVhQR^VeWT_E$RNXeMQa+Sbr8k0`9p1 zJ%zob*>o1-6{)0~-xDms^=VWnuB#)QSXcRYcsb>P>%OEEIPo?WWGVlM@-W)_D)II( z#Tr@Bnb*7NvMv6ThWke!F6azW7rec%;4l zcfS79qRtE+cAlsxHNQ}P@#f{EZ$H#kXcJo=ToUB%zSh*^HTl%WeUB(C&S{={A3!<%6x}(1z>$X@AmJ zch7FQWH@}Gbm5ukHQ}o6qE>Cnf_EbRFrAh9*EzZ_?R?gyeZ9D<{mrrxUM!_uI5Nsg8Gk3X!zLZbpJ{mwO++F#XfdlIlYi~DYy2GyvglRrVdgaXaKi7tyE1#NkR8F2R5fuj{HXd(lF5PPW z-b_w|KQ(u?~i%VcxwKp zdNPw}ezs|I-L1Df&X4XSPXwLY67}X%U6Ex@f!TYWIac_|*$=CaWncN~sdGMG_rTLHW;~kNlD=1SbWrt*9AsH|fyixt+^COBnrs-aUGA)*D+-E&hFR`>w9yqU0-0 zGbZluPFtE&xU>7^wU;`s8VVa%pC}Dko^fZym+_yPSNe0w(Q1);F|jG&$oLlzPaOiEANGALu2wqQ^KO22Y<}b!ig@vQP59?w%MN^0@PNLv-qYcs zcwO0R{PzETI%8PP;$f5A?;DTadoVsuFb9Qxup_VCc*u0z>4(+wb=mG)QFs2$8OK)y zc8D)6adR$wc(CYaUDe3De&0IRP2PNMYFDzq^MK(c{46BaYna4mZY`Doi0pYc_hcT$Ui$}Qof=g%F&K{{sM{mn+pH{ delta 1310 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 delta 1286 zcmX}keLT|%9KdnEF%O%ar&(h{v5R@y7R`1l^_uED8u<0`f@95=!a=@t`jWMM;f9j<%^Zoze%5&d>fe?$ z|5(GM!0d16O0$wIePvVm<7&H~vNab^NSinGCa(@g{zP{> z#z5gMj_*?zb3HL*Pft7&_leRu@)4ot?LE(X2O5g*NBb=%^^2{un|q`I@q(Hphw?)v zRozdM4I}4g`+Gd%aDI)8{L!rmQ+HUhbSrk8*e_9R(A5nA6Z)x@{!npw3I|LohInTS7^ZBX4vX;2Jn zR!FDPXmt9~<3{&ROPsRN|KoGQ=#%YvV>d}Zl&@b$sF~{de!yoBVn+Dy^ zY^iFpXe0i>2cOgrWFyh@7cupMDacQT2o^vDZv()!qS;=he&0!Tb za9*Mct-7({giJjSZ&zU4m~T<#IU(P>GyHHTah#>7@e;@Uh1Y65GtwO!^>AE1BR0;< zopQ$JtvFKc@BPMeq8tcix{y^IQs?qZ-hpZCYTaJ5xr_Ky2ifa{1+G6Vs6rmj9;7U1 z2^1wE&2JmFkDNGVJZ{U(eDI{jh5vj^flMUC_aU!j-*&nXgNI180}){)az$si1xLTb z8e7~*zn%~`G`mk}RUa%&BoO;~+ZLy0!n%CW+vNJ%$A0#Y#q{B8i#}9VyO&-05LxIv z)r4-*3Fd6N9D^3tO+*Y%vIQbrO5J*^cY@koA`Iyp^CJCRwt-Rgz|!5o#KXg0dsBP; zGjZ2X)``hIMcU^rPune74&Tqs7&2cUDk$tfnoQp)x@45xp5t3xzEZ(hi)u<)@`Qp~@Zy&-rl;ScU?{Pp``X|zE@&1Be>Fwt^_*mX?pzy1Le+Dxth diff --git a/agents/meshcmd.js b/agents/meshcmd.js index 5cd6d1f9..96353fcc 100644 --- a/agents/meshcmd.js +++ b/agents/meshcmd.js @@ -110,7 +110,7 @@ function run(argv) { //console.log('addedModules = ' + JSON.stringify(addedModules)); var actionpath = 'meshaction.txt'; if (args.actionfile != null) { actionpath = args.actionfile; } - var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTCONFIG', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTINFO', 'AMTINFOJSON', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTUUID', 'AMTCCM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE', 'AMTWIFI', 'AMTWAKE', 'AMTSTARTCONFIG', 'AMTSTOPCONFIG']; + var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTCONFIG', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTINFO', 'AMTINFOJSON', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTUUID', 'AMTCCM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE', 'AMTWIFI', 'AMTWAKE', 'AMTSTARTCONFIG', 'AMTSTOPCONFIG', 'AMTDDNS']; // Load the action file var actionfile = null; @@ -201,6 +201,7 @@ function run(argv) { console.log(' AmtWifi - Intel AMT Wifi interface settings.'); console.log(' AmtWake - Intel AMT Wake Alarms.'); console.log(' AmtRPE - Intel AMT Remote Platform Erase.'); + console.log(' AmtDDNS - Intel AMT DDNS settings.'); console.log('\r\nHelp on a specific action using:\r\n'); console.log(' meshcmd help [action]'); exit(0); return; @@ -416,6 +417,15 @@ function run(argv) { console.log(' --nvm Perform clear BIOS NVM variables.'); console.log(' --bios Perform BIOS reload of golden configuration.'); console.log(' --csme Perform CSME unconfigure.'); + } else if (action == 'amtddns') { + console.log('AmtDDNS is used to query and set the Intel AMT dynamic DNS settings. Example usage:\r\n\r\n meshcmd amtddns --host 1.2.3.4 --user admin --pass mypassword'); + console.log('\r\nRequired arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log('\r\nOptional arguments:\r\n'); + console.log(' --set [disabled/dhcp/enabled] Set the dynamic DNS mode.'); + console.log(' --interval [minutes] Set update interval in minutes, default is 1440, minimum is 20.'); + console.log(' --ttl [seconds] Set time to live, default is 900.'); } else { actions.shift(); console.log('Invalid action, usage:\r\n\r\n meshcmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); @@ -784,6 +794,15 @@ function run(argv) { if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } performAmtPlatformErase(args); + } else if (settings.action == 'amtddns') { // Perform Intel AMT dynamic DNS get/set + if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if (args.set != null) { args.set = args.set.toLowerCase(); } + if ((args.set != null) && (args.set != 'enabled') && (args.set != 'dhcp') && (args.set != 'disabled')) { console.log('Intel AMT DDNS can only bet set to "enabled", "dhcp" or "disabled".'); } + if (args.interval != null) { args.interval = parseInt(args.interval); if ((typeof args.interval != 'number') || (isNaN(args.interval))) { console.log('Interval must be a number.'); exit(1); return; } if (args.interval < 20) { console.log('Interval must be at least 20 minutes.'); exit(1); return; } } + if (args.ttl != null) { args.ttl = parseInt(args.ttl); if ((typeof args.ttl != 'number') || (isNaN(args.ttl))) { console.log('TTL must be a number.'); exit(1); return; } } + performAmtDynamicDNS(args); } else if (settings.action == 'amtfeatures') { // Perform remote Intel AMT feature configuration operation if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } @@ -2621,6 +2640,68 @@ function performAmtWakeConfig1(stack, name, response, status, args) { } +// +// Intel AMT Dinamic DNS +// + +function performAmtDynamicDNS(args) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.BatchEnum(null, ['*AMT_GeneralSettings'], performAmtDynamicDNS1, args); +} + +function performAmtDynamicDNS1(stack, name, response, status, args) { + debug(0, "performAmtDynamicDNS1(" + status + "): " + JSON.stringify(response, null, 2)); + if (status == 200) { + // View the current state + var body = response['AMT_GeneralSettings'].responses.Body; + var ddnsenabled = body['DDNSUpdateEnabled']; + var ddnsserver = body['DDNSUpdateByDHCPServerEnabled']; + var ddnsinverval = body['DDNSPeriodicUpdateInterval']; + var ddnsttl = body['DDNSTTL']; + var ddnsmode = (ddnsenabled == false) ? ((ddnsserver == true) ? 'DHCP' : 'Disabled') : 'Enabled'; + if (args.set || args.ttl || args.interval) { + if (args.set == 'enabled') { + body['DDNSUpdateEnabled'] = true; + body['DDNSUpdateByDHCPServerEnabled'] = false; + } else { + if (args.set == 'dhcp') { + body['DDNSUpdateEnabled'] = false; + body['DDNSUpdateByDHCPServerEnabled'] = true; + } else { + body['DDNSUpdateEnabled'] = false; + body['DDNSUpdateByDHCPServerEnabled'] = false; + } + } + if (args.interval) { body['DDNSPeriodicUpdateInterval'] = args.interval; } + if (args.ttl) { body['DDNSTTL'] = args.ttl; } + amtstack.Put('AMT_GeneralSettings', body, function (stack, name, response, status, args) { + if (status == 200) { + delete args.set; + delete args.ttl; + delete args.interval; + amtstack.BatchEnum(null, ['*AMT_GeneralSettings'], performAmtDynamicDNS1, args); + } else { + console.log('Unable to set new values, error: ' + status); + exit(1); + } + }, args); + } else { + if (ddnsmode == 'Enabled') { + console.log('Intel AMT DDNS mode: ' + ddnsmode + ', TTL: ' + ddnsttl + ' minute(s), Update Interval: ' + ddnsinverval + ' seconds(s).'); + } else { + console.log('Intel AMT DDNS mode: ' + ddnsmode + '.'); + } + exit(1); + } + } else { console.log("Error, status " + status + "."); exit(1); } +} + + + // // Intel AMT Remote Platform Erase //