update to 3.03 [release 3.03-1mamba;Mon Oct 24 2011]
This commit is contained in:
parent
5d32e2aa9a
commit
9680ce5cb4
@ -1,2 +1,6 @@
|
||||
# xpdf
|
||||
|
||||
Xpdf is an open source viewer for Portable Document Format (PDF) files.
|
||||
(These are also sometimes also called 'Acrobat' files, from the name of Adobe's PDF software.)
|
||||
The Xpdf project also includes a PDF text extractor, PDF-to-PostScript converter, and various other utilities.
|
||||
|
||||
|
11
xpdf-2.03-fonts.patch
Normal file
11
xpdf-2.03-fonts.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xpdf-2.03/xpdf/XPDFViewer.cc 2003-10-11 22:39:12.000000000 +0200
|
||||
+++ xpdf-2.03/xpdf/XPDFViewer.cc.fixed 2004-10-29 16:58:16.000000000 +0200
|
||||
@@ -1743,7 +1743,7 @@ void XPDFViewer::initAboutDialog() {
|
||||
aboutBigFont =
|
||||
createFontList("-*-times-bold-i-normal--20-*-*-*-*-*-iso8859-1");
|
||||
aboutVersionFont =
|
||||
- createFontList("-*-times-medium-r-normal--16-*-*-*-*-*-iso8859-1");
|
||||
+ createFontList("-*-times-medium-r-normal--17-*-*-*-*-*-iso8859-1");
|
||||
aboutFixedFont =
|
||||
createFontList("-*-courier-medium-r-normal--12-*-*-*-*-*-iso8859-1");
|
||||
|
55
xpdf-3.00-can_2005_0206.patch
Normal file
55
xpdf-3.00-can_2005_0206.patch
Normal file
@ -0,0 +1,55 @@
|
||||
--- xpdf-3.00/goo/gmem.h.can-2005-0206 2004-01-21 18:26:44.000000000 -0700
|
||||
+++ xpdf-3.00/goo/gmem.h 2005-02-15 06:55:02.201587908 -0700
|
||||
@@ -19,13 +19,13 @@
|
||||
* Same as malloc, but prints error message and exits if malloc()
|
||||
* returns NULL.
|
||||
*/
|
||||
-extern void *gmalloc(int size);
|
||||
+extern void *gmalloc(size_t size);
|
||||
|
||||
/*
|
||||
* Same as realloc, but prints error message and exits if realloc()
|
||||
* returns NULL. If <p> is NULL, calls malloc instead of realloc().
|
||||
*/
|
||||
-extern void *grealloc(void *p, int size);
|
||||
+extern void *grealloc(void *p, size_t size);
|
||||
|
||||
/*
|
||||
* Same as free, but checks for and ignores NULL pointers.
|
||||
--- xpdf-3.00/goo/gmem.c.can-2005-0206 2004-01-21 18:26:44.000000000 -0700
|
||||
+++ xpdf-3.00/goo/gmem.c 2005-02-15 06:55:02.202587704 -0700
|
||||
@@ -53,9 +53,9 @@
|
||||
|
||||
#endif /* DEBUG_MEM */
|
||||
|
||||
-void *gmalloc(int size) {
|
||||
+void *gmalloc(size_t size) {
|
||||
#ifdef DEBUG_MEM
|
||||
- int size1;
|
||||
+ size_t size1;
|
||||
char *mem;
|
||||
GMemHdr *hdr;
|
||||
void *data;
|
||||
@@ -94,11 +94,11 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
-void *grealloc(void *p, int size) {
|
||||
+void *grealloc(void *p, size_t size) {
|
||||
#ifdef DEBUG_MEM
|
||||
GMemHdr *hdr;
|
||||
void *q;
|
||||
- int oldSize;
|
||||
+ size_t oldSize;
|
||||
|
||||
if (size == 0) {
|
||||
if (p)
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
void gfree(void *p) {
|
||||
#ifdef DEBUG_MEM
|
||||
- int size;
|
||||
+ size_t size;
|
||||
GMemHdr *hdr;
|
||||
GMemHdr *prevHdr, *q;
|
||||
int lst;
|
29
xpdf-3.00-gcc4.patch
Normal file
29
xpdf-3.00-gcc4.patch
Normal file
@ -0,0 +1,29 @@
|
||||
--- xpdf-3.00/xpdf/TextOutputDev.h.orig 2005-06-13 10:11:17.000000000 +0200
|
||||
+++ xpdf-3.00/xpdf/TextOutputDev.h 2005-06-13 10:27:18.000000000 +0200
|
||||
@@ -169,7 +169,7 @@
|
||||
class TextLine {
|
||||
public:
|
||||
|
||||
- TextLine(TextBlock *blkA, int rotA, double baseA);
|
||||
+ TextLine(class TextBlock *blkA, int rotA, double baseA);
|
||||
~TextLine();
|
||||
|
||||
void addWord(TextWord *word);
|
||||
@@ -226,7 +226,7 @@
|
||||
class TextBlock {
|
||||
public:
|
||||
|
||||
- TextBlock(TextPage *pageA, int rotA);
|
||||
+ TextBlock(class TextPage *pageA, int rotA);
|
||||
~TextBlock();
|
||||
|
||||
void addWord(TextWord *word);
|
||||
@@ -416,7 +416,7 @@
|
||||
private:
|
||||
|
||||
void clear();
|
||||
- void assignColumns(TextLineFrag *frags, int nFrags, int rot);
|
||||
+ void assignColumns(class TextLineFrag *frags, int nFrags, int rot);
|
||||
int dumpFragment(Unicode *text, int len, UnicodeMap *uMap, GString *s);
|
||||
|
||||
GBool rawOrder; // keep text in content stream order
|
30
xpdf-3.01-can_2005_2097.patch
Normal file
30
xpdf-3.01-can_2005_2097.patch
Normal file
@ -0,0 +1,30 @@
|
||||
--- xpdf-3.01/fofi/FoFiTrueType.cc 2005-08-17 07:34:30.000000000 +0200
|
||||
+++ xpdf-3.01-fix/fofi/FoFiTrueType.cc 2005-08-22 12:13:04.000000000 +0200
|
||||
@@ -1652,6 +1652,27 @@
|
||||
return;
|
||||
}
|
||||
|
||||
+ // make sure the loca table is sane (correct length and entries are
|
||||
+ // in bounds)
|
||||
+ i = seekTable("loca");
|
||||
+ if (tables[i].len < (nGlyphs + 1) * (locaFmt ? 4 : 2)) {
|
||||
+ parsedOk = gFalse;
|
||||
+ return;
|
||||
+ }
|
||||
+ for (j = 0; j <= nGlyphs; ++j) {
|
||||
+ if (locaFmt) {
|
||||
+ pos = (int)getU32BE(tables[i].offset + j*4, &parsedOk);
|
||||
+ } else {
|
||||
+ pos = getU16BE(tables[i].offset + j*2, &parsedOk);
|
||||
+ }
|
||||
+ if (pos < 0 || pos > len) {
|
||||
+ parsedOk = gFalse;
|
||||
+ }
|
||||
+ }
|
||||
+ if (!parsedOk) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// read the post table
|
||||
readPostTable();
|
||||
}
|
154
xpdf-3.01-can_2005_3191_2_3.patch
Normal file
154
xpdf-3.01-can_2005_3191_2_3.patch
Normal file
@ -0,0 +1,154 @@
|
||||
--- xpdf-3.01/xpdf/Stream.h.cve-2005-3191_2_3 2005-08-16 23:34:31.000000000 -0600
|
||||
+++ xpdf-3.01/xpdf/Stream.h 2006-01-03 16:06:22.323135129 -0700
|
||||
@@ -232,6 +232,8 @@
|
||||
|
||||
~StreamPredictor();
|
||||
|
||||
+ GBool isOk() { return ok; }
|
||||
+
|
||||
int lookChar();
|
||||
int getChar();
|
||||
|
||||
@@ -249,6 +251,7 @@
|
||||
int rowBytes; // bytes per line
|
||||
Guchar *predLine; // line buffer
|
||||
int predIdx; // current index in predLine
|
||||
+ GBool ok;
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
--- xpdf-3.01/xpdf/Stream.cc.cve-2005-3191_2_3 2005-08-16 23:34:31.000000000 -0600
|
||||
+++ xpdf-3.01/xpdf/Stream.cc 2006-01-03 16:06:22.324134948 -0700
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
+#include <limits.h>
|
||||
#ifndef WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
@@ -406,13 +407,28 @@
|
||||
width = widthA;
|
||||
nComps = nCompsA;
|
||||
nBits = nBitsA;
|
||||
+ predLine = NULL;
|
||||
+ ok = gFalse;
|
||||
|
||||
+ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
|
||||
+ nComps >= INT_MAX/nBits ||
|
||||
+ width >= INT_MAX/nComps/nBits) {
|
||||
+ return;
|
||||
+ }
|
||||
nVals = width * nComps;
|
||||
+ if (nVals * nBits + 7 <= 0) {
|
||||
+ return;
|
||||
+ }
|
||||
pixBytes = (nComps * nBits + 7) >> 3;
|
||||
rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
|
||||
+ if (rowBytes < 0) {
|
||||
+ return;
|
||||
+ }
|
||||
predLine = (Guchar *)gmalloc(rowBytes);
|
||||
memset(predLine, 0, rowBytes);
|
||||
predIdx = rowBytes;
|
||||
+
|
||||
+ ok = gTrue;
|
||||
}
|
||||
|
||||
StreamPredictor::~StreamPredictor() {
|
||||
@@ -1004,6 +1020,10 @@
|
||||
FilterStream(strA) {
|
||||
if (predictor != 1) {
|
||||
pred = new StreamPredictor(this, predictor, columns, colors, bits);
|
||||
+ if (!pred->isOk()) {
|
||||
+ delete pred;
|
||||
+ pred = NULL;
|
||||
+ }
|
||||
} else {
|
||||
pred = NULL;
|
||||
}
|
||||
@@ -2899,6 +2919,10 @@
|
||||
height = read16();
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
+ if (numComps <= 0 || numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream", prec);
|
||||
+ return gFalse;
|
||||
+ }
|
||||
if (prec != 8) {
|
||||
error(getPos(), "Bad DCT precision %d", prec);
|
||||
return gFalse;
|
||||
@@ -2925,6 +2949,10 @@
|
||||
height = read16();
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
+ if (numComps <= 0 || numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream", prec);
|
||||
+ return gFalse;
|
||||
+ }
|
||||
if (prec != 8) {
|
||||
error(getPos(), "Bad DCT precision %d", prec);
|
||||
return gFalse;
|
||||
@@ -2947,6 +2975,10 @@
|
||||
|
||||
length = read16() - 2;
|
||||
scanInfo.numComps = str->getChar();
|
||||
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
|
||||
+ error(getPos(), "Bad number of components in DCT stream");
|
||||
+ return gFalse;
|
||||
+ }
|
||||
--length;
|
||||
if (length != 2 * scanInfo.numComps + 3) {
|
||||
error(getPos(), "Bad DCT scan info block");
|
||||
@@ -3827,6 +3859,10 @@
|
||||
FilterStream(strA) {
|
||||
if (predictor != 1) {
|
||||
pred = new StreamPredictor(this, predictor, columns, colors, bits);
|
||||
+ if (!pred->isOk()) {
|
||||
+ delete pred;
|
||||
+ pred = NULL;
|
||||
+ }
|
||||
} else {
|
||||
pred = NULL;
|
||||
}
|
||||
--- xpdf-3.01/xpdf/JPXStream.cc.cve-2005-3191_2_3 2005-08-16 23:34:31.000000000 -0600
|
||||
+++ xpdf-3.01/xpdf/JPXStream.cc 2006-01-03 16:10:55.857459404 -0700
|
||||
@@ -7,6 +7,7 @@
|
||||
//========================================================================
|
||||
|
||||
#include <aconf.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#ifdef USE_GCC_PRAGMAS
|
||||
#pragma implementation
|
||||
@@ -783,7 +784,7 @@
|
||||
int segType;
|
||||
GBool haveSIZ, haveCOD, haveQCD, haveSOT;
|
||||
Guint precinctSize, style;
|
||||
- Guint segLen, capabilities, comp, i, j, r;
|
||||
+ Guint segLen, capabilities, nTiles, comp, i, j, r;
|
||||
|
||||
//----- main header
|
||||
haveSIZ = haveCOD = haveQCD = haveSOT = gFalse;
|
||||
@@ -818,8 +819,19 @@
|
||||
/ img.xTileSize;
|
||||
img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
|
||||
/ img.yTileSize;
|
||||
- img.tiles = (JPXTile *)gmallocn(img.nXTiles * img.nYTiles,
|
||||
- sizeof(JPXTile));
|
||||
+ // check for overflow before allocating memory
|
||||
+ if (img.nXTiles <= 0 || img.nYTiles <= 0 ||
|
||||
+ img.nXTiles >= INT_MAX/img.nYTiles) {
|
||||
+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
|
||||
+ return gFalse;
|
||||
+ }
|
||||
+ nTiles = img.nXTiles * img.nYTiles;
|
||||
+ if (nTiles >= INT_MAX/sizeof(JPXTile)) {
|
||||
+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
|
||||
+ return gFalse;
|
||||
+ }
|
||||
+ img.tiles = (JPXTile *)gmalloc(nTiles * sizeof(JPXTile));
|
||||
+
|
||||
for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
|
||||
img.tiles[i].tileComps = (JPXTileComp *)gmallocn(img.nComps,
|
||||
sizeof(JPXTileComp));
|
139
xpdf-3.01-can_2005_3624_5_6_7.patch
Normal file
139
xpdf-3.01-can_2005_3624_5_6_7.patch
Normal file
@ -0,0 +1,139 @@
|
||||
--- xpdf-3.01/xpdf/JBIG2Stream.cc.chris-overflows 2005-08-16 23:34:31.000000000 -0600
|
||||
+++ xpdf-3.01/xpdf/JBIG2Stream.cc 2006-01-03 16:31:21.707918696 -0700
|
||||
@@ -7,6 +7,7 @@
|
||||
//========================================================================
|
||||
|
||||
#include <aconf.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#ifdef USE_GCC_PRAGMAS
|
||||
#pragma implementation
|
||||
@@ -681,6 +682,13 @@
|
||||
w = wA;
|
||||
h = hA;
|
||||
line = (wA + 7) >> 3;
|
||||
+
|
||||
+ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
|
||||
+ error(-1, "invalid width/height");
|
||||
+ data = NULL;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
data = (Guchar *)gmalloc(h * line + 1);
|
||||
data[h * line] = 0;
|
||||
@@ -692,6 +700,13 @@
|
||||
w = bitmap->w;
|
||||
h = bitmap->h;
|
||||
line = bitmap->line;
|
||||
+
|
||||
+ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
|
||||
+ error(-1, "invalid width/height");
|
||||
+ data = NULL;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
data = (Guchar *)gmalloc(h * line + 1);
|
||||
memcpy(data, bitmap->data, h * line);
|
||||
@@ -720,7 +735,10 @@
|
||||
}
|
||||
|
||||
void JBIG2Bitmap::expand(int newH, Guint pixel) {
|
||||
- if (newH <= h) {
|
||||
+ if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
|
||||
+ error(-1, "invalid width/height");
|
||||
+ gfree(data);
|
||||
+ data = NULL;
|
||||
return;
|
||||
}
|
||||
// need to allocate one extra guard byte for use in combine()
|
||||
@@ -2305,6 +2323,15 @@
|
||||
error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
|
||||
return;
|
||||
}
|
||||
+ if (gridH == 0 || gridW >= INT_MAX / gridH) {
|
||||
+ error(getPos(), "Bad size in JBIG2 halftone segment");
|
||||
+ return;
|
||||
+ }
|
||||
+ if (w == 0 || h >= INT_MAX / w) {
|
||||
+ error(getPos(), "Bad size in JBIG2 bitmap segment");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
patternDict = (JBIG2PatternDict *)seg;
|
||||
bpp = 0;
|
||||
i = 1;
|
||||
@@ -2936,6 +2963,11 @@
|
||||
JBIG2BitmapPtr tpgrCXPtr0, tpgrCXPtr1, tpgrCXPtr2;
|
||||
int x, y, pix;
|
||||
|
||||
+ if (w < 0 || h <= 0 || w >= INT_MAX / h) {
|
||||
+ error(-1, "invalid width/height");
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
bitmap = new JBIG2Bitmap(0, w, h);
|
||||
bitmap->clearToZero();
|
||||
|
||||
--- xpdf-3.01/xpdf/Stream.cc.chris-overflows 2006-01-03 16:16:25.239630341 -0700
|
||||
+++ xpdf-3.01/xpdf/Stream.cc 2006-01-03 16:44:17.794143711 -0700
|
||||
@@ -1276,8 +1276,9 @@
|
||||
endOfLine = endOfLineA;
|
||||
byteAlign = byteAlignA;
|
||||
columns = columnsA;
|
||||
- if (columns < 1) {
|
||||
- columns = 1;
|
||||
+ if (columns < 1 || columns >= INT_MAX / sizeof(short)) {
|
||||
+ error(getPos(), "Bad number of columns: %d in CCITTFaxStream", columns);
|
||||
+ exit(1);
|
||||
}
|
||||
rows = rowsA;
|
||||
endOfBlock = endOfBlockA;
|
||||
@@ -2920,6 +2921,7 @@
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
if (numComps <= 0 || numComps > 4) {
|
||||
+ numComps = 0;
|
||||
error(getPos(), "Bad number of components in DCT stream", prec);
|
||||
return gFalse;
|
||||
}
|
||||
@@ -2950,6 +2952,7 @@
|
||||
width = read16();
|
||||
numComps = str->getChar();
|
||||
if (numComps <= 0 || numComps > 4) {
|
||||
+ numComps = 0;
|
||||
error(getPos(), "Bad number of components in DCT stream", prec);
|
||||
return gFalse;
|
||||
}
|
||||
@@ -2976,6 +2979,7 @@
|
||||
length = read16() - 2;
|
||||
scanInfo.numComps = str->getChar();
|
||||
if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
|
||||
+ scanInfo.numComps = 0;
|
||||
error(getPos(), "Bad number of components in DCT stream");
|
||||
return gFalse;
|
||||
}
|
||||
@@ -3063,12 +3067,12 @@
|
||||
while (length > 0) {
|
||||
index = str->getChar();
|
||||
--length;
|
||||
- if ((index & 0x0f) >= 4) {
|
||||
+ if ((index & ~0x10) >= 4 || (index & ~0x10) < 0) {
|
||||
error(getPos(), "Bad DCT Huffman table");
|
||||
return gFalse;
|
||||
}
|
||||
if (index & 0x10) {
|
||||
- index &= 0x0f;
|
||||
+ index &= 0x03;
|
||||
if (index >= numACHuffTables)
|
||||
numACHuffTables = index+1;
|
||||
tbl = &acHuffTables[index];
|
||||
@@ -3189,6 +3193,7 @@
|
||||
} while (c != 0xff && c != EOF);
|
||||
do {
|
||||
c = str->getChar();
|
||||
+ if(c == EOF) return EOF;
|
||||
} while (c == 0xff);
|
||||
} while (c == 0x00);
|
||||
return c;
|
34
xpdf-3.01-crash.patch
Normal file
34
xpdf-3.01-crash.patch
Normal file
@ -0,0 +1,34 @@
|
||||
--- xpdf-3.00/splash/Splash.cc.tn 2005-07-25 09:59:45.000000000 +0200
|
||||
+++ xpdf-3.00/splash/Splash.cc 2005-07-25 10:00:58.000000000 +0200
|
||||
@@ -636,6 +641,11 @@
|
||||
|
||||
xPath = new SplashXPath(path, state->flatness, gTrue);
|
||||
xPath->sort();
|
||||
+ if (!&xPath->segs[0])
|
||||
+ {
|
||||
+ delete xPath;
|
||||
+ return splashErrEmptyPath;
|
||||
+ }
|
||||
scanner = new SplashXPathScanner(xPath, eo);
|
||||
|
||||
// get the min and max x and y values
|
||||
--- xpdf-3.00/fofi/FoFiType1.cc.tn 2005-07-25 10:34:04.000000000 +0200
|
||||
+++ xpdf-3.00/fofi/FoFiType1.cc 2005-07-25 10:41:37.000000000 +0200
|
||||
@@ -187,9 +187,14 @@
|
||||
}
|
||||
}
|
||||
} else {
|
||||
- if (strtok(buf, " \t") &&
|
||||
- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) {
|
||||
- break;
|
||||
+ p = strtok(buf, " \t\n\r");
|
||||
+ if (p)
|
||||
+ {
|
||||
+ if (!strcmp(p, "def")) break;
|
||||
+ if (!strcmp(p, "readonly")) break;
|
||||
+ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array
|
||||
+ p = strtok(buf, " \t\n\r");
|
||||
+ if (p && !strcmp(p, "def")) break;
|
||||
}
|
||||
}
|
||||
line = line1;
|
39
xpdf-3.01-cve_2006_0301.patch
Normal file
39
xpdf-3.01-cve_2006_0301.patch
Normal file
@ -0,0 +1,39 @@
|
||||
Index: xpdf/splash/Splash.cc
|
||||
===================================================================
|
||||
--- xpdf/splash/Splash.cc (revision 498958)
|
||||
+++ xpdf/splash/Splash.cc (working copy)
|
||||
@@ -928,6 +928,10 @@ void Splash::drawPixel(int x, int y, Spl
|
||||
int alpha2, ialpha2;
|
||||
Guchar t;
|
||||
|
||||
+ if ( (unsigned) x >= (unsigned) bitmap->getWidth() ||
|
||||
+ (unsigned) y >= (unsigned) bitmap->getHeight())
|
||||
+ return;
|
||||
+
|
||||
if (noClip || state->clip->test(x, y)) {
|
||||
if (alpha != 1 || softMask || state->blendFunc) {
|
||||
blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
|
||||
@@ -1195,6 +1199,11 @@ void Splash::drawSpan(int x0, int x1, in
|
||||
updateModY(y);
|
||||
}
|
||||
|
||||
+ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
|
||||
+ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
|
||||
+ (unsigned) y >= (unsigned) bitmap->getHeight())
|
||||
+ return;
|
||||
+
|
||||
if (alpha != 1 || softMask || state->blendFunc) {
|
||||
blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
|
||||
if (softMask) {
|
||||
@@ -1825,6 +1834,11 @@ void Splash::xorSpan(int x0, int x1, int
|
||||
updateModY(y);
|
||||
}
|
||||
|
||||
+ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
|
||||
+ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
|
||||
+ (unsigned) y >= (unsigned) bitmap->getHeight())
|
||||
+ return;
|
||||
+
|
||||
switch (bitmap->mode) {
|
||||
case splashModeMono1:
|
||||
p = &bitmap->data[y * bitmap->rowSize + (x0 >> 3)];
|
11
xpdf-3.03-libXpm-3.5.10.patch
Normal file
11
xpdf-3.03-libXpm-3.5.10.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xpdf-3.03.orig/xpdf/XPDFViewer.cc 2012-04-11 14:04:36.669903728 +0200
|
||||
+++ xpdf-3.03/xpdf/XPDFViewer.cc 2012-04-12 13:40:52.001063309 +0200
|
||||
@@ -134,7 +134,7 @@
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
struct ZoomMenuInfo {
|
||||
- const char *label;
|
||||
+ char *label;
|
||||
double zoom;
|
||||
};
|
||||
|
75
xpdf-3.03-xpdfrc.patch
Normal file
75
xpdf-3.03-xpdfrc.patch
Normal file
@ -0,0 +1,75 @@
|
||||
diff -Nru xpdf-3.03.orig/doc/sample-xpdfrc xpdf-3.03/doc/sample-xpdfrc
|
||||
--- xpdf-3.03.orig/doc/sample-xpdfrc 2011-08-15 23:08:53.000000000 +0200
|
||||
+++ xpdf-3.03/doc/sample-xpdfrc 2012-04-11 14:09:20.520224883 +0200
|
||||
@@ -29,20 +29,20 @@
|
||||
# installed in a "standard" location, xpdf will find them
|
||||
# automatically.)
|
||||
|
||||
-#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
|
||||
-#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
|
||||
-#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
|
||||
-#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
|
||||
-#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
|
||||
-#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
|
||||
-#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
|
||||
-#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
|
||||
-#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
|
||||
-#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
|
||||
-#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
|
||||
-#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
|
||||
-#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
|
||||
-#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
|
||||
+fontFile Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
|
||||
+fontFile Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
|
||||
+fontFile Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
|
||||
+fontFile Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
|
||||
+fontFile Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
|
||||
+fontFile Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
|
||||
+fontFile Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
|
||||
+fontFile Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
|
||||
+fontFile Courier /usr/share/ghostscript/fonts/n022003l.pfb
|
||||
+fontFile Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
|
||||
+fontFile Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
|
||||
+fontFile Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
|
||||
+fontFile Symbol /usr/share/ghostscript/fonts/s050000l.pfb
|
||||
+fontFile ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
|
||||
|
||||
# If you need to display PDF files that refer to non-embedded fonts,
|
||||
# you should add one or more fontDir options to point to the
|
||||
@@ -50,7 +50,9 @@
|
||||
# .pfb, .ttf, and .ttc files in those directories (other files will
|
||||
# simply be ignored).
|
||||
|
||||
-#fontDir /usr/local/fonts/bakoma
|
||||
+fontDir /usr/share/ghostscript/fonts
|
||||
+fontDir /usr/share/fonts/X11/TTF
|
||||
+fontDir /usr/share/fonts/X11/Type1
|
||||
|
||||
#----- PostScript output control
|
||||
|
||||
@@ -62,7 +64,7 @@
|
||||
# A4, or A3. You can also specify a paper size as width and height
|
||||
# (in points).
|
||||
|
||||
-#psPaperSize letter
|
||||
+psPaperSize A4
|
||||
|
||||
#----- text output control
|
||||
|
||||
@@ -81,12 +83,12 @@
|
||||
|
||||
# Enable t1lib, FreeType, and anti-aliased text.
|
||||
|
||||
-#enableT1lib yes
|
||||
-#enableFreeType yes
|
||||
-#antialias yes
|
||||
+enableT1lib yes
|
||||
+enableFreeType yes
|
||||
+antialias yes
|
||||
|
||||
# Set the command used to run a web browser when a URL hyperlink is
|
||||
# clicked.
|
||||
|
||||
#launchCommand viewer-script
|
||||
-#urlCommand "netscape -remote 'openURL(%s)'"
|
||||
+urlCommand "xdg-open 'openURL(%s)'"
|
85
xpdf-xpdf_desktop
Normal file
85
xpdf-xpdf_desktop
Normal file
@ -0,0 +1,85 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
BinaryPattern=
|
||||
Name=X PDF
|
||||
Name[af]=X Pdf
|
||||
Name[de]=X-PDF
|
||||
Name[eo]=XPDF
|
||||
Name[es]=PDF para X
|
||||
Name[fr]=XPDF
|
||||
Name[hi]=एक्स पीडीएफ
|
||||
Name[ko]=X용 PDF
|
||||
Name[mn]=X-PDF
|
||||
Name[xx]=xxX PDFxx
|
||||
MimeType=application/pdf
|
||||
GenericName=PDF Viewer
|
||||
GenericName[af]=Pdf Aansig
|
||||
GenericName[ar]=عارض ملفات PDF
|
||||
GenericName[az]=PDF Nümayişçisi
|
||||
GenericName[bg]=Преглед на документи PDF
|
||||
GenericName[br]=Gweler PDF
|
||||
GenericName[ca]=Visor PDF
|
||||
GenericName[cs]=Prohlížeč PDF souborů
|
||||
GenericName[cy]=Gwelydd PDF
|
||||
GenericName[da]=PDF-fremviser
|
||||
GenericName[de]=PDF-Betrachter
|
||||
GenericName[el]=Προβολέας PDF
|
||||
GenericName[eo]=PDF-rigardilo
|
||||
GenericName[es]=Visor de documentos PDF
|
||||
GenericName[et]=PDF failide vaatamine
|
||||
GenericName[eu]=PDF Ikustailua
|
||||
GenericName[fa]=نمایشگر PDF
|
||||
GenericName[fi]=PDF-Näyttäjä
|
||||
GenericName[fo]=PDF-vísari
|
||||
GenericName[fr]=Afficheur PDF
|
||||
GenericName[gl]=Visualizador de PDF
|
||||
GenericName[he]=מציג קבצי PDF
|
||||
GenericName[hi]=पीडीएफ प्रदर्शक
|
||||
GenericName[hr]=Preglednik PDF dokumenata
|
||||
GenericName[hu]=PDF-nézegető
|
||||
GenericName[id]=Viewer PDF
|
||||
GenericName[is]=PDF-sjá
|
||||
GenericName[it]=Visualizzatore PDF
|
||||
GenericName[ja]=PDFビューア
|
||||
GenericName[ko]=PDF 보기
|
||||
GenericName[lo]=ສະແດງຜົນPDF
|
||||
GenericName[lt]=PDF Žiūriklis
|
||||
GenericName[lv]=PDF Skatītājs
|
||||
GenericName[mn]=PDF-Харагч
|
||||
GenericName[mt]=Werrej PDF
|
||||
GenericName[nb]=PDF-fremviser
|
||||
GenericName[nl]=PDF-weergaveprogramma
|
||||
GenericName[nn]=PDF-lesar
|
||||
GenericName[nso]=Molebeledi wa PDF
|
||||
GenericName[oc]=Visualisor PDF
|
||||
GenericName[pl]=Przeglądarka plików PDF
|
||||
GenericName[pt]=Visualizador de PDFs
|
||||
GenericName[pt_BR]=Visualizador de arquivos PDF
|
||||
GenericName[ro]=Vizualizor de documente PDF
|
||||
GenericName[ru]=Программа просмотра документов PDF
|
||||
GenericName[se]=PDF-logan
|
||||
GenericName[sk]=Prehliadač PDF súborov
|
||||
GenericName[sl]=Pregledovalnik datotek PDF
|
||||
GenericName[sr]=PDF приказивач
|
||||
GenericName[ss]=Sibuki se PDF
|
||||
GenericName[sv]=PDF-visare
|
||||
GenericName[ta]=PDF காட்சி
|
||||
GenericName[th]=ตัวแสดงผล PDF
|
||||
GenericName[tr]=PDF Görüntüleyici
|
||||
GenericName[uk]=Переглядач PDF
|
||||
GenericName[uz]=PDF кўрувчи
|
||||
GenericName[ven]=Tshivhoni tsha PDF
|
||||
GenericName[vi]=Trình xem PDF
|
||||
GenericName[wa]=Håyneu di documints PDF
|
||||
GenericName[xx]=xxPDF Viewerxx
|
||||
GenericName[zh_CN]=PDF 查看器
|
||||
GenericName[zh_TW]=PDF 檢視程式
|
||||
GenericName[zu]=Umbukisi we-PDF
|
||||
Exec=xpdf
|
||||
Icon=kpdf
|
||||
Categories=Application;Office;Viewer;
|
||||
TerminalOptions=
|
||||
Path=
|
||||
Type=Application
|
||||
Terminal=false
|
||||
X-KDE-StartupNotify=false
|
234
xpdf.spec
Normal file
234
xpdf.spec
Normal file
@ -0,0 +1,234 @@
|
||||
#%define majver %(echo %version | cut -d. -f1)
|
||||
#%define minver %(echo %version | cut -d. -f2)
|
||||
%define majver %(echo %version | cut -dp -f1)
|
||||
%define minver %(echo %{version}p | cut -dp -f2)
|
||||
Name: xpdf
|
||||
Version: 3.03
|
||||
Release: 1mamba
|
||||
Summary: An open source viewer for Portable Document Format (PDF) files
|
||||
Group: Graphical Desktop/Applications/Publishing
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: http://www.foolabs.com/xpdf/index.html
|
||||
Source0: ftp://ftp.foolabs.com/pub/xpdf/%{name}-%{majver}.tar.gz
|
||||
Source1: ftp://ftp.foolabs.com/pub/xpdf/%{name}-arabic.tar.gz
|
||||
Source2: ftp://ftp.foolabs.com/pub/xpdf/%{name}-chinese-simplified.tar.gz
|
||||
Source3: ftp://ftp.foolabs.com/pub/xpdf/%{name}-chinese-traditional.tar.gz
|
||||
Source4: ftp://ftp.foolabs.com/pub/xpdf/%{name}-cyrillic.tar.gz
|
||||
Source5: ftp://ftp.foolabs.com/pub/xpdf/%{name}-greek.tar.gz
|
||||
Source6: ftp://ftp.foolabs.com/pub/xpdf/%{name}-hebrew.tar.gz
|
||||
Source7: ftp://ftp.foolabs.com/pub/xpdf/%{name}-japanese.tar.gz
|
||||
Source8: ftp://ftp.foolabs.com/pub/xpdf/%{name}-korean.tar.gz
|
||||
Source9: ftp://ftp.foolabs.com/pub/xpdf/%{name}-latin2.tar.gz
|
||||
Source10: ftp://ftp.foolabs.com/pub/xpdf/%{name}-thai.tar.gz
|
||||
Source11: ftp://ftp.foolabs.com/pub/xpdf/%{name}-turkish.tar.gz
|
||||
Source12: xpdf-xpdf_desktop
|
||||
#%if "%{minver}" != ""
|
||||
#Source13: ftp://ftp.foolabs.com/pub/xpdf/%{name}-%{majver}pl1.patch
|
||||
#Source14: ftp://ftp.foolabs.com/pub/xpdf/%{name}-%{majver}p%{minver}.patch
|
||||
#%endif
|
||||
Patch0: %{name}-2.03-fonts.patch
|
||||
Patch1: %{name}-3.00-gcc4.patch
|
||||
Patch2: %{name}-3.03-xpdfrc.patch
|
||||
Patch4: %{name}-3.01-crash.patch
|
||||
Patch5: %{name}-3.00-can_2005_0206.patch
|
||||
Patch6: %{name}-3.01-can_2005_2097.patch
|
||||
Patch7: %{name}-3.01-can_2005_3191_2_3.patch
|
||||
Patch8: %{name}-3.01-can_2005_3624_5_6_7.patch
|
||||
Patch9: %{name}-3.01-cve_2006_0301.patch
|
||||
Patch10: %{name}-3.03-libXpm-3.5.10.patch
|
||||
License: GPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: ghostscript-fonts
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libfreetype-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libICE-devel
|
||||
BuildRequires: liblesstif-devel
|
||||
BuildRequires: libpaper-devel
|
||||
BuildRequires: libSM-devel
|
||||
BuildRequires: libstdc++6-devel
|
||||
BuildRequires: libt1-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXp-devel
|
||||
BuildRequires: libXpm-devel
|
||||
BuildRequires: libXt-devel
|
||||
## AUTOBUILDREQ-END
|
||||
Requires: ghostscript-fonts >= 6.0
|
||||
Requires: libpoppler-tools
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
Xpdf is an open source viewer for Portable Document Format (PDF) files.
|
||||
(These are also sometimes also called 'Acrobat' files, from the name of Adobe's PDF software.)
|
||||
The Xpdf project also includes a PDF text extractor, PDF-to-PostScript converter, and various other utilities.
|
||||
|
||||
%prep
|
||||
%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -n %{name}-%{majver}
|
||||
%patch0 -p1 -b .fonts
|
||||
%patch1 -p1 -b .gcc4
|
||||
%patch2 -p1 -b .xpdfrc
|
||||
%if "%{minver}" != ""
|
||||
patch -p1 < %{SOURCE13}
|
||||
patch -p1 < %{SOURCE14}
|
||||
%endif
|
||||
#%patch4 -p1 -b .crash
|
||||
#%patch5 -p1 -b .can_2005_2006
|
||||
%patch6 -p1 -b .can_2005_2097
|
||||
#%patch7 -p1 -b .can_2005_3191_2_3
|
||||
#%patch8 -p1 -b .can_2005_3624_5_6_7
|
||||
#%patch9 -p1 -b .cve_2006_0301
|
||||
%patch10 -p1
|
||||
|
||||
languages='
|
||||
arabic
|
||||
chinese-simplified
|
||||
chinese-traditional
|
||||
cyrillic
|
||||
greek
|
||||
hebrew
|
||||
japanese
|
||||
korean
|
||||
latin2
|
||||
thai
|
||||
turkish'
|
||||
> languages.lst
|
||||
for lang in $languages; do echo "$lang" >> languages.lst; done
|
||||
|
||||
%build
|
||||
# FIXME: -D__STRICT_ANSI__ needed as long as gcc provides a fixed header
|
||||
# for paper.h
|
||||
%configure \
|
||||
--sysconfdir=%{_sysconfdir}/X11/xpdf \
|
||||
--enable-freetype2 \
|
||||
--with-freetype2-includes=%{_includedir}/freetype2 \
|
||||
--with-appdef-dir=%{_datadir}/X11/app-defaults \
|
||||
--enable-a4-paper \
|
||||
--enable-opi \
|
||||
CXXFLAGS="-g -O2 -D__STRICT_ANSI__"
|
||||
# --enable-wordlist
|
||||
|
||||
%make
|
||||
|
||||
for lang in `cat languages.lst`; do
|
||||
sed -i '
|
||||
s,/usr/local/share/xpdf,%{_datadir}/xpdf,g
|
||||
s,/usr/local/etc/xpdfrc,%{_sysconfdir}/X11/xpdf/xpdfrc,g' \
|
||||
xpdf-$lang/{add-to-xpdfrc,README}
|
||||
echo >> doc/sample-xpdfrc
|
||||
cat xpdf-$lang/add-to-xpdfrc >> doc/sample-xpdfrc
|
||||
rm xpdf-$lang/add-to-xpdfrc
|
||||
done
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
%makeinstall
|
||||
|
||||
for lang in `cat languages.lst`; do
|
||||
install -d %{buildroot}%{_datadir}/%{name}/$lang
|
||||
cp -a xpdf-$lang/* %{buildroot}%{_datadir}/%{name}/$lang/
|
||||
done
|
||||
|
||||
# fix wrong paths
|
||||
find %{buildroot}/%{_mandir}/man? -type f -name "*.[15]" \
|
||||
-exec sed -i 's,/usr/local/etc/xpdfrc,/etc/X11/xpdf/xpdfrc,g' {} \;
|
||||
sed -i 's,/usr/local/share/,/usr/share/,g' \
|
||||
%{buildroot}/%{_mandir}/man5/xpdfrc.5
|
||||
|
||||
install -D -m644 %{SOURCE12} \
|
||||
%{buildroot}%{_datadir}/applications/xpdf.desktop
|
||||
|
||||
rm -f %{buildroot}%{_bindir}/pdf*
|
||||
rm -f %{buildroot}%{_mandir}/man1/pdf*.1*
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%dir %{_sysconfdir}/X11/xpdf
|
||||
%config %{_sysconfdir}/X11/xpdf/xpdfrc
|
||||
%{_bindir}/xpdf
|
||||
%dir %{_datadir}/xpdf
|
||||
%{_datadir}/xpdf/*
|
||||
%{_datadir}/applications/xpdf.desktop
|
||||
%{_mandir}/man1/xpdf.1.gz
|
||||
%{_mandir}/man5/xpdfrc.5.gz
|
||||
%doc COPYING
|
||||
#%doc ANNOUNCE CHANGES COPYING README
|
||||
|
||||
%changelog
|
||||
* Mon Oct 24 2011 Automatic Build System <autodist@mambasoft.it> 3.03-1mamba
|
||||
- update to 3.03
|
||||
|
||||
* Wed Jun 09 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 3.02pl4-3mamba
|
||||
- don't install pdf* man pages provided by libpoppler-tools 0.13
|
||||
|
||||
* Thu Dec 03 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 3.02pl4-2mamba
|
||||
- don't provide pdf conversion tools but use libpoppler-tools (added as requirement)
|
||||
|
||||
* Sat Oct 24 2009 Automatic Build System <autodist@mambasoft.it> 3.02pl4-1mamba
|
||||
- automatic update by autodist
|
||||
|
||||
* Fri Jul 10 2009 Automatic Build System <autodist@mambasoft.it> 3.02pl3-1mamba
|
||||
- automatic update by autodist
|
||||
|
||||
* Tue Dec 30 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 3.02pl2-1mamba
|
||||
- update to 3.02pl2
|
||||
|
||||
* Tue Jul 15 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 3.02-1mamba
|
||||
- update to 3.02
|
||||
|
||||
* Thu Apr 27 2006 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-7qilnx
|
||||
- fixed desktop file
|
||||
|
||||
* Fri Feb 03 2006 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-6qilnx
|
||||
- security update for CVE-2006-0301 (qibug#122)
|
||||
|
||||
* Fri Jan 20 2006 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-5qilnx
|
||||
- security update for CVE-2005-2006, and CVE-2005-362[4,5,6,7] (qibug#105)
|
||||
|
||||
* Tue Dec 13 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-4qilnx
|
||||
- fixed desktop file
|
||||
|
||||
* Wed Dec 07 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-3qilnx
|
||||
- security fix CAN-2005-3193 (qibug#90)
|
||||
|
||||
* Wed Nov 09 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-2qilnx
|
||||
- added desktop file
|
||||
|
||||
* Mon Aug 22 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.01-1qilnx
|
||||
- update to version 3.01 by autospec
|
||||
- fixed security issue QSA-2005-090 (CAN-2005-2097)
|
||||
|
||||
* Mon Feb 14 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.00-2qilnx
|
||||
- rebuilt with new libt1 libraries
|
||||
|
||||
* Thu Jan 20 2005 Davide Madrisan <davide.madrisan@qilinux.it> 3.00-1qilnx
|
||||
- update to version 3.00 by autospec
|
||||
- fixed security issue QSA-2005-003 (CAN-2004-1125)
|
||||
- added support for arabic, chinese-simplified, chinese-traditional,
|
||||
cyrillic, greek, hebrew, japanese, korean, latin2, thai, turkish
|
||||
|
||||
* Sat Nov 27 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.03-4qilnx
|
||||
- fixed size of `times-medium-r-normal' in XPDFViewer.cc
|
||||
|
||||
* Sat Oct 30 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.03-3qilnx
|
||||
- added a patch to customize the xpdf configuration file:
|
||||
- ghostscript and TTF fonts path fixed/added
|
||||
- font anti-aliasing enabled
|
||||
- paper size default set to A4
|
||||
- default printer set to kprinter (KDE printer)
|
||||
- browser for URL hyperlink set to konqueror
|
||||
- added the requirement `ghostscript-fonts'
|
||||
|
||||
* Thu Oct 28 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.03-2qilnx
|
||||
- security fix (QSA-2004-047): CAN-2004-0888
|
||||
|
||||
* Mon Jan 12 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.03-1qilnx
|
||||
- package updated
|
||||
|
||||
* Thu Sep 25 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.02pl1-1qilnx
|
||||
- first build
|
Loading…
Reference in New Issue
Block a user