-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathChangeLog
17389 lines (12309 loc) · 607 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit a522a226545730551f7e7c2685fab27cf567746c
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:43 +0300
Bump version and soname for 5.8.1
src/liblzma/Makefile.am | 2 +-
src/liblzma/api/lzma/version.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
commit 1c462c2ad86ff85766928638431029cd0b0dc995
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:43 +0300
Add NEWS for 5.8.1
NEWS | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
commit 513cabcf7f5ce1c3ed0619e791393fc53d1dbbd0
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:43 +0300
Tests: Call lzma_code() in smaller chunks in fuzz_common.h
This makes it easy to crash fuzz_decode_stream_mt when tested
against the code from 5.8.0.
Obviously this might make it harder to reach some other code path now.
The previous code has been in use since 2018 when fuzzing was added
in 106d1a663d4b ("Tests: Add a fuzz test program and a config file
for OSS-Fuzz.").
tests/ossfuzz/fuzz_common.h | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
commit 48440e24a25911ae59e8518b67a1e0f6f1c293bf
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:43 +0300
Tests: Add a fuzzing target for the multithreaded .xz decoder
It doesn't seem possible to trigger the CVE-2025-31115 bug with this
fuzzing target at the moment. It's because the code in fuzz_common.h
passes the whole input buffer to lzma_code() at once.
tests/ossfuzz/fuzz_decode_stream_mt.c | 47 +++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
commit 0c80045ab82c406858d9d5bcea9f48ebc3d0a81d
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:42 +0300
liblzma: mt dec: Fix lack of parallelization in single-shot decoding
Single-shot decoding means calling lzma_code() by giving it the whole
input at once and enough output buffer space to store the uncompressed
data, and combining this with LZMA_FINISH and no timeout
(lzma_mt.timeout = 0). This way the file is decoded with a single
lzma_code() call if possible.
The bug prevented the decoder from starting more than one worker thread
in single-shot mode. The issue was noticed when reviewing the code;
there are no bug reports. Thus maybe few have tried this mode.
Fixes: 64b6d496dc81 ("liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used.")
src/liblzma/common/stream_decoder_mt.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
commit 8188048854e8d11071b8a50d093c74f4c030acc9
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:42 +0300
liblzma: mt dec: Don't modify thr->in_size in the worker thread
Don't set thr->in_size = 0 when returning the thread to the stack of
available threads. Not only is it useless, but the main thread may
read the value in SEQ_BLOCK_THR_RUN. With valid inputs, it made
no difference if the main thread saw the original value or 0. With
invalid inputs (when worker thread stops early), thr->in_size was
no longer modified after the previous commit with the security fix
("Don't free the input buffer too early").
So while the bug appears harmless now, it's important to fix it because
the variable was being modified without proper locking. It's trivial
to fix because there is no need to change the value. Only main thread
needs to set the value in (in SEQ_BLOCK_THR_INIT) when starting a new
Block before the worker thread is activated.
Fixes: 4cce3e27f529 ("liblzma: Add threaded .xz decompressor.")
Reviewed-by: Sebastian Andrzej Siewior <[email protected]>
Thanks-to: Sam James <[email protected]>
src/liblzma/common/stream_decoder_mt.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
commit d5a2ffe41bb77b918a8c96084885d4dbe4bf6480
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:42 +0300
liblzma: mt dec: Don't free the input buffer too early (CVE-2025-31115)
The input buffer must be valid as long as the main thread is writing
to the worker-specific input buffer. Fix it by making the worker
thread not free the buffer on errors and not return the worker thread to
the pool. The input buffer will be freed when threads_end() is called.
With invalid input, the bug could at least result in a crash. The
effects include heap use after free and writing to an address based
on the null pointer plus an offset.
The bug has been there since the first committed version of the threaded
decoder and thus affects versions from 5.3.3alpha to 5.8.0.
As the commit message in 4cce3e27f529 says, I had made significant
changes on top of Sebastian's patch. This bug was indeed introduced
by my changes; it wasn't in Sebastian's version.
Thanks to Harri K. Koskinen for discovering and reporting this issue.
Fixes: 4cce3e27f529 ("liblzma: Add threaded .xz decompressor.")
Reported-by: Harri K. Koskinen <[email protected]>
Reviewed-by: Sebastian Andrzej Siewior <[email protected]>
Thanks-to: Sam James <[email protected]>
src/liblzma/common/stream_decoder_mt.c | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
commit c0c835964dfaeb2513a3c0bdb642105152fe9f34
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:42 +0300
liblzma: mt dec: Simplify by removing the THR_STOP state
The main thread can directly set THR_IDLE in threads_stop() which is
called when errors are detected. threads_stop() won't return the stopped
threads to the pool or free the memory pointed by thr->in anymore, but
it doesn't matter because the existing workers won't be reused after
an error. The resources will be cleaned up when threads_end() is
called (reinitializing the decoder always calls threads_end()).
Reviewed-by: Sebastian Andrzej Siewior <[email protected]>
Thanks-to: Sam James <[email protected]>
src/liblzma/common/stream_decoder_mt.c | 75 +++++++++++++---------------------
1 file changed, 29 insertions(+), 46 deletions(-)
commit 831b55b971cf579ee16a854f177c36b20d3c6999
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:42 +0300
liblzma: mt dec: Fix a comment
Reviewed-by: Sebastian Andrzej Siewior <[email protected]>
Thanks-to: Sam James <[email protected]>
src/liblzma/common/stream_decoder_mt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit b9d168eee4fb6393b4fe207c0aeb5faee316ca1a
Author: Lasse Collin <[email protected]>
Date: 2025-04-03 14:34:30 +0300
liblzma: Add assertions to lzma_bufcpy()
src/liblzma/common/common.c | 6 ++++++
1 file changed, 6 insertions(+)
commit c8e0a4897b4d0f906966f5d4d4f662221d64f3ae
Author: Lasse Collin <[email protected]>
Date: 2025-04-02 16:40:22 +0300
DOS: Update Makefile to fix the build
dos/Makefile | 2 ++
1 file changed, 2 insertions(+)
commit 307c02ed698a69763ef1c9c0df4ff24727442118
Author: Lasse Collin <[email protected]>
Date: 2025-03-29 12:41:32 +0200
sysdefs.h: Avoid <stdalign.h> even with C11 compilers
Oracle Developer Studio 12.6 on Solaris 10 claims C11 support in
__STDC_VERSION__ and supports _Alignas. However, <stdalign.h> is missing.
We only need alignas, so define it to _Alignas with C11/C17 compilers.
If something included <stdalign.h> later, it shouldn't cause problems.
Thanks to Ihsan Dogan for reporting the issue and testing the fix.
Fixes: c0e7eaae8d6eef1e313c9d0da20ccf126ec61f38
src/common/sysdefs.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
commit 7ce38b318339d6c01378a77585e08169ca3a604e
Author: Lasse Collin <[email protected]>
Date: 2025-03-29 12:32:05 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 688e51bde4c987589717b2be1a1fde9576c604fc
Author: Lasse Collin <[email protected]>
Date: 2025-03-29 12:21:51 +0200
Translations: Update the Croatian translation
po/hr.po | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
commit 173fb5c68b08a8c1369550267be258132b7760c6
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 18:23:57 +0200
doc/SHA256SUMS: Add 5.8.0
doc/SHA256SUMS | 6 ++++++
1 file changed, 6 insertions(+)
commit db9258e828bc2cd96e3954f1ddcc9d3530589025
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:32 +0200
Bump version and soname for 5.8.0
Also remove the LZMA_UNSTABLE macro.
src/liblzma/Makefile.am | 2 +-
src/liblzma/api/lzma/bcj.h | 2 --
src/liblzma/api/lzma/version.h | 6 +++---
src/liblzma/common/common.h | 2 --
src/liblzma/liblzma_generic.map | 2 +-
src/liblzma/liblzma_linux.map | 2 +-
6 files changed, 6 insertions(+), 10 deletions(-)
commit bfb752a38f89ed03fc93d54f11c09f43fda64bc2
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:32 +0200
Add NEWS for 5.8.0
NEWS | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
commit 6ccbb904da851eb0c174c8dbd43e84da31739720
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
Translations: Run "make -C po update-po"
POT-Creation-Date is set to match the timestamp in 5.7.2beta which
in the Translation Project is known as 5.8.0-pre1. The strings
haven't changed since 5.7.1alpha but a few comments have.
This is a very noisy commit, but this helps keeping the PO files
similar between the Git repository and stable release tarballs.
po/ca.po | 964 ++++++++++++++++++++++++++++++++++++++++++++---------------
po/cs.po | 935 ++++++++++++++++++++++++++++++++++++++++++----------------
po/da.po | 663 ++++++++++++++++++++++++++++++-----------
po/de.po | 7 +-
po/eo.po | 966 +++++++++++++++++++++++++++++++++++++++++++++---------------
po/es.po | 7 +-
po/fi.po | 2 +-
po/fr.po | 916 +++++++++++++++++++++++++++++++++++++++++---------------
po/hu.po | 966 +++++++++++++++++++++++++++++++++++++++++++++---------------
po/ka.po | 7 +-
po/ko.po | 7 +-
po/nl.po | 7 +-
po/pl.po | 7 +-
po/pt_BR.po | 962 ++++++++++++++++++++++++++++++++++++++++++++---------------
po/sr.po | 2 +-
po/sv.po | 7 +-
po/tr.po | 7 +-
po/uk.po | 7 +-
po/vi.po | 948 +++++++++++++++++++++++++++++++++++++++++++---------------
po/zh_CN.po | 940 ++++++++++++++++++++++++++++++++++++++++++++--------------
po/zh_TW.po | 2 +-
21 files changed, 6209 insertions(+), 2120 deletions(-)
commit 891a5f057a6bb2dd2e3ce5e3bdd7a1f1ee03b800
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
Translations: Run po4a/update-po
Also remove the trivial obsolete messages like man page dates.
This is a noisy commit, but this helps keeping the PO files similar
between the Git repository and stable release tarballs.
po4a/fr.po | 82 +++++++++++++++++++++++++++++++++++++------------------
po4a/pt_BR.po | 88 +++++++++++++++++++++++++++++++++++++++++------------------
po4a/sr.po | 79 ++++++++++++++++++++++++++++++++++-------------------
3 files changed, 167 insertions(+), 82 deletions(-)
commit 4f52e7387012cb3510b01c937dd9b3a0c6a3ac6c
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
Translations: Partially fix overtranslation in Serbian man pages
Names of environment variables and some other strings must be present
in the original form. The translator couldn't be reached so I'm
changing some of the strings myself. In the "Robot mode" section,
occurrences in the middle of sentences weren't changed to reduce
the chance of grammar breakage, but I kept the translated strings in
parenthesis in the headings. It's not ideal, but now people shouldn't
need to look at the English man page to find the English strings.
po4a/sr.po | 66 ++++++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 45 insertions(+), 21 deletions(-)
commit ff5d944749b99eb5ab35e2ebaf01d05a59e7169b
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
liblzma: Count the extra bytes in LZMA/LZMA2 decoder memory usage
src/liblzma/lz/lz_decoder.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 943b012d09f717f7b44284c4e4976ea41264c731
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
liblzma: Use SSE2 intrinsics instead of memcpy() in dict_repeat()
SSE2 is supported on every x86-64 processor. The SSE2 code is used on
32-bit x86 if compiler options permit unconditional use of SSE2.
dict_repeat() copies short random-sized unaligned buffers. At least
on glibc, FreeBSD, and Windows (MSYS2, UCRT, MSVCRT), memcpy() is
clearly faster than byte-by-byte copying in this use case. Compared
to the memcpy() version, the new SSE2 version reduces decompression
time by 0-5 % depending on the machine and libc. It should never be
slower than the memcpy() version.
However, on musl 1.2.5 on x86-64, the memcpy() version is the slowest.
Compared to the memcpy() version:
- The byte-by-version takes 6-7 % less time to decompress.
- The SSE2 version takes 16-18 % less time to decompress.
The numbers are from decompressing a Linux kernel source tarball in
single-threaded mode on older AMD and Intel systems. The tarball
compresses well, and thus dict_repeat() performance matters more
than with some other files.
src/liblzma/lz/lz_decoder.c | 14 ++++++--
src/liblzma/lz/lz_decoder.h | 87 ++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 90 insertions(+), 11 deletions(-)
commit bc14e4c94e788d42eeab984298391fc0ca46f969
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:31 +0200
liblzma: Add "restrict" to a few functions in lz_decoder.h
This doesn't make any difference in practice because compilers can
already see that writing through the dict->buf pointer cannot modify
the contents of *dict itself: The LZMA decoder makes a local copy of
the lzma_dict structure, and even if it didn't, the pointer to
lzma_dict in the LZMA decoder is already "restrict".
It's nice to add "restrict" anyway. uint8_t is typically unsigned char
which can alias anything. Without the above conditions or "restrict",
compilers could need to assume that writing through dict->buf might
modify *dict. This would matter in dict_repeat() because the loops
refer to dict->buf and dict->pos instead of making local copies of
those members for the duration of the loops. If compilers had to
assume that writing through dict->buf can affect *dict, then compilers
would need to emit code that reloads dict->buf and dict->pos after
every write through dict->buf.
src/liblzma/lz/lz_decoder.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
commit e82ee090c567e560f51a056775a17f534d159d65
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:30 +0200
liblzma: Define LZ_DICT_INIT_POS for initial dictionary position
It's more readable.
src/liblzma/lz/lz_decoder.c | 4 ++--
src/liblzma/lz/lz_decoder.h | 9 ++++++---
2 files changed, 8 insertions(+), 5 deletions(-)
commit 8e7cd0091e5239334437decbe1989662d45a2f47
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:30 +0200
Windows: Update README-Windows.txt about UCRT
windows/README-Windows.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
commit 2c24292d341e505e5579fccac3bce5bc71d839ef
Author: Lasse Collin <[email protected]>
Date: 2025-03-25 15:18:15 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 48053c90898fa191a216aefca01626520a7413f4
Author: Lasse Collin <[email protected]>
Date: 2025-03-17 15:33:25 +0200
Translations: Update the Italian translation
po/it.po | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
commit 8d6f06a65f50358fad13567f5dd8af41ef1d2b58
Author: Lasse Collin <[email protected]>
Date: 2025-03-17 15:28:56 +0200
Translations: Update the Portuguese translation
The language tag in the Translation Project is pt, not pt_PT,
thus I changed the "Language:" line to pt.
po/pt.po | 1045 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 526 insertions(+), 519 deletions(-)
commit c3439b039f46fe547ad603e16dc3bd63c1ca9b0c
Author: Lasse Collin <[email protected]>
Date: 2025-03-14 13:02:21 +0200
Translations: Update the Italian translation
po/it.po | 1020 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 516 insertions(+), 504 deletions(-)
commit 79b4ab8d79528dd633a84df2d29e63f5d13ccbdf
Author: Lasse Collin <[email protected]>
Date: 2025-03-12 20:48:39 +0200
Translations: Update the Italian man page translations
Only trivial additions but this keeps the file in sync with the TP.
po4a/it.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 515b6fc8557825e1335012b3b1c8cf71e2c38775
Author: Lasse Collin <[email protected]>
Date: 2025-03-12 19:38:54 +0200
Translations: Update the Italian man page translations
po4a/it.po | 129 ++++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 77 insertions(+), 52 deletions(-)
commit 333b7c0b776295f0941269b4e6cdb1a0ba5f6218
Author: Lasse Collin <[email protected]>
Date: 2025-03-10 21:00:31 +0200
Translations: Update the Korean man page translations
po4a/ko.po | 139 +++++++++++++++++++++++++++++++++++--------------------------
1 file changed, 80 insertions(+), 59 deletions(-)
commit ae52ebd27dc0be5e1ba62fb0c45255d8563fcd88
Author: Lasse Collin <[email protected]>
Date: 2025-03-10 20:56:57 +0200
Translations: Update the German man page translations
po4a/de.po | 102 ++++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 63 insertions(+), 39 deletions(-)
commit 1028e52c93d2292b44ff7bae8e721025d2f2c94d
Author: Lasse Collin <[email protected]>
Date: 2025-03-10 13:13:30 +0200
CMake: Fix tuklib_use_system_extensions
Revert back to a macro so that list(APPEND CMAKE_REQUIRED_DEFINITIONS)
will affect the calling scope. I had forgotten that while CMake
functions inherit the variables from the parent scope, the changes
to them are local unless using set(... PARENT_SCOPE).
This also means that the commit message in 5bb77d0920dc is wrong. The
commit itself is still fine, making it clearer that -DHAVE_SYS_PARAM_H
is only needed for specific check_c_source_compiles() calls.
Fixes: c1ea7bd0b60eed6ebcdf9a713ca69034f6f07179
cmake/tuklib_common.cmake | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
commit 80e48836024ec2d7cbd557575be6da3d1f055cba
Author: Lasse Collin <[email protected]>
Date: 2025-03-10 11:38:55 +0200
INSTALL: Document -bmaxdata on AIX
This is based on a pull request and AIX docs. I haven't tested the
instructions myself.
Closes: https://github.com/tukaani-project/xz/pull/137
INSTALL | 5 +++++
1 file changed, 5 insertions(+)
commit ab319186b6d0454285ff4941a777ac95e580f60f
Author: Lasse Collin <[email protected]>
Date: 2025-03-10 11:37:19 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 4434671a04436038f88ab0feaa251cc8d7abb683
Author: Collin Funk <[email protected]>
Date: 2025-03-09 19:14:31 -0700
tuklib_physmem: Silence -Wsign-conversion on AIX
Closes: https://github.com/tukaani-project/xz/pull/168
src/common/tuklib_physmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 18bcaa4fafc935d89ffde94301fa6427907306bf
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 22:10:38 +0200
Translations: Update the Romanian man page translations
po4a/ro.po | 110 ++++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 66 insertions(+), 44 deletions(-)
commit 1e17b7f42fe2f9df279f44ad7043d3753cd00363
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 21:28:15 +0200
Translations: Update the Croatian translation
po/hr.po | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
commit ff85e6130d5940896915cdbb99aa9ece9d41240b
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 21:23:34 +0200
Translations: Update the Romanian translation
po/ro.po | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
commit a5bfb33f30f77e656723d365db8b06e089d3de61
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 21:11:34 +0200
Translations: Update the Ukrainian man page translations
po4a/uk.po | 107 ++++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 64 insertions(+), 43 deletions(-)
commit 5bb77d0920dcf949d8eb04eb19204b7b199e42df
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 14:43:07 +0200
CMake: Use cmake_push_check_state in tuklib_cpucores and tuklib_physmem
Now the changes to CMAKE_REQUIRED_DEFINITIONS are temporary and don't
leak to the calling code.
cmake/tuklib_cpucores.cmake | 3 +++
cmake/tuklib_physmem.cmake | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
commit c1ea7bd0b60eed6ebcdf9a713ca69034f6f07179
Author: Lasse Collin <[email protected]>
Date: 2025-03-09 14:06:35 +0200
CMake: Revise tuklib_use_system_extensions
Define NetBSD and Darwin/macOS feature test macros. Autoconf defines
these too (and a few others).
Define the macros on Windows except with MSVC. The _GNU_SOURCE macro
makes a difference with mingw-w64.
Use a function instead of a macro. Don't take the TARGET_OR_ALL argument
because there's always global effect because the global variable
CMAKE_REQUIRED_DEFINITIONS is modified.
CMakeLists.txt | 2 +-
cmake/tuklib_common.cmake | 27 +++++++++++++++------------
2 files changed, 16 insertions(+), 13 deletions(-)
commit 4243c45a48ef8c103d77b75d9f93d48adcb631db
Author: Lasse Collin <[email protected]>
Date: 2025-03-08 14:54:29 +0200
doc/SHA256SUMS: Add 5.7.2beta
doc/SHA256SUMS | 3 +++
1 file changed, 3 insertions(+)
commit cc7f2fc1cf9f3c63cbce90ee92bfbb004f98140b
Author: Lasse Collin <[email protected]>
Date: 2025-03-08 14:29:57 +0200
Bump version and soname for 5.7.2beta
src/liblzma/Makefile.am | 2 +-
src/liblzma/api/lzma/version.h | 4 ++--
src/liblzma/liblzma_generic.map | 2 +-
src/liblzma/liblzma_linux.map | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
commit 62e44b36167de27541776dcf677ed04077c9fd19
Author: Lasse Collin <[email protected]>
Date: 2025-03-08 14:24:38 +0200
Add NEWS for 5.7.2beta
NEWS | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
commit 70f1f203789433b5d7b8b22e1655abc465d659f7
Author: Lasse Collin <[email protected]>
Date: 2025-03-08 14:23:00 +0200
COPYING: Remove the note about old releases
COPYING | 19 -------------------
1 file changed, 19 deletions(-)
commit db9827dc38ff79de747a6fc7a99619e961dbc5e6
Author: Lasse Collin <[email protected]>
Date: 2025-03-08 14:22:28 +0200
xz: Update the man page about the environment variables again
src/xz/xz.1 | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
commit 99c584891bd1d946561cebded2226df9b83f1efb
Author: Lasse Collin <[email protected]>
Date: 2025-03-06 19:26:09 +0200
liblzma: Edit spelling in a comment
It was found with codespell.
src/liblzma/api/lzma/container.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 7a234c8c05a8f64efde013cd6a6d31a90b7d0d28
Author: Lasse Collin <[email protected]>
Date: 2025-03-06 19:14:23 +0200
xz: Update the man page about the environment variables
src/xz/xz.1 | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
commit 808f05af3ef40730d40b3798666757bd866484f1
Author: Lasse Collin <[email protected]>
Date: 2025-03-06 17:37:39 +0200
Docs: Add a few TRANSLATORS comments to man pages
All translators know that --command-line-options must not be translated.
With some other strings it's not obvious when the untranslated string
must be preserved. These comments hopefully help.
src/scripts/xzmore.1 | 2 ++
src/xz/xz.1 | 22 ++++++++++++++++++++++
2 files changed, 24 insertions(+)
commit 051de255f00dda331e2a6fa189a6e7fe56a7c69b
Author: Lasse Collin <[email protected]>
Date: 2025-03-06 16:34:32 +0200
Scripts: Mark the LZMA Utils script aliases as deprecated
The deprecated aliases are lzcmp, lzdiff, lzless, lzmore,
lzgrep, lzegrep, and lzfgrep. The commands that start with
the xz prefix have identical behavior, for example, both
lzgrep and xzgrep handle all supported file formats.
This doesn't affect lzma, unlzma, lzcat, lzmadec, or lzmainfo.
The last release of LZMA Utils was made in 2008, but the lzma
compatibility alias for the gzip-like tool is still in common use.
Deprecating it would cause unnecessary breakage.
src/scripts/xzdiff.1 | 5 ++++-
src/scripts/xzgrep.1 | 6 +++++-
src/scripts/xzless.1 | 4 +++-
src/scripts/xzmore.1 | 4 +++-
4 files changed, 15 insertions(+), 4 deletions(-)
commit 4941ea454c02cf15a64d6434a0778fc2a81282fc
Author: Lasse Collin <[email protected]>
Date: 2025-03-02 21:13:04 +0200
Translations: Add Serbian man page translations
po4a/po4a.conf | 2 +-
po4a/sr.po | 3892 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 3893 insertions(+), 1 deletion(-)
commit d142d96f24daa451edaabfca8594e202932b3c0b
Author: Lasse Collin <[email protected]>
Date: 2025-03-02 20:42:14 +0200
Translations: Update Georgian translation
po/ka.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 9b7e45d841195c8fd8d286e26f810df28c53dd16
Author: Lasse Collin <[email protected]>
Date: 2025-02-28 21:07:21 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 9351592710e0df3238b09d39c545a643c50ac88f
Author: Lasse Collin <[email protected]>
Date: 2025-02-22 16:04:58 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 9023be7831faca2f28def55e16c39e3a42e1e262
Author: Lasse Collin <[email protected]>
Date: 2025-02-19 16:33:52 +0200
Translations: Update the Croatian translation
po/hr.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
commit 2eaf242c56e8c65db83d48b018fa44aeafeb33a5
Author: Lasse Collin <[email protected]>
Date: 2025-02-17 21:46:15 +0200
Build: Fix out-of-tree builds when using the replacement getopt_long
Nowaways $(top_builddir)/lib/getopt.h depends on headers in
$(top_srcdir)/lib, so both have to be in the include path.
CMake-based build already did this.
Fixes: 7e884c00d0093c38339f17fb1d280eec493f42ca
src/lzmainfo/Makefile.am | 6 ++++--
src/xz/Makefile.am | 6 ++++--
src/xzdec/Makefile.am | 6 ++++--
3 files changed, 12 insertions(+), 6 deletions(-)
commit 41322b2c60cd2c67a1053cb40d27e573420185b7
Author: Lasse Collin <[email protected]>
Date: 2025-02-17 18:25:52 +0200
m4/getopt.m4: Remove an outdated comment
m4/getopt.m4 | 3 ---
1 file changed, 3 deletions(-)
commit 03c23a4952bce1b50a1d213ca2d1c15acd76a489
Author: Lasse Collin <[email protected]>
Date: 2025-02-17 18:11:58 +0200
Build: Allow forcing the use of the replacement getopt_long
Now one can pass gl_replace_getopt=yes to configure to force the use
of GNU getopt_long from the lib directory. This only checks that the
value of gl_replace_getopt is non-empty, so one cannot force the
replacement to be disabled.
Closes: https://github.com/tukaani-project/xz/pull/166
m4/getopt.m4 | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit c23b837d15960ecc0d537f0260f389904e1e7f02
Author: Lasse Collin <[email protected]>
Date: 2025-02-17 18:11:42 +0200
Update THANKS
THANKS | 1 +
1 file changed, 1 insertion(+)
commit 2672a38f1159babf9ba3cca429f644bb823a8bdd
Author: Lasse Collin <[email protected]>
Date: 2025-02-12 19:23:31 +0200
Update THANKS
THANKS | 2 ++
1 file changed, 2 insertions(+)
commit 4fdcbfaf3f222299747c6a815762a74eeb1b0b23
Author: Lasse Collin <[email protected]>
Date: 2025-02-11 12:13:41 +0200
Update THANKS
THANKS | 3 +++
1 file changed, 3 insertions(+)
commit 0d553568f1af9a35779ecac41392a6c871786930
Author: Lasse Collin <[email protected]>
Date: 2025-02-08 11:39:08 +0200
Translations: Update the Polish translation
po/pl.po | 802 ++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 464 insertions(+), 338 deletions(-)
commit 9f165076aebb3b5115d2b6520529db8fa11a6bdd
Author: Lasse Collin <[email protected]>
Date: 2025-02-07 19:12:03 +0200
Docs: Update TODO a little
TODO | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
commit f5aa292c534f87b9dd588e667d1c65ed31e5f289
Author: Lasse Collin <[email protected]>
Date: 2025-02-07 18:50:56 +0200
Add researcher credits of CVE-2022-1271 and CVE-2024-47611 to THANKS
These are specific phrases that were included in the advisories and
NEWS. It's nice to have them in THANKS as well.
THANKS | 4 ++++
1 file changed, 4 insertions(+)
commit 7cf463b5add70e3fb48a10de3965c8beb6c01ad9
Author: Lasse Collin <[email protected]>
Date: 2025-02-07 18:43:00 +0200
Update THANKS
THANKS | 5 +++++
1 file changed, 5 insertions(+)
commit 6b7fe7e27b77038592e2c2e31df955059dda7d1d
Author: Lasse Collin <[email protected]>
Date: 2025-02-04 14:12:46 +0200
Docs: Update the "Translations" section in README
Make it clearer that translations cannot be accepted if they don't
come via the Translation Project.
Column headings have been handled automatically for years and now --help
is autowrapped too, so the related instructions can be removed.
README | 107 ++++++++++++++++++++++++-----------------------------------------
1 file changed, 39 insertions(+), 68 deletions(-)
commit 2c7aee94936babf84b61b55420e503a0b2629ec1
Author: Lasse Collin <[email protected]>
Date: 2025-02-04 13:23:53 +0200
debug/translations.bash: Revise a little
Make it work for out-of-tree builds without requiring one to specify
the location of the xz executable.
Add xz --filters-help.
Make the output shorter by reducing the number of xz -lvv test files.
Show the value of LANGUAGE environment variable.
Show the xz.git version using git describe --abbrev=8 instead of =4.
debug/translation.bash | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
commit c6b15e7045209002bbbf4979c48072af01c20d8d
Author: Lasse Collin <[email protected]>
Date: 2025-02-04 13:20:52 +0200
Build: Use "git describe --abbrev=8" in snapshot tarball names
8 is more likely to be reproducible than the old 4 without being
excessively long for a small repository like this.
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 0ce97987c5b27cfb6f98984e5fd7477880e0cf33
Author: Lasse Collin <[email protected]>
Date: 2025-02-04 19:37:17 +0200
Update THANKS
THANKS | 2 ++
1 file changed, 2 insertions(+)
commit 353c33355cb12e5016d49052fd1e90d15568aa37
Author: Lasse Collin <[email protected]>
Date: 2025-02-03 16:29:31 +0200
Translations: Update the Serbian translation
po/sr.po | 805 ++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 458 insertions(+), 347 deletions(-)
commit 887dc281885052bced32b3aa309506ea58a2e78e
Author: Lasse Collin <[email protected]>
Date: 2025-02-03 16:15:38 +0200
Translations: Update Chinese (traditional) translation
Since there are no spaces between words, the unsophisticated automatic
word wrapping code needs some help. Compared to the version in the
Translation Project, I added a few \t characters which the word
wrapping code interprets as zero width spaces (hopefully they are
placed correctly). These edits can be seen with this command:
grep -v ^# po/zh_TW.po | grep --color -F '\t'
po/zh_TW.po | 843 +++++++++++++++++++++++++++++++++---------------------------
1 file changed, 471 insertions(+), 372 deletions(-)
commit 0f1454cf5f460a4095f47f8f73f5a290e9777d7f
Author: Lasse Collin <[email protected]>
Date: 2025-02-03 16:12:44 +0200
Update THANKS
THANKS | 2 ++
1 file changed, 2 insertions(+)
commit 23ea031820086d302a213be005a091df763b8a7b
Author: Lasse Collin <[email protected]>
Date: 2025-02-02 14:15:07 +0200
Build: Update posix-shell.m4 from Gnulib
Tabs have been converted to spaces and a "serial" number has been
added. The previous version was from 2008/2009. There are no functional
changes since then but now it's clearer that the copy in XZ Utils
isn't outdated.
The new file was picked from the Gnulib commit
81a4c1e3b7692e95c0806d948cbab9148ad85ef2. A later commit adds
a warranty disclaimer to the license, which obviously is fine,
but I didn't find a SPDX license identifier for the new license,
so for simplicity I used the earlier commit.
m4/posix-shell.m4 | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
commit 84c33c0384aa4604ff7956f2fae6f83ea60ba96b
Author: Lasse Collin <[email protected]>
Date: 2025-02-02 12:51:03 +0200
Build: Check for -fsanitize= also in $CC
People may put -fsanitize in CC instead of CFLAGS so check both.
Landlock sandbox isn't compatible with sanitizers so it's nice
to catch the incompatible options at configure time.
Don't attempt to do the same in CMakeLists.txt; the check for
CMAKE_C_FLAGS / CFLAGS shall be enough there. The extra flags from
the CC environment variable go into the undocumented internal variable
CMAKE_C_COMPILER_ARG1 (all flags from CC go into that same variable).
Peeking the internal variable merely for improved diagnostics isn't
worth it.
Fixes: 88588b1246d8c26ffbc138b3e5c413c5f14c3179
configure.ac | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
commit a7304ea4a7daede9789a8fe422b714e372737120
Author: Lasse Collin <[email protected]>
Date: 2023-09-26 19:11:20 +0300
Build: Remove the FIXME about -Werror checks