diff --git a/CHANGES b/CHANGES index b29c65b1c..9cb33a1e8 100644 --- a/CHANGES +++ b/CHANGES @@ -281,3 +281,8 @@ version 1.0.0a [March 9, 1998] version 1.0.0b [March 13, 1998] Quieted compiler complaints about two empty "for" loops in pngrutil.c Minor changes to makefile.s2x + Removed #ifdef/#endif around a png_free() in pngread.c +version 1.0.1 [March 14, 1998] + Changes makefile.s2x to reduce security risk of using a relative pathname + Fixed some typos in the documentation (Greg). + Fixed a problem with value of "channels" returned by png_read_update_info() diff --git a/INSTALL b/INSTALL index f1ecdffca..497874099 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.0.0b March 13, 1998 +Installing libpng version 1.0.1 March 15, 1998 Before installing libpng, you must first install zlib. zlib can usually be found wherever you got libpng. zlib can be @@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the version of zlib that's installed. You can rename the directories that you downloaded (they -might be called "libpng-1.0.0b or "lpng100" and "zlib-1.1.1" +might be called "libpng-1.0.1 or "lpng100" and "zlib-1.1.1" or "zlib111") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: diff --git a/README b/README index 93744158f..ea463cd9c 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng 1.0.0b (shared library 2.1) +README for libpng 1.0.1 (shared library 2.1) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/TODO b/TODO index 21f963a8c..562859a22 100644 --- a/TODO +++ b/TODO @@ -2,6 +2,7 @@ TODO - list of things to do for libpng fix problem with C++ and EXTERN "C" add "grayscale->palette" transformation and "palette->grayscale" detection +add "grayscale" -> "grayscale+alpha" and "grayscale+FILLER" transformations improved dithering multi-lingual error and warning message support sPLT chunk handling diff --git a/libpng-1.0.0b b/libpng-1.0.0b deleted file mode 120000 index 848ef9fd1..000000000 --- a/libpng-1.0.0b +++ /dev/null @@ -1 +0,0 @@ -libpng-1.0.0b \ No newline at end of file diff --git a/libpng.3 b/libpng.3 index 56d3e9c2a..88d8c9642 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,4 +1,4 @@ -.TH LIBPNG 3 "March 13, 1998" +.TH LIBPNG 3 "March 15, 1998" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library .SH SYNOPSIS @@ -396,7 +396,7 @@ Following is a copy of the libpng.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.0.0b March 13, 1998 + libpng version 1.0.1 March 15, 1998 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998, Glenn Randers-Pehrson @@ -2298,13 +2298,13 @@ the first widely used release: 0.90 0.90 90 0.90 [should be 2.0.90] 0.95 0.95 95 0.95 [should be 2.0.95] 0.96 0.96 96 0.96 [should be 2.0.96] - 0.97b 7") 1.00.97 97 1.0.1 [should be 2.0.97] + 0.97b 1.00.97 97 1.0.1 [should be 2.0.97] 0.97c 0.97 97 2.0.97 0.98 0.98 98 2.0.98 0.99 0.99 98 2.0.99 0.99a-m 0.99 99 2.0.99 - 1.00 1.00 100 2.1.0 [should be 10000] - 1.0.0 1.0.0 100 2.1.0 [should be 10000] + 1.00 1.00 100 2.1.0 [int should be 10000] + 1.0.0 1.0.0 100 2.1.0 [int should be 10000] 1.0.1 1.0.1 10001 2.1.0 Henceforth the source version will match the shared-library @@ -2312,7 +2312,7 @@ minor and patch numbers; the shared-library major version number will be used for changes in backward compatibility, as it is intended. The PNG_PNGLIB_VER macro, which is not used within libpng but is available for applications, is an unsigned integer of the form -xyyzz corresponding to the source version x.y.z (leading zeros in y and z) +xyyzz corresponding to the source version x.y.z (leading zeros in y and z). .SH "SEE ALSO" libpngpf(3), png(5) @@ -2366,7 +2366,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.0.0b March 13, 1998: +Libpng version 1.0.1 March 15, 1998: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (randeg@alumni.rpi.edu). diff --git a/libpng.txt b/libpng.txt index cc580117b..df8f4e642 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.0.0b March 13, 1998 + libpng version 1.0.1 March 15, 1998 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998, Glenn Randers-Pehrson diff --git a/libpngpf.3 b/libpngpf.3 index 4458ba882..7ba582ebe 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,4 +1,4 @@ -.TH LIBPNGPF 3 "March 13, 1998" +.TH LIBPNGPF 3 "March 15, 1998" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library (private functions) diff --git a/png.5 b/png.5 index cc2149f63..30244aabb 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "March 13, 1998" +.TH PNG 5 "March 15, 1998" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 0b72600d1..127b47b68 100644 --- a/png.c +++ b/png.c @@ -1,12 +1,12 @@ /* png.c - location for general purpose libpng functions * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL @@ -16,7 +16,7 @@ /* Version information for C files. This had better match the version * string defined in png.h. */ -char png_libpng_ver[12] = "1.0.0b"; +char png_libpng_ver[12] = "1.0.1"; /* Place to hold the signature string for a PNG file. */ png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10}; diff --git a/png.h b/png.h index 0b6ab7b62..36541e916 100644 --- a/png.h +++ b/png.h @@ -1,12 +1,12 @@ /* png.h - header file for PNG reference library * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see the COPYRIGHT NOTICE below. * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998 Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * Note about libpng version numbers: * @@ -37,7 +37,7 @@ * used for changes in backward compatibility, as it is intended. * The PNG_PNGLIB_VER macro, which is not used within libpng but * is available for applications, is an unsigned integer of the form - * xyyzz corresponding to the source version x.y.z (leading zeros in y and z) + * xyyzz corresponding to the source version x.y.z (leading zeros in y and z). * * * See libpng.txt for more information. The PNG specification is available @@ -118,13 +118,13 @@ extern "C" { */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.0.0b" +#define PNG_LIBPNG_VER_STRING "1.0.1" -/* Gareful here. At one time, Guy wanted to use 082, but that would be octal. - * We must not include leading zeroes. +/* Careful here. At one time, Guy wanted to use 082, but that would be octal. + * We must not include leading zeros. * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only * version 1.0.0 was mis-numbered 100 instead of 10000). From - * version 1.0.1 it's xxyyzz, where x=major, y=minor, z-bugfix*/ + * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=bugfix */ #define PNG_LIBPNG_VER 10001 /* 1.0.1 */ /* variables declared in png.c - only it needs to define PNG_NO_EXTERN */ diff --git a/pngconf.h b/pngconf.h index 9331a2c1b..675f292ba 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,12 +1,12 @@ /* pngconf.h - machine configurable file for libpng * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ /* Any machine specific code is near the front of this file, so if you diff --git a/pngerror.c b/pngerror.c index 74b27334a..9bf58a4a5 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,12 +1,12 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file provides a location for all error handling. Users which * need special error handling are expected to write replacement functions diff --git a/pngget.c b/pngget.c index 3c066792c..eb2f64fad 100644 --- a/pngget.c +++ b/pngget.c @@ -1,12 +1,12 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL diff --git a/pngmem.c b/pngmem.c index 53d5c17c8..2fa3627dc 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,12 +1,12 @@ /* pngmem.c - stub functions for memory allocation * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file provides a location for all memory allocation. Users which * need special memory handling are expected to modify the code in this file diff --git a/pngpread.c b/pngpread.c index dad9a91fb..0f0d466fa 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,12 +1,12 @@ /* pngpread.c - read a png file in push mode * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL diff --git a/pngread.c b/pngread.c index 92c068a5a..1618b7309 100644 --- a/pngread.c +++ b/pngread.c @@ -1,12 +1,12 @@ /* pngread.c - read a PNG file * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file contains routines that an application calls directly to * read a PNG file or stream. @@ -123,7 +123,7 @@ png_read_init(png_structp png_ptr) } /* Read the information before the actual image data. This has been - * changed in v0.90 to allow reading a file which already has the magic + * changed in v0.90 to allow reading a file that already has the magic * bytes read from the stream. You can tell libpng how many bytes have * been read from the beginning of the stream (up to the maxumum of 8) * via png_set_sig_bytes(), and we will only check the remaining bytes diff --git a/pngrio.c b/pngrio.c index 0d9bd8a6e..7adb48f54 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,12 +1,12 @@ /* pngrio.c - functions for data input * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file provides a location for all input. Users which need * special handling are expected to write a function which has the same diff --git a/pngrtran.c b/pngrtran.c index 3db732634..885af5390 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,12 +1,12 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file contains functions optionally called by an application * in order to tell libpng how to handle data when reading a PNG. @@ -665,7 +665,6 @@ png_init_read_transformations(png_structp png_ptr) if (png_ptr->transformations & PNG_INVERT_ALPHA) { #if defined(PNG_READ_EXPAND_SUPPORTED) - /* GRR BUG #1: was (png_ptr->transformations & !PNG_EXPAND) */ if (!(png_ptr->transformations & PNG_EXPAND)) #endif { @@ -715,11 +714,6 @@ png_init_read_transformations(png_structp png_ptr) { double g, gs; -/* - GRR BUG #3: inconsistent with handling of full RGBA below - g = 1.0 / png_ptr->background_gamma; - gs = 1.0 / (png_ptr->background_gamma * png_ptr->screen_gamma); - */ switch (png_ptr->background_gamma_type) { case PNG_BACKGROUND_GAMMA_SCREEN: @@ -740,17 +734,7 @@ png_init_read_transformations(png_structp png_ptr) gs = 1.0; /* back */ } - if ( -/* - GRR BUG #2: This creates self-inconsistent images--fully - transparent and fully opaque look fine, but translucent - pixels are wrong (too bright if XV's code can be trusted). - Commenting it out makes an internally self-consistent - image, but still not consistent with RGBA version of same - thing (again, too bright in XV). - png_ptr->background_gamma_type==PNG_BACKGROUND_GAMMA_SCREEN|| - */ - fabs(gs - 1.0) < PNG_GAMMA_THRESHOLD) + if ( fabs(gs - 1.0) < PNG_GAMMA_THRESHOLD) { back.red = (png_byte)png_ptr->background.red; back.green = (png_byte)png_ptr->background.green; @@ -1005,8 +989,7 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr) #endif #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) - if ((png_ptr->transformations & PNG_GRAY_TO_RGB) && - !(info_ptr->color_type & PNG_COLOR_MASK_COLOR)) + if (png_ptr->transformations & PNG_GRAY_TO_RGB) info_ptr->color_type |= PNG_COLOR_MASK_COLOR; #endif @@ -1018,12 +1001,8 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr) info_ptr->channels = 1; #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) - if ((png_ptr->transformations & PNG_STRIP_ALPHA) && - info_ptr->color_type & PNG_COLOR_MASK_ALPHA) - { - info_ptr->channels--; + if (png_ptr->transformations & PNG_STRIP_ALPHA) info_ptr->color_type &= ~PNG_COLOR_MASK_ALPHA; - } #endif #if defined(PNG_READ_FILLER_SUPPORTED) diff --git a/pngrutil.c b/pngrutil.c index 3591b0e8c..1c3790693 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,12 +1,12 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file contains routines which are only called from within * libpng itself during the course of reading an image. @@ -1114,7 +1114,7 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) } for (buf = units; *buf != 0x00; buf++) - /* Empty loop to move past the units string. */ ; + /* Empty loop to move past the units string. */ ; png_debug(3, "Allocating pCAL parameters array\n"); params = (png_charpp)png_malloc(png_ptr, (png_uint_32)(nparams @@ -1127,7 +1127,7 @@ png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) png_debug1(3, "Reading pCAL parameter %d\n", i); for (params[i] = buf; *buf != 0x00 && buf <= endptr; buf++) - /* Empty loop to move past each parameter string */ ; + /* Empty loop to move past each parameter string */ ; /* Make sure we haven't run out of data yet */ if (buf > endptr) diff --git a/pngset.c b/pngset.c index c68431b0c..aa85f24b6 100644 --- a/pngset.c +++ b/pngset.c @@ -1,12 +1,12 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * The functions here are used during reads to store data from the file * into the info struct, and during writes to store application data diff --git a/pngtest.c b/pngtest.c index 215c3ad2e..22cbcb3ea 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,12 +1,12 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This program reads in a PNG image, writes it out again, and then * compares the two files. If the files are identical, this shows that diff --git a/pngtrans.c b/pngtrans.c index 2d83ca8fd..d38dbd19d 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -1,12 +1,12 @@ /* pngtrans.c - transforms the data in a row (used by both readers and writers) * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL diff --git a/pngwio.c b/pngwio.c index 17a087f1f..444a123b5 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,12 +1,12 @@ /* pngwio.c - functions for data output * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 * * This file provides a location for all output. Users which need * special handling are expected to write functions which have the same diff --git a/pngwrite.c b/pngwrite.c index c2f9d6a31..9980027e3 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,12 +1,12 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ /* get internal access to png.h */ diff --git a/pngwtran.c b/pngwtran.c index fa2750654..d85e01536 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,12 +1,12 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL diff --git a/pngwutil.c b/pngwutil.c index 775f3da8b..492bde7bb 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,12 +1,12 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng 1.0.0b + * libpng 1.0.1 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, Glenn Randers-Pehrson - * March 13, 1998 + * March 15, 1998 */ #define PNG_INTERNAL diff --git a/scripts/makefile.s2x b/scripts/makefile.s2x index 1a34a17f9..163f36382 100644 --- a/scripts/makefile.s2x +++ b/scripts/makefile.s2x @@ -7,10 +7,13 @@ CC=gcc # Where the zlib library and include files are located -# ZLIBLIB=/usr/local/lib -# ZLIBINC=/usr/local/include -ZLIBLIB=../zlib -ZLIBINC=../zlib +# Changing these to ../zlib poses a security risk. If you want +# to have zlib in an adjacent directory, specify the full path instead of "..". +#ZLIBLIB=../zlib +#ZLIBINC=../zlib + +ZLIBLIB=/usr/local/lib +ZLIBINC=/usr/local/include WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \