From 8da94c535e6346fc9f820315efb3ccbf70eb8f88 Mon Sep 17 00:00:00 2001 From: Livio Merola Date: Fri, 24 Jul 2026 10:13:17 +0200 Subject: [PATCH] Allow sending files with control bytes --- TrasferimentoProgrammiOkuma.App/Form1.vb | 18 +++++++++++++++--- clickonce/LMEMoxaTransfer.application | 2 +- clickonce/LMEMoxaTransfer.dll | Bin 71680 -> 71680 bytes clickonce/LMEMoxaTransfer.dll.manifest | 4 ++-- clickonce/LMEMoxaTransfer.exe | Bin 161792 -> 161792 bytes clickonce/LMEMoxaTransfer.pdb | Bin 23720 -> 23828 bytes 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/TrasferimentoProgrammiOkuma.App/Form1.vb b/TrasferimentoProgrammiOkuma.App/Form1.vb index 12e3b1f..9fa0328 100644 --- a/TrasferimentoProgrammiOkuma.App/Form1.vb +++ b/TrasferimentoProgrammiOkuma.App/Form1.vb @@ -681,7 +681,7 @@ Public Class Form1 Dim fileBytes = Await File.ReadAllBytesAsync(txtFileInvio.Text, token) fileBytes = RemoveUtf8BomIfPresent(fileBytes) LogFirstBytes(fileBytes) - ValidateCncTextBytes(fileBytes) + LogNonStandardCncBytes(fileBytes) Dim blockPaced = chkInvioBlocchi.Checked Dim terminator = If(blockPaced, Encoding.ASCII.GetBytes("%" & vbCrLf), GetTerminatorBytes()) @@ -1036,15 +1036,27 @@ Public Class Form1 End If End Sub - Private Shared Sub ValidateCncTextBytes(data As Byte()) + Private Sub LogNonStandardCncBytes(data As Byte()) + Dim firstInvalidPosition As Integer = -1 + Dim firstInvalidValue As Byte = 0 + Dim invalidCount As Integer + For i = 0 To data.Length - 1 Dim value = data(i) Dim isAllowedControl = value = &H9 OrElse value = &HA OrElse value = &HD Dim isPrintableAscii = value >= &H20 AndAlso value <= &H7E If Not isAllowedControl AndAlso Not isPrintableAscii Then - Throw New InvalidDataException($"Il file non sembra testo CNC ASCII/7 bit: byte non valido 0x{value:X2} alla posizione {i}.") + invalidCount += 1 + If firstInvalidPosition < 0 Then + firstInvalidPosition = i + firstInvalidValue = value + End If End If Next + + If invalidCount > 0 Then + Log($"Avviso: trovati {invalidCount} byte di controllo/non ASCII. Primo valore 0x{firstInvalidValue:X2} alla posizione {firstInvalidPosition}. Invio comunque.") + End If End Sub Private Sub SetBusy(isBusy As Boolean) diff --git a/clickonce/LMEMoxaTransfer.application b/clickonce/LMEMoxaTransfer.application index 3d4e67f..decc81e 100644 --- a/clickonce/LMEMoxaTransfer.application +++ b/clickonce/LMEMoxaTransfer.application @@ -21,7 +21,7 @@ - xn+ltMyVKq9ey0rNQnMvedxwL0v712BJKOqQDfhnUic= + k2O3hUFhGfgwuhFEiQcuDbJSG2zccoTiVaGjWOKs7Kw= diff --git a/clickonce/LMEMoxaTransfer.dll b/clickonce/LMEMoxaTransfer.dll index 25534646157128d62703152b77dce2c4efd9dd56..55a0cbcb8cb2eb4afcf408b39147844b8a10659b 100644 GIT binary patch delta 13866 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 ZWufmNlq+8Ty<3boNd5aaxz1k{{|Awow2S}% delta 13903 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 @@ -87,7 +87,7 @@ - MTWvipKrLx4Z9k9iHJsQdbI7dgO69mvCMHhKtsxpGgA= + NcYT1Cqbl1/pjWEqR0fuPHedbzqCZF3gF/41VgVCoZg= \ No newline at end of file diff --git a/clickonce/LMEMoxaTransfer.exe b/clickonce/LMEMoxaTransfer.exe index 2c2453222ed08b2c3103361aa07d1d08eb34d5ab..50f2bd6057b1b35e995bbd2f12d037a5504e3c1a 100644 GIT binary patch delta 99 zcmZqpz}WyqEsR^3Y)bqM7z`QA7|at3?6o@Stl7KjsAq6OB48$owm3_^LWdM0{jf+t?D37_F&MBQX!P7#xzR5bLP_AX7#SM_u1dKzjOAP z^SF2R9v9wh73xP;xcU$cTt!snPc%=1IIn7v{k77?gy(u7k%V?&K^}D?cCvV4fh8TS z%}DgV1vs^Q!5rY<)r`HhcGB|nx`+pjf8N;7)t2@777VL>rT@FV^u34#XpU`eHVHd7 zAGZqSo?t-`QcZ~>t%vP}eE@p^`w6B`5-A2Y4c3%|o+Q#C#2@mQVfKi0I?4T&m=G$` z?f*%5lmAL`7l~#h1Ckk`eng5)M$b|QX{b0^qIy_&GE+!oND*m33X4U`SK3WVn~>_| zKT+CeN;@UZ%Qq`+2wNfaKd!V16TJAO(podTxNqV_Z{SecXPFGMN2Gn8uQi2|!v*jn z=9z&dln_r>@I+wj8L^VF$Xoal6Pd8mzgA%@@*{vJDR~3%NEOafa2E173ls{ALq6N9 zcTfa~_@4<10v@HpGZmbJ4$mP@;HIHmr68L?0`z&nI5fn5>S*A6C7*{0GhCqHDGGiW zIFTGgJ|M#xWhI!T}g?yb7}kC#o{%Q3f{zo8dMl}oVKa(P~f*!c<_I*L*NJQ3JUIk;8kV7Oq_vtRQM7K_F!Mc zb+AU{OBKDp?q}?W!7Fi=S& z3a_Wvx&9*8OVEgP4~&NTVN8jxBle+3TvN~MUWOOQ0|s9P&KP)gwk1Sn2Txmg`XOS8 zm-petwDb`daYton1Ukf(!_ZYj1K9{v3lr$C=quvY$(NMTobkS73H!`6|8Kh3p`Q8H z@H)TeWk&Hbr_fD9?0!jflk@Df;S0mF5%?V%VqT;Y@EQ^k3)IfzblxiuUQ0#L>u42t zf!KO$Xe{_qJ_uz{heinWZ@0Zqv139?lR-x-Q##>8Q#%bZ4M{Zz=%^W9rq)y&;s>cs z@X2YN@LST%fjZKq+u&Eg%d|JW39;XVCd4rlIuX~x%d~%j*{GwT8D^tQsTnrJ|Ad#R z_rxZ|3nzBMFA2`<1oih!a}X$tIY_4U_>;y4YK* zU4?7L*Y0ffd};hvaBTlcJn|Q3pKURT9dlx=SL!D(ZOa}s#`EOyN&WXvs+%vbe(xf# z{Xut5SwyVgxtsp?$JU-M+12$z;r5YX&Gj`)fS=^zH@khIA}HE4+D0vidD_)TSNLNR<~# z?4Mm5(lKh@^Suouj?*M$?V<^l_$xpYHJNZ3z$lX8+Zz*Ot=kOVYF6 zb6+|%qb_H>m{>o+@ACTUb8GwkZQX3kw&_Vr7_Z@IQXM=Jdy3Jv=L|8yG$%f5`2IrL6^vN*>RxJh8B&>(PTp<9^&wGI#1NSDkH2`3Kk5cD-@(WW}x7QK!y#i>Fq%_@3&B z8GAQ*SFGG-lcgy;Yrf0A^v=0`QO`Gpg*@4_HS7AF2c9=flSj|YA51jJW#}zZUlF$? zQoBsgZi~NY&{Dcc!Gt$;5RDd>X(>RIB{GY+X`!O5p)e7*MAF)|?0$wypq)*k{2b|| z%E~Bw)Llc|fjL#flJzq67iA-9MO>sTY1uH+iOc+OyT-XP_5S21E*l+9WOPk-AI=#a zF;gGjlb_?V>5VKucqkK>xTV~|LWO%+?oeTgJ3lu=SnJ-AYZl&jpUjPpKONkQqDB7c z$8|Qk&H@LE)QcjS!?%EawU7yMwFUEkhgveZIy~WdOLfu!{D*Zn%=pGJ1J}I@=4@Pm zH^By&voQm2j3St`F#v~qILz6&75)g12KnH>56s!v0DqWA@mP@@n6nYTi->(1k6_U6 a(4hzSw6UxhI#sf_jn4gp^?;PppXfh{OFB9L delta 3021 zcmaKu2~w5L&vW3;Hbw8_`HuCC$roL88YoG3O&{6G3Bp~MxwT&J^ zeeDOCLVk<8AP7<4g^RRmzDQq7Qf5FUiS!HDzv4Dyc8Rp#VEMZk zJWiyu{}r$XdkmIbQHS8|{}Ft|Dql2_f(#K7t$}{JiyDhMed*w06Xyu9HW35J}Jod&hW|v6YT5c$^BvU3J z0QVWqA0g4tWsU(mz-ARQ5jVHMx8VyY_J*){4jK%> zX6xSq&XpVX;f8kGF!nd?vEeD;eKzd(A2tbm!CgVa14wvYo-ht;;B6c3LBmmIyP^hC zk9eM(uU7uZ_L#gxvhoXvw}C%Jek1Z%%lUKR<7|S%7r|?|0p`dD{|meiatK@?7qC~v zu3N|xs0ZaD(%OP`a6shax-d4(C73hIPMA|q@&GQd{S$IvQ@hgMTD zG*LItzYklaUT6hOl`dfvt&;0*~B#M`u^OhIfn zN%R?Szn{06#G|)hD~M^4*p^q&1!#c|bDMoCBua(0Cw2rXDV;~z(^XIy{6Tgwk^kOo zfv!fpPVP7Z#!{7~a!iJ4Qe=a(k}@Lup&vl2ND-xTQBpayit3_rV4sg_fcA>+hh7`4 zb5+uf=p5+um>gFXnPVDY4??TRaX~-qJZKeFEzoI|WM|ZARpf2Vf!ztMqOXh%uouPl zL#Jrt`r&#%PUi+!yv|KUtKwT;(j*9$i_U+x9Cc}HDRJE`==ws-cY0Ciob2}M{PmrB zY1!k{5&NTYDdE$XUE1S(@Lr3*+kjvy?)ZGDMSZ$KHN$KU6?VV!r>^b8UQW-dH{`Sz z%<#C^we@H>cJFaZa^ZxTPJijs+@Bb;qPhFw$vgWK!lEWQ-qug|eGv6SaOuf1mq$Z6 z-_(8ih2}&;TzY4n%W#(|-q6+Yb^XN4n=*Wi*QyPLA16mlDu25*Z--xOQnvQpnH?8Q znuqqz=QbbszIkNshUS>7Nz%8vDHogkR+lIo+TzY64m-!GFSVY#JEUmnX?mfs(Z6ZF zL(}z+y!eZiAyExk14}i=yDLs@9@_Vy`TD|ZVMlzMT=#mmSl0e}S)IG%r^_8aDomdr zXD-lI_V(Q!4);u$>i3W4?qFj`3=;cl0!F?9RO=j*)n=k^@>?w`@2%Gx_`ecSlty0+J#Te9PP zWb&A_tii_z^)ntW$j}VlNP6mo{f4wlw+>HVJTsuGJ=goAJG+M5e+X^g_xPFRQfYTm z@b;5A@0a>sNjz&>baH*ivjcxjxjtuDjEW`Z`Aey0Yo&j7Ptlpfe$O;`9=?3*&7$5xpOz~gi$a0}{D{2F z&T17~{2I|&q8JgMH5_Ix6e4c4qjFK@MUuqMWr>vH#u9&gcg+(lTarts2BOSIRA~w4 zkU)#2jZ;~M6E?#<^E|bNoWzYGdLpek!s3+@G9gJlel)()yi~1aala`n`8i8*il2~c zsY{t66j;ur7==w1WvWg%V$rASU7Fn;NiXuRGxng?e9DrW>gjaao&Q<0ClB-4mTjr8 zDkU7*jus*FrfDhmBRhyI>e)fXj=qZe2po)=kcxUo{1kskMg30bW8Ct#!+#w}MSTtQ uJKPGeCrW@+)Z;hce8iXP7$*G^1*1GVPGikbRKkt}r6q6qyV4vVqJINiqbnZ(