From 35e84e652e0310dacd61e527cf6bd32e658c1b19 Mon Sep 17 00:00:00 2001 From: Sucukdeluxe Date: Tue, 3 Mar 2026 16:03:01 +0100 Subject: [PATCH] Fix multi-part RAR: use explicit ArchiveFormat instead of VolumedArchiveInStream VolumedArchiveInStream only works for .7z.001 splits - it rejects RAR filenames. For multi-part RAR (.partN.rar), use RandomAccessFileInStream with explicit ArchiveFormat.RAR5/RAR format specification. Auto-detection with null format can fail for multi-volume RAR archives. Co-Authored-By: Claude Opus 4.6 --- .../extractor/JBindExtractorMain$1.class | Bin 1710 -> 1710 bytes .../JBindExtractorMain$Backend.class | Bin 2260 -> 2260 bytes .../JBindExtractorMain$ConflictMode.class | Bin 2014 -> 2014 bytes ...JBindExtractorMain$ExtractionRequest.class | Bin 2539 -> 2539 bytes .../JBindExtractorMain$ProgressTracker.class | Bin 1387 -> 1387 bytes ...ExtractorMain$SevenZipArchiveContext.class | Bin 1663 -> 1663 bytes ...ExtractorMain$SevenZipVolumeCallback.class | Bin 3729 -> 3729 bytes ...ExtractorMain$WrongPasswordException.class | Bin 458 -> 458 bytes .../extractor/JBindExtractorMain.class | Bin 19881 -> 20463 bytes .../extractor/JBindExtractorMain.java | 40 +++++++++++++++--- 10 files changed, 33 insertions(+), 7 deletions(-) diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$1.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$1.class index 126b7c0a34b08a35ba52135d51d74adeb8222c0b..55f87ba814f8112b2582c5f6d5035bc72c8d65a0 100644 GIT binary patch delta 55 zcmZ3-yN-9mI#x#B$?I8rRRtJ083h@*8ATX`8O0gI7)2Sx8O0dP7$q2-86_Ef8KoFP L8KoyDviSl49eN0T delta 55 zcmZ3-yN-9mI#x!W$?I8rRrwh>83h=)8HE{y8O0dH7)2Pw8ATb)7{wW!86_Be86_D) L8KovCviSl49AyY{ diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$Backend.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$Backend.class index ff477d8c5237dde0e2b7693fa677606e9a94f8d6..2c503da0737e1d30407c4a92d221262c657b17d3 100644 GIT binary patch delta 97 zcmca2ctvo-MmEOXlQ*&H1Ib5hhMb2O*q9D8a5Ej5EWexOru7VpOdA<& ym^LvuFl}M*WZKH$%d~y+Id%u2E`AOhAnC&q$-9VwpJ_3J9Mcj8T_&KJ97+J0?i-W< diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ConflictMode.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ConflictMode.class index 44ea2eca3012029390ca530aa7461a378e542130..6376bb2641afbe8505a14e6de333b3739a7e4e4c 100644 GIT binary patch delta 83 zcmcb|e~*6y6C2~z$;@o}K+>2^2S_Hc^~m045MjE*Aj@=@L6PY`gE7+s26LuI3=T|> k8C;m2PUd6}0;-E)59Ynbz{_-2^2S_Hc^~fG%5MesRAj@=^L6PYwgE7-F26Ltp3=T{u k8C;l7Pv&F~0;-E)59Zy&z{|9kL5gV~gF4gh$$Qw90P>I*YybcN diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ExtractionRequest.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ExtractionRequest.class index 9653dc00b8a3c27233274b05ee7d793e694a5248..627e04160ff0f2b548a2f9741011252ccec264df 100644 GIT binary patch delta 85 zcmaDY{91U!H+J5a3@l7<7`U0-lPzF!J(#=&CRsUkfNG4u NWIUMc0h2p9jR5@*9k2iZ delta 85 zcmaDY{91U!H+J6h3@l8S7`T}(GYBzVnas?g#dv-lPzF!J(#=&CRsUkfNG4u NWIUMc0h2p9jR3#597F&B diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ProgressTracker.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$ProgressTracker.class index e9e2f0652158e71d7ca45a21764bd07795281ba1..025b84d44cac3b58f497d7c93505e5d0e2ce9190 100644 GIT binary patch delta 117 zcmV~$%@M&s0EXdD-rY^I@slND!X!>|(0~&cqYDKn#%&wXgbK`PA}ts^&)^6DcoM!c z$wzte(;R8VD8AV{j4U=fbL+_D$dytkFjmV%J7zjj>P(1tbM#coSZYcgU*=lVs9>!H P8&$Mw=yYHkFSh>!wYw0) delta 117 zcmV~$PYQuS9LM30?{DVCDD@(;V8_A*tk}pc9Kd1h<{~cP1j+&APnjZwLh(E)q_A9B zzQbutS$k?a(9$t(Y>?@MSBjaNcXcMyg`%$Hy3x^{o*s<#WTIDGxKYrXl0H=RjcYe+ U>PN+(ZUq`6Xz5z*t(*0N#%yKJ1&;g?zwv4=8>nTCJ*nOe)A63KZY|4 A^#A|> diff --git a/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$SevenZipVolumeCallback.class b/resources/extractor-jvm/classes/com/sucukdeluxe/extractor/JBindExtractorMain$SevenZipVolumeCallback.class index 43368bf2544ed356886483d314af2688909e1cc9..c97127d1ec733e14e3ac707fba5a690a1e8068d9 100644 GIT binary patch delta 219 zcmWNL-77wyO^wwlyWC2T+wD*k(W^OlDC^l?P7^G9g}hTx^W}( za!vUM{0sgV_kOpZo}T9ur{nZj)gQ{MizN+E&@ju&P}Bq^i~LIOih5X8z?%K}pW&9e z*;bMr$5k}KuEyEZB>S4-K#Lrz$dNWU)+Q(R+qdqWSr}x!nw5i`SGSAcXZ}(Nt~5wP zDViGPT4O}6ccW=qn&Var+$m36W$ty#gU*Rn!_?$ak=xolS)>0u_3WO$D9fuebd=*w MA@7>v!wQMnf2LC~k^lez delta 219 zcmWNL!Ab&A07dU`qG+0|O`w4UE{uc;L9$v{3TmKMX09q}QIJ?@VHvh@V>uNB@;)S? zALtkQnD)Ny<#5g&N5|1g*In7t3@I&<)+*bIv7;orCUCFkGn!*h9$EA6e)|Q@QdF1& z%ayc7S({Xp;!yh>sX|pXPIN&{4NlG9!nt#1d@t@?n!1;8uFSyuE!-$XQ_Hjz;a2P1 zX@j=yb(G;=c^*`xt79Hj=SgjP>hY{TeZBIcz;0g*%y981GPF!@Q_haVR$M&M@>;sF+c;;P<)IqA&FpsnY~8KcC(k& z-D z;IHpy#|ytbv73lSSbFVn_~R@ZZ#K5ajj?Uwdv%K7`-~HDv%>G!c`N_bnCf~w{6RJP zkiqc>`C;S5_@wAZnYh8h+jxVPs|HKqsnpe80_}rq|g|qTXXD=!(aA5KYo!hCAsqa!>=Og?o zboXDl(pTG9SY21&;Gg1aG$)U#r5`fIq!y+XUEsUOmtE_ttIjTKYN)BJ9;ZzAvCf|; z)AdrOn^}}!Hmj&mSnvwVeQ`D-4`nqcO3SVR6s``d1wZ%_5|C@g{mL{byJ;~Jj zd`Mim)Zf@e(`4h{m~0rTT-La9xlIUmt!${YiD0;EBRkI%t1e-@kjb8(H#@JOv~*^v zO*BYcPx;Ttql9Iwi*CoK{A4mvX@+H7jh=n@O@RfmGturLVG~ zqp``?(9}4$rfI27`Y~zU%8SJ5;xbnB@7FH@D$rrOBuRfwl67&*0H(3VFwQg<=(=&Z z|Fl4o4ALbL zwZ6ut!n!K|#WT-`uy9?WO)?>@JJlxH2#z!bkPS8&&JN8T8Q6^MEylgVYcrrOH;MHXu4TZm}{Y`mG8tZFUHu-1yl)e+NbGA(;;!$Cf zJSKhNd|&1zd71MTc(XiUDN}UGr%wPitexVktFNo6^woxNc#QLvg41-Fu9(_uV8ptr z`c=SkiOkUDY&xvqePNWss2zJ1>rx^!jRyB1KF7GtJs`GBm)S}%E3mm-t(v3DTshBp z#XY!mp7K<-gC39yT^7(*FsKEx=J;w?`faiZW|(!pugZyZqVsB4uyC zjpp`UaTh@o>2;gjY3v>B=1s=Y!F^-yL6mn1=|11Tw6@76_Zf~MiT&;e#^%C=p;7nw zD;wN4`KvL0h-=`3x;&&@?SN**P{mgb`)AN#JDl){E|1D~W7QD13%Ng{G=I_LyeVfF zl;p#a)$*7wk4wS7XON#1He;XZXIX@jd`)m+=hqw34<1FD(DWFR+T=;bf&;vddTUHO7w{ zTQU|dR%>G;l~36xD|fp#LO@-RACPGD6GSvo*0 zntTJ!8pSNsD8mkhPU?#QIc`*DZtyE63n>=A1!SYCn4JbD)5$|KD2L9bkyM0Di@~x4 z8_xurSzs}n^64Bf#O`u%%ypB9xbAB^3iTu{MQjpxydE*= z(b99@HKBcXPR+hu0@#>KFhF!6Hf@BGO_WTlu<^x|N~^K)Ww80>*!T)46oA-k!2U|i zUPaf?I=YUorrYQbbO*lfqxH0puB8JQeSvPIw`c>sPdCx$bTeRZ3;jX{{YJNO1l`Vw z^k*JG%>hoOjhs$*axUG)6KE3`&}N=R_wpRt!i(sBu0qnSrU$r|9^`u3#;fUJzM3B4 z8|hKLmA3PrX(!)FkMkyajPIdV-b%apL2Bb|^aMXjExZHsLCo*Md^_g%V*VM-KZp6} zX>L0oq9^$s+RaC44}V5``2-!{f6+evo}S?jdRFYTUvzq2deIBgmtK}QdQ}qW6-lJm zB$-~40T>&Mu~dwCFqTP&;LPE0HB>at{=t544+pq^Id;tojABC-L`JX8MhzsDpd6a1vVroW)koC|^UCp#H>?wY-+|t6k%gU`Sysyj) zgV|h~*Y2|K9_6r%iinAbaoj^=0xo+@#Bi_f3b$K={M>miyoI<&n%pB5f5`Q~c5kFB z(ra56!CN~HbWw8`vE3xLpCY!q!h(EoD}{L-F57;xxomiM+4pp>(99KDpnC~oriI=> zowy+K9Dg$;?ky(c*BA$+uU?Iiw3>t{kna#-e$XL_)9Gc6ssfy2~dY(^L zaRuGV3y|g(A`2}>w(+6GTS9MgCB22L_7296a1DJH;0x$mUdGI|U{{9-spoiZL}WCX zA%Bn}PbxH&Ov1lkN&RYk{jZd+@ivWjbf6CCCJ0N^j5!&a(d1{1D)0+Ur~}n6@{DAG z9&{Q%sQ_5fK@ns>BXx+FXt7C!Lis2GqO=*!LNQ z!J_mQzB0(yIQfMjzqFCUEZaOmI$E5upBw<$Yvu@E-YCgDpeEBT=|NhrRR#HNqi%dM zziZq$en{YLmo>=mH&c$wjyGB#MmMZKi16NPYM(l!WR!jPIgc-UPwNoRwInWXp$aswImBBdt@u z7O~t6z8&o#B-5Gm0FKEJpkY zM1B+^@1Wk?LW6lHeA8;OiKMXblhhwp<=%=JHG~jnWKWDcUu@|iAeiQAk%*q3=}w6P z_L}L5|3;pIs73vBfv!Yh(Q9>CO)s@mYBK;xDkPFg~7(6}A>=Shm=r_ed?fwp^r#C`D3 zGc<;ur77ra3itqW(et!`57LrqegR48C0fHT1BtJooq83m(`!gduhWbC2EEO1;!uB> zKEnJL{Elh5S!6#+@vvOfNpbZASz_!+4J!BBybd)M>9VPz zqsE(g1N00yDn<|T*-ptacyer9jyK8`rI_||0RzZ3@tLk(ifPW|l)x}hBikefDW#RG z_du~wnz)FPAoPc%@kbQJA5$uSN}1>;NAc%0mXFgU{wGaFXIaSK&^i1q&EfB85jxBz z{1eqc=@tAlt>$0o20n@Q_cyu^o#!^h*BiogM1(#S3;itCK5W6=Q#h`h?6}gy4HF{r zP)L#DZiN_b&x}F-2>s2KMumCh!k4lK?VhKp_6roCn&jqB0k?RmQ6_t3|?mi z*p6d(#6}v}&XwhzNOsC-D2(y3r}S0_vykFhDsM{^?izZLF1^VqeJD-V7-{0{}Q$ytU&5hR*u$p-E;)*)z})94&?}lS|s^Sb1hftK=w*1toQ| zH!L$K1>SHKqy=8BO{O*jJ?LyyiBRYX_u4RMJdz(5DBMWnUG`1`xoj{@ixh>-1Kt}c z`84~@!b}g)xWZIGgv>XUdgC>jG;vdJoFw995T&4j&6FWD8ZMk5X)v9KiY1+9O9suu z>B1+@EV@Xt={m`w78!EQ-v8*&(d>dW__fI}>%~e^Yl07Si|}3RtC-!f-XH%ejzh z4h@&{C|BlDp3JAkvcSZ0I9bCoD5ED{aq0>;8ymt&EL0_9lw?IFq#`=Io1*knHtqu@ zNfv{d4`x^bW>wfcKq$$`2Tr6{#4~O;J9iy{U6oDZoZ@$KS({XcKzg>vDHotpZo^!U zd@Dv7C?h-t2Z1HcXqVdZR;epW$38)+pNkBU z-fO4k^7K|&aZ2L;q(S24WRp5P+2Lb?iX&pP46%r?2WRW56j%ja&TJDsxj|E9PK6qh>X4wB@SIn|xC)v8nO zGy4d+7*}bl0k}&Lcb8I(Tt>-qInvG*aAAPTWeru1m$kG?uB5ec72PW9=x({19+yAj zhGRXwDc925ay`8-H_+#@flkOx^o!iWy~M!j{8j|<>KOwAxL)pr?M!%1<%J;$p52>& zXNxTmSXJUqTX+(NpAy#WAf*|QK+MZu%&@~X$Up#NAPwr=ydGPtel!<(LUYR2?TEMs ziqiK7C^9`LrDkHYVQgDbdbA_jjRY7SX+AJ{id85lZ9-1k3~1j=k#Zj;$QE+TR+FuR zEVh%>2MASl=rUZ3sRIn*-VXxd*}p{|?k<}55^TMmgu zp;RnZi@Js@g|;K{6;AQEx)qCtXEmO-N%6QW5Q`nUB;o0p6pyP+u|%LLFTpze!O2hh VT67GYVBHcq$t5q#QKd+)ht`Jd(8 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