12021-01-04  gdraheim@github
2    * The testbuilds were fixed to make cmake install and automake install the same
3    * The cmake install did need patches for man3 installation on Unix
4    * The cmake install did need patches for dll installation on Windows
5    * The cmake install did need patches for dylib installation on MacOS
6    * The cmake install did need patches for pkgconfig generation
7    * Bump testbuilds to modern distro versions (ubuntu 20.04 centos 7.9 / 8.3)
8    * Takeover docker_mirror.py for air-gap testings (for testbuilds.py)
9    * handle UNZZIP-NOTFOUND in cmake and mark Ubuntu 'unzip' to be broken
10    * merge patches for zzip_pread feature from Max Kellermann
11    * merge patches for some bugs being found and reported via GitHub issues
12    * run azure-pipelines with -DZZIP_TESTCVE=OFF to skip CVE *.zip downloads
13    * use zziptests.py --downloadonly to get the CVE zip files for local storage
14    * The ninja builds for cmake were run regularly as it seems to be widely used.
15    * AND ... rename configure.ac to old.configure.ac to break outdated packaging scripts
16    * ....... see testbuilds/*-am-*.dockerfile that it still works to rename them back
17    * release 0.13.72
18
192020-04-14  gdraheim@github
20    * The testbuilds allow to compile and test for different os via docker
21    * The testbuilds allow to compare new cmake to automake install results
22    * Found fixes to bring base, sdl, manpages and site docs to same level
23    * release 0.13.71
24
252020-04-14  gdraheim@github
26    * there have been tons of bugfixes over the last two years ...
27    * Thanks go to Patrick Steinhardt (then at Aservo) for python3 updates
28    * Thanks go to Josef Moellers (working at SUSE Labs) for many CVE fixes
29    * and of course all the other patches that came in via github issues.
30    * I have cleaned up sources to only uses Python3 (as needed by 2020).
31    * !!! The old automake/autconf/libtool system will be dumped soon!!!
32    * The build system was ported to 'cmake' .. (last tested cmake 3.10.2)
33    * release 0.13.70
34
352018-03-15  guidod  <guidod@gmx.de>
36    * fix a number of CVEs reported with special *.zip PoC files
37    * man-pages are generated with new dbk2man.py - docbook xmlto is optional now
38    * completing some doc strings while checking the new man-pages to look good
39    * allow the zziptests.py testsuite to run with an installed /bin path
40    * try to fix some issues on testing with non-installed binaries on non-linux platfors
41    * update autotools to allow compiling on some newer Mac / Win machines
42    * a zip-program is still required for testing, but some errors are gone when not there
43    * complete the approximation of fnmatch for the test binaries (on platforms without)
44    * allow windows __mmap.h to be simpler, helping with some problems on MingW
45    * integrate 'fopen("wb")' from TexLive to be more portable across
46    * more portability as well for helpers like strnlen being used in the sources
47    * update doc refs to point to github instead of sf.net
48    * update the sf.net pages to have a prominent hint on newer github.com location
49    * release v0.13.69
50
512018-02-02  guidod  <guidod@gmx.de>
52    * fix a number of CVEs reported with special *.zip files
53    * the testsuite has been expanded to cover all the CVEs
54    * some minor doc updates referencing GitHub instead of sf.net
55    * release v0.13.68
56
572017-06-11  guidod  <guidod@gmx.de>
58    * fix portability issues by introducing <zzip/__errno.h>
59    * fix portability issues by introducing <zzip/__mkdir.h>
60    * fix portability issues by introducing <zzip/__string.h> for strndup
61    * reuse portability header <zzip/__fnmatch.h> in bins/*.c
62    * release v0.13.67
63
642017-04-24  guidod  <guidod@gmx.de>
65    * common frontend 'unzzip.c' for example code in unzzip*-xx.c
66    * expand testcases to cover all of big/mem/mix/zap variants
67    * release v0.13.66
68
692017-04-23  guidod  <guidod@gmx.de>
70    * turn the testsuite from makefile into python unittest format
71    * extend 'make check' testsuite to cover non-libzzip extensions
72    * fix unzzipcat-seeko and unzzipcat-mem to match the testsuite
73    * release v0.13.65
74
752017-04-20  guidod  <guidod@gmx.de>
76    * check patches in opensuse builds, mostly for some CVE reports
77
782012-09-15  guidod  <guidod@gmx.de>
79    * zzip.h, plugin.h: "};" at end of extern-C produces build errors with
80       the default --pedantic-errors on newer CMake. Thanks to Keith Thompson
81       recognizing it - see http://stackoverflow.com/questions/12384280/
82
832012-03-11  guidod  <guidod@gmx.de>
84
85	* configure.ac: fallback to libtool -export-dynamic unless being sure to
86	   use gnu-ld --export-dynamic. The darwin case is a bit special here
87	   as the c-compiler and linker might be from different worlds.
88	* next 0.13.62 - needs a fix for mingw
89	   (-mconsole is not a linker option, only the gcc should see it)
90
912010-12-30 guidod <guidod@gmx.de>
92        * done 0.13.60 release, tagged, and announced.
93        * prepare 0.13.61
94
952010-12-29 guidod <guidod@gmx.de>
96        * Makefile.am: allow nonstaic build
97        * wrap fd.open like in the Fedora patch
98
992010-12-28 guidod <guidod@gmx.de>
100        * zziplib.spec - simplify the spec based on distro specs.
101
1022010-12-27 guidod <guidod@gmx.de>
103        * adding fetch.h/fetch.c to msvc8/zziplib.vcproj to allow
104          tests with Visual Studio C++ Express 2005
105
1062010-12-27 guidod <guidod@gmx.de>
107        * fix stat.c to check ZZIP_CASELESS instead of the deprecated
108          ZZIP_CASEINSENSITIVE. The latter is still recognized for
109          compatibility reasons and implicitly mapped to ZZIP_CASELESS.
110        * fixes the zziplib-Patches-3078188 which reported the bug.
111
1122010-12-27 guidod <guidod@gmx.de>
113        * apply patches by Peter Breitenlohner for better compatibility
114          with AIX host system. Also the Sun Studio compiler insists on
115          static inline functions or else assumes extern inline.
116        * also fixes zziplib-Patches-3011551 on the AIX problem.
117
1182010-12-27 guidod <guidod@gmx.de>
119        * add hints that the ext_io plugin handlers should be static.
120
1212010-05-09  guidod  <guidod@gmx.de>
122
123	* zzip/__fnmatch.h: add include <string.h> to make mingw32 happy.
124	     Patches item #2995373 by Gregory Smith
125
1262010-05-08  guidod  <guidod@gmx.de>
127
128	* SDL/Makefile.am: fix generation of sdl-uninstalled.pc that was
129	   not recognized during compilation.
130
1312010-04-05  guidod  <guidod@gmx.de>
132
133	* Makefile.am: fix "osc rm" and fix "test-sdl" if SDL was not found.
134	* configure.ac: SDL example builds on pkgconfig/sdl.pc which
135
136	    was introduced with SDL 1.2.11 - CentOs5 ships 1.2.10 which
137	    does only have "sdl-config" and it made for a mismatch in
138	    in the build configuration: sdl-devel yes, pkgconfig sdl no.
139	* zzip/zip.c (__zzip_parse_root_directory): move the check for
140	     zzip_disk_entry_check_magic to be after the the check that
141	     the seek-value is more than a header's size before the end.
142	     (based on a segfault report by Tulipánt Gergely when the
143	      new modulo_entries code is enabled (which is off by default))
144
1452010-03-30  guidod  <guidod@gmx.de>
146
147	* zzip/Makefile.am:  fixing symlinks for lib* - use only for Linux
148	    Thanks to Ryan Schmidt (macports):
149		... likes to install some symlinks that don't make sense on Mac OS X:
150		$ ls -l /opt/local/lib/*zzip*so*
151		lrwxr-xr-x  /opt/local/lib/libzzip*.so.10 -> libzzip*.so.13
152		lrwxr-xr-x  /opt/local/lib/libzzip*.so.11 -> libzzip*.so.13
153		lrwxr-xr-x  /opt/local/lib/libzzip*.so.12 -> libzzip*.so.13
154		Yes, the filenames literally contain an asterisk.
155
156    * prepare 0.13.60
157
1582010-03-29  guidod  <guidod@gmx.de>
159
160	* Makefile.am: change osc to new home:guidod:zziplib-13
161	* configure.ac: update to autoconf 2.61 which does some things differently
162	* m4/ax_pax_tar.m4: bug report http://trac.macports.org/ticket/24227
163	  showed a problem on MacOsX where some "pax" tools where advertising
164	  an "-O" option in their "--help" page but it did not work. Therefore
165	  rewriting the macro to actually test some "-w -O" to create a tarfile.
166
1672010-03-26  guidod  <guidod@gmx.de>
168
169	* zzip/dir.c: and zzip/file.c - adding comments to the compat32
170	   functions such that they appear near their off_t variants.
171	   Also added the ifdef-EOVERFLOW check that is needed on Win32.
172
1732010-03-25  guidod  <guidod@gmx.de>
174
175	* Makefile.mk: add "-I m4" and re-autoconf with newest autotools.
176	* zzip/zzip32.h: introducing compat32 functions that take "long"
177	     arguments where the others use "off_t". Basically, there are
178	     two calls per each off_t-function on all systems where
179	     previously that had been only done for those 64on32 systems.
180	     This scheme maximized binary compatibility - if an application
181	     can not be compiled with _LARGEFILE_SOURCE then they can use
182	     the compat32 variants to be always sure to do the right thing.
183
1842010-02-15  guidod  <guidod@gmx.de>
185
186	* zzip/Makefile.am: newest "install" does not like to install fetch.h
187	                   three times ("...not overwite... it just installed")
188	* Makefile.am: allow to build locally with "osc" (opensuse buildservice)
189
1902010-02-14  guidod  <guidod@gmx.de>
191
192	* zzip/Makefile.am: use install-*-hook instead of install-*-local
193	* docs/Makefile.am: PYTHONDONTWRITEBYTECODE=1 to ensure running
194	   python with a read-only source code repository (dynamic workspaces)
195	   NOTE: python -B was introduced with Python 2.6 (so use environment)
196	* zzip/plugin.c: missing "void"
197	   again thanks to Peter Breitenlohner (tex-live tug org)
198	* test/Makefile.am: build-zips outside of source tree
199	* m4/ax_prefix_config_h.m4: reduce error to warning as suggested
200	* m4/ax_check_aligned_access_required.m4: merging with derived
201	    macro zziplib-aligned-access.m4 by Peter Breitenlohner
202
203
2042009-09-24  guidod  <guidod@gmx.de>
205    * zziplib.spec: prepare 0.13.59
206    * configure.ac: add --with-defines to allow compile-definitions
207        for easy,harden,allow_modulo_entries (also for documentation)
208	* zzip/zip.c: add ZZIP_EASY to disable the ZZIP_CORRECT_ROOTSEEK
209	    feature
210	* zzip/zip.c (__zzip_parse_root_directory): add parenthesis to fix
211		ZZIP_ALLOW_MODULO_ENTRIES (as reported by Tulipánt Gergely)
212	* zzip/fetch.h: add MSVC defines for x86/x64 that allows direct access
213
2142009-08-23  guidod  <guidod@gmx.de>
215
216	* Makefile.mk: remove some old stuff related to the compilefarm
217	* zziplib.spec: prepare 0.13.58
218    * add ports/symbian-S60/zziplib-symbian.zip (thanks to Rangel Reale)
219	* switch from CVS to SVN (!!!!) and update some docs/*.htm files
220	* zzip/mmapped.c (zzip_disk_mmap): compile error on win32-mingw [1771707]
221
2222009-08-16  guidod  <guidod@gmx.de>
223
224	* configure.ac: reorder ax_gcc_flags as the extra options were
225	  disabled (do not know why) and add -Wstrict-aliasing to the set.
226	  Then fix issues in source files (mostly signed-comparision warnings)
227	* zzip/file.c (zzip_file_open): ZZIP_CASELESS will include a
228	   mapping of "\" into "/" to get away with windows-orientied
229	   programs. The backslash however is only active for those
230	   windows' binaries. Fixes an issue with non-msvc win32-builds.
231
2322009-08-04  guidod  <guidod@gmx.de>
233
234        * m4/ac_sys_largefile_sensitive.m4: update, fixes ticket:2825391
235	* zzip/mmapped.h: zzip/memdisk.h: replace buflen argument
236	  from "int" to "size_t" type for init from some mem area.
237
2382009-08-03  guidod  <guidod@gmx.de>
239
240	* zziplib.spec: prepare 0.13.57
241	* bins/zziptest.c: redefine to win32-Sleep() when seen WINDOWS_H
242	  which allows it to compile also with a gcc/mingw/msvcrt target
243	* bins/Makefile.am: ZZIP_LDFLAGS are not needed for *.exe targets
244	  in fact they make for problems in crosscompiling without libtool
245	* zzip/fseeko.c: typo "fseeko" -> "fseek" made for a compile error
246	  on systems that do not have fseeko like windows msvcrt
247	  (reported by Josh Heidenreich)
248
2492009-07-03  guidod  <guidod@gmx.de>
250
251	* zzip/mmapped.c: insert zzip_disk_buffer and
252	* zzip/memdisk.c: zzip_mem_disk_buffer where both functions
253	    will actually wrap an external buffer (e.g. mmapped from
254	    another resource such as shared memory).
255	* zzip/mmapped.c and zzip/mmapped.h: uncovered a bug for the
256	   MATCH_NOCASE handling and WRAPPED_BUFFER handling that is
257	   now handled by explicit ->flags values. The actual flag
258	   values are now exported to the header instead of just using
259	   a simple "1".
260	* ideas for zzip_disk_buffer / zzip_mem_disk_buffer sprang from
261	   a proposal by JP Dai [Goldleaf] who offerd very similar code.
262
2632009-06-27  guidod  <guidod@gmx.de>
264
265	* zziplib.spec: 0.13.56 - and make build.opensuse.org happy by
266	   removing the %if/%endif sections. (it seems one buildserver
267	   script understands it while the other don't - and effectivly
268	   all variants fail if it is left in. Hopefully no other platforms
269	   have problems with the additional buildrequires that are put here)
270	* zzip/mmapped.c (zzip_disk_new): malloc(sizof()) was errornously
271	    using a pointer instead of ZZIP_DISK. Not part of libzzip but
272	    of the extra library libzzipmmapped that is in-memory-only.
273	    (problem reported and solution shown by JP Dai [Goldleaf])
274	* configure.ac: disable search for python2.2 (gentoo bug 275247+174189)
275
2762009-06-22  guidod  <guidod@gmx.de>
277    * zziplib.spec: 0.13.55 and integrate patches for build.opensuse.org
278	* zzip/zip.c (__zzip_parse_root_directory): rework parse_directory
279	   to allow for ZZIP_ALLOW_MODULO_ENTRIES version as required for
280	   some cases where more than 65535 entries are packed into a
281	   non-ZIP64 archive. The modulo_entries variant is disabled by
282	   default but the know for the problem space was put into code to
283	   check for two more error conditions and report them in debug mode.
284	   (problem space was described carefully by Tulipánt Gergely and
285	    the provided patch was a good foundation for the ifdef code)
286	* configure.ac: use $can_build_shared from linker-config to allow
287	    build on platforms that do not support a shared library concept
288	    or where it is disabled (the commandline switch overrides it?)
289	    (should fix the SF bug ID 2796485 reported by Giovanni Bechis)
290	* zzip/file.c: errornous usage of currentfp before setting it to
291	   the new fp value in zzip_seek(). In the good case it would seek
292	   on the wrong file and in the bad case it goes off on sigbus/NPE.
293	   The problem occurs only if two+ zips are accessed simultaneously.
294	   (problem reported and patch kindly provided by Evgeniy Muhin)
295	* docs/Makefile.am: fixup for newer xmlto may be to generate
296	   a subdirectory "man3" inside of our output directory "man3"
297	   and gard against usage of man3/man3 for the tarball unpacking.
298	   (problem reported by Liu Qi [debian package maintainer])
299	* zzip/__hints.h: add else-part for ZZIP_GNUC_PACKED
300		(makes for problems with MSVC as reported by Denny Kunker)
301
3022009-05-24 guidod <guidod@gmx.de>
303    * zzip/fetch.c - remove SET/GET fetch definitions that already
304       exist in zzip/fetch.h where they have been corrected lately.
305    * docs/Makefile.am - change from install-sf via shell.sf.net to
306       upload-sourceforge via web.sf.net - and alias to "www" shorthand
307    * docs/referentials.htm - fix typo.
308    * 0.13.54
309
3102009-05-23  guidod  <guidod@gmx.de>
311    * SDL/Makefile.am - remove dependency on zzip-config (and sdl-config)
312       which do not exist any since quite a time - instead use pkg-config
313       > Thanks to Michael Sterret for bringing it up
314    * SDL/SDL_rwops_zzcat.c: the SDL_rwops example was fixed, as the
315         nmemb/size of the sdl-read call were swapped over. The testsdl
316         self check (based on zzcatsdl) works OK.
317    * SDL/Makefile.am - the targe installation paths for the example
318         was fixed to include/SDL_rwops_zzip - additionally there is now
319         an SDL_rwops_zzip.pc pkgconfig script that will refer to the new
320         location (it had been previously installed in include/SDL, ouch).
321    * Note that the old zzip-sdl pkgconfig-files are gone now. Given that the
322         example was not quite working, it is improbable that anyone had
323         been using them in real code, so there's nothing breaking here.
324    * create a new package SDL_rwops-devel in zziplib.spec that will catch
325         the example code, SDL_rwops_zzip includes and SDL_rwops_zzip pkgconfig
326    * append "make check" and "make test-sdl" to zziplib.spec for  minimal
327         pre-installation check.
328    * Makefile.am: fix zzip-postinstall
329    * zziplib.spec: specifiy %version for the Provides:-clauses
330    * configure.ac: do not let autoconfigured LDFLAGS/LIBS bleed into zziplib.pc
331    * zip.c: ensure that the zzip64_trailer entries is being used and that the
332        parse_root_directory function honours the full 64bit in the "entries" counter
333        (rejecting the patch from Tulipánt Gergely which would allow to get away with
334        non-standard zip archives that do use a normal zzip_trailer with a 16bit entries
335        counter that happens to store only the modulo value of the real entries in the
336        archive - zippers should fail beyond 65535 entries or switch to the ZIP64 format).
337     * docs/referentials.htm - include reference to  http://www.ogre3d.org/
338     * zzip/fseeko.c: check some more return values from fseeko/fread calls.
339     * 0.13.53
340
3412009-05-22  guidod  <guidod@gmx.de>
342	* docs/Makefile.am: break a dual target into two lines as
343	   suggested by ticket:2405440
344	* m4/ax_cflags_no_writable_strings.m4 update with sed-call
345	   suggested by ticket:2155649
346	* m4/ax_check_aligned_access_required.m4 update for the cross_compiling
347	   case with libpcap-list of host_cpu targets thare require aligned access
348	   suggested by ticket:2479788
349	* introduce ax_pax_tar.m4 to use *.tar format for manpages.tar (instead of .ar)
350	* 0.13.52
351
3522009-05-21  guidod  <guidod@gmx.de>
353
354	* docs/Makefile.am: make install-docs install-man3 rules so that
355	     a failing "ar x" (on OpenBSD/vax) will not kill the whole
356	     configure / make / make install cycle. However it simply
357	     means that there will be no manpages on such platforms.
358	     May be OpenBSD/vax has a "gar" (gnu ar) installed somewhere?
359	* closes Patches item #2716806, was opened at 2009-03-27 13:01
360	* 0.13.51
361
3622009-05-21 guidod <guidod@gmx.de>
363    * zzip/fetch.h: ensure that either direct-bswap or direc-deref is only used
364               on platforms that do not require aligned memory access. The
365               latest report from Sylvain Beucler has shown an error a MIPS
366               platform (named  http://www.freedink.org/ running on PSP).
367    * zzip/fetch.h: replace _zzip_attribute(const) with defines from zzip/__hints.h
368    * zzip/__hints.h: introduced ZZIP_GNUC_PACKED for __attribute__((packed))
369    * zzip/format.h: replace _zzip_attribute(packed) with defines from zzip/__hints.h
370    * zzip/conf.h: remove _zzip_attribute - not needed anymore.
371
3722008-12-27 guidod <guidod@pc3>
373    * ax_create_pkgconfig_info needs a definition for datarootdir (introduced
374       in latest autoconf/automake making for an error in ogre3d configuration
375       as reported by Ignaz Forster)
376	* release 0.13.50
377
3782008-12-24 guidod <guidod@pc3>
379	* add the dir-zzip-* to the cvs repo (as used on some webs)
380	* move "make rpm" to *.am (instead of *.mk)
381	* amd64 should be in libdir=$prefix/lib64 (in the spec file)
382
3832008-11-24 guidod <guidod@pc3>
384	* BuildRequires: python (for %package doc)
385
386
3872008-03-22  guidod  <guidod@pc3>
388
389	* zzip/fetch.h: honor ZZIP_HAVE_ALIGNED_ACCESS_REQUIRED for the Linux bswap
390	optimization. See also 443880@bugs.debian "SIGBUS on Sparc".
391
3922008-03-03  guidod  <guidod@pc3>
393
394	* TODO: update to recent problems. Need to check my mail stack next time.
395
3962008-03-02  guidod  <guidod@pc3>
397
398	* zzip/info.c: reverted.
399	* also: note that the Makefiles have been update to the newest autotools.
400	  The project itself has been imported to an Eclipse based CDT project.
401
4022007-03-19
403 * enforce indent by automatic indentic-check
404
4052007-03-17
406 * http://www.securitylab.ru/forum/read.php?FID=21&TID=40858&MID=326187
407  zziplib vulnerability due to usage of strcpy
408 * add indent-check for enforcing some source code style.
409
4102007-02-01
411 * remake manpages.ar / htmpages.ar - redistribute zziplib-manpages.ar
412   instead while the rebuild mechanics become a lot simpler
413 * unless --maintainer-mode, make mans / install-mans part of the default
414
4152007-01-31
416 * applying patches from Mike Frysinger
417 * consider making the manpage install target part of the default
418   `make install` rather than a sep install-man3 target ? (from Mike)
419 * Michael Sterret reports, that the SDL/* example requires zzip-config
420   instead of the pkgconfig stuff - actually, the whole part should be
421   give a makeover as newer SDL does install its own sdl.pc which makes
422   the current local generation of zzip-sdl-config.pc a real mess.
423
4242006-09-27
425 * adding docs/zip-php.htm integrating Chris Branch's mail into the docs
426 * appending docs/changes.htm rule from ./ChangeLog
427
4282006-09-26
429 * adding docs/notes.htm - to register some old dicussions for later
430	reference. Let's see how that fills up.
431
4322006-09-21
433 * last doc/*.py updates
434 * last doc/mksite.* updates
435 * last doc/body.htm updates - including new zzipmmapped.html docu
436 * "make install-sf" will copy the doctree directly to sourceforge
437
4382006-09-18
439 * docs/makedocs.py docs/zzipdoc/*.py creates new docs/zziplib-man3.tar.gz
440	plus zziplib.html zzipmmapped.html zzipfseeko.html
441 * that will be the only to be used in the future but it is not complete
442
4432006-08-18
444 * updating msvc8 project files
445 * adding zlib.dll to cvs
446 * zzip/memdisk.c:183 overrides for off64_t will not work with off32_t !!!
447 * headers for mktime should return time_t - do we have the header ???
448
4492006-08-17
450 * A report by Tuilipant Gergely had shown an "unaligned access"
451   error on an alpha machine. So, I have added macro to test for
452   the condition of aligned access but the alpha platoform seems
453   to be okay. Further reports are required.
454 * Mark README.SDL to be explicitly outdated (it's 16. Dec. 2002)
455
4562008-08-14
457 * Yvan Phelizot reports a problem in zzip/mmapped.c
458 * Malcom MacLeod had spurious problems inside a C++ project,
459	so let's update all heraders with explicit 'extern "C"' linkage.
460
4612006-08-08
462 * rephrase build system, automated tests, some doc parts
463
4642006-04-28
465 * bsd/mac needs sys/types.h for size_t
466
4672005-12-11
468 * there have been reports about multithreading problems
469 * one source of problems: access to the dir->cache members.
470	fixed by using an explicit semaphore variable, otherwise
471	just allocate/deallocate the buffer / filehandle
472 * second source of problems: the zip file is opened _and_ read
473	with only one filehandle for multiple threads that
474	share the same "dir" handle. Look for "->currentfp".
475 * that is not fixed away - while access to the cache variables
476	can continue in the case of a "locked" state that is not
477	possible for open/reads. In the "locked" case the thread
478	must be blocked but that is a system-specific call.
479 * there are two ways to fix it - (a) push down the sysfile to
480	each zzip_file by "dup(2)"licating the sysfile handle.
481	However zzip looses a feature that was helping a lot on
482	system with a low number of sysfile hands (e.g. dos and
483	some embedded operating systems that I did work with).
484	and (b) provide an indirect ->lock() call that can be
485	filled by the caller application upon zzip invokation,
486	perhaps add it to the io-plugin structure. Well (c) is
487	it possible to support both styles? Dynamically?
488
4892005-12-10
490 * testing on sourceforge compilefarm - including "make check"
491 * there was an error on bsd'ish systems (implicit 64on32)
492	which was caused by archaic CORRECT_ROOTSEEK code
493	being still present. Remove it?
494
4952005-12-09
496 * testing with Microsoft Visual Studio 2005 (msvc8) Express Edition
497 * fixing some compilation problems related to zip64 support in win32
498
4992005-12-08
500 * cut acinclude.m4 into separated aclocal macros in m4/ subdirectory
501
5022005-10-14
503 * testing on sourceforge compilefarm, cleaning away any compiler warnings
504	i386-debian2.2 i386-freebsd4.8
505	amd64-fedora3 alpha-debian3.0
506	sparc-solaris8 powerpc-macos10.2
507 * note, the build system has some quirks but not yet renovated to the
508	newest autoconf/automake stuff anyway - TBD before final release
509
5102005-10-13
511 * MSVC7 knows the following __declspec attributes:
512	align(#), allocate("seg"), deprecated, dllexport, dllimport,
513	naked{for asm}, noinline, noreturn, nothrow, novtable,
514	property{MngC++}, selectany{common}, thread{tls}, uuid("name")
515 * introduce zzip__new__ for a restrict'ed return item
516 * introduce zzip_byte_t to help silence down compiler warnings
517	about signedness mismatch in assigning data buffer variables.
518	Especially the zlib data_in happens to be of unsigned char type.
519 * note that zzip/format.h does now use zzip_byte_t for layout definition
520
5212005-02-17
522 * adding that _GNU_SOURCE on __linux__ to get the strndup prototype
523 * cleaning a few warning messages on different platforms as well
524	as a bug for 64bit platforms
525 * updating docs/mksite.sh and adding docs/mksite.pl and going to
526	let VERSION be pasted directly instead of a makefile snippet
527 * adding docs/memdisk.htm documentation to the series which is
528	currently quite shallow.
529 * note: no tests for actual zip64 support are made, neither for a
530	large central directory (more than 64K files) nor for large
531	files (more than 2GB). This is all theoretic but I am quite
532	confident that it will work.
533
5342005-02-16
535 * change zzip/zip disk_trailer implementation
536 * we do not anymore pass a copy of the file block around
537 * we do use a local helper structure now with off_t fields
538 * the parse_root_directory is now using off_t for all computatations
539 * make check succeeds - beware, this is a new implementation
540 * RANT: glibc bastards make for additinal warning messages, the fseeko
541    prototype is not exported by default, but as soon as we add some
542    define to make it available, some other prototypes are disabled,
543    including one of the most widespread: strndup(). The documentation
544    even says we have to say GNU to get prototype - if you have ever heard
545    of unix to diverge into something not quite but be alike, here it is,
546    what compiles on most platforms gives a warning on linux even that it
547    works fine afterwards because the libc does export all we need and
548    autoconf does find it - it is just not prototyped and that's all.
549
5502005-02-15
551 * adding zzip/memdisk.* as cache variant for libzzipfseeko
552 * add macro support for zip64 extensions
553 * extend trailer routines with zip64 detection (and return 0)
554 * add memdisk bins
555
5562005-01-04
557 * remember TODO multithreading tests and hardening the code.
558 http://www.idefense.com/application/poi/display?id=153&type=vulnerabilities
559
5602004-12-27
561 * updating to latest autoconf/automake/libtool stuff in Suse92
562 * required a rewrite of ax_enable_builddir.m4 in ac-archive
563 * adding two macros to silence down bogus depracation warnings
564	from the latest gcc 3.3.5
565
5662004-11-27
567 * harveyandsu:yahoo:com reported an api mismatch for SDL rwops
568	usage and the implementation in the SDL_rwops_zzip example.
569 *
570
5712004-05-11
572 * documenting zzip-cryptoid handling
573 * update mksite.sh
574
5752004-05-09
576 * documenting zzipmmapped and zzipfseeko parser libraries
577
5782004-05-08
579 * remove bogus zzip_file_open_ext_io from zzip.h
580 * change to use mksite.sh for documentation builds
581
5822004-03-08
583 * add link in docs/history.htm to the new appnote.txt whitepaper
584	on zip file format specification.
585
5862004-02-19
587 * a test run on solaris did show that fetch.* needs to be linked
588	to the new lib*.la stuff - to convert endianess-dependent
589	values from zip to main memory
590 * there seems to be an automake problem with hpux10 that I can not
591	yet define on what grounds it is - to get away with it I am
592	not defining automake 1.7 as the version to be used, plus
593	autoconf 2.57 - these are pretty new.
594
5952004-01-24
596 * zzip/fseeko.c and bins/zzip.c had some issued with non-C99 compilers
597	which do not like variable declarations in the middle of a block
598
5992004-01-16
600 * zzip_rewind again - the deflateReset does not reset the
601	input buffer variables (oops) so we have to do it
602	explicitly. Here we adopt to set crestlen to full
603	csize and the current z-buffer fillstate avail_in
604	to null to trigger a new read() on next zzip_read.
605 * the zlib headers do not tell whether next_in/avail_in
606	is used in deflateReset as is done in deflateInit.
607	A question to zlib@gzip.org brought no answer (as
608	is always the case) and after some thinking I did
609	decide to reset avail_in *after* the zReset call.
610 * based on this decision, I have made up a patch and I was
611	sending it over to zlib@gzip.org. Same consequence
612	again, the message is bluntly ignored (while there is
613	traffic on zlib devel mailinglist). There seems to be
614	a major problem about it, either a technical problem
615	 (mail-adress disfunctional) or a social problem (no
616	one cares or perhaps some minor racism).
617
6182003-12-29
619 * added libzzipfseeko.la with another simplified interface
620 * rename the other one to libzzipmmapped.la
621 * fix bugs for decompression on the latter as well
622   it seems the one has to use inflateInit2 (..., -MAX_WBITS)
623 * added bins/unzzipshow for an example binary
624 * added "--help" and "--version" to all bins examples
625
6262003-12-24
627 * added libzzipmmap.la with a simplified interface to zip archives
628 * added bins unzzipdir and unzzipcat to show usage of libzzipmmap.la
629 * introduce zzip/types.h to allow easier inclusion to zzip/mmapped.*
630
6312003-12-22
632 * add AC_C_BIGENDIAN and
633 * move out ZZIP_GET to zzip/fetch.h where we also specify access
634	wrappers to items in the zzip/format.h structures, portably.
635 * add byteswap.h ac_check and put a new file autoconf.h to carry
636	compiletime overrides for the autoconf definitions.
637 * start changing over to use zzip/fetch.h definitions everywhere
638	thereby replacing original ZZIP_GET16/32 usages completely.
639	This is localized to zzip/zip.c
640 * rename struct zzip_root_dirent to struct zzip_disk_entry but
641	retain a compatibility declaration.
642 * introduce zzip_version_t and zzip_dostime_t along with an optional
643	ZZIP_NEED_PACKED def that helps with weird compiler struct packing
644 * struct zzip_file_trailer did not use the char[x] variant, it does now
645 * place even more zzip/fetch.h declarations
646 * place even more defs into zzip/format.h
647 * noting CVS area on webpages
648
6492003-12-21
650 * Nigel Stewart hints on some MSVC 6 issues, thanks.
651
6522003-12-20
653 * implant *Reset instead of Deinit/Init in zzip_rewind - the latter
654	is supposed to make for a memory leak (see problem report).
655
6562003-12-10
657 * add zzip_rewind fix by glenn = Glenn Maynard (www.stepmania.com)
658 * fix dirsep_casecmp buglet noted by glenn
659 * glenn did ask for zzip_fstat, and here it is.
660 * but glenn's file_dup is not as easy and skipped here.
661 * otherwise, glenn noted that zziplib is not fully ready for multithreading,
662	the reason seems to be mostly in the reshared 32k buffer where the
663	access is not synchronized completely :-( ... effectivly, in MT
664	all ZZIP_FILE*s need to have a dedicated ZZIP_DIR*buffer.
665 * update make-doc.py with newest version
666
6672003-08-18
668 * changing license to dual MPL / LGPL
669 * bumping version code 12.83 = 13.23 which are actually the very
670	 same inside the code
671 * remove a few compatibility headers at install time.
672 * add install-exec-hook to add ln -s aliases for sharedlibs
673	they are being tried again in .spec but that does not
674	matter as long as it is "|| true"
675 * adapt all source to carry the MPL alternative license
676	instead of the old cruft.
677 * remove staticlinking.txt - it should be covered by copying.htm now
678 * remove "compats" disthook as well as the complete subdirectory
679      i.e. rm -r "zziplib/" at top directory (actually, I store it
680	in a distant place for now.)
681 * remove _htmpages.ar and _manpages.are from dist tarball
682 * add toplevel COPYING.LIB
683 * adapt README and TODO
684 * remove ac_output(zziplib and bins/zzip-config)
685 * remove bins/zzip-config.in
686 * adapt m4 macro and call zzip-config to be archaic
687 * remove maintainer-mode for "test.zip"
688 * turn zzip_plugin_io_t into a union reference, the old struct is
689	still of the same name but a member in there called "fd"
690	the typedef is no a "union _zzip_plugin_io" instead.
691 * the member "use_mmap" is renamed to "sys" - we add a #define
692	in plugin.h to let some software compile with all versions
693 * in zzip/zip.c, try now with making maplen and pagesize of type
694	zzip_ssize_t - as it was newly introduce it might help and
695	perhaps be a little conservative in execution. Before that,
696	we did use size_t and it was provoking warnings like
697	comparing/computing signed+unsigned pairs of values.
698 * add "type" and "write" members to zzip_plugin_io, keep it
699	backward compatible as much as possible.
700 * add _zzip_write to zzip/conf.h
701 * remove ZZIP_WRAPWRAP code in plugin.c
702 * remove --with-wrapwrap
703 * introduce a #define _zzip_plugin_io_handlers and
704	typedefs zzip_plugin_io_handlers and zzip_plugin_io_handlers_t
705 * oops toplevel PHONY does not work, an automake restriction
706 * oops, "cat body.htm" should be "cat $(srcdir)/body.htm"
707 * adding manpages.ar again, just to be sure
708
7092003-08-14
710 * remove _not_implemend macro definitions for shallow-write api
711	from header zzip.h
712 * introduce symbol _ZZIP_WRITE_SOURCE that all files should
713	carry that want to have the declarations of the
714	shallow-write api
715 * use that symbol for zzip/write.c and bins/zzip.c
716 * adding docs/64on32.htm
717
7182003-08-14
719 * for the shallow-write api to compile on win32, we need to
720	test for direct.h which only exists on win'sh system
721	or so we assume
722 * add bins/unzzip
723 * add bins/zzip
724 * ooops, zzip_strerror_of should check dir != 0
725
7262003-08-13
727 * complete zip-write API - no actual implementation so far
728 * tested shallow-write implementation on solaris+linux+win32
729 * and now, call it zzip-12 always
730
7312003-08-12
732 * `make docs` does not always work, so we add `make docu` now
733 *  update make-doc.py
734 *  fix call for make-doc.py
735 *  fix zzip_get16 bad refer that gets detected by make-doc.py
736
737
7382003-08-07
739 * implement zzip/write to a degree that it forwards calls to real
740	files and directories in the system. No zip archives here,
741	but the accession API has been setup so that applications
742	can start to pick it up even for versions of zziplib that
743	have been compiled without zip archive support.
744
7452003-08-07
746 * add doc lines in zzip/zzip.h
747 * add write-defines including flag-marker ZZIP_NO_CREAT
748 * add file write.c with empty definitions for write-support
749 * add the make-doc.py script in its last version - and make its output
750	the default master files for both html and docbook
751 * remove all other doc-maker scripts but make-doc.pl and make-doc.py
752	plus the make-dbk.pl of course
753 * twist configure.ac to set PYTHON instead of PHP
754
7552003-08-03
756 * make compatibility-headers to issue a warning upon include
757
7582003-07-31
759 * fix a segfault with corrupted central directory - just some checks
760	for field boundaries
761 * add a hack to support the fixup-rootdir thing with some simple(r) code
762	that abuses a few fields in the trailer-structure
763 * cvs checkout savannah.gnu.org:config into ../savannah.config and,
764 * add a rule `make configsub` in Makefile.mk to update the two files
765	uses/config.sub and uses/config.guess to the latest versions.
766
7672003-07-30
768 * creating a 0.12.82 out of the source for 0.10.82 and make up a rpm
769	spec which does alias the .so files for these generations
770
7712003-07-29
772 * the include of _LARGEFILE_SOURCE to do ZZIP_LARGEFILE_RENAME is
773	actually a bad idea - the respective symbol does not provoke
774	64bit off_t on newer platforms. Only _LARGE_FILES seems to
775	be correct here for older aix platform to get them define
776	off_t = 64bit where others are using _FILE_OFFSET_BITS=64 now.
777 * after changes to README, remember to package updated test.zip !!
778	otherwise `make check` will fail.
779 * modify _msvc.sed to include "define ssize_t int"
780 * use ZZIP_EXPORTS instead of ZZIP_DLL for DLL export, that's the
781	automatic way of MSVC 6 saying that "zzip" is a DLL project.
782 * create new msvc6/zzip.dsp and delete msvc6/zziplib_DLL.dsp
783 * all examples shall import from zzip.dll by linking with zzip.lib
784	whereas that other zziplib.lib is just the static library
785 * do a looong and detailed information in README.MSVC6
786 * create a rule to pack the *.dll,*.exe,*lib files into a zip
787
7882003-07-28
789 * doc bug in zzip-zip reported by j.scrott.frank
790 * remind me: unzip from memory seems to be more of a task lately...
791 * forgot to modify RELASEINFO in rpm for zzip64 variant
792 * also do not just use -D_LARGEFILE_SOURCE, it does not have the
793	desired effect on all systems. Instead invent a new name
794	-D_ZZIP_LARGEFILE to make it happen magically.
795 * invent a rule to create zziplib64.pc from zziplib.pc for the
796	renamed libzzip.so -> libzzip64.so
797 * invent a rule to create zziplib64.la from zziplib.la for the
798	renamed libzzip.so -> libzzip64.so
799 * do also rename default libzzip.so to libzzip32.so and then create
800	a symlink to it under the old name libzzip.so
801 * create zziplib32.pc and zziplib32.la files accordingly. Following
802	an application may choose explicitly between 32 or 64bit off_t
803	version. This allows us to claim now that the default libzzip.so
804	library may be either of them and not anymore strict 32bit off_t
805 * aaahm, note that all of these account for rules in the linux rpm spec!
806	other system do not get this packaging support from vanilla tarfile
807 * well, better make it lib01 instead of lib0.10 for the rpm name
808 * already roll out visualc7.zip and msvc6 files in subdirectories,
809	do not ship them as .zip files
810 * already adapt msvc6 .dsp files but not yet tested
811 * rename main "rpm" target into "rpm2" to get rid of the warning message
812 * use (cd zzip64 && make install) instead of (... make install-ltLIBRARIES)
813	since otherwise we do not get any .pc file installed (oops)
814 * while modifying *.la into *64.la, take care to fixup reference to the
815	"old archive" *.a as well making it *64.a - same for *32.la file.
816 * some file.c reports there was not previous declaration of some of
817	its functions, but _only_ in 64bit compile step.
818	Reason: looks like a gcc 3.2.2 bug, no fix here.
819 * convert a few "ln -s" into "ln -s -f" in "make install" parts
820 * update README to point out staticlink model
821	in a separated LICENSE section.
822
8232003-07-28
824 * add three extra gcc options: -Wpointer-arith, -Wsign-compare, and
825	-Wmissing-declarations which will help about portability to
826	platforms where that is enabled by default in -Wall
827 * sign-compare fix in, zzobfuscated (zzip_size_t -> zzip_ssize_t),
828 * make 5 functions in zzipwrap/wrap.c global=>to=>static
829 * add pre-delcare headers for 2 functions in zzip/zip.c
830	__zzip_find_disk_trailer(), __zzip_parse_root_directory()
831 * rewording of "ends/tail" in find-disk-trailer which does also find
832	a little bug (ends-1 or not) in there, It should not have shown any
833	practical problem so far, also corrected by anotgher little bug
834	in there (ends-tail > sizeof or ends-tail >= sizeof)
835 * adding a parts of a patch from Martin Schitter to harden zziplib
836	for corrupted zip files.
837 * remove a few duplicates in Makefile.mk, still need to keep "rpm"
838 * add declaration for zzip_dir_alloc_ext_io into zzip/lib.h
839
8402003-07-27
841 * redefine size_t maplen -> off_t maplen and for each of the calls to
842	mmap()/munmap()/read()/getpagesize() we cast to size_t - this might
843	get us rid of a few warnings about signed/unsigned comparisons.
844 * introduce AC_TYPE_SIZE_T and use the prefixed variant _zzip_size_t
845	within plugin.h for io->read() calls. That makes for a little
846	bit of portability - it seems some platforms (dot-net f.e.)
847	do not `typedef unsigned int size_t;`, perhaps because int is 16bit
848	and a 32bit or even 64bit entity is needed.
849 * now we do not need to AC_COMPILE_CHECK_SIZEOF(size_t) anymore, perhaps
850	even stand io-wrap is not needed anymore. Let's see.
851 * both changes need update of zzip/conf.h for _zzip_size_t plus
852	- plugin.h for io->read(,,size_t)
853	- zzip.h for zzip_file_read (,,size_t)
854	- zzip.h for zzip_read(,,size_t)
855	- zzip.h for zzip_fread(,size_t,size_t,)
856	- zzip.h for zzip_seek(,off_t,)
857	- zzip.h for zzip_tell(,off_t,)
858	- file.h int => size_t for zzip_file's restlen crestlen usize csize
859 * the io->seeks(,off_t,) has not been respected so far sometimes.
860	and like lseek(2), we define the returntype of zzip_seek as off_t
861 * introduce zzip_ssize_t as well, and modify
862	- zzip.h for zzip_read and zzip_fread and zzip_file_read
863	- plugin.h for io->read() return type
864 * dot-net bug in aligned4() - sizeof(long) < sizeof(void*) !!
865	better use off_t in the hope that it does fix it
866 * tested on ia32-linux, alpha64-linux, sparc32-solaris
867 * ooops, we need to update io-plugin examples and documentation as well,
868	since we define a custom _read() routine righ there.
869
8702003-07-26
871 * updating to AX_SPEC_DEFAULTS macro
872 * zzshowme does not work with no libzzip installed in the system
873 * add automake option dist-bzip2
874 * use tar.bz2 for rpm build
875 * add dist-bzip for the latter
876 * use zziplib-lib0.10 package which provides zziplib and libzzip0
877 * forgot to add *.la files into the rpm devel package
878 * AC_SET_RELEASEINFO_VERSIONINFO => AX_SET_VERSION_INFO
879 * adjust all RELEASEINFO -> RELEASE_INFO accordingly
880 * and choose 0.10.82.pre1 as a vesion number for testing
881	which is possible now as the new macro does it right.
882 * forgot override of default_includes in test/*.am
883 * somehow ax_prefix gets the wrong input, i.e. _config.h instead of config.h
884	so we make that one explicit now
885
8862003-05-13
887 * the off64_t mode renaming for 64on32 was done incorrectly and
888	it lead to problems on solaris8 - fix it.
889 * fixup `make check` to work on subdir build
890
8912003-05-11
892 * adapt README file to clarify LICENSE details as suggested by
893   a discussion with ACE/TAO developers that want to use the
894   library for some compressed xml archives.
895 * fix a few zzip_char_t bugs that got visible in MSVC mode as
896   reported by Olge Ryabukha
897 * kill sfnet strand of the rpm build, the docs are installed
898   into the share/groups part and the omf file points to that
899   place. The index.html file is the one at sourceforge while
900   the other one is the entry point of the local documentation.
901
9022003-04-21
903 * quite a few updates are need to --enable-builddir by default
904 * watch out: subdir build is the default now!
905
9062003-04-20
907 * pick up AX_ENABLE_BUILDDIR
908 * throw out ac_subst CONFIG_ARGS
909 * use AX_SPEC_PACKAGE_VERSION
910
9112003-04-20
912 * memory leak in zzip/file.c - adding free(dir->realname) zzip/zip.c
913	in function zzip_dir_close called via zzip_file_close
914   (bug reported by Olge Ryabukha, thanks!)
915 * "/" is hardcoded for finding subpaths but on windows that could be
916	a backslash as well. That should be handled better, we add some
917	alternative implementations for dirsep_strrchr and dirsep_casecmp
918	but the default is OFF!! even on WINDOWS !!
919 * thereby seen another problem: we did deliberately use strcasecmp but
920	this symbol is not available on all unix systems - the manual
921	says its a BSD4.3 addition. Some other systems call it strcmpi
922	or stricmp instead, or they do not have it at all. Here we add
923	a configure rule to check for that symbol, and when we do not
924	have it then we _enable_ dirsep_casecmp automatically.
925
9262003-01-16
927 * change extension of intermediate docbookfiles to ".xml"
928 * throw out attempts to compile docs with php
929
9302003-01-15
931 * lots of doc updates in between. (forgot to document them).
932 * a zzip-config update, and installing an aclocal macro now.
933
9342003-01-06
935 * defattr(root,root) !! - why that had been forgotten? hmmm...
936 * allowing for --disable-debug to clean cflags from -g entries
937	but it has not effect on callframe generation... actually.
938
9392003-01-05
940 * we need to stop the manpages.ar bloat - now!
941
9422003-01-05
943 * add largefile tests in configure.ac
944 * add largefile detection in zzip/conf.h
945 * add renamings for zzip_telldir/seekdir in zzip/zzip.h
946 * add extra exports in zzip/dir.c to have both 32bit and 64bit names exported
947	i.e. zzip_telldir _and_ zzip_telldir64
948 * add renamings in zzip/plugin.h to ensure that 64bit-off_t-compiled zziplib
949	is not given io-callbacks being from another program that is actually
950	compiled as 32bit-off_t and where therefore arguments do not match.
951 * detected a dubious export of "aligned4()" - rename this export now.
952 * also rename everything having "_io" in the name - just to guard ourselves
953	from the case where two -lzzip are in the libpath and one is
954	compiled 64bit-off_t while the other is not.
955 * rename the younger function s/zzip_open_shared/zzip_open_shared_io/
956 * make up functions for zzip_open_ext_io and zzip_opendir_ext_io for the
957	case of 32/64bit dual systems where lib is compiled in largefile mode.
958	Let the call succeed unless an "io" structure was given - return
959	the EOVERFLOW errno as specified in the large.file WG documents.
960 * make all parallel defines for 32/64 bit dual off_t dependent on
961	defined EOVERFLOW and defined PIC - i.e. only for dynamic linkage.
962 * adding LARGEFILE_CFLAGS into zziplib.pc and bins/zzip-config.in
963 * NOTE: the default for --with-largefile is still OFF !!
964 * NOTE: our zzip_readdir is not depenent on off_t size
965 * adding -64 into the --release info for the sharedlibrary build
966	it should have been a --variant but such does not exist so far
967	in libtool, sorry.
968 * extract AC_SYS_LARGEFILE_SENSITIVE and put it into an extra ac-macro
969 * clean zzip/file.h from compatibility-install as zzip-file.h
970	the structure in there contains zzip_off_t items and they
971	should be internal always anyway - so disallow access for
972	old programs now just to be sure.
973 * adding zzip64 compilation into zziplib.spec - an rpm package will now
974	install both 32bit off_t and 64bit off_t variants of the sharedlib
975 * note: we do not copy 64bit zzcat into the rpm, perhaps we should?
976
9772002-12-31
978 * add make check-sfx
979 * add zzipself.c and zzipsetstub.c for the sfx test
980 * zzip_file_open takes o_modes flags, clarify in zzip.h
981
9822002-12-27
983 * adding scrollkeeper omf file generation in docs/
984 * adding omf file installation in docs/make-install-doc
985 * replace %post-doc message in zziplib.spec with scrollkeeper-update call.
986 * need *.pc *.omf in CLEANFILES now
987 * mingw32 crossgcc tests for win32 dirent emulation - did need some fixing
988
9892002-12-23
990 * adding generation/installation of pkgconfig files
991 * making SDL a build-requirement for rpm packaging
992
9932002-12-22
994 * add compatibility subdirectory "zziplib"
995 * zzipback.sed to create zziplib/* files from current release files
996 * include into distribution tarball
997 * IMPORTANT: flashback - 12.24 is now called 10.74 -
998	the old source line will cease to exist, only the compatibility
999	directory will survive a while - that should put some pressure
1000	on developers to update to the new source tree. And it saves me
1001	some work to keep two trees in sync.
1002
10032002-12-20
1004 * fix some problems of make-doc.pl with the current project
1005 * make a standard inlude info referring to zziplib.h as well
1006 * unpack htmpages.ar on SFNET and register it on the frontpage
1007 * don't forget to modify includes of internal headers
1008 * ...
1009 * fixed an annoying bug in make-doc.pl
1010 * include htmpages.ar into the tarball
1011
10122002-12-19 Guido Drhaeim <guidod@gmx.de>
1013 * completed new directory structure - the library is called 0.12.22 as
1014	to match 0.10.72, it's the same C source in its content
1015 * install-headers modified - the new structure is now compatible both
1016	as a shared library (binary compatible) and for the include headers
1017	too - source compatible not only for function names but also for
1018	the #include lines
1019 * 0.12.23 fixes a bug in make doc: the xmlto html was never done.
1020 * and we implant make-doc.pl which was founded on the base of the local
1021	zzip-doc.pl but has since gone a lot further. It's currently just
1022	a third variant but it is now used as the primary master default.
1023
10242002-12-18 Guido Draheim <guidod@gmx.de>
1025 * man page update for zzip_open_shared (it turns out to be a good name).
1026 * let frontpage point to http://www.gzip.org/zlib for primary zlib site.
1027
10282002-12-17 Guido Draheim <guidod@gmx.de>
1029 * introduce zzip_open_file that may have an extra argument of a factory
1030	file to share the zzip internal directory if that is possible.
1031 * introduce zzip_freopen to take an extra argument. The supplied handle
1032	is freed unless of course one puts ZZIP_FACTORY into o_modes so
1033	that it becomes a wrapper around zzip_open_file
1034 * the zzip_open_file, in that case, is the old zzip_open_ext_io call
1035	but extended with checking the factory stream for a matching
1036	basename.
1037 * while being there: introduce ZZIP_ALLOWREAL o_mode that will make it
1038	that a real file is open/read/close with the standard posixish
1039	routines. This is most useful when having an obfuscated zip
1040	file around but during development one wants to sometimes check
1041	with a real file - so the call mode is something in the middle
1042	of ZZIP_ALLOWREAL - ZZIP_PREFERZIP|ZZIP_ALLOWREAL - ZZIP_ONLYZIP
1043	where the middle is for "yet another file not yet included",
1044	hmm, perhaps a cheat file? ;-)=)
1045 * cleaning rwops example: fix the mode check, it's not needful to start
1046	with "r" to be a readfile mode, it may be somewhere in between.
1047 * introduced __zzip_dir_parse as a cut off from zzip_dir_fdopen_ext_io,
1048	but it did turn out to be not necessary, so it is made static in
1049	the end. Still, it works as documenting the control flow better.
1050
10512002-12-17 Guido Draheim <guidod@gmx.de>
1052 * win32 mmap removing extra braces
1053 * win32 dirent implementation added - new file __dirent.h
1054	and modified zzip-dir.c
1055 * a couple of arg[n] -> argv[argn] cleanups.
1056 * a missing argc > 1 check added.
1057 * all changes due tests / bug reports by Thomas-dot-Eder-at-nmi-AT
1058
10592002-12-16 Guido Draheim <guidod@gmx.de>
1060 * the infozip `zip` tool puts out messages per default on some machines
1061	fix by adding >/dev/null in some places of Makefile.am
1062 * the hpux10.20 platform has sys/mman.h but no MAP_FAILED
1063	the `man mmap` says it returnes "-1" as done on all other unix
1064	compatible platforms, so we add a default define ((void*)(-1))
1065 * update TODO file with some hints on test runs.
1066 * add --with-zlib configure call to make it easier to specify a path
1067 * make zlib error messages to point to this configure option.
1068 * beautify error output on all other options as well.
1069 * create `make brute` to make a  bruteforce test
1070 * solaris8 make has a problem with $< ... change sometimes into $?
1071 * freebsd/darwin have 64bit off_t by default - and that reveals a problem
1072	in the zzip_telldir/zzip_seekdir code. Let's change the code to make
1073	it return/receive a byte-offset of "dir->hdr" to "dir->hdr0".
1074	This makes printing of those values also more intelligible (if ever).
1075 * ia64-linux reveals a problem in "default_io" since size_t is 64bit.
1076	We modify --with-wrapwrap to autodetect this case. This is okay
1077	since zip-files can not get bigger than 32bit offsets anyway.
1078
10792002-12-16 Guido Draheim <guidod@gmx.de>
1080 * merging corrected README.SDL and __hints.h
1081	courtesy of Thomas-dot-Eder-at-nmi-AT
1082 * update CFLAGS ac-macros to the new generation as shipped with
1083	latest ac-archive-0.5.39 (did upload just yesterday...)
1084
10852002-12-14 Guido Draheim <guidod@gmx.de>
1086 * many hours of debugging - I don't remember which flaw came in through
1087	the latest changes or which others were there before *sigh*
1088 * e.g. the error-code mappings were refined on linux errno codes
1089 * fix "caseless" bugs reported by Thomas-dot-Eder-at-nmi-AT
1090 * fix MSVC related flaw when taking a casted value as an lvalue
1091 * replace AC_CREATE_PREFIX_CONFIG_H with new style AX_PREFIX_CONFIG_H
1092 * invent zzip-msvc.sed to turn config.h.in into zzip-msvc.in and
1093	finalize a fresh zzip-msvc.h via AX_PREFIX_CONFIG_H
1094
10952002-12-13 Guido Draheim <guidod@gmx.de>
1096 * shown by Mike Nordell tamlin-at-algonet-SE we can support win32 mmap
1097 * modify configure.ac : if have:winbase.h then auto -enable-mmap
1098 * refactor mmap'ing - it goes into __mmap.h and uses the io->use_mmap value
1099	and that include file contains both posix and win32 mmap variants
1100 * rewrite pagesize/mapoff calculations - this should be faster in itself
1101	and also easier to maintain in the future for being more obvious.
1102 * rewrite read/write defines and wrapwrap's. The zzip-conf.h does now
1103	contain defines for _zzip_read/_zzip_lseek - and it should us get
1104	rid of the nasty win32 problems with redefining _read/read
1105 * refactor DBG defines - put them into __debug.h - oops, xbuf() was
1106	an exported symbol, better be not. Use only newer NOTE/WARN macros!
1107 * implant __hints.h include - that's taken from another project but it
1108	is so damn useful ;-)
1109
11102002-12-12 Guido Draheim <guidod@gmx.de>
1111 * modifizied zzip-zip.c to include a sanity check on getpagesize ()
1112	for mmap () functionality and ZZIP_BUFSIZ (the default is good).
1113 * modify configure.ac : const char strings
1114 * modify configure.ac : strict prototypes
1115 * modify configure.ac : all warnings
1116 * ... and so it reveals something missed along ;-)
1117
11182002-08-27 Guido Draheim <guidod@gmx.de>
1119 * modified zzip-stdint.h along the example patch for FreeBSD done
1120	by wjpalentstijn at sourceforge in projet uwadv.
1121
11222002-07-24 Guido Draheim <guidod@gmx.de>
1123 * did teach myself php over converting zzip-doc.pl into zzip-doc.php
1124 * added php-test and another way to create the docbook file, with php
1125
11262002-07-20 Guido Draheim <guidod@gmx.de>
1127 * lots of fixes around docbook/manpage - and generate a zziplib.3
1128	overview page. Fixes also lots of comments in the sources.
1129 * modified fopen-mode interpration nicely.
1130 * added zzip-api for full overview of the zzip's API
1131
11322002-07-19 Guido Draheim <guidod@gmx.de>
1133 * greatly enhanced docbook/manpage generation - including to attach
1134	author and license info from the respective source file header
1135
11362002-07-18 Guido Draheim <guidod@gmx.de>
1137 * extended the perlscript to generate zziplib.docbook
1138 * use xmlto to generated manpages.ar
1139 * install-man3 target and push into rpm-devel package
1140
11412002-07-17 Guido Draheim <guidod@gmx.de>
1142 * no new code, just doc updates. The perl-script is now capable to
1143	combine _ext_io functions with their non-ext/io cousin, and the
1144	sources have been modified to honour this new mode.
1145 * the perl-script is now ready to spit out other data like docbook
1146	files that we can generate man-pages from later.
1147
11482002-07-16 Guido Draheim <guidod@gmx.de>
1149 * extern-C in SDL_rwops_zzip.h ... and ifdef'able DECLSPEC for staticlinking
1150 * zzip_fopen allows to greatly simplify SDL_rwops_zzip.c
1151 * zzxordir.c zzxorcat.c zzxorcopy.c invented
1152 * lots of new documentation added
1153	zzip-extio.html zzip-xor.html zzip-refs.html
1154 * new checks that test the zzxor examples
1155 * and found an zzxor bug in the course
1156
11572002-07-15 Guido Draheim <guidod@gmx.de>
1158 * Michael-dot-Fink-at-asamnet-dot-de did some code review while
1159	going after a specialty he wanted to do with the libs, and therefore..
1160 * PREFERZIP did never test real file - stupid bug, inverted logic....
1161 * add ZIPONLY zzipmode - we have plenty of options available... on 32bit
1162	platforms however, since I want to keep with the access-bits in
1163	the lower parts.
1164
11652002-07-12 Guido Draheim <guidod@gmx.de>
1166 * watcom-c-10.5 project file added
1167 * used my old watcom compiler to debug the win32 problems, and it turned
1168	out to be a mismatch in proccall for zlib - while the default in
1169	zlib.h inferred WINAPI, it turned out that zlib114dll.zip had in
1170	fact been compiled with __syscall procframe callmethod. Duh!!!
1171 * some things had to be rearranged in header files - most classically it
1172	seems that this compiler does not support __inline in C mode.
1173
11742002-07-11 Guido Draheim <guidod@gmx.de>
1175 * convert all API const types into those with _zzip_const and use new
1176	types like zzip_char_t and zzip_strings_t throughout the sources.
1177 * add ZZIP_RDONLY and friends. Do not use fcntl bits anymore, and limit
1178	use routines to convert them into O_DEFs later one in the next
1179	version of this lib - here we just declare them to be their O_DEFs
1180	but code should start to pick up ZZIP_DEFs in the meantime.
1181 * add zzip_fopen and friends as another type of magic wrappers.
1182 * modify open_ext_io to use receive separate arguments for the two
1183	zzip extraflags - use these from now on, the others are just
1184	for limited backward compatibility.
1185 * modify all _close functions to return "int".
1186
11872002-07-10 Guido Draheim <guidod@gmx.de>
1188 * Marlin Prowell mbp-at-cadalog-inc-dot-com did hit a problem on FreeBSD
1189	showing off a config problem - the configure.ac macro for off_t is
1190	written to be _undefined_ if off_t existed in the system. Instead we
1191	chose to defined zzip_off_t into a "long" as it is needed on win32,
1192	and since FreeBSD on LFP32 uses OFF64 it did fall flat on calls to
1193	lseek - without io-wrap the gcc did cast them correctly, so it worked.
1194 * the fix: use off_t if zzip_off_t undefined. Add a define zzip_off_t into
1195	long in conf-msvc.h. Add a configure-option to have wrappers for the
1196	default lowlevel calls as suggested by Marlin but I choose to have
1197	them off by default - a bsd ports package may start using it.
1198 * there have not been reported problems in the last three months where only
1199	developers knew about the new version. Guess it's time to push this
1200	tarball and announce it on freshmeat.
1201
12022002-04-30 Guido Draheim <guidod@gmx.de>
1203 * fix typo in zzip-zip.c: __USE_MMAP -> _USE_MMAP
1204 * if zlib.h not found, make it a fatal exit
1205
12062002-04-25 Guido Draheim <guidod@gmx.de>
1207 * adding a few more `make check` rules for bigger zip files
1208 * add even negative tests
1209 * add some spaces in error-messaging in zzdir.c and let return
1210	an exitcode when some argument files could not be read
1211
12122002-04-24 Guido Draheim <guidod@gmx.de>
1213 * apply patch from Mike Nordell
1214	changes all "const char * *" into the intended "const char * const *"
1215	changes some typecasts
1216	corrects comment and adds some
1217	and two fixes
1218 * put the updated MSVC6 files into the project, again Mike Nordell
1219 * me, add new zzwrap.dsp to DIST in Makefile.am, following Mike's addition
1220 * me, modify some typecasts to use off_t/size_t where appropriate
1221 * modified COPYING.ZZIP to be a bit more general than just for ZZIPLIB
1222	as noted by Tomi Olilla
1223 * zzipwrap demo_callback, how can we do void* and char* at the same time...
1224
12252002-04-23 Guido Draheim <guidod@gmx.de>
1226 * changed ssize_t into int in zzipwrap-mem for portability reasons
1227 * fix zzip_dir_fdopen_ext for access to uninitialized io-vtable
1228	(thanks to Lutz Sammer johns98-at-web-dot-de for testing)
1229
12302002-04-22 Guido Draheim <guidod@gmx.de>
1231 * add MSVC6 project files contributed by Mike Nordell tamlin-at-algonet-dot-SE
1232 * add plugin_io-patch from Mike Nordell
1233 	and dump the iowrap-patch from Andreas Shiffler from earlier release
1234 * append the Mike Nordell's zzobfuscated.c to Makefile.am
1235 * add a new file COPYING for new less-strictly license
1236	after Tomi Ollila has transferred full copyright to me
1237 * remove Tomi Ollila from all copyright entries in the sources
1238	but honour his name where appropriate
1239 * modify LGPL hints in sources and point to COPYING.ZZIP as well
1240        and change copyright year info
1241 * create COPYING.ZZIP with some general LGPL exceptions.
1242 * use newer AC_CREATE_CONFIG_H macro and start using acinclude.m4
1243	to allow retooling of the project.
1244 * and use zzip_off_t instead of ZZIP_off_t (but keep backward compatibility)
1245 * apply patch for the problem detected and corrected by
1246	 Steve Dillon steved-at-phone-IVR-dot-com
1247 * try with an updated ac_create_prefix_config_h due to a bug report by
1248	John W. O'Brien john-at-jugglers-dot.com
1249   where his shell-and-echo combination did interpret \\1 twice.
1250 * add use_mmap flag to plugin_io_t, so the feature can be used
1251	along USE_MMAP configured setups
1252 * change USE_MMAP #ifdefs to use if()s and to rely on the
1253	compiler to do code removal for unreachable code
1254 * remove tell() part of plugin_io and rename seek()-indirection
1255	to seeks()-indirection using a tells()-macro in zzip-file
1256 * also rename s/seek/seeks/ in zzip-zip and kill the (*function)(x)
1257	for the indirection functions into just function(x)-calls
1258 * fix zzobfuscated example code - there's no read() without unistd.h
1259	in unix, and global zzip_install_io had been removed lately.
1260 * add zzipwrap-io.c and zzipwrap.c from Andreas Schiffler's patch
1261	on the new ground of Mike Nordell's plugin_io
1262 * modify zzipwrap sources to work with plugin-io
1263 * add io pointer to dir-structure, and use it as the default for file-structs
1264 * __zzip_open_zip is called __zzip_try_open now and takes two arguments
1265 * typedef struct zzip_plugin_io * zzip_plugin_io_t;
1266 * zzip_opendir_ext_io .. for magic convenience
1267 * create new zzipwrap.la in Makefile.am
1268 * move plugin_io struct from zziplib.h to zzip-io.h
1269	along with its helper functions
1270 * change all filesize into zzip_off_t
1271 * s/zzip_find_disk_trailer/__zzip_find_disk_trailer/ (additional io arg)
1272 * s/zzip_parse_root_directory/__zzip_parse_root_directory/ (ditto)
1273
12742001-10-11 Guido Draheim <guidod@gmx.de>
1275 * added zzipwrap feature contributed by Andreas Schiffler
1276
12772001-09-18 Guido Draheim <guidod@gmx.de>
1278 * fix bug for `zzip-config --cflags`
1279	which did print /xx/include instead of -I/xx/include
1280	(thanks to Roger Ostrander <denor(at)yahoo.com>)
1281 * change the for-loop in zzip-config - the "for i ; do" is not portable
1282	because I had problems on solaris-sh. Use "$@" which expands
1283	to a list (!!) of argv entries for this for-loop even for
1284	arguments that contain spaces. fascinating.
1285 * use AC_HELP_STRING ... the `configure --help` screen got a bit
1286	misformatted lately.
1287 * add a `make check` rule.
1288
12892001-08-19 Guido Draheim <guidod@gmx.de>
1290 * add that /programs magic to the $prefix check in configure.ac
1291 * add that /usr/share magic to the $prefix check in configure.ac
1292 * fix zzip-sdl-rwops.html layout (and copying.zlib link).
1293 * fix some flaws in sdl-rwops example source (just by code review).
1294 * add unistd.h include to zziptest.c to silence off the warning about sleep
1295 * add non-dll compile to extern in zzip-conf.h - does that fix anything?
1296
12972001-08-18 Guido Draheim <guidod@gmx.de>
1298 * SDL_rwops_zzip.c/SDL_rwops_zzip.h SDL-example file.
1299 * change all filename args to be const
1300 * add ZZIP_const to zzip-conf.h, but do not use it for now.
1301	It seems that all current lib-users have a modern compiler...
1302
13032001-08-16 Guido Draheim <guidod@gmx.de>
1304 * export zzip_dir_free / zzip_dir_alloc
1305 * bring in fileext field to check for multiple fileextensions.
1306 * make zzip_open check for multiple (default) fileextensions.
1307 * add ifdef USE_ZZIPLIKES to implement feature proposed by
1308	Julien Cayzac <deepmind(at)jessica.brainlex.com>
1309 * make zzip_open check along the dirpath for a zip-file
1310	a feature proposed by Lutz Sammer <Johns98(at)web.de>
1311
13122001-08-15 Guido Draheim <guidod@gmx.de>
1313 * add "stroustrup" style to all c files to ensure that casual
1314	developers do not trash the layout unintentionally.
1315 * modify examples a bit with more newlines / comments.
1316 * re-license examples to ZLIB license
1317 * include COPYING.ZLIB into doc_FILES
1318
13192001-08-10 Guido Draheim <guidod@gmx.de>
1320 * change frontpage of webpages - including a few crosslinks to
1321	other projects
1322
13232001-08-07 Guido Draheim <guidod@gmx.de>
1324 * split version X.Y.Z into -relese X -version-info Y:Z
1325 * adding --disable-thread-safe, and add -thread-safe linkage by default
1326 * modify releaseinfo for with-debug
1327 * install-zip target to make a windows package
1328 * change serial to _vendor - rpm has never been used for other than linux
1329
13302001-08-06 Guido Draheim <guidod@gmx.de>
1331 * reorganize docs, update docs to new style
1332 * split version X.Y.Z into -release X.Y -version-info Z
1333
13342001-08-05 Guido Draheim <guidod@gmx.de>
1335 * add zzip-msvc.h, a header file that will be included when
1336	a windows compiler is detected in zzip-conf.h, e.g.
1337	_MSC_VER or __BORLANDC__
1338 * mv index.html zzip-index.html and add makerule that patches
1339	the VERSION in before installing it as index.html
1340 * add a makerule to build sourceforge htdocs and add it
1341	to the rpm build.
1342 * add generic patches for libtool into configure.ac
1343
13442001-07-18 Guido Draheim <guidod@gmx.de>
1345 * check up bugs in automake 1.4beef, now using a rule to
1346	override AUTO* in non-maintainer-mode. we also set
1347	libtool to silent in non-maintainer-mode
1348 * docs are installed to $datadir/doc/$package as default
1349 * rpms can now be built.
1350 * create --with-docdir and let it be filled in rpm-configure
1351	so that docs will end up where rpmopt says it should.
1352 * ChangeLog goes into %doc of rpms.
1353 * uhmm, forgot to install the test*.c files into the docdir
1354 * the bin rpms had not been built
1355 * compress into base and devel package
1356 * errnolist should be static
1357
13582001-07-17 Guido Draheim <guidod@gmx.de>
1359 * nuke Makerule system, use plain autotools style including
1360	configure && make install to rebuild
1361 * update Makefile.am (which is new now)
1362 * use next-generation autotools as a basis, update configure.ac
1363	to newer style, update configscreen at the end of file
1364 * check perl in configure and let it default to "echo"
1365 * check HAVE_ defines coming from config.h - it is not anymore
1366	included by zzip-config.h, so each config-def usage
1367	must now use the prefix'd version
1368 * provide a zziplib.spec file
1369
13702001-01-05 Guido Draheim <guidod@gmx.de>
1371 * apply zzip_seek-patch from Ted [sourceforge.net/users/tam4]
1372 * -> 0.10.12
1373
13742001-01-02 Guido Draheim <guidod@gmx.de>
1375 * gone through a couple of trial and error versions until
1376	I finally arrived at a mingw32msvc zzip.dll - basically
1377	I had to update the included libtool files to 1.3.5
1378	and the zzip.dll source-files have a ZZIP_DLL define
1379	before the first include that points to zzip-conf.h -
1380	and there is the magic about dllexport and dllimport.
1381	Hopefully the same can run under MSVC without further
1382	changes to the sources.
1383 * try to package a zip-file that contains the relevant files
1384	from the mingw32msvc install, so that windows user
1385	get a clean dll without the need to compile it.
1386 * -> 0.10.11
1387
13882001-01-01 Guido Draheim <guidod@gmx.de>
1389 * received a patch for MSVC compatibility from Ted A. (@lehigh.edu)
1390   which made me to look after the project again. There
1391   were two support requrest during summer that asked for
1392   MSVC support, especially a prebuilt dll and headers.
1393 * added AC_PREFIX_CONFIG_H that I made originally for
1394   another project. It enables me to push the configure
1395   detections into a global include/-dir. Ted's patch
1396   used an `IFDEF MSVC DEFINE HAVE_SYS_TYPES_H` which
1397   is a symptom of using config.h&HAVE_CONFIG_H and
1398   zzip-file.h&IFDEF HAVE_xx. Change all header-IFDEF-HAVE
1399   to use IFDEF-ZZIP_HAVE, and install zzip-config.h
1400   along with the other headers, change the original
1401   include"config.h" in zzip-stdint.h and make it rely
1402   on zzip-conf.h - where zzip-conf.h includes zzip-config.h
1403   and lists the detected features to be used, along with most
1404   important extra defs for MSVC compatibility. (!!!)
1405 * added AC_COMPILE_CHECK_SIZEOF (cross-compile clean!)
1406   to always use the correct STDINT defines. Delete
1407   use of glib.h if present, it's not needed anymore.
1408 * use ZZIP_off_t instead of off_t
1409 * prepare for a MSVC' ZZIP.DLL with _zzip_export defines..
1410   -DZZIP_DLL -> declspec(dllexport)
1411   -DHAVE_LIBZZIP -> declspec(dllimport)
1412 * make sure, __attribute__ is okay with non-gcc compilers
1413   and attache packed-attribute to *all* zipformat-structs. The
1414   whole of zzipformat.h is also enclosed in pack-pragmas.
1415 * -> 0.10.7
1416 * create zzip-config.in and install it.
1417 * mingw32msvc has shown that we need -lz on the command-line
1418   to resolve a few symbols
1419 * go automake
1420 * install zzip-config along
1421 * mingw32msvc does not build with cross-make.sh as seen on
1422   http://libsdl.org/Xmingw32 - it needs the cross-tool/lib
1423   just as well. There we have LDLIBADD in Makefile.mk now.
1424   Now everything works for making win32 target with cross-tools.
1425 * The rest of the make-struture should ensure to be able to
1426   create an MSVC nmake Makefile - the Makerule.am is clean and
1427   can be directly included... hopefully.
1428 * -> 0.10.8
1429
1430
14312000-06-03 Guido Draheim <guidod@gmx.de>
1432 * Tomi did a final test round for solaris, oh well,
1433   configure needs some fixes...
1434 * checking for myself at the university's solaris2.6 with
1435   gcc-2.95.2, hmm... there's an sys/int_types.h that
1436   seems to define some of C9X int-types, put it into
1437   the configure.in and know about it in zzip-stdint.h
1438   (btw, glibc seems to have include/inttypes.h that
1439    includes stdint.h).
1440 * tomi did report a problem with gcc 2.7.2... probably
1441   sth. about -rpath
1442 * release 0.10.6 and going to announce it...
1443
14442000-05-31 Guido Draheim <guidod@gmx.de>
1445 * created the main doc html files, index.html, zzip-zip.html
1446   and zzip-file.html. the README and README.API is deleted,
1447   and the TODO is a bit updated.
1448 * This version is meant to be announced very soon now.
1449 * release 0.10.5 and contact Tomi for his final nod.
1450
14512000-05-31 Guido Draheim <guidod@gmx.de>
1452 * ifdef HAVE_SYS_STAT_H where stat is used. Removed
1453   the stats from zzip-file.h - it will now just try
1454   to open the file or zip-file and assume that
1455   open(2) will fail if the file is not there. I do
1456   hereby assume that the returned fd is seekable..
1457 * two new functions, zzip_dir_real and zzip_file_real
1458   to check if the ZZIP_XX structures are wrapping a
1459   real file or directory. Otherwise it is a zip-archive
1460   or a zip-contained file respectively.
1461 * zzip_compr_str does now know about stat-types and
1462   will return names for S_ISTYPE bits.
1463 * remove zzip_fd. It was identical to zzip_dirfd
1464   whose name is consistent with dirent.h
1465 * zzip_stat -> zzip_dir_stat since it does not neither
1466   return a stat structure nor does it use stat(2)
1467 * Checking the doc-comments
1468
14692000-05-30 Guido Draheim <guidod@gmx.de>
1470 * zzip_fp -> zzip_file and _fp_ functions to _file_
1471 * zzip-stdint.h to ensure iso c9x typedefs
1472 * ZZIP_GET16/32 macros in zzip.h header.
1473 * minor updates in cosmetics and documentation
1474 * have full replacements for dirent.h functions,
1475   the zip-specific functions are now called
1476   zip_dir_open (and more alike). The zzdir can
1477   now show a list of files in a real directory,
1478   or magically the files contained in a zip-arch.
1479 * release 0.10.4
1480
14812000-05-29 Guido Draheim <guidod@gmx.de>
1482 * zzipmain -> zziptest and some cleanups
1483   in the Makefile. zziptest is now just
1484   another test program, so it gets compiled
1485   in full similarity with zzcat and zzdir.
1486 * removed zziptest from install-bin
1487 * the long forgotten simplicistic dependency
1488   rule is now in here too.
1489 * cosmetics to pointer declar' stars in
1490   zziplib.h
1491 * ZZIP_FP -> ZZIP_FILE and
1492   zzip-fp.h -> zzip-file.h
1493 * removed the use of zzip.h where suggested
1494   by Tomi. (use public zziplib.h instead)
1495 * removed errno.h from zziplib.h
1496 * printing configuration at end of configure.
1497 * add install-includeHEADERS rule, so that
1498   zziplib.h does now get installed.
1499
1500
15012000-05-27 Guido Draheim <guidod@gmx.de>
1502 * zzipformat.h carries information about the
1503   zip-file structure. The typedefs are now
1504   used to access members of the zip-archive
1505   (instead of using the offsets directly).
1506 * notice that the members are declared
1507   bytewise due to compiler semantics that is
1508   making a structure packed&aligned to the
1509   greatest common size (which would be 4).
1510   setting as attribute(packed) is not very
1511   portable.
1512 * reworked the files, esp. zzip-zip.c and
1513   zzip-ar.c
1514 * _USE_MMAP in autoconf, including option
1515   and CFLAGS setting. instead of open/read
1516   to a scan buffer the zip-file is mmapped
1517   and scanned directly.
1518 * _LOWSTK in autoconf, including option and
1519    a CFLAGS setting. Still need a scan buffer
1520    and this flag tells us not to carve the
1521    scan buffer from the auto-stack and use
1522    instead some malloc for the scan buffer.
1523 * DEBUG in autoconf, including option and
1524    a CFLAGS setting. The macros should now
1525    be able to be found everyone and only.
1526 * revamped EDH find routine, dumped old-style.
1527 * revamped read-EDH to use mmap and to use
1528   copy/read only for the parts we need. The
1529   read-EDH buffer is not limited to 32K
1530   anymore and can have any length. No realloc
1531   need anymore.
1532 * opendir does not allocate the cache.buf32k
1533   anymore - it does have no need for it. the
1534   buffer is still cached for subsequent Open
1535   calls. May want to setvbuf later.
1536 * a few renamings to be more bits/dirent.h-like,
1537   so many things are now called d_name and
1538   d_reclen instead of name or next as before.
1539 * renamed the package to "zziplib" as being
1540   suggested by Tomi.
1541 * release 0.10.3
1542
15432000-05-26 Guido Draheim <guidod@gmx.de>
1544 * -release at link-line for the lib
1545 * zzcat.c as a test program, which uncovered
1546     a few flaws.
1547 * a flaw w/_fd_opendir when being given a
1548     non-inited err-return-variable and no
1549     error did occur.
1550 * the error to errno table was incomplete,
1551   and the ZZIP_INFLATE error is superfluous.
1552 * zzdir.c as a test program, needs still to
1553   be given the full zip-arch name.
1554 * changed member names of zzip_dirent to
1555     match similar names in dirent and stat,
1556     (ie. d_name and st_size) and added furthermore
1557     a z_size that returns the compressed size.
1558 * little updates to names and comments.
1559 * release 0.10.2
1560
15612000-05-22 Guido Draheim <guidod@gmx.de>
1562 * merge with zip08x-0.9.6 - actually just
1563   a bugfix for zzip_fp_open IGNOREPATH -
1564   I even applied it in a different way than
1565   Tomi did.
1566 * bugfixes for zzip_open, it did not always
1567   set errno(2) to the value of zzip_errno.
1568 * The zzip_read is now separate from
1569   zzip_fp_read, so that setting errno(2) is
1570   only done in zzip_read, not in the zzip-touching
1571   function.
1572 * zzip-doc.pl to generate libzzip.html
1573 * release 0.10.1
1574
15752000-05-21 Guido Draheim <guidod@gmx.de>
1576 * drop-in replacements ready for daily use,
1577   just use zzip_open with a normal path to
1578   a fs file. If that file is not found in
1579   a normal fs directory, then the path is
1580   splitted into a basepath and a filename,
1581   a ".zip" is appended to the basepath to
1582   form a zip-arch name, and the filename
1583   is then searched inside the zip-arch if
1584   that one exists. Very nice for distribution
1585   of a subdirectory full of scripts and that
1586   is what it is meant for - the PFE will be
1587   able to use this one for Forth-files.
1588 * have a VERSION file containing "0.10.0" and
1589   add some rules to Mk-rules
1590 * start with in-source docs that will be used
1591   for documenting the lib calls. A jdoc like
1592   doc extractor should be able to grok these,
1593   I'll see to release docs with the next
1594   release, but this time...
1595 * make it release 0.10.0 and upload it to
1596   pfe.sourceforge.net/pub where it will lurk
1597   around until I contacted Tomi. He seems to
1598   be currently working on zip08x
1599
16002000-05-17 Guido Draheim <guidod@gmx.de>
1601 * decided to have it actually called zzip_ and so
1602   all of the stuff is going to get renamed again.
1603
16042000-05-16 Guido Draheim <guidod@gmx.de>
1605 * obtained Tomi's code and made changes so that the
1606   resulting library is more portable, esp. the glib
1607   usage is being abolished. The name of the library
1608   (and package) has been renamed to libunzip and
1609   all types, consts and funcs to now carry the unzip_
1610   prefix.
1611 * autoconf !!!!
1612 * drop-in functions that can be made to easily replace
1613   dirent and filefd functions.
1614
1615
1616Mon Apr  5 11:23:46 2000  Tomi Ollila  (too@iki.fi)
1617
1618	* Release 0.9.5
1619
1620	* Made some tiny modifications after Matthew's code.
1621
1622Sun Apr  4  8:30:00 2000  Matthew D. Campbell (matt@campbellhome.dhs.org)
1623
1624  * Cleaned up compile warnings in SuSE Linux
1625
1626  * Cleaned up code for cross-compilation with Xmingw32
1627
1628  * Modified zipx.h to support linking to C++ apps
1629
1630Wed Jul 28 11:23:46 1999  Tomi Ollila  (too@iki.fi)
1631
1632	* Release 0.9.4
1633
1634	* Fixed support for simultaneous open files with each
1635	  open `ZipFile'.
1636
1637Thu Jul 22 11:57:46 1999  Tomi Ollila  (too@iki.fi)
1638
1639	* Release 0.9.3
1640
1641	* Added premilinary README.API.
1642
1643Sat Jul 10 11:49:58 1999  Tomi Ollila  (too@iki.fi)
1644
1645	* Release 0.9.2
1646
1647	* Fixed code to read start-of-file offset from local header
1648	  instead relying directory info is sufficient (were TOO naive
1649	  about that, the first user reported this library won't work
1650	  with his archives).
1651
1652Sun Jun 13 20:40:11 1999  Tomi Ollila  (too@iki.fi)
1653
1654	* Initial release (0.9.1).
1655