changes: many bugfixes, especially:
xpmtoppm: fix wild pointer with color index > 127.
which fixes a stack-based buffer overflow (CVE-2009-4274)
pkgsrc change: use a fixed PLIST instead of generating on install,
helps to detect problems
Changes 10.34:
* Add pamthreshold, pamx, pamtoxvmini.
* pammasksharpen: Add -threshold.
* pnmtopng: make "N colors found" message verbose-only.
* pnmtopng: make "no room in palette" message non-verbose.
* picttoppm: Tolerate various PICT file corruptions.
* picttoppm: Don't issue warning message when file named
'fontdir' doesn't exist.
* libnetpbm: Add ppmd_fill_path().
* ppmtobmp: Fix for PBM input.
* bmptopnm: Don't crash on BMP with no color map.
* bmptopnm: Fix wrong file name in error messages.
* ppmtogif: fix bug: always produces garbage output.
* ppmtompeg: fix input from Standard Input.
* pnmflip: fix bug: -rotate90, -rotate180, and -rotate270
(and synonyms) don't work when followed by other rotation options.
* ppmtoilbm: Fig bug: generates more planes than necessary.
* pamtofits: fix buffer overflow in asembling header.
* picttoppm: fix bug - interprets some images wrong because of
bogus "rowBytes" value.
* Redo asprintfN(), etc. so as not to use va_list in a way
that doesn't work on some machines.
* cameratopam: remove definition of memmem() so it doesn't collide
with same in some C libraries. Add memmemN() and MEMEQ to libnetpbm.
* Fix build of filename.o.
Add pamtosvg.
g3topbm: Add -width, -paper_size.
libnetpbm / most newer programs: Fix bug that produces
plain format output when it should be raw because
pnm_readpaminit() does not set 'plainformat' and most
programs just copy the input pam to the output pam.
pamflip: fix bug with left/right flip of PBM that has
width an even multiple of 8 plus something less than 8.
pnmquant: turn on autoflush when creating seekable file.
install: fix symbolic link pnmdepth -> pamdepth.
build: fix some importinc dependencies.
* Add rlatopam.
* Add pgmmake.
* bmptopnm: Understands RLE4/RLE8 compressed BMP.
* pnmgamma: Add -bt709tosrgb -srgbtobt709, -bt709tolinear,
-lineartobt709, -gamma, -rgamma, -ggamma, -bgamma (gammma
values were formerly specified as parameters).
* pnmgamma: Rename -cieramp to -bt709ramp.
* ppmdraw: work on multi-image streams.
* anytopnm: add mime time image/x-ms-bmp for BMP
* pamchannel: works on multi-image streams.
* pamstack: works on multi-image streams.
* Convert pnmdepth to pamdepth. Add multi-image stream
capability.
* pamcut: works on multi-image streams.
* pnmtops: allow -flate and -rle together.
* pnmtops: overhaul of -psfilter output.
* pnmrotate: fine adjustment to arithmetic (rounding,
pixel quantization).
* pbmtopsg3: Put currentfile ... in exec block.
* pbmtopsg3: Add missing /EndOfBlock.
* pnmtops: Don't claim EPSF if using setpagedevice.
* giftopnm: do "reading image sequence N" message only if
being verbose.
* ppmtobmp, bmptopnm: major speed improvement for PBM.
* other
Add pambayer.
Add pamrgbatopng.
Add pamtilt. Thanks Gregg Townsend <gmt@cs.arizona.edu>.
pamtotiff: create from pnmtotiff.
pamtofits: create from pnmtofits.
pamaddnoise: crate from pnmaddnoise.
pamarith: Add -divide.
pammasksharpen: Add -sharpness.
pnmtopng: add -comp_mem_level, -comp_strategy, -comp_method,
-comp_window_bits, -comp_buffer_size.
pnmtopng: use Shhopt command line processor; replace
-chroma with -rgb, -phys with -size, -time with -modtime.
pnmremap: Handle multiple image stream.
xpmtoppm: Expand capacity from 2K character input lines to
8K character input lines.
libnetpbm: improved messages for "color xxx cannot be
represented precisely with maxval M"
libnetpbm color specification parsing: Improve warning message
about rounding.
libnetpbm/everything: speed up ppm_writeppmrow() and
pgm_writepgmrow() by doing one fwrite per row instead of
a pgm_writerawsample() per sample.
pnmtopng: fix "meaningful bits" optimization of PGM so it
optimizes all the way instead of stopping at 4 bits.
pnmtopng: fix crash when no -alpha option, due to dereferencing
of undefined alpha_mask.
pnmtopng: fix bug: arbitrary color made transparent in
paletted PNG when nothing should be transparent.
pnmtops: bug: selects wrong Postscript level.
bmptopnm: Don't crash on BMP with no color map.
bmptopnm: Fix wrong file name in error messages.
ppmtowinicon: use REALLOCARRAY instead of arithmetic-overflowing
realloc().
anytopnm: fix bug: fails when 'file' database doesn't
have mime type but does have human-readable type.
manweb: recognize directory as not executable in search of PATH.
pgm_allocrow(), ppm_allocrow(), pnm_allocrow(): cure
arithmetic overflow.
libnetpbm: On plain formats, check for sample value exceeding
maxval.
libnetpbm: reject maxval > 65535 in "pam" functions.
pamarith: Use normalized libnetpbm facilities to get
proper accuracy. Thanks Thomas Henlich
<http://sourceforge.net/users/thenlich/>.
pamarith: fix bug: shift functions don't work when maxvals
are not identical.
pamarith: fix rounding error on multiply.
pgmtexture: correct calculation of normalizing constants
for d > 1. Thanks Marc Breithecker
<Marc.Breithecker@informatik.uni-erlangen.de>.
pnmnorm: fix divide by zero crash.
pnmnorm: fix bug that doesn't let you specify
-luminosity, -colorvalue, or -saturation.
ilbmtoppm: fix variable used before set.
pnmtofits: fix 16 bit sample values > 2**15.
pnmtopsnr: minor adjustments to messages.
pnmnorm: don't crash when wvalue == bvalue. Thanks Thomas
<http://sourceforge.net/users/thenlich/>.
pnmnorm: fix rounding of output values. Thanks Thomas
<http://sourceforge.net/users/thenlich/>.
pnmhisteq: Fix external map to have width maxval + 1 instead
of maxval, so full intensity input pixels map properly.
pnmhisteq: Fix -rmap.
Fix typos in error messages in various programs.
pgmmedian: change syntax to Netpbm standard.
pammasksharpen: fix signedness bug that caused random bright
pixels at edges.
pammasksharpen: fix bug with maxval != 255.
Clean up a bunch of function prototypes so some broken
compilers don't complain about missing "const" in them.
Remove dependency of pnmtops on basename(). It isn't in
some C libraries and we don't want to mess with linking
extra libraries.
Build of ppmsvgalib: work properly when LINUXSVGALIB is
a "default path" value such as "libvga.so".
hadn't already fixed. The list:
http://sourceforge.net/project/shownotes.php?group_id=5128&release_id=349291
The problems fixed in this PKGREVISION bump:
* pnmtopng: can crash due to wild pointer if you don't use the
-alpha option.
* pammasksharpen: Multiple bugs cause it to produce incorrect
output.
* pnmhisteq: -rmap doesn't work.
Addresses my own PR pkg/31314, with thanks to Nathan Arthur for
bringing these patches to my attention.
Add ppmdraw.
Add pammixinterlace. Thanks Bruce Guenter <bruceg@em.ca>.
Add pgmmedian.
Add pnmaddnoise.
pnmtopclxl: add -rendergray option.
pnmtopclxl: add -jobsetup option.
pstopnm: add -dSAFER Ghostscript option.
pnmcrop: add -margin option.
pnmcrop: add -borderfile option.
pnmnorm: add -luminosity (which was already default),
-colorvalue, and -saturation.
pnmtopng: Don't include any alpha info if supplied alpha mask
is all opaque.
ppmcie: Make white point mark more visible.
pamdice: Remove restriction of 100 slices in each direction.
pnmtopng: Fix bug: erroneous transparent pixels when supplied
alpha mask is all opaque.
Fix bytesToWordInt(): converts incorrectly on a machine that
has pointer size != word size and uses the general case code.
libnetpbm: fix basic pm_readlittleshort() bug introduced
in 10.27. Affects mdatopbm, rawtopgm, lispmtopgm,
pcxtoppm, winicontoppm, bmptopnm, sirtopnm, xwdtopnm,
cameratopam.
pamlookup: fix universal crash. Thanks "Colley, Anthony
W." <Anthony.Colley@ngc.com>
pbmtolj: fix bug from 10.28: crashes with a line which is
a multiple of 8 plus 7 pixels wide not counting white right
margin.
ppmtompeg: fix uname() rc test (sometimes > 0 is success).
pkgsrc changes:
Don't use libtool any longer to reduce patches.
Add USE_PERL, since 4 scripts depend on it.
program changes:
Lots of new converters/modification programs and scripts, e.g. pbmtonokia,
ppmtolj, and pnmtopalm. Better alpha support.
Also, lots of bug fixes.
Fixes pkg/8949.
Changes:
o Extend formats to allow multiple images per file. Add -allimages
option to pnmfile. Add pnmsplit. Extend pnmtops.
o Add pbmtowbmp, wbmptopbm. Thanks Terje Sannum.
o ppmtobmp: Add 24 bit (truecolor) capability.
o pnmcut: easier, more expressive syntax for specifying what to cut.
o pnminterp: handle maxval != 255, convert to use Netpbm libraries.
o Translate pstopnm from Csh to C, eliminate dependency on the 'bc'
program.
o Fix bug in tiff library build which caused null soname.
o Add optParseopt2() to shhopt.a so you can use long options with one
hyphen instead of two.
o giftopnm: fix bug with variable used before set. Fix bug (coding
error -- 0=>i). Unknown impact.
o bmptoppm: fix bug with 24 bit (truecolor) Windows BMPs.
o xwdtopnm: fix one more bug with bits_per_item <> bits_per_pixel.
o Fix ppmtompeg build bug with static libraries.
o Make build clean with gcc -ansi (albeit with some files that need
extensions declaring the _BSD_SOURCE etc.).
o Rebase pnmtopng, pngtopnm on Pnmtopng 2.37.4.
o pbmtolj: fix bug where blank lines get discarded. Thanks Charles
Howes.
o ppmtompeg: fix bug with "PNM" format files with maxval != 255. Get
rid of built-in PPM file parsing.
o Fix 'make install' where mkinstalldirs is not found.
o Fix bug where rle_global.c would not compile with GNU C Library 2.