Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
- New text extractor.
- Added the pdftohtml tool.
- Added the pdftopng tool.
- New trapezoid-based rasterizer core (for performance).
- Generate appearance streams for Line, PolyLine, and Polygon
annotations.
- Added the closeWindowOrQuit command, and changed the default binding
for ctrl-W from closeWindow to closeWindowOrQuit.
- Implemented the new AES-256 mode (R=6, Acrobat X).
- Add an object cache.
- Added a small cache for object streams.
- Modify PSOutputDev to use LZW compression instead of RLE, with a
fallback to RLE if the "psLZW no" setting is given.
- Pdfinfo now prints page rotation info.
- Modified ImageOutputDev, used by pdfimages, to output the masks and
soft masks used when drawing images.
- Remove non-printable characters from error output, just in case they
might cause problems for the terminal program.
- Added initial support for Code3of9 bar codes in XFA forms.
- Added the mapExtTrueTypeFontsViaUnicode xpdfrc command.
- Apply stroke adjustment to rectangular images and clipping regions (in
addition to strokes and fills).
- Decode JPEG 2000 images at less than full resolution if the full res
image isn't needed (i.e., if the raw image is higher resolution than
the output).
- Implemented knockout groups.
- Removed t1lib support.
- Added support for images with 16-bit components.
- Rewrote the Dict class to use a hash table; as a side effect, this
handles dictionaries with multiple definitions for a key, which are
in violation of the spec, but Acrobat appears to handle.
- The transformed line width computation -- used to implement the
minLineWidth setting, and the hairline threshold in monochrome mode --
was incorrect.
- Pdftops was not correctly handling the case where it couldn't find
a 16-bit font -- this led to crashes and/or invalid PostScript.
- A bug in FlateStream::getBlock() was causing problems with narrow
images.
- Use the correct _WIN32 define instead of WIN32.
- Use copy-on-write for the clip path in SplashState (when doing gsave),
for performance.
- Added a Solaris-specific entry to the ghostscript font search path.
- SplashState was initializing line width to 0 instead of 1.
- Abort processing on a content stream after getting 500 errors
(undefined operator, wrong number of args) -- this avoids very long
processing time for malicious PDF files using bogus RLE encoded
content streams.
- Added the psUseCropBoxAsPage xpdfrc option; "pdftops -pagecrop" now
sets psUseCropBoxAsPage; "pdftops -pagecrop -paper match" now uses
the CropBox as the page size.
- Re-architected the AcroForm support code into a separate AcroForm
module.
- Fixed the handling of overprinting/transparency interaction, using
the CompatibleOverprint blend mode.
- The TIFF predictor code for the 1-bit-per-pixel case was broken.
- For triangle and patch mesh shadings (types 4-7) with color functions,
interpolate the function parameter not the color.
- Check the fontFile/fontDir commands before (instead of after) doing
Base-14 substitution in PS output.
- Correctly handle non-embedded TrueType fonts that have an Identity
ToUnicode mapping (display and PS output were failing).
- Added support for XFA form rendering, including an "enableXFA" xpdfrc
setting.
- Handle PFB Type 1 fonts when generating PostScript output.
- Unwind any extraneous saved graphics state at the end of the page
(before drawing annotations).
- Added some integer overflow checks in the GString class.
- Handle 16-bit components in JPEG 2000 images.
- ActualText spans can end without a valid font, in which case
TextPage::beginWord was crashing.
- The Domain entry in function shadings wasn't being parsed correctly.
- Fixed a bug in the JPEG decoder - successive approximation
(progressive mode) coefficients weren't being handled correctly.
- Added a better infinite loop test to the xref parser.
- When generating PostScript, merge reused TrueType fonts (if their
code-to-GID mappings are the same).
- Tweak the Gouraud triangle shaded fill code to end the recursive
splitting if the triangles get sufficiently small.
- Do bilinear interpolation when upsampling images.
- When skipping extraneous image data from an inline image, look for
EI<whitespace> instead of just EI.
- When writing to stdout on Windows, pdftoppm now sets the file mode to
binary. [Thanks to Robert Frunzke.]
- Accept strings as well as names for the BaseFont entry in font
objects.
- Removed the TEXTOUT_WORD_LIST config option (with the new text
extractor, this is always enabled).
- Fixed a bug in the JBIG2 decoder (the TPGD context for template #3 in
readGenericBitmap was incorrect).
- Rewrote the PostScriptFunction code for performance.
- Handle 8-bit OpenType CFF fonts that are missing required tables in
the OpenType wrapper.
- Handle tiling patterns with reversed coordinates in their bounding
boxes.
- Added support for 64-bit file offsets, i.e., PDF files larger than
2GB.
- Optimize the code that rasterizes pattern-filled image masks.
- Added support for Mac OS X system fonts (Base-14 only).
- The backdrop color in luminosity-type soft mask groups was not being
handled correctly.
- Modified behavior of "pdftops -paper match -duplex ..." - it will now
duplex consecutive same-sized pages.
- Tweak the handling of degenerate fills ('moveto lineto fill') to
match Adobe.
- Don't honor the OPM=1 setting with ICCBased CMYK color spaces.
- Whole-word searches were treating certain punctuation (Unicode number
separators and terminators) as part of the word, e.g., searching for
"foo" would not match "foo,".
- Use the TextString class everywhere it makes sense.
- Removed the unnecessary segment sort in Splash (performance
optimization).
- Handle hyperlinks that use Widget-type annotations.
- Fix up the integer overflow checks to avoid issues with clever
compilers. [Thanks to Nickolai Zeldovich.]
- Correctly handle streams with missing Length entries in damaged PDF
files.
- Added a compile-time option (LOAD_FONTS_FROM_MEM) to load fonts from
memory rather than temporary files on disk.
- Added the psRasterSliceSize xpdfrc option.
- Fixed a case in the JPEG 2000 arithmetic decoder where extra data is
present in packet i, and needs to be saved for use in packet i+1.
- Fixed a bug in the JPEG 2000 decoder related to images with fewer than
8 bits per component.
- Handle the case in PSOutputDev where slice size overflows a 32-bit
integer.
- Add (partial) support for TrueType cmap format 2.
- Always pass FT_LOAD_NO_BITMAP to FreeType -- bitmaps apparently fail
with rotated characters.
- Support fonts specified in ExtGState dictionaries.
- Annotations with empty Border arrays should not draw a border.
- Fix the CMap parser to handle large CID ranges.
- Check for Type 3 CharProcs that call q or Q before the d0/d1 operator,
and treat them as uncacheable.
- Invert the selection color when starting in reverse video mode.
- Device{Gray,RGB,CMYK} cannot be mapped via a resource dict.
- Changed the PS output for masked images (explicit and color key
masking): use a plain old clip path instead of rectclip to avoid
array overflows.
- Check the StemSnapH/V arrays when converting Type 1C fonts to Type 1 -
if there are any duplicate or out-of-order values, skip that
StemSnapH/V array.
- Added the psMinLineWidth xpdfrc setting.
- Fix an obscure issue in converting TrueType fonts to Type 42, related
to empty glyph descriptions (12 zero bytes).
- Pdftops now reports an error if there were any I/O errors writing to
the PS output file.
- Fix vertical text (CJK fonts) in PS output -- offset the character
origin correctly.
- Increased the number of digits used by pdfimages for the image number
from three to four.
- Handle right-to-left (e.g., Arabic) ligatures correctly in the text
extractor.
- Added the -loc and -locPS options to pdffonts.
- Extend the object parser recursion limit to cover Stream::addFilters()
/ Stream::makeFilters() - to avoid another possibility of stack
overflow.
- Disable FreeType autohinting, because it can fail badly with font
subsets that use invalid glyph names -- except in the case of Type 1
fonts, which look much better with light autohinting.
- Modified the rasterizer pipeline functions to process a scan line at a
time (for performance).
- Removed VMS build support (it hasn't been updated in ages).
- Removed pdftotext's '-htmlmeta' option (use pdftohtml instead).
- PSOutputDev's font/form setup code, and pdffonts, were not scanning
soft mask groups in ExtGState dictionaries.
- Invalid DCT input (e.g., from a damaged PDF file) could overflow the
dctClip array.
- When upsampling an image mask or image with a large resulting image
size, do it in stream mode instead of prescaling the whole image
(to avoid running out of memory).
- Added infinite loop detection to pdffonts.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
Fixes multiple vulnerabilites
Change list too long to include here, see http://www.foolabs.com/xpdf/CHANGES
(file does not note what changes were included in 3.02pl1 - 3.02pl4 and which
are new for 3.03)
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
------------------
Added the continuous view mode, including the '-cont' switch and the
'continuousView' config file option.
At high zoom levels, don't rasterize the entire page - this avoids
problems running out of memory.
Added "search backward" and "match case" options to the find dialog.
Support explicitly masked images and soft masked images.
Add support to DCTStream for 16-bit quant tables.
Don't segfault if the user clicks on an outline entry with a broken
destination.
Changed the makefiles and configure script to skip building pdftoppm
(in addition to xpdf) if X, Motif, or FreeType is not found; changed
the error message in the configure script to match.
Move an inline function in JArithmeticDecoder.cc to avoid compiler
errors.
Fixed a bug in the rasterizer that was sometimes causing infinite
loops with round line caps on vertical lines.
Various rasterizer optimizations.
Look for intermediate resize events - try to avoid lagging when the
user is doing an opaque resize.
The FormType key in Form XObjects is optional.
Handle external 16-bit TrueType fonts correctly, using the Unicode
cmap.
Add class declarations to TextOutputDev.h to work with stricter C++
compilers.
More...
"A vulnerability has been reported in Xpdf, which can be exploited by
malicious people to cause a DoS (Denial of Service) on a vulnerable system."
http://secunia.com/advisories/16374/
Patches from Ubuntu and RedHat.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.