-
Notifications
You must be signed in to change notification settings - Fork 52
/
ChangeLog
1745 lines (1522 loc) · 78.2 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
2024-08-07
* fix windows crossgcc builds
* fix ZIP64 trailer and ZIP64 extras being too short sometimes #169 #170
* release 0.13.78
2024-06-24
* make afl to check for fuzzer bugs
* ensure that make tests removes the intermediate images
* update os versions to latest from docker_mirror.py
* release 0.13.77
2024-06-12 gdraheim@github
* make new should be make-verbose
* add missing tests scenarios for later os releases
2024-05-29 gdraheim@github
* fix Coverage include hack
* integrate mxe/src/zziplib-2-prefer-win32-mmap.patch
* make crossgcc/windows a working example for mingw
2024-05-28 gdraheim@github
* `./testbuilds.py clean` will drop test-related docker images
* `./testbuilds.py` will automatically run clean if everything successful
* `./testbuilds.py help` shows the available tests and commands
* in test_2xx create /external bins and compile them by linking via cmake-configs
* fix bins/CMakeLists.txt to show realistic usage of cmake find_package
* note: it seems bins/unzzip*.c use internal headers which external programs can't
2024-05-27 gdraheim@github
* move definitions form zzip/stdint.h to zzip/cstdint.h
* note: some includepaths made zzip/stdint.h be found as stdint.h
* move some definitions from zzip/__hints.h to zzip/cdecl.h
* make zzip/cdecl.h use gcc's ansidecl.h definitions if found
* remove zzip/__hints.h in public headers - use zzip/cdecl.h instead
* the __*.h files were not meant to be installed
* some distros have installed them anyway - that should be dropped
* the "make format" will check for __*.h in public headers as well
* note: this should help to avoide it creep in again
* add "make bins" to ensure testing compilation of those binaries
* add PACKAGE_NAME and PACKAGE_VERSION to _msvc.h
* release 0.13.76
2024-05-26 gdraheim@github
* add bins/*.c and test/*.c to make format
* for bins/ --version shorten the automatic binary name #156
* simplify bins/ ssize_t construction
* tested 'make nextversion' to ensure version number is increased
* note: last 0.13.74 was internally still named 0.13.72
* integrate opensuse patch for -Wwrite-strings for GCC4.1+
* switch to mypy minimum of python3.8
* fix dbk2man regression (from typehints changes)
* fixed again cmake bug - parallel builds can lead to race condition
* removed ubuntu1604 testbuilds - python3.5 is too old
* ubuntu2404 is ready - was waiting for sdl-dev in universe
* release 0.13.75
2024-04-16 gdraheim@github
* add -DCOVERAGE=ON cmake option
* allow for 'make coverage' summary
* run 'make new check coverage' to see the result
2024-04-10 gdraheim@github
* add DEVGUIDE.md and prep release process
2024-04-09 gdraheim@github
* change zzipdoc to python3 typehints
* allow for make types check on python
* remove unused make-doc.py make-doc.pl
2024-02-29 gdraheim@github
* disabled local file header offset64
* allowed to 'make fortify' for extended debugging ... -DFORTIFY=ON
* fixed all memleak bugs from address sanitizer
* fixed ZIP64 bugs - but the support is still incomplete
* fixed remaining failures as they were recorded in testsuite
* release 0.13.74
2024-02-28 gdraheim@github
* fixed last cmake bug - parallel builds can lead to race condition
* abolished centos8 testbuilds and prepared ubuntu24
* integrated some github patches
* prepare autoformat with clang-format (not yet enforced)
* release 0.13.73
2023-03-12 gdraheim@github
* Switched docs from .htm to .md format. The mksite to .html is retained.
* Some cmake patches were included. Specifically MacOS seems to be special.
* Automated builds changed from azure-pipelines to github/workflows
* Added typehints and pep8 check for the python parts of the tools and tests
* Can still update automake for now. Continues the testbuilds.py comparison.
2021-01-04 gdraheim@github
* The testbuilds were fixed to make cmake install and automake install the same
* The cmake install did need patches for man3 installation on Unix
* The cmake install did need patches for dll installation on Windows
* The cmake install did need patches for dylib installation on MacOS
* The cmake install did need patches for pkgconfig generation
* Bump testbuilds to modern distro versions (ubuntu 20.04 centos 7.9 / 8.3)
* Takeover docker_mirror.py for air-gap testings (for testbuilds.py)
* handle UNZZIP-NOTFOUND in cmake and mark Ubuntu 'unzip' to be broken
* merge patches for zzip_pread feature from Max Kellermann
* merge patches for some bugs being found and reported via GitHub issues
* run azure-pipelines with -DZZIP_TESTCVE=OFF to skip CVE *.zip downloads
* use zziptests.py --downloadonly to get the CVE zip files for local storage
* The ninja builds for cmake were run regularly as it seems to be widely used.
* AND ... rename configure.ac to old.configure.ac to break outdated packaging scripts
* ....... see testbuilds/*-am-*.dockerfile that it still works to rename them back
* release 0.13.72
2020-04-14 gdraheim@github
* The testbuilds allow to compile and test for different os via docker
* The testbuilds allow to compare new cmake to automake install results
* Found fixes to bring base, sdl, manpages and site docs to same level
* release 0.13.71
2020-04-14 gdraheim@github
* there have been tons of bugfixes over the last two years ...
* Thanks go to Patrick Steinhardt (then at Aservo) for python3 updates
* Thanks go to Josef Moellers (working at SUSE Labs) for many CVE fixes
* and of course all the other patches that came in via github issues.
* I have cleaned up sources to only uses Python3 (as needed by 2020).
* !!! The old automake/autconf/libtool system will be dumped soon!!!
* The build system was ported to 'cmake' .. (last tested cmake 3.10.2)
* release 0.13.70
2018-03-15 guidod <guidod@gmx.de>
* fix a number of CVEs reported with special *.zip PoC files
* man-pages are generated with new dbk2man.py - docbook xmlto is optional now
* completing some doc strings while checking the new man-pages to look good
* allow the zziptests.py testsuite to run with an installed /bin path
* try to fix some issues on testing with non-installed binaries on non-linux platfors
* update autotools to allow compiling on some newer Mac / Win machines
* a zip-program is still required for testing, but some errors are gone when not there
* complete the approximation of fnmatch for the test binaries (on platforms without)
* allow windows __mmap.h to be simpler, helping with some problems on MingW
* integrate 'fopen("wb")' from TexLive to be more portable across
* more portability as well for helpers like strnlen being used in the sources
* update doc refs to point to github instead of sf.net
* update the sf.net pages to have a prominent hint on newer github.com location
* release v0.13.69
2018-02-02 guidod <guidod@gmx.de>
* fix a number of CVEs reported with special *.zip files
* the testsuite has been expanded to cover all the CVEs
* some minor doc updates referencing GitHub instead of sf.net
* release v0.13.68
2017-06-11 guidod <guidod@gmx.de>
* fix portability issues by introducing <zzip/__errno.h>
* fix portability issues by introducing <zzip/__mkdir.h>
* fix portability issues by introducing <zzip/__string.h> for strndup
* reuse portability header <zzip/__fnmatch.h> in bins/*.c
* release v0.13.67
2017-04-24 guidod <guidod@gmx.de>
* common frontend 'unzzip.c' for example code in unzzip*-xx.c
* expand testcases to cover all of big/mem/mix/zap variants
* release v0.13.66
2017-04-23 guidod <guidod@gmx.de>
* turn the testsuite from makefile into python unittest format
* extend 'make check' testsuite to cover non-libzzip extensions
* fix unzzipcat-seeko and unzzipcat-mem to match the testsuite
* release v0.13.65
2017-04-20 guidod <guidod@gmx.de>
* check patches in opensuse builds, mostly for some CVE reports
2012-09-15 guidod <guidod@gmx.de>
* zzip.h, plugin.h: "};" at end of extern-C produces build errors with
the default --pedantic-errors on newer CMake. Thanks to Keith Thompson
recognizing it - see http://stackoverflow.com/questions/12384280/
2012-03-11 guidod <guidod@gmx.de>
* configure.ac: fallback to libtool -export-dynamic unless being sure to
use gnu-ld --export-dynamic. The darwin case is a bit special here
as the c-compiler and linker might be from different worlds.
* next 0.13.62 - needs a fix for mingw
(-mconsole is not a linker option, only the gcc should see it)
2010-12-30 guidod <guidod@gmx.de>
* done 0.13.60 release, tagged, and announced.
* prepare 0.13.61
2010-12-29 guidod <guidod@gmx.de>
* Makefile.am: allow nonstaic build
* wrap fd.open like in the Fedora patch
2010-12-28 guidod <guidod@gmx.de>
* zziplib.spec - simplify the spec based on distro specs.
2010-12-27 guidod <guidod@gmx.de>
* adding fetch.h/fetch.c to msvc8/zziplib.vcproj to allow
tests with Visual Studio C++ Express 2005
2010-12-27 guidod <guidod@gmx.de>
* fix stat.c to check ZZIP_CASELESS instead of the deprecated
ZZIP_CASEINSENSITIVE. The latter is still recognized for
compatibility reasons and implicitly mapped to ZZIP_CASELESS.
* fixes the zziplib-Patches-3078188 which reported the bug.
2010-12-27 guidod <guidod@gmx.de>
* apply patches by Peter Breitenlohner for better compatibility
with AIX host system. Also the Sun Studio compiler insists on
static inline functions or else assumes extern inline.
* also fixes zziplib-Patches-3011551 on the AIX problem.
2010-12-27 guidod <guidod@gmx.de>
* add hints that the ext_io plugin handlers should be static.
2010-05-09 guidod <guidod@gmx.de>
* zzip/__fnmatch.h: add include <string.h> to make mingw32 happy.
Patches item #2995373 by Gregory Smith
2010-05-08 guidod <guidod@gmx.de>
* SDL/Makefile.am: fix generation of sdl-uninstalled.pc that was
not recognized during compilation.
2010-04-05 guidod <guidod@gmx.de>
* Makefile.am: fix "osc rm" and fix "test-sdl" if SDL was not found.
* configure.ac: SDL example builds on pkgconfig/sdl.pc which
was introduced with SDL 1.2.11 - CentOs5 ships 1.2.10 which
does only have "sdl-config" and it made for a mismatch in
in the build configuration: sdl-devel yes, pkgconfig sdl no.
* zzip/zip.c (__zzip_parse_root_directory): move the check for
zzip_disk_entry_check_magic to be after the the check that
the seek-value is more than a header's size before the end.
(based on a segfault report by Tulipánt Gergely when the
new modulo_entries code is enabled (which is off by default))
2010-03-30 guidod <guidod@gmx.de>
* zzip/Makefile.am: fixing symlinks for lib* - use only for Linux
Thanks to Ryan Schmidt (macports):
... likes to install some symlinks that don't make sense on Mac OS X:
$ ls -l /opt/local/lib/*zzip*so*
lrwxr-xr-x /opt/local/lib/libzzip*.so.10 -> libzzip*.so.13
lrwxr-xr-x /opt/local/lib/libzzip*.so.11 -> libzzip*.so.13
lrwxr-xr-x /opt/local/lib/libzzip*.so.12 -> libzzip*.so.13
Yes, the filenames literally contain an asterisk.
* prepare 0.13.60
2010-03-29 guidod <guidod@gmx.de>
* Makefile.am: change osc to new home:guidod:zziplib-13
* configure.ac: update to autoconf 2.61 which does some things differently
* m4/ax_pax_tar.m4: bug report http://trac.macports.org/ticket/24227
showed a problem on MacOsX where some "pax" tools where advertising
an "-O" option in their "--help" page but it did not work. Therefore
rewriting the macro to actually test some "-w -O" to create a tarfile.
2010-03-26 guidod <guidod@gmx.de>
* zzip/dir.c: and zzip/file.c - adding comments to the compat32
functions such that they appear near their off_t variants.
Also added the ifdef-EOVERFLOW check that is needed on Win32.
2010-03-25 guidod <guidod@gmx.de>
* Makefile.mk: add "-I m4" and re-autoconf with newest autotools.
* zzip/zzip32.h: introducing compat32 functions that take "long"
arguments where the others use "off_t". Basically, there are
two calls per each off_t-function on all systems where
previously that had been only done for those 64on32 systems.
This scheme maximized binary compatibility - if an application
can not be compiled with _LARGEFILE_SOURCE then they can use
the compat32 variants to be always sure to do the right thing.
2010-02-15 guidod <guidod@gmx.de>
* zzip/Makefile.am: newest "install" does not like to install fetch.h
three times ("...not overwite... it just installed")
* Makefile.am: allow to build locally with "osc" (opensuse buildservice)
2010-02-14 guidod <guidod@gmx.de>
* zzip/Makefile.am: use install-*-hook instead of install-*-local
* docs/Makefile.am: PYTHONDONTWRITEBYTECODE=1 to ensure running
python with a read-only source code repository (dynamic workspaces)
NOTE: python -B was introduced with Python 2.6 (so use environment)
* zzip/plugin.c: missing "void"
again thanks to Peter Breitenlohner (tex-live tug org)
* test/Makefile.am: build-zips outside of source tree
* m4/ax_prefix_config_h.m4: reduce error to warning as suggested
* m4/ax_check_aligned_access_required.m4: merging with derived
macro zziplib-aligned-access.m4 by Peter Breitenlohner
2009-09-24 guidod <guidod@gmx.de>
* zziplib.spec: prepare 0.13.59
* configure.ac: add --with-defines to allow compile-definitions
for easy,harden,allow_modulo_entries (also for documentation)
* zzip/zip.c: add ZZIP_EASY to disable the ZZIP_CORRECT_ROOTSEEK
feature
* zzip/zip.c (__zzip_parse_root_directory): add parenthesis to fix
ZZIP_ALLOW_MODULO_ENTRIES (as reported by Tulipánt Gergely)
* zzip/fetch.h: add MSVC defines for x86/x64 that allows direct access
2009-08-23 guidod <guidod@gmx.de>
* Makefile.mk: remove some old stuff related to the compilefarm
* zziplib.spec: prepare 0.13.58
* add ports/symbian-S60/zziplib-symbian.zip (thanks to Rangel Reale)
* switch from CVS to SVN (!!!!) and update some docs/*.htm files
* zzip/mmapped.c (zzip_disk_mmap): compile error on win32-mingw [1771707]
2009-08-16 guidod <guidod@gmx.de>
* configure.ac: reorder ax_gcc_flags as the extra options were
disabled (do not know why) and add -Wstrict-aliasing to the set.
Then fix issues in source files (mostly signed-comparision warnings)
* zzip/file.c (zzip_file_open): ZZIP_CASELESS will include a
mapping of "\" into "/" to get away with windows-orientied
programs. The backslash however is only active for those
windows' binaries. Fixes an issue with non-msvc win32-builds.
2009-08-04 guidod <guidod@gmx.de>
* m4/ac_sys_largefile_sensitive.m4: update, fixes ticket:2825391
* zzip/mmapped.h: zzip/memdisk.h: replace buflen argument
from "int" to "size_t" type for init from some mem area.
2009-08-03 guidod <guidod@gmx.de>
* zziplib.spec: prepare 0.13.57
* bins/zziptest.c: redefine to win32-Sleep() when seen WINDOWS_H
which allows it to compile also with a gcc/mingw/msvcrt target
* bins/Makefile.am: ZZIP_LDFLAGS are not needed for *.exe targets
in fact they make for problems in crosscompiling without libtool
* zzip/fseeko.c: typo "fseeko" -> "fseek" made for a compile error
on systems that do not have fseeko like windows msvcrt
(reported by Josh Heidenreich)
2009-07-03 guidod <guidod@gmx.de>
* zzip/mmapped.c: insert zzip_disk_buffer and
* zzip/memdisk.c: zzip_mem_disk_buffer where both functions
will actually wrap an external buffer (e.g. mmapped from
another resource such as shared memory).
* zzip/mmapped.c and zzip/mmapped.h: uncovered a bug for the
MATCH_NOCASE handling and WRAPPED_BUFFER handling that is
now handled by explicit ->flags values. The actual flag
values are now exported to the header instead of just using
a simple "1".
* ideas for zzip_disk_buffer / zzip_mem_disk_buffer sprang from
a proposal by JP Dai [Goldleaf] who offerd very similar code.
2009-06-27 guidod <guidod@gmx.de>
* zziplib.spec: 0.13.56 - and make build.opensuse.org happy by
removing the %if/%endif sections. (it seems one buildserver
script understands it while the other don't - and effectivly
all variants fail if it is left in. Hopefully no other platforms
have problems with the additional buildrequires that are put here)
* zzip/mmapped.c (zzip_disk_new): malloc(sizof()) was errornously
using a pointer instead of ZZIP_DISK. Not part of libzzip but
of the extra library libzzipmmapped that is in-memory-only.
(problem reported and solution shown by JP Dai [Goldleaf])
* configure.ac: disable search for python2.2 (gentoo bug 275247+174189)
2009-06-22 guidod <guidod@gmx.de>
* zziplib.spec: 0.13.55 and integrate patches for build.opensuse.org
* zzip/zip.c (__zzip_parse_root_directory): rework parse_directory
to allow for ZZIP_ALLOW_MODULO_ENTRIES version as required for
some cases where more than 65535 entries are packed into a
non-ZIP64 archive. The modulo_entries variant is disabled by
default but the know for the problem space was put into code to
check for two more error conditions and report them in debug mode.
(problem space was described carefully by Tulipánt Gergely and
the provided patch was a good foundation for the ifdef code)
* configure.ac: use $can_build_shared from linker-config to allow
build on platforms that do not support a shared library concept
or where it is disabled (the commandline switch overrides it?)
(should fix the SF bug ID 2796485 reported by Giovanni Bechis)
* zzip/file.c: errornous usage of currentfp before setting it to
the new fp value in zzip_seek(). In the good case it would seek
on the wrong file and in the bad case it goes off on sigbus/NPE.
The problem occurs only if two+ zips are accessed simultaneously.
(problem reported and patch kindly provided by Evgeniy Muhin)
* docs/Makefile.am: fixup for newer xmlto may be to generate
a subdirectory "man3" inside of our output directory "man3"
and gard against usage of man3/man3 for the tarball unpacking.
(problem reported by Liu Qi [debian package maintainer])
* zzip/__hints.h: add else-part for ZZIP_GNUC_PACKED
(makes for problems with MSVC as reported by Denny Kunker)
2009-05-24 guidod <guidod@gmx.de>
* zzip/fetch.c - remove SET/GET fetch definitions that already
exist in zzip/fetch.h where they have been corrected lately.
* docs/Makefile.am - change from install-sf via shell.sf.net to
upload-sourceforge via web.sf.net - and alias to "www" shorthand
* docs/referentials.htm - fix typo.
* 0.13.54
2009-05-23 guidod <guidod@gmx.de>
* SDL/Makefile.am - remove dependency on zzip-config (and sdl-config)
which do not exist any since quite a time - instead use pkg-config
> Thanks to Michael Sterret for bringing it up
* SDL/SDL_rwops_zzcat.c: the SDL_rwops example was fixed, as the
nmemb/size of the sdl-read call were swapped over. The testsdl
self check (based on zzcatsdl) works OK.
* SDL/Makefile.am - the targe installation paths for the example
was fixed to include/SDL_rwops_zzip - additionally there is now
an SDL_rwops_zzip.pc pkgconfig script that will refer to the new
location (it had been previously installed in include/SDL, ouch).
* Note that the old zzip-sdl pkgconfig-files are gone now. Given that the
example was not quite working, it is improbable that anyone had
been using them in real code, so there's nothing breaking here.
* create a new package SDL_rwops-devel in zziplib.spec that will catch
the example code, SDL_rwops_zzip includes and SDL_rwops_zzip pkgconfig
* append "make check" and "make test-sdl" to zziplib.spec for minimal
pre-installation check.
* Makefile.am: fix zzip-postinstall
* zziplib.spec: specifiy %version for the Provides:-clauses
* configure.ac: do not let autoconfigured LDFLAGS/LIBS bleed into zziplib.pc
* zip.c: ensure that the zzip64_trailer entries is being used and that the
parse_root_directory function honours the full 64bit in the "entries" counter
(rejecting the patch from Tulipánt Gergely which would allow to get away with
non-standard zip archives that do use a normal zzip_trailer with a 16bit entries
counter that happens to store only the modulo value of the real entries in the
archive - zippers should fail beyond 65535 entries or switch to the ZIP64 format).
* docs/referentials.htm - include reference to http://www.ogre3d.org/
* zzip/fseeko.c: check some more return values from fseeko/fread calls.
* 0.13.53
2009-05-22 guidod <guidod@gmx.de>
* docs/Makefile.am: break a dual target into two lines as
suggested by ticket:2405440
* m4/ax_cflags_no_writable_strings.m4 update with sed-call
suggested by ticket:2155649
* m4/ax_check_aligned_access_required.m4 update for the cross_compiling
case with libpcap-list of host_cpu targets thare require aligned access
suggested by ticket:2479788
* introduce ax_pax_tar.m4 to use *.tar format for manpages.tar (instead of .ar)
* 0.13.52
2009-05-21 guidod <guidod@gmx.de>
* docs/Makefile.am: make install-docs install-man3 rules so that
a failing "ar x" (on OpenBSD/vax) will not kill the whole
configure / make / make install cycle. However it simply
means that there will be no manpages on such platforms.
May be OpenBSD/vax has a "gar" (gnu ar) installed somewhere?
* closes Patches item #2716806, was opened at 2009-03-27 13:01
* 0.13.51
2009-05-21 guidod <guidod@gmx.de>
* zzip/fetch.h: ensure that either direct-bswap or direc-deref is only used
on platforms that do not require aligned memory access. The
latest report from Sylvain Beucler has shown an error a MIPS
platform (named http://www.freedink.org/ running on PSP).
* zzip/fetch.h: replace _zzip_attribute(const) with defines from zzip/__hints.h
* zzip/__hints.h: introduced ZZIP_GNUC_PACKED for __attribute__((packed))
* zzip/format.h: replace _zzip_attribute(packed) with defines from zzip/__hints.h
* zzip/conf.h: remove _zzip_attribute - not needed anymore.
2008-12-27 guidod <guidod@pc3>
* ax_create_pkgconfig_info needs a definition for datarootdir (introduced
in latest autoconf/automake making for an error in ogre3d configuration
as reported by Ignaz Forster)
* release 0.13.50
2008-12-24 guidod <guidod@pc3>
* add the dir-zzip-* to the cvs repo (as used on some webs)
* move "make rpm" to *.am (instead of *.mk)
* amd64 should be in libdir=$prefix/lib64 (in the spec file)
2008-11-24 guidod <guidod@pc3>
* BuildRequires: python (for %package doc)
2008-03-22 guidod <guidod@pc3>
* zzip/fetch.h: honor ZZIP_HAVE_ALIGNED_ACCESS_REQUIRED for the Linux bswap
optimization. See also 443880@bugs.debian "SIGBUS on Sparc".
2008-03-03 guidod <guidod@pc3>
* TODO: update to recent problems. Need to check my mail stack next time.
2008-03-02 guidod <guidod@pc3>
* zzip/info.c: reverted.
* also: note that the Makefiles have been update to the newest autotools.
The project itself has been imported to an Eclipse based CDT project.
2007-03-19
* enforce indent by automatic indentic-check
2007-03-17
* http://www.securitylab.ru/forum/read.php?FID=21&TID=40858&MID=326187
zziplib vulnerability due to usage of strcpy
* add indent-check for enforcing some source code style.
2007-02-01
* remake manpages.ar / htmpages.ar - redistribute zziplib-manpages.ar
instead while the rebuild mechanics become a lot simpler
* unless --maintainer-mode, make mans / install-mans part of the default
2007-01-31
* applying patches from Mike Frysinger
* consider making the manpage install target part of the default
`make install` rather than a sep install-man3 target ? (from Mike)
* Michael Sterret reports, that the SDL/* example requires zzip-config
instead of the pkgconfig stuff - actually, the whole part should be
give a makeover as newer SDL does install its own sdl.pc which makes
the current local generation of zzip-sdl-config.pc a real mess.
2006-09-27
* adding docs/zip-php.htm integrating Chris Branch's mail into the docs
* appending docs/changes.htm rule from ./ChangeLog
2006-09-26
* adding docs/notes.htm - to register some old dicussions for later
reference. Let's see how that fills up.
2006-09-21
* last doc/*.py updates
* last doc/mksite.* updates
* last doc/body.htm updates - including new zzipmmapped.html docu
* "make install-sf" will copy the doctree directly to sourceforge
2006-09-18
* docs/makedocs.py docs/zzipdoc/*.py creates new docs/zziplib-man3.tar.gz
plus zziplib.html zzipmmapped.html zzipfseeko.html
* that will be the only to be used in the future but it is not complete
2006-08-18
* updating msvc8 project files
* adding zlib.dll to cvs
* zzip/memdisk.c:183 overrides for off64_t will not work with off32_t !!!
* headers for mktime should return time_t - do we have the header ???
2006-08-17
* A report by Tuilipant Gergely had shown an "unaligned access"
error on an alpha machine. So, I have added macro to test for
the condition of aligned access but the alpha platoform seems
to be okay. Further reports are required.
* Mark README.SDL to be explicitly outdated (it's 16. Dec. 2002)
2008-08-14
* Yvan Phelizot reports a problem in zzip/mmapped.c
* Malcom MacLeod had spurious problems inside a C++ project,
so let's update all heraders with explicit 'extern "C"' linkage.
2006-08-08
* rephrase build system, automated tests, some doc parts
2006-04-28
* bsd/mac needs sys/types.h for size_t
2005-12-11
* there have been reports about multithreading problems
* one source of problems: access to the dir->cache members.
fixed by using an explicit semaphore variable, otherwise
just allocate/deallocate the buffer / filehandle
* second source of problems: the zip file is opened _and_ read
with only one filehandle for multiple threads that
share the same "dir" handle. Look for "->currentfp".
* that is not fixed away - while access to the cache variables
can continue in the case of a "locked" state that is not
possible for open/reads. In the "locked" case the thread
must be blocked but that is a system-specific call.
* there are two ways to fix it - (a) push down the sysfile to
each zzip_file by "dup(2)"licating the sysfile handle.
However zzip looses a feature that was helping a lot on
system with a low number of sysfile hands (e.g. dos and
some embedded operating systems that I did work with).
and (b) provide an indirect ->lock() call that can be
filled by the caller application upon zzip invokation,
perhaps add it to the io-plugin structure. Well (c) is
it possible to support both styles? Dynamically?
2005-12-10
* testing on sourceforge compilefarm - including "make check"
* there was an error on bsd'ish systems (implicit 64on32)
which was caused by archaic CORRECT_ROOTSEEK code
being still present. Remove it?
2005-12-09
* testing with Microsoft Visual Studio 2005 (msvc8) Express Edition
* fixing some compilation problems related to zip64 support in win32
2005-12-08
* cut acinclude.m4 into separated aclocal macros in m4/ subdirectory
2005-10-14
* testing on sourceforge compilefarm, cleaning away any compiler warnings
i386-debian2.2 i386-freebsd4.8
amd64-fedora3 alpha-debian3.0
sparc-solaris8 powerpc-macos10.2
* note, the build system has some quirks but not yet renovated to the
newest autoconf/automake stuff anyway - TBD before final release
2005-10-13
* MSVC7 knows the following __declspec attributes:
align(#), allocate("seg"), deprecated, dllexport, dllimport,
naked{for asm}, noinline, noreturn, nothrow, novtable,
property{MngC++}, selectany{common}, thread{tls}, uuid("name")
* introduce zzip__new__ for a restrict'ed return item
* introduce zzip_byte_t to help silence down compiler warnings
about signedness mismatch in assigning data buffer variables.
Especially the zlib data_in happens to be of unsigned char type.
* note that zzip/format.h does now use zzip_byte_t for layout definition
2005-02-17
* adding that _GNU_SOURCE on __linux__ to get the strndup prototype
* cleaning a few warning messages on different platforms as well
as a bug for 64bit platforms
* updating docs/mksite.sh and adding docs/mksite.pl and going to
let VERSION be pasted directly instead of a makefile snippet
* adding docs/memdisk.htm documentation to the series which is
currently quite shallow.
* note: no tests for actual zip64 support are made, neither for a
large central directory (more than 64K files) nor for large
files (more than 2GB). This is all theoretic but I am quite
confident that it will work.
2005-02-16
* change zzip/zip disk_trailer implementation
* we do not anymore pass a copy of the file block around
* we do use a local helper structure now with off_t fields
* the parse_root_directory is now using off_t for all computatations
* make check succeeds - beware, this is a new implementation
* RANT: glibc bastards make for additinal warning messages, the fseeko
prototype is not exported by default, but as soon as we add some
define to make it available, some other prototypes are disabled,
including one of the most widespread: strndup(). The documentation
even says we have to say GNU to get prototype - if you have ever heard
of unix to diverge into something not quite but be alike, here it is,
what compiles on most platforms gives a warning on linux even that it
works fine afterwards because the libc does export all we need and
autoconf does find it - it is just not prototyped and that's all.
2005-02-15
* adding zzip/memdisk.* as cache variant for libzzipfseeko
* add macro support for zip64 extensions
* extend trailer routines with zip64 detection (and return 0)
* add memdisk bins
2005-01-04
* remember TODO multithreading tests and hardening the code.
http://www.idefense.com/application/poi/display?id=153&type=vulnerabilities
2004-12-27
* updating to latest autoconf/automake/libtool stuff in Suse92
* required a rewrite of ax_enable_builddir.m4 in ac-archive
* adding two macros to silence down bogus depracation warnings
from the latest gcc 3.3.5
2004-11-27
* harveyandsu:yahoo:com reported an api mismatch for SDL rwops
usage and the implementation in the SDL_rwops_zzip example.
*
2004-05-11
* documenting zzip-cryptoid handling
* update mksite.sh
2004-05-09
* documenting zzipmmapped and zzipfseeko parser libraries
2004-05-08
* remove bogus zzip_file_open_ext_io from zzip.h
* change to use mksite.sh for documentation builds
2004-03-08
* add link in docs/history.htm to the new appnote.txt whitepaper
on zip file format specification.
2004-02-19
* a test run on solaris did show that fetch.* needs to be linked
to the new lib*.la stuff - to convert endianess-dependent
values from zip to main memory
* there seems to be an automake problem with hpux10 that I can not
yet define on what grounds it is - to get away with it I am
not defining automake 1.7 as the version to be used, plus
autoconf 2.57 - these are pretty new.
2004-01-24
* zzip/fseeko.c and bins/zzip.c had some issued with non-C99 compilers
which do not like variable declarations in the middle of a block
2004-01-16
* zzip_rewind again - the deflateReset does not reset the
input buffer variables (oops) so we have to do it
explicitly. Here we adopt to set crestlen to full
csize and the current z-buffer fillstate avail_in
to null to trigger a new read() on next zzip_read.
* the zlib headers do not tell whether next_in/avail_in
is used in deflateReset as is done in deflateInit.
A question to zlib@gzip.org brought no answer (as
is always the case) and after some thinking I did
decide to reset avail_in *after* the zReset call.
* based on this decision, I have made up a patch and I was
sending it over to zlib@gzip.org. Same consequence
again, the message is bluntly ignored (while there is
traffic on zlib devel mailinglist). There seems to be
a major problem about it, either a technical problem
(mail-adress disfunctional) or a social problem (no
one cares or perhaps some minor racism).
2003-12-29
* added libzzipfseeko.la with another simplified interface
* rename the other one to libzzipmmapped.la
* fix bugs for decompression on the latter as well
it seems the one has to use inflateInit2 (..., -MAX_WBITS)
* added bins/unzzipshow for an example binary
* added "--help" and "--version" to all bins examples
2003-12-24
* added libzzipmmap.la with a simplified interface to zip archives
* added bins unzzipdir and unzzipcat to show usage of libzzipmmap.la
* introduce zzip/types.h to allow easier inclusion to zzip/mmapped.*
2003-12-22
* add AC_C_BIGENDIAN and
* move out ZZIP_GET to zzip/fetch.h where we also specify access
wrappers to items in the zzip/format.h structures, portably.
* add byteswap.h ac_check and put a new file autoconf.h to carry
compiletime overrides for the autoconf definitions.
* start changing over to use zzip/fetch.h definitions everywhere
thereby replacing original ZZIP_GET16/32 usages completely.
This is localized to zzip/zip.c
* rename struct zzip_root_dirent to struct zzip_disk_entry but
retain a compatibility declaration.
* introduce zzip_version_t and zzip_dostime_t along with an optional
ZZIP_NEED_PACKED def that helps with weird compiler struct packing
* struct zzip_file_trailer did not use the char[x] variant, it does now
* place even more zzip/fetch.h declarations
* place even more defs into zzip/format.h
* noting CVS area on webpages
2003-12-21
* Nigel Stewart hints on some MSVC 6 issues, thanks.
2003-12-20
* implant *Reset instead of Deinit/Init in zzip_rewind - the latter
is supposed to make for a memory leak (see problem report).
2003-12-10
* add zzip_rewind fix by glenn = Glenn Maynard (www.stepmania.com)
* fix dirsep_casecmp buglet noted by glenn
* glenn did ask for zzip_fstat, and here it is.
* but glenn's file_dup is not as easy and skipped here.
* otherwise, glenn noted that zziplib is not fully ready for multithreading,
the reason seems to be mostly in the reshared 32k buffer where the
access is not synchronized completely :-( ... effectivly, in MT
all ZZIP_FILE*s need to have a dedicated ZZIP_DIR*buffer.
* update make-doc.py with newest version
2003-08-18
* changing license to dual MPL / LGPL
* bumping version code 12.83 = 13.23 which are actually the very
same inside the code
* remove a few compatibility headers at install time.
* add install-exec-hook to add ln -s aliases for sharedlibs
they are being tried again in .spec but that does not
matter as long as it is "|| true"
* adapt all source to carry the MPL alternative license
instead of the old cruft.
* remove staticlinking.txt - it should be covered by copying.htm now
* remove "compats" disthook as well as the complete subdirectory
i.e. rm -r "zziplib/" at top directory (actually, I store it
in a distant place for now.)
* remove _htmpages.ar and _manpages.are from dist tarball
* add toplevel COPYING.LIB
* adapt README and TODO
* remove ac_output(zziplib and bins/zzip-config)
* remove bins/zzip-config.in
* adapt m4 macro and call zzip-config to be archaic
* remove maintainer-mode for "test.zip"
* turn zzip_plugin_io_t into a union reference, the old struct is
still of the same name but a member in there called "fd"
the typedef is no a "union _zzip_plugin_io" instead.
* the member "use_mmap" is renamed to "sys" - we add a #define
in plugin.h to let some software compile with all versions
* in zzip/zip.c, try now with making maplen and pagesize of type
zzip_ssize_t - as it was newly introduce it might help and
perhaps be a little conservative in execution. Before that,
we did use size_t and it was provoking warnings like
comparing/computing signed+unsigned pairs of values.
* add "type" and "write" members to zzip_plugin_io, keep it
backward compatible as much as possible.
* add _zzip_write to zzip/conf.h
* remove ZZIP_WRAPWRAP code in plugin.c
* remove --with-wrapwrap
* introduce a #define _zzip_plugin_io_handlers and
typedefs zzip_plugin_io_handlers and zzip_plugin_io_handlers_t
* oops toplevel PHONY does not work, an automake restriction
* oops, "cat body.htm" should be "cat $(srcdir)/body.htm"
* adding manpages.ar again, just to be sure
2003-08-14
* remove _not_implemend macro definitions for shallow-write api
from header zzip.h
* introduce symbol _ZZIP_WRITE_SOURCE that all files should
carry that want to have the declarations of the
shallow-write api
* use that symbol for zzip/write.c and bins/zzip.c
* adding docs/64on32.htm
2003-08-14
* for the shallow-write api to compile on win32, we need to
test for direct.h which only exists on win'sh system
or so we assume
* add bins/unzzip
* add bins/zzip
* ooops, zzip_strerror_of should check dir != 0
2003-08-13
* complete zip-write API - no actual implementation so far
* tested shallow-write implementation on solaris+linux+win32
* and now, call it zzip-12 always
2003-08-12
* `make docs` does not always work, so we add `make docu` now
* update make-doc.py
* fix call for make-doc.py
* fix zzip_get16 bad refer that gets detected by make-doc.py
2003-08-07
* implement zzip/write to a degree that it forwards calls to real
files and directories in the system. No zip archives here,
but the accession API has been setup so that applications
can start to pick it up even for versions of zziplib that
have been compiled without zip archive support.
2003-08-07
* add doc lines in zzip/zzip.h
* add write-defines including flag-marker ZZIP_NO_CREAT
* add file write.c with empty definitions for write-support
* add the make-doc.py script in its last version - and make its output
the default master files for both html and docbook
* remove all other doc-maker scripts but make-doc.pl and make-doc.py
plus the make-dbk.pl of course
* twist configure.ac to set PYTHON instead of PHP
2003-08-03
* make compatibility-headers to issue a warning upon include
2003-07-31
* fix a segfault with corrupted central directory - just some checks
for field boundaries
* add a hack to support the fixup-rootdir thing with some simple(r) code
that abuses a few fields in the trailer-structure
* cvs checkout savannah.gnu.org:config into ../savannah.config and,
* add a rule `make configsub` in Makefile.mk to update the two files
uses/config.sub and uses/config.guess to the latest versions.
2003-07-30
* creating a 0.12.82 out of the source for 0.10.82 and make up a rpm
spec which does alias the .so files for these generations
2003-07-29
* the include of _LARGEFILE_SOURCE to do ZZIP_LARGEFILE_RENAME is
actually a bad idea - the respective symbol does not provoke
64bit off_t on newer platforms. Only _LARGE_FILES seems to
be correct here for older aix platform to get them define
off_t = 64bit where others are using _FILE_OFFSET_BITS=64 now.
* after changes to README, remember to package updated test.zip !!
otherwise `make check` will fail.
* modify _msvc.sed to include "define ssize_t int"
* use ZZIP_EXPORTS instead of ZZIP_DLL for DLL export, that's the
automatic way of MSVC 6 saying that "zzip" is a DLL project.
* create new msvc6/zzip.dsp and delete msvc6/zziplib_DLL.dsp
* all examples shall import from zzip.dll by linking with zzip.lib
whereas that other zziplib.lib is just the static library
* do a looong and detailed information in README.MSVC6
* create a rule to pack the *.dll,*.exe,*lib files into a zip
2003-07-28
* doc bug in zzip-zip reported by j.scrott.frank
* remind me: unzip from memory seems to be more of a task lately...
* forgot to modify RELASEINFO in rpm for zzip64 variant
* also do not just use -D_LARGEFILE_SOURCE, it does not have the
desired effect on all systems. Instead invent a new name
-D_ZZIP_LARGEFILE to make it happen magically.
* invent a rule to create zziplib64.pc from zziplib.pc for the
renamed libzzip.so -> libzzip64.so
* invent a rule to create zziplib64.la from zziplib.la for the
renamed libzzip.so -> libzzip64.so
* do also rename default libzzip.so to libzzip32.so and then create
a symlink to it under the old name libzzip.so
* create zziplib32.pc and zziplib32.la files accordingly. Following
an application may choose explicitly between 32 or 64bit off_t
version. This allows us to claim now that the default libzzip.so
library may be either of them and not anymore strict 32bit off_t
* aaahm, note that all of these account for rules in the linux rpm spec!
other system do not get this packaging support from vanilla tarfile
* well, better make it lib01 instead of lib0.10 for the rpm name
* already roll out visualc7.zip and msvc6 files in subdirectories,
do not ship them as .zip files
* already adapt msvc6 .dsp files but not yet tested
* rename main "rpm" target into "rpm2" to get rid of the warning message
* use (cd zzip64 && make install) instead of (... make install-ltLIBRARIES)
since otherwise we do not get any .pc file installed (oops)
* while modifying *.la into *64.la, take care to fixup reference to the
"old archive" *.a as well making it *64.a - same for *32.la file.
* some file.c reports there was not previous declaration of some of
its functions, but _only_ in 64bit compile step.
Reason: looks like a gcc 3.2.2 bug, no fix here.
* convert a few "ln -s" into "ln -s -f" in "make install" parts
* update README to point out staticlink model
in a separated LICENSE section.
2003-07-28
* add three extra gcc options: -Wpointer-arith, -Wsign-compare, and
-Wmissing-declarations which will help about portability to
platforms where that is enabled by default in -Wall
* sign-compare fix in, zzobfuscated (zzip_size_t -> zzip_ssize_t),
* make 5 functions in zzipwrap/wrap.c global=>to=>static
* add pre-delcare headers for 2 functions in zzip/zip.c
__zzip_find_disk_trailer(), __zzip_parse_root_directory()
* rewording of "ends/tail" in find-disk-trailer which does also find
a little bug (ends-1 or not) in there, It should not have shown any
practical problem so far, also corrected by anotgher little bug
in there (ends-tail > sizeof or ends-tail >= sizeof)
* adding a parts of a patch from Martin Schitter to harden zziplib
for corrupted zip files.
* remove a few duplicates in Makefile.mk, still need to keep "rpm"
* add declaration for zzip_dir_alloc_ext_io into zzip/lib.h
2003-07-27
* redefine size_t maplen -> off_t maplen and for each of the calls to
mmap()/munmap()/read()/getpagesize() we cast to size_t - this might
get us rid of a few warnings about signed/unsigned comparisons.
* introduce AC_TYPE_SIZE_T and use the prefixed variant _zzip_size_t
within plugin.h for io->read() calls. That makes for a little
bit of portability - it seems some platforms (dot-net f.e.)
do not `typedef unsigned int size_t;`, perhaps because int is 16bit
and a 32bit or even 64bit entity is needed.
* now we do not need to AC_COMPILE_CHECK_SIZEOF(size_t) anymore, perhaps
even stand io-wrap is not needed anymore. Let's see.
* both changes need update of zzip/conf.h for _zzip_size_t plus
- plugin.h for io->read(,,size_t)
- zzip.h for zzip_file_read (,,size_t)
- zzip.h for zzip_read(,,size_t)
- zzip.h for zzip_fread(,size_t,size_t,)
- zzip.h for zzip_seek(,off_t,)
- zzip.h for zzip_tell(,off_t,)
- file.h int => size_t for zzip_file's restlen crestlen usize csize
* the io->seeks(,off_t,) has not been respected so far sometimes.
and like lseek(2), we define the returntype of zzip_seek as off_t
* introduce zzip_ssize_t as well, and modify
- zzip.h for zzip_read and zzip_fread and zzip_file_read
- plugin.h for io->read() return type
* dot-net bug in aligned4() - sizeof(long) < sizeof(void*) !!
better use off_t in the hope that it does fix it
* tested on ia32-linux, alpha64-linux, sparc32-solaris
* ooops, we need to update io-plugin examples and documentation as well,
since we define a custom _read() routine righ there.
2003-07-26
* updating to AX_SPEC_DEFAULTS macro
* zzshowme does not work with no libzzip installed in the system
* add automake option dist-bzip2
* use tar.bz2 for rpm build
* add dist-bzip for the latter
* use zziplib-lib0.10 package which provides zziplib and libzzip0
* forgot to add *.la files into the rpm devel package
* AC_SET_RELEASEINFO_VERSIONINFO => AX_SET_VERSION_INFO
* adjust all RELEASEINFO -> RELEASE_INFO accordingly
* and choose 0.10.82.pre1 as a vesion number for testing
which is possible now as the new macro does it right.
* forgot override of default_includes in test/*.am
* somehow ax_prefix gets the wrong input, i.e. _config.h instead of config.h
so we make that one explicit now
2003-05-13
* the off64_t mode renaming for 64on32 was done incorrectly and
it lead to problems on solaris8 - fix it.
* fixup `make check` to work on subdir build
2003-05-11
* adapt README file to clarify LICENSE details as suggested by
a discussion with ACE/TAO developers that want to use the
library for some compressed xml archives.
* fix a few zzip_char_t bugs that got visible in MSVC mode as
reported by Olge Ryabukha
* kill sfnet strand of the rpm build, the docs are installed
into the share/groups part and the omf file points to that
place. The index.html file is the one at sourceforge while
the other one is the entry point of the local documentation.
2003-04-21
* quite a few updates are need to --enable-builddir by default
* watch out: subdir build is the default now!
2003-04-20
* pick up AX_ENABLE_BUILDDIR
* throw out ac_subst CONFIG_ARGS
* use AX_SPEC_PACKAGE_VERSION