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