2015-02-04 Morten Welinder * Release 1.14.31 2015-02-01 Morten Welinder * gsf/gsf-infile.c (gsf_infile_child_by_vaname): Fix age-old leak. 2015-01-25 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add 2 new localc namespaces * gsf/gsf-opendoc-utils.h: add new enum values to support above name spaces) 2014-12-15 Morten Welinder * gsf/gsf-outfile-zip.c (special_mimetype_dirent): New function. (zip_dirent_write, zip_header_write): Don't write a special unix mtime field for the special mimetype entry. (zip_close_root): Sort by offset. Note: this may not be necessary or even desired, but help with the zipdetails utility. (zip_init_write): Make the special mimetype default to !zip64. (gsf_outfile_zip_new): Null the error return value. (zip_dirent_write, zip_header_write): Use extract version 2.0 for the !zip64 case. 2014-12-14 Morten Welinder * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix test for writing ignore header. 2014-12-02 Morten Welinder * tools/gsf.c (gsf_create): Allow "-" for output to stdout. * tests/LibGsfTest.pm (test_valgrind): Dump valgrind output when verbose. * tools/gsf.c (gsf_create): Use our perfectly fine GType macros instead of a home grown enum. 2014-12-01 Morten Welinder * gsf/gsf-output-stdio.c (follow_symlinks): Plug leak. * gsf/gsf-outfile-zip.c (zip_dirent_write): Handle the case of small file beyond offset 4G. The header record won't be zip64, but the dirent needs to. (zip_dirent_write): Mark this entry as needing 4.5 to extract if the central directory entry uses zip64, even if the local header does not. 2014-11-30 Morten Welinder * gsf/gsf-utils.h (GSF_LE_SET_GU?INT{16,32,64}): Add casts to make things more function-like and avoid implementation defined behaviour. * gsf/gsf-outfile-zip.c (zip_dirent_write): The the archive is in auto mode and the member is not using a zip64 extra field, use an IGNORE extra field to work around known zipinfo bug. * tools/gsf.c (gsf_create, load_recursively): Add error checks on close. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_write): When zip64 is forced off, don't allow writing beyond the 4G barrier. (zip_header_write): If we write a real zip64 entry, mark the dirent as being zip64. (zip_close_root): If any dirent is zip64, the archive is. (zip_output_block): Catch overflow of csize. (zip_header_patch_sizes): Resolve zip64 to FALSE if it remained auto until now. 2014-11-29 Morten Welinder * gsf/gsf-outfile-zip.c (zip_header_write): Determine if the sink is seekable. Use a DDESC, if not. * gsf/gsf-output-gio.c (gsf_output_gio_write): Simplify and handle the zero bytes cases better. (gsf_output_gio_new_full): Check seekability here and thus only once. * gsf/gsf-output-iochannel.c (gsf_output_iochannel_seek): Check for is_seekable before trying to do so. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_class_init): Properly install zip64 property. (zip_header_write): Fix auto-zip64 mode's writing of sizes. (zip_ddesc_write): Do write signature. 2014-11-28 Morten Welinder * gsf/gsf-outfile-zip.c (zip_dirent_new_out): Store mtime in zip files, as long as they fit. 2014-11-27 Morten Welinder * gsf/gsf-input.c (gsf_input_copy): Minor cleanups. * tools/gsf.c (load_recursively): Complain if gsf_input_copy fails. 2014-11-23 Morten Welinder * gsf/gsf-infile-zip.c (zip_dirent_new_in): Fix reading of extended field. csize and usize are swapped in there. (zip_dirent_new_in): Read the right amount of variable data. (zip_read_dirents): Check trailer64 signature. * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix file mode. 2014-11-22 Morten Welinder * tools/gsf.c (open_archive): Plug leak. * gsf/gsf-infile-stdio.c (GsfInfileStdio): Use a GPtrArray instead of a list for performance with large directories. 2014-11-20 Morten Welinder * gsf/gsf-input.c (gsf_input_read0): Fix 64-bit issue. * gsf/gsf-utils.c (gsf_input_dump): Fix 64-bit issue. Read larger blocks. * gsf/gsf-infile-zip.c (zip_read_dirents): Handle zip64 format for archives with 65535 or more members. (ZipInfo): Larger fields; use GPtrArray for speed. All users changed. (zip_find_trailer): Fix endianess issue. (gsf_infile_zip_read): Fix 64-bit issue. (zip_dirent_new_in): Handle zip64 extra fields. * gsf/gsf-zip-impl.h (GsfZipVDir): Use a GPtrArray for speed. All users changed. * gsf/gsf-input.c: Update to new introspection syntax. 2014-11-15 Morten Welinder * gsf/gsf-opendoc-utils.c (od_meta_user_defined_end): Plug leak. 2014-11-01 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_inflate): Don't place uninitialized values into the output even for corrupted files. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Plug leak. * gsf/gsf-infile-msvba.c (vba_dir_read): Plug leak. * gsf/gsf-structured-blob.c (blob_finalize, blob_dup) (blob_child_by_name, gsf_structured_blob_read): Reduce CRITICALs on corrupted files. 2014-10-28 Morten Welinder * gsf/gsf-utils.c: Avoid deprecated g_type_init. * gsf/gsf-msole-utils.c (msole_prop_parse): Plug leak. 2014-04-17 Morten Welinder * gsf/gsf-outfile-zip.c (gsf_outfile_zip_set_property): Add new property default-level. 2014-03-19 Morten Welinder * configure.ac: Post-release bump.