Commit graph

71 commits

Author SHA1 Message Date
maya
a5df621779 png: don't typedef things when included by assembler code.
the current change is somewhat overkill and excludes some extra function
declarations, but there's only one assembler file for which it applies and
it was tested to build.

Fixes compilation on ARM reported by John Klos in PR pkg/52367
2017-07-05 04:59:16 +00:00
wiz
24d26b9f86 Update to 1.6.9, getting rid of the final two patches after discussion
with very helpful upstream.

Changes:

Version 1.6.9beta01 [December 26, 2013]
  Bookkeeping: Moved functions around (no changes). Moved transform
    function definitions before the place where they are called so that
    they can be masde static. Move the intrapixel functions and the
    grayscale palette builder out of the png?tran.c files. The latter
    isn't a transform function and is no longer used internally, and the
    former MNG specific functions are better placed in pngread/pngwrite.c
  Made transform implementation functions static. This makes the internal
    functions called by png_do_{read|write}_transformations static. On an
    x86-64 DLL build (Gentoo Linux) this reduces the size of the text
    segment of the DLL by 1208 bytes, about 0.6%. It also simplifies
    maintenance by removing the declarations from pngpriv.h and allowing
    easier changes to the internal interfaces.
  Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
    in the tar distributions.

Version 1.6.9beta02 [January 1, 2014]
  Added checks for libpng 1.5 to pngvalid.c.  This supports the use of
    this version of pngvalid in libpng 1.5
  Merged with pngvalid.c from libpng-1.7 changes to create a single
    pngvalid.c
  Removed #error macro from contrib/tools/pngfix.c (Thomas Klausner).
  Merged pngrio.c, pngtrans.c, pngwio.c, and pngerror.c with libpng-1.7.0
  Merged libpng-1.7.0 changes to make no-interlace configurations work
    with test programs.
  Revised pngvalid.c to support libpng 1.5, which does not support the
    PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
    pngvalid.c
  Allow unversioned links created on install to be disabled in configure.
    In configure builds 'make install' changes/adds links like png.h
    and libpng.a to point to the newly installed, versioned, files (e.g.
    libpng17/png.h and libpng17.a). Three new configure options and some
    rearrangement of Makefile.am allow creation of these links to be disabled.

Version 1.6.9beta03 [January 10, 2014]
  Removed potentially misleading warning from png_check_IHDR().

Version 1.6.9beta04 [January 20, 2014]
  Updated scripts/makefile.* to use CPPFLAGS (Cosmin).
  Added clang attribute support (Cosmin).

Version 1.6.9rc01 [January 28, 2014]
  No changes.

Version 1.6.9rc02 [January 30, 2014]
  Quiet an uninitialized memory warning from VC2013 in png_get_png().

Version 1.6.9 [February 6, 2014]
2014-02-06 18:24:11 +00:00
tron
556df919f8 Fix build with SunStudio compiler under Solaris. 2013-12-26 15:59:20 +00:00
wiz
559d7db9b4 Update to 1.5.14:
Changes since the last public release (1.5.13):
  Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
  Warn about the incorrect runtime library setting for VS2010 debug DLL builds.
  Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
    pngrtran.c (Domani Hannes).
  Check for png_ptr==NULL earlier in png_zalloc().
  Ignore, with a warning, out-of-range value of num_trans in png_set_tRNS().
  Rearranged building of ARM NEON optimizations. The ARM specific code is
    split out entirely to the arm subdirectory and changes to configure.acand
    Makefile.am to add new stuff are reduced.  Now material code changes,
    although for build test purposes, --enable-arm-neon now builds on non-ARM
    systems.
  Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.12.5.
  Fixed cases of unquoted DESTDIR in Makefile.am
  Fixed a minor bug in types to malloc and major bug in handling compressed
    iTXt. Compressed iTXt could not be handled.
  Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
  Disassembled the version number in scripts/options.awk (necessary for
    building on SunOs).
  Fixed Windows build issues, enabled ARM compilation. Various warnings issued
    by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old
    GCCs.) ARM support is enabled by default in zlib.props (unsupported by
    Microsoft) and ARM compilation is made possible by deleting the check for
    x86. The test programs cannot be run because they are not signed.
  Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
  Replaced AM_CONFIG_HEADER(config.h) with AC_CONFIG_HEADERS([config.h])
    in configure.ac
  De-configured build fixes to make a range of deconfiguration options (such
    as switching off read or write support) work in more cases.  Also upgraded
    pngtest and pngvalid to the libpng 1.6 versions (with some modifications)
    which provide more extensive testing.  Replaced pngtest.png because pngtest
    writes the ancillary chunks in a different order.
  Check validity of "num_unknowns" parameter of png_set_unknown_chunks()
    (Bug report from yuris).
  Check the validity of the "nentries" parameter of png_set_sPLT() and the
  "num_text" parameter of png_set_text_2().
2013-01-24 08:15:50 +00:00
wiz
5d8180206d Update to 1.5.10 (security fix):
Version 1.5.10beta01 [February 24, 2012]
  Removed two useless #ifdef directives from pngread.c and one from pngrutil.c
  Always put the CMAKE_LIBRARY in "lib" (removed special WIN32 case).
  Removed empty vstudio/pngstest directory (Clifford Yapp).
  Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
    pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
    now that png_ptr->buffer is inaccessible to applications, the special
    handling is no longer useful.
  Fixed bug with png_handle_hIST with odd chunk length (Frank Busse).
  Added PNG_SAFE_LIMITS feature to pnglibconf.dfa and code in pngconf.h
    to reset the user limits to safe ones if PNG_SAFE_LIMITS is defined.
    To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED" on the configure
    command or put "#define PNG_SAFE_LIMITS_SUPPORTED" in pnglibconf.h.
  Revised the SAFE_LIMITS feature to be the same as the feature in libpng16.
  Added information about the new limits in the manual.

Version 1.5.10beta02 [February 27, 2012]
  Updated Makefile.in

Version 1.5.10beta03 [March 6, 2012]
  Removed unused "current_text" members of png_struct and the png_free()
    of png_ptr->current_text from pngread.c
  Added palette-index checking. Issue a png_warning() if an invalid index is
    found.

Version 1.5.10beta04 [March 10, 2012]
  Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
  Fixed CMF optimization of non-IDAT compressed chunks, which was added at
    libpng-1.5.4.  It sometimes produced too small of a window.

Version 1.5.10beta05 [March 10, 2012]
  Reject all iCCP chunks after the first, even if the first one is invalid.
  Issue a png_benign_error() instead of png_warning() about bad palette index.
  Fixed an off-by-one error in the palette index checking function.
  Revised example.c to put text strings in a temporary character array
    instead of directly assigning string constants to png_textp members.
    This avoids compiler warnings when -Wwrite-strings is enabled.

Version 1.5.10 [March 29, 2012]
  Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
  Revised png_set_text_2() to avoid potential memory corruption (fixes
    CVE-2011-3048).
2012-03-29 13:26:33 +00:00
wiz
6a9b8ccbd7 Set some defaults so that CVE-2011-3026 will not repeat,
following suggestions from upstream.
Bump PKGREVISION.
2012-02-20 22:42:29 +00:00
wiz
be1670669d Update to 1.5.9rc01, which includes the official patch for CVE-2011-3026.
Version 1.5.9beta01 [February 3, 2012]
  Rebuilt configure scripts in the tar distributions.

Version 1.5.9beta02 [February 16, 2012]
  Removed two unused definitions from scripts/pnglibconf.h.prebuilt
  Removed some unused arrays (with #ifdef) from png_read_push_finish_row().
  Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h

Version 1.5.9rc01 [February 17, 2012]
  Fixed CVE-2011-3026 buffer overrun bug.  Deal more correctly with the test
    on iCCP chunk length. Also removed spurious casts that may hide problems
    on 16-bit systems.
2012-02-18 15:42:57 +00:00
drochner
18665ec075 fix possible buffer overflow due to integer overflow in malloc()
size calculation (2011-3026), patch from Chromium via Redhat/Debian
bump PKGREV
2012-02-18 15:16:59 +00:00
wiz
8278595a5a Update to 1.5.6, which integrated part of patch-aa (see beta04).
Version 1.5.6beta01 [September 22, 2011]
  Fixed some 64-bit type conversion warnings in pngrtran.c
  Moved row_info from png_struct to a local variable.
  The various interlace mask arrays have been made into arrays of
    bytes and made PNG_CONST and static (previously some arrays were
    marked PNG_CONST and some weren't).
  Additional checks have been added to the transform code to validate the
    pixel depths after the transforms on both read and write.
  Removed some redundant code from pngwrite.c, in png_destroy_write_struct().
  Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4].
    This removes the need to allocate temporary strings for chunk names on
    the stack in the read/write code.  Unknown chunk handling still uses the
    string form because this is exposed in the API.

Version 1.5.6beta02 [September 26, 2011]
  Added a note in the manual the png_read_update_info() must be called only
    once with a particular info_ptr.
  Fixed a typo in the definition of the new PNG_STRING_FROM_CHUNK(s,c) macro.

Version 1.5.6beta03 [September 28, 2011]
  Revised test-pngtest.sh to report FAIL when pngtest fails.
  Added "--strict" option to pngtest, to report FAIL when the failure is
    only because the resulting valid files are different.
  Revised CMakeLists.txt to work with mingw and removed some material from
    CMakeLists.txt that is no longer useful in libpng-1.5.

Version 1.5.6beta04 [October 5, 2011]
  Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")."

Version 1.5.6beta05 [October 12, 2011]
  Speed up png_combine_row() for interlaced images. This reduces the generality
    of the code, allowing it to be optimized for Adam7 interlace.  The masks
    passed to png_combine_row() are now generated internally, avoiding
    some code duplication and localizing the interlace handling somewhat.
  Align png_struct::row_buf - previously it was always unaligned, caused by
    a bug in the code that attempted to align it; the code needs to subtract
    one from the pointer to take account of the filter byte prepended to
    each row.
  Optimized png_combine_row() when rows are aligned. This gains a small
    percentage for 16-bit and 32-bit pixels in the typical case where the
    output row buffers are appropriately aligned. The optimization was not
    previously possible because the png_struct buffer was always misaligned.
  Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01.

Version 1.5.6beta06 [October 17, 2011]
  Removed two redundant tests for unitialized row.
  Fixed a relatively harmless memory overwrite in compressed text writing
    with a 1 byte zlib buffer.
  Add ability to call png_read_update_info multiple times to pngvalid.c.
  Fixes for multiple calls to png_read_update_info. These fixes attend to
    most of the errors revealed in pngvalid, however doing the gamma work
    twice results in inaccuracies that can't be easily fixed.  There is now
    a warning in the code if this is going to happen.
  Turned on multiple png_read_update_info in pngvalid transform tests.
  Prevent libpng from overwriting unused bits at the end of the image when
    it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
    overwrite the partial byte at the end of each row if the row width was not
    an exact multiple of 8 bits and the image is not interlaced.

Version 1.5.6beta07 [October 21, 2011]
  Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
    (Mans Rullgard).

Version 1.5.6rc01 [October 26, 2011]
  Changed misleading "Missing PLTE before cHRM" warning to "Out of place cHRM"

Version 1.5.6rc02 [October 27, 2011]
  Added LSR() macro to defend against buggy compilers that evaluate non-taken
    code branches and complain about out-of-range shifts.

Version 1.5.6rc03 [October 28, 2011]
  Renamed the LSR() macro to PNG_LSR() and added PNG_LSL() macro.
  Fixed compiler warnings with Intel and MSYS compilers. The logical shift
    fix for Microsoft Visual C is required by other compilers, so this
    enables that fix for all compilers when using compile-time constants.
    Under MSYS 'byte' is a name declared in a system header file, so we
    changed the name of a local variable to avoid the warnings that result.
  Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/*/pngusr.h

Version 1.5.6 [November 3, 2011]
  No changes.
2011-11-06 23:53:46 +00:00
hans
bcb7d1e0a2 Fix typo to make this build again on SunOS. 2011-10-05 16:23:39 +00:00
wiz
9ce2aeae85 Update to 1.5.2:
Version 1.5.2beta01 [February 13, 2011]
  More -Wshadow fixes for older gcc compilers.  Older gcc versions apparently
    check formal parameters names in function declarations (as well as
    definitions) to see if they match a name in the global namespace.
  Revised PNG_EXPORTA macro to not use an empty parameter, to accommodate the
    old VisualC++ preprocessor.
  Turned on interlace handling in png_read_png().
  Fixed gcc pendantic warnings.
  Handle longjmp in Cygwin.
  Fixed png_get_current_row_number() in the interlaced case.
  Cleaned up ALPHA flags and transformations.
  Implemented expansion to 16 bits.

Version 1.5.2beta02 [February 19, 2011]
  Fixed mistake in the descriptions of user read_transform and write_transform
    function prototypes in the manual.  The row_info struct is png_row_infop.
  Reverted png_get_current_row_number() to previous (1.5.2beta01) behavior.
  Corrected png_get_current_row_number documentation
  Fixed the read/write row callback documentation.
    This documents the current behavior, where the callback is called after
    every row with information pertaining to the next row.

Version 1.5.2beta03 [March 3, 2011]
  Fixed scripts/makefile.vcwin32
  Updated contrib/pngsuite/README to add the word "modify".
  Define PNG_ALLOCATED to blank when _MSC_VER<1300.

Version 1.5.2rc01 [March 19, 2011]
  Define remaining attributes to blank when MSC_VER<1300.
  ifdef out mask arrays in pngread.c when interlacing is not supported.

Version 1.5.2rc02 [March 22, 2011]
  Added a hint to try CPP=/bin/cpp if "cpp -E" fails in scripts/pnglibconf.mak
    and in contrib/pngminim/*/makefile, eg., on SunOS 5.10, and removed "strip"
    from the makefiles.
  Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail
    to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill)

Version 1.5.2rc03 [March 24, 2011]
  Don't include standard header files in png.h while building the symbol table,
    to avoid cpp failure on SunOS (introduced PNG_BUILDING_SYMBOL_TABLE macro).

Version 1.5.2 [March 31, 2011]
2011-04-05 12:47:56 +00:00
adam
a6cfed8852 Fix building with Clang 2011-02-04 23:35:29 +00:00
wiz
fd94d279aa Update to 1.5.1beta08. Integrates a better version of patch-ac and tries
to fix the Solaris build problem reported in PR 44428.

Version 1.5.1beta07 [January 22, 2011]
  In the manual, describe the png_get_IHDR() arguments in the correct order.
  Added const_png_structp and const_png_infop types, and used them in
    prototypes for most png_get_*() functions.

Version 1.5.1beta08 [January 23, 2011]
  Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name()
  Added synopses for the IO_STATE functions and other missing synopses
    to the manual. Removed the synopses from libpngpf.3 because they
    were out of date and no longer useful.  Better information can be
    obtained by reading the prototypes and comments in pngpriv.h
  Attempted to fix cpp on Solaris with S. Studio 12 cc, fix build
    Added a make macro DFNCPP that is a CPP that will accept the tokens in
    a .dfn file and adds configure stuff to test for such a CPP.  ./configure
    should fail if one is not available.
  Corrected const_png_ in png.h to png_const_ to avoid polluting the namespace.
  Added png_get_current_row_number and png_get_current_pass_number for the
    benefit of the user transform callback.
  Added png_process_data_pause and png_process_data_skip for the benefit of
    progressive readers that need to stop data processing or want to optimize
    skipping of unread data (e.g., if the reader marks a chunk to be skipped.)
2011-01-23 11:24:54 +00:00
wiz
3d75e21402 Update to 1.5.1beta01:
1.5.1beta01 contains a security fix for 1.5.0.

The current public release, libpng 1.5.0, continues the evolution
of the libpng API, finally hiding the contents of the venerable
and hoary png_struct and png_info data structures inside private
(i.e., non-installed) header files. (Apps that compiled with libpng
1.4 without warnings about deprecated features should happily
compile with 1.5, too.) It also includes a new, more thorough test
program (pngvalid.c), a new pnglibconf.h header file that tracks
what features were enabled or disabled when libpng was built, and
huge thanks to John Bowler, who did most of the work. Complete
differences relative to libpng 1.4.x are detailed at
http://www.libpng.org/pub/png/src/libpng-1.4.x-to-1.5.x-summary.txt .

Since the shlib name changed, next up: PKGREVISION++ all across pkgsrc.
2011-01-13 13:27:21 +00:00
wiz
c43af5c8ec Update to 1.4.4:
version 1.4.4beta01 [July 12, 2010]
  Removed extraneous new_push_process_row.c file.
  Revised the "SEE ALSO" style of libpng.3, libpngpf.3, and png.5
  Removed some newly-added TAB characters from pngpread.c.
  Fixed some indentation in pngpread.c and pngrutil.c
  Changed "extern PNG_EXPORT" to "PNG_EXPORT" in png.h (Jan Nijtmans)
  Changed "extern" to "PNG_EXTERN" in pngpriv.h (except for the 'extern "C" {')
  Put "#ifndef PNG_EXTERN, #endif" around "#define PNG_EXTERN" in pngpriv.h

version 1.4.4beta02 [July 24, 2010]
  Added -DNO_PNG_SNPRINTF to CFLAGS in scripts/makefile.dj2
  Moved the definition of png_snprintf() outside of the enclosing
    #ifdef blocks in pngconf.h
  Added a special case typedef of png_longjmp_ptr for WATCOM.

version 1.4.4beta03 [July 24, 2010]
  Removed reference to cbuilder5/* from Makefile.in and Makefile.am
  Eliminated the new special case typedef of png_longjmp_ptr for WATCOM
    and made a special case "#define PNGAPI" in pngconf.h instead.

version 1.4.4beta04 [July 31, 2010]
  Updated the read macros and functions from 1.5.0beta38.

version 1.4.4beta05 [August 6, 2010]
  Updated projects/visualc71 so it can find scripts/pnglibconf.h
  Removed unused png_mem_* defines from pngconf.h.
  Correct use of _WINDOWS_ in pngconf.h

version 1.4.4beta06 [August 11, 2010]
  Don't try to use version-script with cygwin/mingw.
  Revised contrib/gregbook to work under cygwin/mingw.

version 1.4.4beta07 [August 26, 2010]
  Updated prebuilt aclocal.m4 and ltmain.sh
  Add .dll.a to the list of extensions to be symlinked by Makefile.am (Yaakov)
  Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
    installing libpng in /usr/lib64 (Funda Wang).
  Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
  Revised CMakeLists.txt to make symlinks instead of copies when installing.
  Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
  Moved "#include pngusr.h" ahead of PNG_USER_PRIVATEBUILD test in pngconf.h
  Eliminated a deprecated reference to png_ptr->io_ptr in pngtest.c
  Eliminated new unnecessary #if tests regarding the sCAL chunk from pngrutil.c

version 1.4.4beta08 [September 2, 2010]
  Updated the xcode project to work with libpng-1.4.x and added iOS targets
    for simulator and device (Philippe Hausler).

version 1.4.4rc01 [September 10, 2010]
  No changes.

version 1.4.4rc02 [September 13, 2010]
  Revised CMakeLists.txt (Philip Lowman).

version 1.4.4rc03 [September 14, 2010]
  Removed an extraneous close-double-quote from CMakeLists.txt
  Eliminated another deprecated reference to png_ptr->io_ptr in pngtest.c

version 1.4.4rc04 [September 16, 2010]
  Fixed indentation and removed debugging message from CMakeLists.txt
  Revised autogen.sh to recognize and use $AUTOCONF, $AUTOMAKE, $AUTOHEADER,
    $AUTOPOINT, $ACLOCAL and $LIBTOOLIZE

version 1.4.4rc05 [September 20, 2010]
  Rebuilt configure scripts with automake-1.11.1 instead of automake-1.11.
  Removed unused mkinstalldirs file.

version 1.4.4 [September 23, 2010]
  No changes.
2010-09-24 08:58:40 +00:00
wiz
e07a1fd986 Update to 1.4.2. Shared library name changes from libpn12.* to libpng14.*,
so bump ABI depends.

Remove libpng.* from package, instead use buildlink to help some packages
that are looking for the library themselves instead of using pkg-config
or libpng-config.

Changes:

version 1.4.2:
  Restored the macro definition of png_check_sig().
  Conditionally compile an "else" statement in png_decompress_chunk().
  Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
  Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
    more accurately what it actually does.  At the same time, renamed
    the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
    PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
  Added some "(long)" typecasts to printf calls in png_handle_cHRM().
  Relaxed the overly-restrictive permissions of some files.
  Added the "vstudio" project to replace "visualc6" and "visualc71" which
    will be removed from libpng-1.5.0.
  Demonstrate in example.c that lang_key should be initialized.
  Set PNG_NO_READ_BGR, PNG_NO_IO_STATE, and PNG_NO_TIME_RFC1123 in
    contrib/pngminim/decoder/pngusr.h to make a smaller decoder application.
  Include png_reset_zstream() in png.c only when PNG_READ_SUPPORTED is defined.
  Removed dummy_inflate.c and uncompr.c from contrib/pngminim/encoder
  Corrected PNG_UNKNOWN_CHUNKS_SUPPORTED to PNG_HANDLE_AS_UNKNOWN_SUPPORTED
    in gregbook/readpng2.c
  Corrected protection of png_get_user_transform_ptr. The API declaration in
    png.h is removed if both READ and WRITE USER_TRANSFORM are turned off
    but was left defined in pngtrans.c
  Moved declarations of umsg[] inside the proper #ifdef blocks in pngrutil.c

version 1.4.1 [February 25, 2010]

  Updated CMakeLists.txt for consistent indentation and to avoid an
    unclosed if-statement warning (Philip Lowman).
  Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
    KNOWNBUG, and libpng.la (Robert Schwebel).
  Revised the makefiles to install the same files and symbolic
    except for libpng.la and libpng14.la.
  Make png_set|get_compression_buffer_size() available even when
    PNG_WRITE_SUPPORTED is not enabled.
  Revised Makefile.am and Makefile.in to simplify their maintenance.
  Revised the makefiles to install a link to libpng14.so.14.1
  Removed png_set_premultiply_alpha() from scripts/*.def
  Revised png_decompress_chunk() to improve speed and memory usage when
    decoding large chunks, using a two-pass method suggested by John Bowler.
  Added png_set|get_chunk_malloc_max() functions.
  Relocated "int k" declaration in pngtest.c to minimize its scope.
  Folded some long lines in the source files.
  Added defineable PNG_USER_CHUNK_CACHE_MAX and PNG_USER_CHUNK_MALLOC_MAX
  Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
    png_ptr->png_user_chunk_malloc_max.
  Return allocated "old_buffer" in png_push_save_buffer() before calling
    png_error(), to avoid a potential memory leak.
  Removed the cbuilder5 project, which has not been updated to 1.4.0.
  Complete rewrite of two-pass png_decompress_chunk() by John Bowler.
  Removed obsolete unused MMX-querying support from contrib/gregbook
  Removed the AIX redefinition of jmpbuf in png.h
  Define _ALL_SOURCE in configure.ac, makefile.aix, and CMakeLists.txt
    when using AIX compiler.
  Removed unused gzio.c from contrib/pngminim gather and makefile scripts


Changes to Libpng from version 1.2.42 to 1.4.0 (January 4, 2010)

Libpng-1.4.0 was released by the PNG Development Group on January
3, 2010.  Important new features include support for the iTXt chunk
and a function for limiting the amount of memory that a possibly
malicious compressed chunk can consume.  Some long-deprecated functions
and features have been removed.  A new private header file that is
not visible to applications has been created, to improve our ability
to maintain binary compatibility among future libpng versions.

Specifically,

1. Private libpng prototypes and macro definitions were moved from
png.h and pngconf.h into a new pngpriv.h header file that is not
visible to applications.

2. Some obsolete/deprecated macros and functions have been removed.

   a. We eliminated the obsolete, unused pnggccrd.c and pngvcrd.c files
      and related makefiles.

   b. We removed the typecasted NULL definitions such as

          #define png_voidp_NULL    (png_voidp)NULL

      If you used these in your application, just use NULL instead.

   c. We eliminated the PNG_1_0_X and PNG_1_2_X macros.

   d. We eliminated the PNG_LEGACY_SUPPORTED macro.

   e. We removed many WIN32_WCE #ifdefs.

   f. We removed the functions png_read_init(info_ptr),
      png_write_init(info_ptr), png_info_init(info_ptr),
      png_read_destroy(), and png_write_destroy().
      They have been deprecated since libpng-0.95.

   g. We removed the png_permit_empty_plte() function. It has been
      deprecated since libpng-1.0.9.  Use png_permit_mng_features() instead.

   h. We removed the obsolete stub functions png_get_mmx_flagmask(),
      png_set_mmx_thresholds(), png_get_asm_flags(),
      png_get_mmx_bitdepth_threshold(), png_get_mmx_rowbytes_threshold(),
      png_set_asm_flags(), and png_mmx_supported()

   i. We removed the obsolete png_check_sig(), png_memcpy_check(), and
      png_memset_check() functions.  Instead use !png_sig_cmp(),
      png_memcpy(), and png_memset(), respectively, i.e.,

      replace
        png_check_sig(buf, 8)
      with
        png_sig_cmp(buf, 0, 8) == 0

      replace
        png_memcpy_check(png_ptr, dest, src, length)
      with
        png_memcpy(dest, src, length)

      and replace
        png_memset_check(png_ptr, dest, value, length)
      with
        png_memset(dest, value, length)

   j. We removed support for global arrays to improve thread safety.

   k. We removed support for numbered error messages by default, since we
      never got around to actually numbering the error messages. The function
      png_set_strip_error_numbers() was removed from the library by default.

   l. The png_zalloc() and png_zfree() functions are no longer exported.
      The png_zalloc() function no longer zeroes out the memory that it
      allocates.

   m. The function png_set_gray_1_2_4_to_8() was removed. It has been
      deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
      png_set_expand_gray_1_2_4_to_8() because the former function also
      expanded palette images.

3. Several function prototypes were changed.

   a. We changed the prototype for png_malloc() from
      png_malloc(png_structp png_ptr, png_uint_32 size) to
      png_malloc(png_structp png_ptr, png_alloc_size_t size)

   b. We changed the prototypes of png_get_compression_buffer_size() and
      png_set_compression_buffer_size() to work with png_size_t instead of
      png_uint_32.

4. We added some new features:

   a. We enabled iTXt chunk support by default.  This changes the png_text
      structure by adding the itxt_length, lang, and lang_key members.

   b. We added the functions png_set_benign_errors(), png_benign_error(),
      and png_chunk_benign_error().  With these, you can choose to treat
      certain normally fatal errors as nonfatal.

   c. Support for setting the maximum amount of memory that the application
      will allocate for reading chunks was added, as a security measure.
      The functions png_set_chunk_cache_max() and png_get_chunk_cache_max()
      were added to the library.

   d. We added the png_calloc() function and used it in place of
      of "png_malloc(); png_memset();" except in the case in png_read_png()
      where the array consists of pointers; in this case a "for" loop is used
      after the png_malloc() to set the pointers to NULL, to give robust.
      behavior in case the application runs out of memory part-way through
      the process.

   e. We implemented support for I/O states by adding png_ptr member io_state
      and functions png_get_io_chunk_name() and png_get_io_state() in pngget.c

   f. We added PNG_TRANSFORM_GRAY_TO_RGB to the available high-level
      input transforms.

5. Other changes

   a. We changed the names of the png_struct and info_struct members "trans"
      and "trans_values" to "trans_alpha" and "trans_color", respectively.

   b. Checking for and reporting of errors in the IHDR chunk is more thorough.

   c. We removed the trailing '.' from the warning and error messages.

   d. Direct access to png_ptr->jmpbuf has been deprecated since libpng
      version 1.0.6, and libpng now generates a warning about it.

      To avoid such warnings, change
        setjmp(png_ptr->jmpbuf)

      to
        setjmp(png_jmpbuf(png_ptr))
2010-06-13 22:42:10 +00:00
tnn
14c89383ec scratch that, pkg-config does the right thing.
We only needed the fix for libpng-config.
2010-03-04 10:18:46 +00:00
tnn
6d07640dec regen patch 2010-03-04 10:15:44 +00:00
tnn
9f326fc48c "pkg-config --libs png" and "libpng-config --libs" should
request -lz linkage. Bump PKGREVISION.
2010-03-04 10:13:16 +00:00
wiz
ba0ea6c1ab Update to 1.2.39. Use .xz instead of .gz. (20% smaller)
version 1.2.39beta01 [July 25, 2009]
  Added a prototype for png_64bit_product() in png.c

version 1.2.39beta02 [July 27, 2009]
  Avoid a possible NULL dereference in debug build, in png_set_text_2().
    (bug introduced in libpng-0.95, discovered by Evan Rouault)

version 1.2.39beta03 [July 29, 2009]
  Relocated new png_64_bit_product() prototype into png.h
  Expanded the information about prototypes in the libpng style section of
    the documentation.
  Rebuilt configure scripts with autoconf-2.64.

version 1.2.39beta04 [August 1, 2009]
  Replaced *.tar.lzma with *.txz in distribution.  Get the xz codec
    from <http://tukaani.org/xz>.

version 1.2.39beta05 [August 1, 2009]
  Reject attempt to write iCCP chunk with negative embedded profile length
    (JD Chen)

version 1.2.39c01 [August 6, 2009]
  No changes.

version 1.2.39 and 1.0.48 [August 13, 2009]
  No changes.
2009-08-15 17:29:18 +00:00
wiz
ba78f017de Update to 1.2.36:
version 1.2.36beta01 [February 28, 2009]
  Revised comments in png_set_read_fn() and png_set_write_fn().
  Revised order of #ifdef's and indentation in png_debug definitions of png.h
    bug introduced in libpng-1.2.34.

version 1.2.36beta02 [March 21, 2009]
  Use png_memset() after png_malloc() of big_row_buf when reading an
    interlaced file, to avoid a possible UMR.
  Undid recent revision of PNG_NO_STDIO version of png_write_flush().  Users
    having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined.
  Revised libpng*.txt documentation about use of png_write_flush().
  Removed fflush() from pngtest.c.
  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h

version 1.2.36beta03 [March 27, 2009]
  Relocated misplaced PNG_1_0_X define in png.h that caused the prototype
    for png_set_strip_error_numbers() to be omitted from PNG_NO_ASSEMBLER_CODE
    builds.  This bug was introduced in libpng-1.2.15beta4.
  Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt

version 1.2.36beta04 [April 5, 2009]
  Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)

version 1.2.36beta05 [April 24, 2009]
  Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
    application code writers to bypass the check for multiple inclusion
    of setjmp.h when they know that it is safe to ignore the situation.
  Made some cosmetic changes to whitespace in pngtest output.
  Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
    "shadowed declaration" warning from gcc-4.3.3.
  Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
    warning about a global "gamma" variable in math.h on some platforms.

version 1.2.36rc01 [April 30, 2009]
  No changes.

version 1.0.44 and 1.2.36 [May 7, 2009]
  No changes.
2009-05-13 09:56:05 +00:00
wiz
868f9cf658 Update to 1.2.29:
version 1.2.27beta04 [April 18, 2008]
  Added AC_LIBTOOL_WIN32_DLL to configure.ac
  Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.62

version 1.2.27beta05 [April 19, 2008]
  Added MAINTEINERCLEANFILES variable to Makefile.am

version 1.2.27beta06 [April 21, 2008]
  Avoid changing color_type from GRAY to RGB by
    png_set_expand_gray_1_2_4_to_8().

version 1.2.27rc01 [April 23, 2008]
  Fix broken URL for rfc2083 in png.5 and libpng-*.txt

version 1.0.33 and 1.2.27 [April 30, 2008]
  No changes.

version 1.0.34 and 1.2.28 [April 30, 2008]
  Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.61
    due to backward incompatibilities.
  Removed a stray object file from contrib/gregbook

version 1.2.29beta01 [May 1, 2008]
  Removed some stray *.diff and *.orig files

version 1.2.29beta02 [May 1, 2008]
  Reverted Makefile.in, aclocal.m4, and configure to the libpng-1.2.26
    versions.

version 1.2.29beta03 [May 2, 2008]
  Added --force to autogen libtoolize options and --force-missing to
    automake options.
  Changed $(ECHO) to echo in Makefile.am and Makefile.in
  Updated all configure files to autoconf-2.62
  #ifdef out pnggcrd.c code if using MSC_VER

version 1.2.29rc01 [May 4, 2008]
  No changes.

version 1.0.35 and 1.2.29 [May 8, 2008]
  No changes.
2008-05-20 12:07:39 +00:00
wiz
a7f5486e68 Update to 1.2.24:
version 1.2.24beta01 [November 19, 2007]
  Moved misplaced test for malloc failure in png_set_sPLT().  This bug was
    introduced in libpng-1.2.20beta01.
  Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
  Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
    when png_ptr is NULL (Marshall Clow).
  Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
    Frysinger).

version 1.2.24beta02 [November 30, 2007]
  Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
    (David Hill).

version 1.2.24rc01 [December 7, 2007]
  No changes.

version 1.2.24     [December 14, 2007]
  Make sure not to redefine _BSD_SOURCE in pngconf.h
  Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
    unused files.
2008-01-13 15:40:13 +00:00
wiz
f421bd672d Update to 1.2.20:
version 1.2.20beta01 [August 19, 2007]
  Fixed problem with compiling pnggccrd.c on Intel-Apple platforms.
  Added PNG_NO_ERROR_TEXT feature, with demo in contrib/pngminim
  Removed define PNG_WARN_UNINITIALIZED_ROW 1 /* 0: warning; 1: error */
    because it caused some trouble.

version 1.2.20beta02 [August 20, 2007]
  Avoid compiling pnggccrd.c on Intel-Apple platforms.

version 1.2.20beta03 [August 20, 2007]
  Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
    and visualc71.

version 1.2.20beta04 [August 21, 2007]
  Revised pngvcrd.c for improved efficiency (Steve Snyder).

version 1.2.20rc1 [August 23, 2007]
  Revised pngconf.h to set PNG_NO_MMX_CODE for gcc-3.x compilers.

version 1.2.20rc2 [August 27, 2007]
  Revised scripts/CMakeLists.txt
  Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
    or part of pngrutil.c is selected.

version 1.2.20rc3 [August 30, 2007]
  Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
  Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
  Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
  Restored a "superfluous" #ifdef that was removed from 1.2.20rc2 pnggccrd.c,
    breaking the png_mmx_support() function.

version 1.2.20rc4 [September 1, 2007]
  Removed Intel contributions (MMX, Optimized C).

version 1.2.20rc5 [September 2, 2007]
  Restored configure and Makefile.in to rc3 and put a snippet of code in
    pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection

version 1.2.20rc6 [September 2, 2007]
  Fixed bugs in scripts/CMakeLists.txt
  Removed pngvcrd.c references from msvc projects.

version 1.0.28 and 1.2.20 [September 8, 2007]
  Removed "(NO READ SUPPORT)" from png_get_header_version() string.
2007-09-09 10:29:19 +00:00
minskim
9d378f6938 Add a workaround for libpng bug #1777158. This makes the package build
on Darwin/i386.
2007-08-31 15:35:08 +00:00
wiz
61020cccd4 Update to 1.2.19:
version 1.2.19beta1 [May 18, 2007]
  Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
    change of libpng-1.2.17beta2.  Changed other "const" to "PNG_CONST"
  Changed some handling of unused parameters, to avoid compiler warnings.
    "if (unused == NULL) return;" becomes "unused = unused".

version 1.2.19beta2 [May 18, 2007]
  Only use the valid bits of tRNS value in png_do_expand() (Brian Cartier)

version 1.2.19beta3 [May 19, 2007]
  Add some "png_byte" typecasts in png_check_keyword() and write new_key
  instead of key in zTXt chunk (Kevin Ryde).

version 1.2.19beta4 [May 21, 2007]
  Add png_snprintf() function and use it in place of sprint() for improved
    defense against buffer overflows.

version 1.2.19beta5 [May 21, 2007]
  Fixed png_handle_tRNS() to only use the valid bits of tRNS value.
  Changed handling of more unused parameters, to avoid compiler warnings.
  Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.

version 1.2.19beta6 [May 22, 2007]
  Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
  Added a special "_MSC_VER" case that defines png_snprintf to _snprintf

version 1.2.19beta7 [May 22, 2007]
  Squelched png_squelch_warnings() in pnggccrd.c and added an
    #ifdef PNG_MMX_CODE_SUPPORTED block around the declarations that caused
    the warnings that png_squelch_warnings was squelching.

version 1.2.19beta8 [May 22, 2007]
  Removed __MMX__ from test in pngconf.h.

version 1.2.19beta9 [May 23, 2007]
  Made png_squelch_warnings() available via PNG_SQUELCH_WARNINGS macro.
  Revised png_squelch_warnings() so it might work.
  Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.

version 1.2.19beta10 [May 24, 2007]
  Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.

version 1.2.19beta11 [May 28, 2007]
  Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
    changed three remaining instances of png_strcpy() to png_strncpy() (David
    Hill).
  Make test for NULL row_buf at the beginning of png_do_read_transformations
    unconditional.

version 1.2.19beta12 [May 28, 2007]
  Revised pnggccrd.c.

version 1.2.19beta13 [June 14, 2007]
  Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h

version 1.2.19beta14 [June 16, 2007]
  Fix bug with handling of 16-bit transparency, introduced in 1.2.19beta2

version 1.2.19beta15 [June 17, 2007]
  Revised pnggccrd.c.

version 1.2.19beta16 [June 18, 2007]
  Revised pnggccrd.c again.
  Updated contrib/gregbook.
  Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"'
    in configure.ac

version 1.2.19beta17 [June 19, 2007]
  Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed
    and to not use -O3 unless -DPNG_NO_MMX_CODE is also set.

version 1.2.19beta18 [June 23, 2007]
  Replaced some C++ style comments with C style comments in pnggccrd.c.
  Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency
    on pnggccrd.o from many makefiles.
  Added sl and dylib to list of extensions be installed by Makefile.am

version 1.2.19beta19 [June 28, 2007]
  Fixed testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN in pngrtran.c
  More cleanup of pnggccrd.c and pngvcrd.c

version 1.2.19beta20 [June 29, 2007]
  Rebuilt Makefile.in and configure using libtool-1.5.24.
  Fixed typo in pnggccrd.c

version 1.2.19beta21 [June 30, 2007]
  More revision of pnggccrd.c
  Added "test" target to Makefile.in and Makefile.am

version 1.2.19beta22 [July 3, 2007]
  Added info about pngrutil/pnggccrd/pngvcrd to png_get_header_version()
  Fix type definition of dummy_value_a, b in pnggccrd.c

version 1.2.19beta23 [July 10, 2007]
  Revert change to type definition of dummy_value_a, b in pnggccrd.c
  Make sure __PIC__ is defined in pnggccrd.c when PIC is defined.
  Require gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW on x86_64 platforms

version 1.2.19beta24 [July 14, 2007]
  Added PNG_NO_READ_FILTER, PNG_NO_WRITE_FILTER, PNG_NO_WARNING macros.
  Added contrib/pngminim to demonstrate building minimal encoder and decoder

version 1.2.19beta25 [July 15, 2007]
  Removed the new PNG_NO_READ_FILTER macro since it would make the library
    unable to read valid PNG files, and filtering is at the heart of the
    PNG format.

version 1.2.19beta26 [July 16, 2007]
  Changed "png_free(str)" to "png_free(png_ptr,str)" in pngrutil.c WinCE
    code (Yves Piguet).  This bug was introduced in libpng-1.2.14.
  Updated scripts/CMakeLists.txt
  Relocated a misplaced #endif in pnggccrd.c

version 1.2.19beta27 [July 17, 2007]
  Fixed incorrect stride and number of bytes copied (was 4 instead of
    6 bytes) in the cleanup loop of pnggccrd.c and pngvcrd.c for handling
    the end of 48-bit interlaced rows (Glenn R-P).

version 1.2.19beta28 [July 19, 2007]
  Removed requirement for gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW
    on x86_64 platforms
  Added png_warning() in pngrutil.c for short iCCP, iTXt, sPLT, or zTXT chunks.
  Revised pngtest.c so warnings are displayed regardless of PNG_NO_STDIO.

version 1.2.19beta29 [July 20, 2007]
  Fix typo in pnggccrd.c (%%eax should be %%ax in secondloop48)

version 1.2.19beta30 [July 26, 2007]
  Revised pnggccrd.c

version 1.2.19beta31 [July 27, 2007]
  Fix typos in pnggccrd.c

version 1.0.27rc1 and 1.2.19rc1 [July 31, 2007]
  Disable PNG_MMX_CODE_SUPPORTED when PNG_ASSEMBLER_CODE_SUPPORTED is off.
  Enable PNG_MMX_READ_FILTER_* by default, except when gcc-3.x is being
    used (they were inadvertently disabled in libpng-1.2.19beta23).
  Fix some debugging statements in pnggccrd.c and pngrutil.c
  Added information about disabling the MMX code in libpng documentation.

version 1.0.27rc2 and 1.2.19rc2 [August 4, 2007]
  Removed some "#if 0" blocks.
  Made a global struct local in pngvcrd.c to make it thread safe.
  Issue a png_error() if application attempts to transform a row tht
    has not been initialized.

version 1.0.27rc3 and 1.2.19rc3 [August 9, 2007]
  Slightly revised pngvcrd.c

version 1.0.27rc4 and 1.2.19rc4 [August 9, 2007]
  Revised pnggccrd.c debugging change of rc1, which was broken.
  Revised scripts/CMakeLists.txt
  Change default to PNG_NO_GLOBAL_ARRAYS for MSVC.
  Turn off PNG_FLAG_ROW_INIT flag when setting transforms that expand pixels.

version 1.0.27rc5 and 1.2.19rc5 [August 10, 2007]
  Fix typo (missing '"') in pnggccrd.c
  Revise handling of png_strtod in recent versions of WINCE

version 1.0.27rc6 and 1.2.19rc6 [August 15, 2007]
  Fix typo (missing ',') in contrib/gregbook/readpng2.c
  Undid row initialization error exit added to rc2 and rc4.

version 1.0.27 and 1.2.19 [August 18, 2007]
  Conditionally restored row initialization error exit.
2007-08-29 20:58:26 +00:00
wiz
5e7908cb5b Update to 1.2.15:
version 1.2.15beta1 [December 3, 2006]
  Generated configure with autoconf-2.61 instead of 2.60
  Revised configure.ac to update libpng.pc and libpng-config.

version 1.2.15beta2 [December 3, 2006]
  Always export MMX asm functions, just stubs if not building pnggccrd.c

version 1.2.15beta3 [December 4, 2006]
  Add "png_bytep" typecast to profile while calculating length in pngwutil.c

version 1.2.15beta4 [December 7, 2006]
  Added scripts/CMakeLists.txt
  Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta

version 1.2.15beta5 [December 7, 2006]
  Changed some instances of PNG_ASSEMBLER_* to PNG_MMX_* in pnggccrd.c
  Revised scripts/CMakeLists.txt

version 1.2.15beta6 [December 13, 2006]
  Revised scripts/CMakeLists.txt and configure.ac

version 1.2.15rc1 [December 18, 2006]
  Revised scripts/CMakeLists.txt

version 1.2.15rc2 [December 21, 2006]
  Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
  Added scripts/makefile.nommx

version 1.2.15rc3 [December 25, 2006]
  Fixed shared library numbering error that was intruduced in 1.2.15beta6.

version 1.2.15rc4 [December 27, 2006]
  Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.

version 1.2.15rc5 [December 31, 2006]
  Revised handling of rgb_to_gray.

version 1.2.15 [January 5, 2007]
  Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
2007-01-06 21:48:50 +00:00
tv
397f89f8ea Don't allow "ld --version-script" on Interix. Fixes PR pkg/35210.
Based on patch idea from Aleksey Cheusov <cheusov@tut.by>.
(Sanity tested for breakage on a non-Interix platform, NetBSD.)
2007-01-03 16:23:10 +00:00
drochner
19ac9f261d update to 1.2.14
changes:
-Relocated three misplaced tests for NULL png_ptr
-build fixes
2006-11-28 21:58:17 +00:00
wiz
83158489a7 Update to 1.2.10:
Package change: install old compat library as libpngcompat (pkgsrc
specific, will probably be changed in the future). Makes package
handling quite a bit easier.

version 1.2.10beta1 [April 15, 2006]
  Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
    -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
    to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.

version 1.2.10beta2 [April 15, 2006]
  Manually updated Makefile.in and configure.  Changed png_conf.h.in
    back to config.h.

version 1.2.10beta3 [April 15, 2006]
  Change png_conf.h back to config.h in pngconf.h.

version 1.2.10beta4 [April 16, 2006]
  Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.

version 1.2.10beta5 [April 16, 2006]
  Added a configure check for compiling assembler code in pnggccrd.c

version 1.2.10beta6 [April 17, 2006]
  Revised the configure check for pnggccrd.c
  Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
  Added @LIBPNG_DEFINES@ to arguments when building libpng.sym

version 1.2.10beta7 [April 18, 2006]
  Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.

version 1.2.10rc1 [April 19, 2006]
  Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
  Fixed "LN_FS" typo in makefile.sco and makefile.solaris.

version 1.2.10rc2 [April 20, 2006]
  Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
   in configure.ac and configure
  Made the configure warning about versioned symbols less arrogant.

version 1.2.10rc3 [April 21, 2006]
  Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
    writing an embedded PNG without the 8-byte signature.
  Revised makefiles and configure to avoid making links to libpng.so.*

version 1.2.10 [April 23, 2006]
  Reverted configure to "rc2" state.
2006-05-17 21:48:57 +00:00
wiz
2a2c6fd1dc Update to 1.2.9nb2 (hopefully final update for this weekend):
. add rpath to libpng-config output
. link against libpng12 (instead of libpng) in all cases.

The latter causes shlib dependency changes, so update
BUILDLINK_ABI_DEPENDS.png.
2006-04-17 13:44:46 +00:00
wiz
089ea9a234 Update to 1.2.9nb1:
. pngconf.h included "config.h" if HAVE_CONFIG_H is defined -- really not
  a good idea, patch it out. broke at least libwmf, reported by veego@
. install some libpng12 files -- IIUC, libpng12* is the future and
  libpng* is becoming obsolete -- at least according to the wishes of
  the authors. Don't follow this completely yet, but still patch the
  pkg-config file to link against -lpng instead of -lpng12, which
  would require a recursive PKGREVISION bump. We should probably do this
  at some future time.
. switch pkgconfig file to look for headers in include/libpng12 -- the
  headers still exist in include/ for backwards compatibility.
. switch to using GNU_CONFIGURE and the included libtool handling instead
  of patching in our own into a Makefile. Gets rid of patches and pkgsrc
  Makefile code.
2006-04-16 23:19:15 +00:00
wiz
a65fd047c9 Update to 1.2.9:
Changes since the last public release (1.2.8):

version 1.2.9 [April 14, 2006]
  Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
  Fixed an incorrect typecast in pngrutil.c
  Added PNG_NO_READ_SUPPORTED conditionals for making a write-only library.
  Added PNG_NO_WRITE_INTERLACING_SUPPORTED conditional.
  Optimized alpha-inversion loops in pngwtran.c
  Moved test for nonzero gamma outside of png_build_gamma_table() in pngrtran.c
  Make sure num_trans is <= 256 before copying data in png_set_tRNS().
  Make sure num_palette is <= 256 before copying data in png_set_PLTE().
  Interchanged order of write_swap_alpha and write_invert_alpha transforms.
  Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
  Exported png_get_uint_32, png_save_uint_32, png_get_uint_16, png_save_uint_16,
    png_get_int_32, png_save_int_32, png_get_uint_31 (Cosmin).
  Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
  Added type cast (png_byte) in png_write_sCAL() (Cosmin).
  Fixed scripts/makefile.cygwin (Cosmin).
  Updated scripts/makefile.bc32 for Borland C++ 5.6 (Cosmin).
  Updated scripts/pngos2.def, scripts/pngw32.def (Cosmin).
  Updated references to png-mng-implement mailing list.
  Revised man page and libpng.txt to make it clear that one should not call
    png_read_end or png_write_end after png_read_png or png_write_png.
  Optimized zlib window flag (CINFO) in contrib/pngsuite/*.png (Cosmin).
  Check for png_rgb_to_gray and png_gray_to_rgb read transformations before
    checking for png_read_dither in pngrtran.c
  Revise checking of chromaticity limits to accommodate extended RGB
    colorspace (John Denker).
  Changed line endings in some of the project files to CRLF, even in the
    "Unix" tar distributions (Cosmin).
  Make png_get_int_32 and png_save_int_32 always available (Cosmin).
  Updated scripts/pngos2.def, scripts/pngw32.def and projects/wince/png32ce.def
    with the newly exported functions.
  Eliminated distributions without the "configure" script.
  Updated INSTALL instructions.
  Make libpng.pc respect EXEC_PREFIX (D.P.Kreil)
  Remove reference to pngasmrd.h from Makefile.am
  Change definition of PKGCONFIG from $prefix/lib to $libdir in configure.ac
  Removed newline from the end of some error and warning messages.
  Removed test for sqrt() from configure.ac and configure.
  Made swap tables in pngtrans.c PNG_CONST (Carlo Bramix).
  Added "OS2" to list of systems that don't need underscores, in pnggccrd.c
  Removed libpng version and date from *.c files.
  Removed trailing blanks from source files.
  Put version and date of latest change in each source file, and changed
    copyright year accordingly.
  Restored scripts/makefile.elf which was inadvertently deleted.
  Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
  Fixed inconsistent #ifdef's around png_sig_bytes() and png_set_sCAL_s()
    in png.h.
  Updated makefile.elf as suggested by debian.
  Added LN_SF, MKDIR_P, and other macros to some of the makefiles.
  Made some makefiles accept "exec_prefix".
  Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
  Fixed some "#ifdef defined (..." which should be "#ifdef defined(..."
    Bug introduced in libpng-1.2.8.
  Fixed inconsistency in definition of png_default_read_data()
  Revised calculation of "current" and "major" for irix in ltmain.sh
  Separated PNG_EXPAND and PNG_EXPAND_tRNS.
  Added png_set_expand_gray_1_2_4_to_8() and deprecated
    png_set_gray_1_2_4_to_8() which also expands tRNS to alpha.
  Include "config.h" in pngconf.h when available.
  Added some checks for NULL png_ptr or NULL info_ptr (Coverity)
  Made pnggccrd.c PIC-compliant (Christian Aichinger).
  Added makefile.mingw (Wolfgang Glas)
  Revised pngconf.h MMX checking.
  Defined PNG_USER_PRIVATEBUILD when including "pngusr.h" (Cosmin).
  Removed nonsensical assertion check from pngtest.c (Cosmin).
  Revised makefile.beos and added "none" selector in ltmain.sh
2006-04-16 19:39:46 +00:00
wiz
829094795b Update to 1.2.8:
Changes since the last public release (1.2.7):

  Fixed bug in png_text_compress() that would fail to complete a large block.
  Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
    strip alpha operation in png_do_strip_filler().
  Added PNG_1_2_X definition in pngconf.h
  #ifdef out png_info_init in png.c and png_read_init in pngread.c (as of 1.3.0)
  Reduce color_type to a nonalpha type after strip alpha operation in
    png_do_strip_filler().
  Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
  Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin).
  Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin).
  Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
    of data type in deflate (Cosmin).
  Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of
    PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
  Despammed mailing addresses by masking "@" with "at".
  Added scripts/makefile.elf with supporting code in pngconf.h for symbol
    versioning (John Bowler).
  Added projects/visualc71 (Simon-pierre).
2004-12-05 11:17:12 +00:00
adam
60c7748ee4 Changes 1.2.7:
* Removed unused pngasmrd.h file.
* Removed references to uu.net for archived files.  Added references to
    PNG Spec (second edition) and the PNG ISO/IEC Standard.
* Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
* Fixed bug with "optimized window size" in the IDAT datastream, that
    causes libpng to write PNG files with incorrect zlib header bytes.
* Fixed bug with sCAL chunk and big-endian machines (David Munro).
* Undid new code added in 1.2.6rc2 to update the color_type in
    png_set_filler().
* Added png_set_add_alpha() that updates color type.
* Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
* Added makefile.hp64
* Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
2004-10-15 12:33:21 +00:00
drochner
45553da701 update to 1.2.6 (first official release after the recent
security fixes)
changes:
version 1.2.6rc3 [August 9, 2004]
  Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
  trouble with some 64-bit compilers.  Created PNG_OUT_OF_RANGE() macro.
  Revised documentation of png_set_keep_unknown_chunks().
  Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
  Moved  "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
  Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
version 1.2.6rc4 [August 10, 2004]
  Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
  "pinfo" was out of place).
version 1.2.6rc5 [August 10, 2004]
  Moved  "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
  section of png.h where they were inadvertently placed in version rc3.
version 1.2.6rc6 [August 15, 2004]
  Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
2004-08-17 09:54:30 +00:00
kristerw
7ddb4e1eed Convert a C99-ism to C89 to make this build with gcc 2.95.
This fixes PR 26602 submitted by Hauke Fath.
2004-08-09 10:49:00 +00:00
recht
1537d1cea7 update to libpng-1.2.6rc2
changes:
version 1.2.6rc2 [August 8, 2004]
  Revised makefile.darwin and makefile.solaris.  Removed makefile.macosx.
  Revised pngtest's png_debug_malloc() to use png_malloc() instead of
     png_malloc_default() which is not supposed to be exported.
  Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
     pngpread.c.  Bug was introduced in 1.2.6rc1.
  Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1.
  Fixed old bug in RGB to Gray transformation.
  Fixed problem with 64-bit compilers by casting arguments to abs()
    to png_int_32.
  Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
  Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
  Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
  Added code to update the row_info->colortype in png_do_read_filler() (MSB).
2004-08-09 07:37:35 +00:00
drochner
7c4d3fabcf update to 1.2.6rc1,
fixes some security issues, see
http://scary.beasts.org/security/CESA-2004-001.txt
2004-08-06 09:25:18 +00:00
fredb
05ba31daa0 Don't read past the end of the error message string. This patch was
posted to png-implement by Glenn Randers-Pherson, libpng's maintainer.

This error was widely reported as "security issue",

    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0421

even though there is no security issue. The most the error could do is
SIGSEGV, and that only with some fairly uncommon circumstances. The patch
posted with the advisory is in fact flawed, in that it calls strlen() on
presumably arbitrary data.

Bump PKGREVISION.
2004-05-10 01:15:14 +00:00
tv
1f40881d7d Convert INSTALL_SCRIPT to INSTALL_LIB. 2004-04-27 22:40:35 +00:00
tv
f1db9cd144 Shared objects must be installed as executable on some platforms. Convert
BSD_INSTALL_DATA to BSD_INSTALL_SCRIPT.
2004-04-27 19:36:27 +00:00
wiz
2899bc814c Fix pngconf.h on Linux systems. From Michal Pasternak in PR 24581.
Ride yesterday's PKGREVISION bump for this one.
2004-03-30 11:09:15 +00:00
ben
6a15bc7987 Install lib/pkgconfig/libpng12.pc, otherwise "pkg-config --list-all" will
fail with an error if imlib2 is installed.
2004-03-29 16:02:08 +00:00
fredb
d5cfb80689 Fix another bug in png_do_read_filler() regarding 16-big *grayscale*
images (and bump package to 1.2.5nb2). The following is taken directly
from the png-implement mailing list...


    Date: Fri, 20 Dec 2002 11:26:31 -0500
    From: Glenn Randers-Pehrson <glennrp@comcast.net>
    Reply-To: png-implement@ccrc.wustl.edu
    To: png-implement@ccrc.wustl.edu
    Subject: Re: [png-implement] bug in png_read_filler() with 16-bit  samples

    At 01:01 AM 12/5/02 -0500, Glenn Randers-Pehrson wrote:
    >A bug has turned up in png_read_filler() with 16-bit samples.
    >The starting offsets for the loops are calculated incorrectly
    >which causes a buffer overrun beyond the beginning of the row
    >buffer.
    >
    >To fix, at lines 1968 and 1990,
    >change "row_width * 3" to "row_width * 6"
    >and at lines 1969 and 1991,
    >change "row_width;" to "row_width * 2;"

    This is only half of the story.  Adding an alpha channel to
    16-bit *grayscale* images with png_do_read_filler() exhibits
    the same bug, and pngcrush crashes if I try to do it.

    To fix, at lines 1892, 1893, 1910, and 1911 of pngrtran.c
    change "row_width" to "row_width * 2"

    Note that applications that do not add an alpha channel via
    png_set_filler(), and any applications that do, but reduce 16-bit
    samples to 8 bit via png_set_strip_16() are invulnerable to
    the bug.  Pngcrush is the only application that I know of
    that uses png_set_filler() without also using png_set_strip_16().

    Glenn


    --
    Send the message body "help" to png-implement-request@ccrc.wustl.edu
2002-12-20 17:54:27 +00:00
fredb
ef1cddb8ab Fix a buffer overrun in png_do_read_filler() with 16-bit samples, as
reported to the png-implement mailing list by Glenn Randers-Pehrson:

ftp://swrinde.nde.swri.edu/pub/png-group/archives/png-implement.200212

[Glenn Randers-Pehrson is the original author and chief maintainer of
libpng.]

From the discussion in the archive, it appears to be unlikely that the
bug could be exploited by a malicious web-server, chiefly because the
operation that triggers it is more likely to be carried out by an image
manipulation program (i.e. pngcrush), than by a web browser.
2002-12-19 21:25:09 +00:00
cjep
e9dea94b6d NetBSD tag. 2002-11-26 21:35:35 +00:00
fredb
5c5c4303d6 Update to png 1.2.5:
* Changed png_error() to png_warning() about
  "Too much data" in pngpread.c and about
  "Extra compressed data" in pngrutil.c.
* Prevent png_ptr->pass from exceeding 7 in
  png_push_finish_row().
* Updated png.c and pnggccrd.c handling of return from
  png_mmx_support() [Doesn't apply to the package.]
* Only issue png_warning() about "Too much data" in
  pngpread.c when avail_in is nonzero.
* Relocated two misplaced PNGAPI lines in pngtest.c

Update submitted by Stefan Krüger in PR/18926.
2002-11-06 21:30:20 +00:00
jlam
e2afa97f51 Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.  This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
2002-08-25 18:38:05 +00:00
fredb
75f1730606 Update to version 1.2.4. Two new functions since 1.2.1, png_malloc_warn()
and png_set_text_2(), call for a minor version bump in the shared library.
Update "BUILDLINK_DEPENDS" to current level. Also make the shared library
versions visible in the top-level "Makefile", and add a top-level "test"
target to invoke "pngtest" in ${WRKSRC}.

The following is culled from the extensive "CHANGES" file, ommitting
all make system and doc changes, and some bug fixes for bugs that weren't
present in 1.2.1. See "CHANGES" for complete details:

  Added setjmp() at the end of png_create_*_struct_2() in case user forgets
    to put one in their application.
  Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
    png_default_flush(), and png_push_fill_buffer() and included them in
    module definition files.
  Revised prototype for png_default_flush()
  Typos in *.def files (png_default_read|write -> png_default_read|write_data)
  Once more restored png_zalloc and png_zfree to regular nonexported form.
  Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
    to nonexported form, but with PNGAPI, and removed them from module def files.
  Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
  Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
    functions.
  Plugged memory leak of png_ptr->current_text (Matt Holgate).
  Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
  Plugged memory leak of row_buf in pngtest.c when there is a png_error().
  Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
  Changed png_warning() to png_error() when width is too large to process.
2002-07-19 14:33:08 +00:00