- 8.61.
This commit is contained in:
parent
03b91a7480
commit
6d180b23f4
@ -20,3 +20,4 @@ espgs-8.15.3-source.tar.bz2
|
|||||||
espgs-8.15.4-source.tar.bz2
|
espgs-8.15.4-source.tar.bz2
|
||||||
ghostscript-8.60-r8117.tar.bz2
|
ghostscript-8.60-r8117.tar.bz2
|
||||||
ghostscript-8.60.tar.bz2
|
ghostscript-8.60.tar.bz2
|
||||||
|
ghostscript-8.61.tar.bz2
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
diff -up ghostscript-8.61/src/gdevijs.c.ijs-krgb ghostscript-8.61/src/gdevijs.c
|
||||||
--- gs-orig/src/gdevijs.c 2007-04-24 13:00:22.000000000 +0100
|
--- ghostscript-8.61/src/gdevijs.c.ijs-krgb 2007-09-25 14:31:24.000000000 +0100
|
||||||
+++ gs-krgb/src/gdevijs.c 2007-04-27 14:44:05.000000000 +0100
|
+++ ghostscript-8.61/src/gdevijs.c 2007-11-23 09:23:00.000000000 +0000
|
||||||
@@ -23,15 +23,50 @@
|
@@ -23,15 +23,50 @@
|
||||||
* which is a security risk, since any program can be run.
|
* which is a security risk, since any program can be run.
|
||||||
* You should use -dSAFER which sets .LockSafetyParams to true
|
* You should use -dSAFER which sets .LockSafetyParams to true
|
||||||
@ -52,22 +52,22 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* This should go into gdevprn.h, or, better yet, gdevprn should
|
/* This should go into gdevprn.h, or, better yet, gdevprn should
|
||||||
acquire an API for changing resolution. */
|
acquire an API for changing resolution. */
|
||||||
int gdev_prn_maybe_realloc_memory(gx_device_printer *pdev,
|
int gdev_prn_maybe_realloc_memory(gx_device_printer *pdev,
|
||||||
@@ -49,6 +84,14 @@
|
@@ -49,6 +84,14 @@ static dev_proc_get_params(gsijs_get_par
|
||||||
private dev_proc_put_params(gsijs_put_params);
|
static dev_proc_put_params(gsijs_put_params);
|
||||||
private dev_proc_finish_copydevice(gsijs_finish_copydevice);
|
static dev_proc_finish_copydevice(gsijs_finish_copydevice);
|
||||||
|
|
||||||
+/* Following definitions are for krgb support. */
|
+/* Following definitions are for krgb support. */
|
||||||
+private dev_proc_create_buf_device(gsijs_create_buf_device);
|
+static dev_proc_create_buf_device(gsijs_create_buf_device);
|
||||||
+private dev_proc_fill_rectangle(gsijs_fill_rectangle);
|
+static dev_proc_fill_rectangle(gsijs_fill_rectangle);
|
||||||
+private dev_proc_copy_mono(gsijs_copy_mono);
|
+static dev_proc_copy_mono(gsijs_copy_mono);
|
||||||
+private dev_proc_fill_mask(gsijs_fill_mask);
|
+static dev_proc_fill_mask(gsijs_fill_mask);
|
||||||
+private dev_proc_fill_path(gsijs_fill_path);
|
+static dev_proc_fill_path(gsijs_fill_path);
|
||||||
+private dev_proc_stroke_path(gsijs_stroke_path);
|
+static dev_proc_stroke_path(gsijs_stroke_path);
|
||||||
+
|
+
|
||||||
private const gx_device_procs gsijs_procs = {
|
static const gx_device_procs gsijs_procs = {
|
||||||
gsijs_open,
|
gsijs_open,
|
||||||
NULL, /* get_initial_matrix */
|
NULL, /* get_initial_matrix */
|
||||||
@@ -123,6 +166,15 @@
|
@@ -123,6 +166,15 @@ struct gx_device_ijs_s {
|
||||||
|
|
||||||
IjsClientCtx *ctx;
|
IjsClientCtx *ctx;
|
||||||
int ijs_version;
|
int ijs_version;
|
||||||
@ -83,7 +83,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define DEFAULT_DPI 74 /* See gsijs_set_resolution() below. */
|
#define DEFAULT_DPI 74 /* See gsijs_set_resolution() below. */
|
||||||
@@ -150,7 +202,13 @@
|
@@ -150,7 +202,13 @@ gx_device_ijs gs_ijs_device =
|
||||||
FALSE, /* Tumble_set */
|
FALSE, /* Tumble_set */
|
||||||
|
|
||||||
NULL, /* IjsClient *ctx */
|
NULL, /* IjsClient *ctx */
|
||||||
@ -98,7 +98,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -166,12 +224,299 @@
|
@@ -166,12 +224,299 @@ static int gsijs_read_string(gs_param_li
|
||||||
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ 0x01 /* 7 */
|
+ 0x01 /* 7 */
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+private int gsijs_fill_rectangle(gx_device * dev, int x, int y, int w, int h,
|
+static int gsijs_fill_rectangle(gx_device * dev, int x, int y, int w, int h,
|
||||||
+ gx_color_index color)
|
+ gx_color_index color)
|
||||||
+{
|
+{
|
||||||
+ gx_device_ijs *ijsdev = (gx_device_ijs *)((gx_device_forward *)dev)->target;
|
+ gx_device_ijs *ijsdev = (gx_device_ijs *)((gx_device_forward *)dev)->target;
|
||||||
@ -179,7 +179,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ return (*ijsdev->prn_procs.fill_rectangle)(dev, x, y, w, h, color);
|
+ return (*ijsdev->prn_procs.fill_rectangle)(dev, x, y, w, h, color);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+private int gsijs_copy_mono(gx_device * dev, const byte * data,
|
+static int gsijs_copy_mono(gx_device * dev, const byte * data,
|
||||||
+ int dx, int draster, gx_bitmap_id id,
|
+ int dx, int draster, gx_bitmap_id id,
|
||||||
+ int x, int y, int w, int height, gx_color_index zero, gx_color_index one)
|
+ int x, int y, int w, int height, gx_color_index zero, gx_color_index one)
|
||||||
+{
|
+{
|
||||||
@ -256,7 +256,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+
|
+
|
||||||
+/* ---------------- High-level graphic procedures ---------------- */
|
+/* ---------------- High-level graphic procedures ---------------- */
|
||||||
+
|
+
|
||||||
+private int gsijs_fill_mask(gx_device * dev,
|
+static int gsijs_fill_mask(gx_device * dev,
|
||||||
+ const byte * data, int dx, int raster, gx_bitmap_id id,
|
+ const byte * data, int dx, int raster, gx_bitmap_id id,
|
||||||
+ int x, int y, int w, int h,
|
+ int x, int y, int w, int h,
|
||||||
+ const gx_drawing_color * pdcolor, int depth,
|
+ const gx_drawing_color * pdcolor, int depth,
|
||||||
@ -278,7 +278,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ return code;
|
+ return code;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+private int gsijs_fill_path(gx_device * dev, const gs_imager_state * pis,
|
+static int gsijs_fill_path(gx_device * dev, const gs_imager_state * pis,
|
||||||
+ gx_path * ppath, const gx_fill_params * params,
|
+ gx_path * ppath, const gx_fill_params * params,
|
||||||
+ const gx_drawing_color * pdcolor,
|
+ const gx_drawing_color * pdcolor,
|
||||||
+ const gx_clip_path * pcpath)
|
+ const gx_clip_path * pcpath)
|
||||||
@ -295,7 +295,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+private int gsijs_stroke_path(gx_device * dev, const gs_imager_state * pis,
|
+static int gsijs_stroke_path(gx_device * dev, const gs_imager_state * pis,
|
||||||
+ gx_path * ppath, const gx_stroke_params * params,
|
+ gx_path * ppath, const gx_stroke_params * params,
|
||||||
+ const gx_drawing_color * pdcolor,
|
+ const gx_drawing_color * pdcolor,
|
||||||
+ const gx_clip_path * pcpath)
|
+ const gx_clip_path * pcpath)
|
||||||
@ -314,7 +314,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+
|
+
|
||||||
+/* ---------------- krgb banding playback procedures ---------------- */
|
+/* ---------------- krgb banding playback procedures ---------------- */
|
||||||
+
|
+
|
||||||
+private int gsijs_get_bits(gx_device_printer * pdev, int y, byte * str, byte ** actual_data)
|
+static int gsijs_get_bits(gx_device_printer * pdev, int y, byte * str, byte ** actual_data)
|
||||||
+{
|
+{
|
||||||
+ gx_device_ijs *ijsdev = (gx_device_ijs *)pdev;
|
+ gx_device_ijs *ijsdev = (gx_device_ijs *)pdev;
|
||||||
+ gx_device_clist_common *cdev = (gx_device_clist_common *)pdev;
|
+ gx_device_clist_common *cdev = (gx_device_clist_common *)pdev;
|
||||||
@ -332,7 +332,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ return gdev_prn_get_bits(pdev, y, str, actual_data); /* get raster from regular band */
|
+ return gdev_prn_get_bits(pdev, y, str, actual_data); /* get raster from regular band */
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+private int gsijs_k_get_bits(gx_device_printer * pdev, int y, byte ** actual_data)
|
+static int gsijs_k_get_bits(gx_device_printer * pdev, int y, byte ** actual_data)
|
||||||
+{
|
+{
|
||||||
+ gx_device_ijs *ijsdev = (gx_device_ijs *)pdev;
|
+ gx_device_ijs *ijsdev = (gx_device_ijs *)pdev;
|
||||||
+ gx_device_clist_common *cdev = (gx_device_clist_common *)pdev;
|
+ gx_device_clist_common *cdev = (gx_device_clist_common *)pdev;
|
||||||
@ -346,7 +346,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+private int gsijs_create_buf_device(gx_device **pbdev, gx_device *target,
|
+static int gsijs_create_buf_device(gx_device **pbdev, gx_device *target,
|
||||||
+ const gx_render_plane_t *render_plane, gs_memory_t *mem, gx_band_complexity_t *band_complexity)
|
+ const gx_render_plane_t *render_plane, gs_memory_t *mem, gx_band_complexity_t *band_complexity)
|
||||||
+{
|
+{
|
||||||
+ gx_device_ijs *ijsdev = (gx_device_ijs *)target;
|
+ gx_device_ijs *ijsdev = (gx_device_ijs *)target;
|
||||||
@ -369,7 +369,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/* See if IJS server supports krgb. */
|
+/* See if IJS server supports krgb. */
|
||||||
+private int
|
+static int
|
||||||
+gsijs_set_krgb_mode(gx_device_ijs *ijsdev)
|
+gsijs_set_krgb_mode(gx_device_ijs *ijsdev)
|
||||||
+{
|
+{
|
||||||
+ char buf[256];
|
+ char buf[256];
|
||||||
@ -401,9 +401,9 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
+
|
+
|
||||||
+/* ------ Private definitions ------ */
|
+/* ------ Private definitions ------ */
|
||||||
|
|
||||||
private int
|
static int
|
||||||
gsijs_parse_wxh (const char *val, int size, double *pw, double *ph)
|
gsijs_parse_wxh (const char *val, int size, double *pw, double *ph)
|
||||||
@@ -209,34 +554,6 @@
|
@@ -209,34 +554,6 @@ gsijs_parse_wxh (const char *val, int si
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -412,7 +412,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
- * This version is specialized for hpijs 1.0 through 1.0.2, and
|
- * This version is specialized for hpijs 1.0 through 1.0.2, and
|
||||||
- * accommodates a number of quirks.
|
- * accommodates a number of quirks.
|
||||||
- **/
|
- **/
|
||||||
-private int
|
-static int
|
||||||
-gsijs_set_generic_params_hpijs(gx_device_ijs *ijsdev)
|
-gsijs_set_generic_params_hpijs(gx_device_ijs *ijsdev)
|
||||||
-{
|
-{
|
||||||
- char buf[256];
|
- char buf[256];
|
||||||
@ -437,8 +437,8 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
-/**
|
-/**
|
||||||
* gsijs_set_generic_params: Set generic IJS parameters.
|
* gsijs_set_generic_params: Set generic IJS parameters.
|
||||||
**/
|
**/
|
||||||
private int
|
static int
|
||||||
@@ -247,9 +564,6 @@
|
@@ -247,9 +564,6 @@ gsijs_set_generic_params(gx_device_ijs *
|
||||||
int i, j;
|
int i, j;
|
||||||
char *value;
|
char *value;
|
||||||
|
|
||||||
@ -448,7 +448,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* Split IjsParams into separate parameters and send to ijs server */
|
/* Split IjsParams into separate parameters and send to ijs server */
|
||||||
value = NULL;
|
value = NULL;
|
||||||
for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) {
|
for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) {
|
||||||
@@ -290,68 +604,6 @@
|
@@ -290,68 +604,6 @@ gsijs_set_generic_params(gx_device_ijs *
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -457,7 +457,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
- * This version is specialized for hpijs 1.0 through 1.0.2, and
|
- * This version is specialized for hpijs 1.0 through 1.0.2, and
|
||||||
- * accommodates a number of quirks.
|
- * accommodates a number of quirks.
|
||||||
- **/
|
- **/
|
||||||
-private int
|
-static int
|
||||||
-gsijs_set_margin_params_hpijs(gx_device_ijs *ijsdev)
|
-gsijs_set_margin_params_hpijs(gx_device_ijs *ijsdev)
|
||||||
-{
|
-{
|
||||||
- char buf[256];
|
- char buf[256];
|
||||||
@ -516,8 +516,8 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
-/**
|
-/**
|
||||||
* gsijs_set_margin_params: Do margin negotiation with IJS server.
|
* gsijs_set_margin_params: Do margin negotiation with IJS server.
|
||||||
**/
|
**/
|
||||||
private int
|
static int
|
||||||
@@ -362,9 +614,6 @@
|
@@ -362,9 +614,6 @@ gsijs_set_margin_params(gx_device_ijs *i
|
||||||
int i, j;
|
int i, j;
|
||||||
char *value;
|
char *value;
|
||||||
|
|
||||||
@ -527,7 +527,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* Split IjsParams into separate parameters and send to ijs server */
|
/* Split IjsParams into separate parameters and send to ijs server */
|
||||||
value = NULL;
|
value = NULL;
|
||||||
for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) {
|
for (i=0, j=0; (j < ijsdev->IjsParams_size) && (i < sizeof(buf)-1); j++) {
|
||||||
@@ -531,12 +780,18 @@
|
@@ -531,12 +780,18 @@ gsijs_open(gx_device *dev)
|
||||||
char buf[256];
|
char buf[256];
|
||||||
bool use_outputfd;
|
bool use_outputfd;
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
@ -546,7 +546,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* Decide whether to use OutputFile or OutputFD. Note: how to
|
/* Decide whether to use OutputFile or OutputFD. Note: how to
|
||||||
determine this is a tricky question, so we just allow the
|
determine this is a tricky question, so we just allow the
|
||||||
user to set it.
|
user to set it.
|
||||||
@@ -551,6 +806,8 @@
|
@@ -551,6 +806,8 @@ gsijs_open(gx_device *dev)
|
||||||
if (code < 0)
|
if (code < 0)
|
||||||
return code;
|
return code;
|
||||||
|
|
||||||
@ -555,7 +555,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
if (use_outputfd) {
|
if (use_outputfd) {
|
||||||
/* Note: dup() may not be portable to all interesting IJS
|
/* Note: dup() may not be portable to all interesting IJS
|
||||||
platforms. In that case, this branch should be #ifdef'ed out.
|
platforms. In that case, this branch should be #ifdef'ed out.
|
||||||
@@ -610,6 +867,9 @@
|
@@ -610,6 +867,9 @@ gsijs_open(gx_device *dev)
|
||||||
if (code >= 0)
|
if (code >= 0)
|
||||||
code = gsijs_set_margin_params(ijsdev);
|
code = gsijs_set_margin_params(ijsdev);
|
||||||
|
|
||||||
@ -565,11 +565,11 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -690,21 +950,6 @@
|
@@ -690,21 +950,6 @@ gsijs_raster_width(gx_device *pdev)
|
||||||
return min(width, end);
|
return min(width, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
-private int ijs_all_white(unsigned char *data, int size)
|
-static int ijs_all_white(unsigned char *data, int size)
|
||||||
-{
|
-{
|
||||||
- int clean = 1;
|
- int clean = 1;
|
||||||
- int i;
|
- int i;
|
||||||
@ -587,7 +587,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* Print a page. Don't use normal printer gdev_prn_output_page
|
/* Print a page. Don't use normal printer gdev_prn_output_page
|
||||||
* because it opens the output file.
|
* because it opens the output file.
|
||||||
*/
|
*/
|
||||||
@@ -715,8 +960,10 @@
|
@@ -715,8 +960,10 @@ gsijs_output_page(gx_device *dev, int nu
|
||||||
gx_device_printer *pdev = (gx_device_printer *)dev;
|
gx_device_printer *pdev = (gx_device_printer *)dev;
|
||||||
int raster = gdev_prn_raster(pdev);
|
int raster = gdev_prn_raster(pdev);
|
||||||
int ijs_width, ijs_height;
|
int ijs_width, ijs_height;
|
||||||
@ -599,7 +599,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
unsigned char *data;
|
unsigned char *data;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
double xres = pdev->HWResolution[0];
|
double xres = pdev->HWResolution[0];
|
||||||
@@ -732,13 +979,23 @@
|
@@ -732,13 +979,23 @@ gsijs_output_page(gx_device *dev, int nu
|
||||||
|
|
||||||
/* Determine bitmap width and height */
|
/* Determine bitmap width and height */
|
||||||
ijs_height = gdev_prn_print_scan_lines(dev);
|
ijs_height = gdev_prn_print_scan_lines(dev);
|
||||||
@ -627,7 +627,7 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
/* Required page parameters */
|
/* Required page parameters */
|
||||||
sprintf(buf, "%d", n_chan);
|
sprintf(buf, "%d", n_chan);
|
||||||
gsijs_client_set_param(ijsdev, "NumChan", buf);
|
gsijs_client_set_param(ijsdev, "NumChan", buf);
|
||||||
@@ -747,44 +1004,71 @@
|
@@ -747,44 +1004,71 @@ gsijs_output_page(gx_device *dev, int nu
|
||||||
|
|
||||||
/* This needs to become more sophisticated for DeviceN. */
|
/* This needs to become more sophisticated for DeviceN. */
|
||||||
strcpy(buf, (n_chan == 4) ? "DeviceCMYK" :
|
strcpy(buf, (n_chan == 4) ? "DeviceCMYK" :
|
||||||
@ -719,11 +719,11 @@ diff -uraN gs-orig/src/gdevijs.c gs-krgb/src/gdevijs.c
|
|||||||
gs_free_object(pdev->memory, data, "gsijs_output_page");
|
gs_free_object(pdev->memory, data, "gsijs_output_page");
|
||||||
|
|
||||||
endcode = (pdev->buffer_space && !pdev->is_async_renderer ?
|
endcode = (pdev->buffer_space && !pdev->is_async_renderer ?
|
||||||
@@ -1090,7 +1374,6 @@
|
@@ -1090,7 +1374,6 @@ gsijs_client_set_param(gx_device_ijs *ij
|
||||||
dprintf2("ijs: Can't set parameter %s=%s\n", key, value);
|
dprintf2("ijs: Can't set parameter %s=%s\n", key, value);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
-
|
-
|
||||||
|
|
||||||
private int
|
static int
|
||||||
gsijs_set_color_format(gx_device_ijs *ijsdev)
|
gsijs_set_color_format(gx_device_ijs *ijsdev)
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
diff -up ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c
|
|
||||||
--- ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c.CVE-2007-2721 2006-02-08 06:21:28.000000000 +0000
|
|
||||||
+++ ghostscript-8.60/jasper/src/libjasper/jp2/jp2_cod.c 2007-10-23 14:15:01.000000000 +0100
|
|
||||||
@@ -247,7 +247,7 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
|
|
||||||
box = 0;
|
|
||||||
tmpstream = 0;
|
|
||||||
|
|
||||||
- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
|
|
||||||
+ if (!(box = jas_calloc(1, sizeof(jp2_box_t)))) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
box->ops = &jp2_boxinfo_unk.ops;
|
|
||||||
diff -up ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c
|
|
||||||
--- ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c.CVE-2007-2721 2006-02-08 06:21:28.000000000 +0000
|
|
||||||
+++ ghostscript-8.60/jasper/src/libjasper/jpc/jpc_cs.c 2007-10-23 14:15:01.000000000 +0100
|
|
||||||
@@ -991,7 +991,10 @@ static int jpc_qcx_getcompparms(jpc_qcxc
|
|
||||||
compparms->numstepsizes = (len - n) / 2;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
-if (compparms->numstepsizes > 0) {
|
|
||||||
+if (compparms->numstepsizes > 3 * JPC_MAXRLVLS + 1) {
|
|
||||||
+ jpc_qcx_destroycompparms(compparms);
|
|
||||||
+ return -1;
|
|
||||||
+ } else if (compparms->numstepsizes > 0) {
|
|
||||||
compparms->stepsizes = jas_malloc(compparms->numstepsizes *
|
|
||||||
sizeof(uint_fast32_t));
|
|
||||||
assert(compparms->stepsizes);
|
|
||||||
diff -up ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c.CVE-2007-2721 ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c
|
|
||||||
--- ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c.CVE-2007-2721 2006-12-06 22:25:01.000000000 +0000
|
|
||||||
+++ ghostscript-8.60/jasper/src/libjasper/jpc/jpc_dec.c 2007-10-23 14:15:01.000000000 +0100
|
|
||||||
@@ -1219,7 +1219,7 @@ static int jpc_dec_process_siz(jpc_dec_t
|
|
||||||
dec->numhtiles = JPC_CEILDIV(dec->xend - dec->tilexoff, dec->tilewidth);
|
|
||||||
dec->numvtiles = JPC_CEILDIV(dec->yend - dec->tileyoff, dec->tileheight);
|
|
||||||
dec->numtiles = dec->numhtiles * dec->numvtiles;
|
|
||||||
- if (!(dec->tiles = jas_malloc(dec->numtiles * sizeof(jpc_dec_tile_t)))) {
|
|
||||||
+ if (!(dec->tiles = jas_calloc(dec->numtiles, sizeof(jpc_dec_tile_t)))) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1243,7 +1243,7 @@ static int jpc_dec_process_siz(jpc_dec_t
|
|
||||||
tile->pkthdrstreampos = 0;
|
|
||||||
tile->pptstab = 0;
|
|
||||||
tile->cp = 0;
|
|
||||||
- if (!(tile->tcomps = jas_malloc(dec->numcomps *
|
|
||||||
+ if (!(tile->tcomps = jas_calloc(dec->numcomps,
|
|
||||||
sizeof(jpc_dec_tcomp_t)))) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
@ -1,166 +0,0 @@
|
|||||||
From: alexcher <alexcher@a1074d23-0009-0410-80fe-cf8c14f379e6>
|
|
||||||
Date: Sat, 8 Sep 2007 22:31:20 +0000 (+0000)
|
|
||||||
Subject: Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional
|
|
||||||
X-Git-Url: http://git.infradead.org/?p=ghostscript.git;a=commitdiff_plain;h=0513d1b9542d37e7134d36e49222b12ef469b722
|
|
||||||
|
|
||||||
Declare Ghostscript as _LARGEFILE64_SOURCE program, i.e. request transitional
|
|
||||||
interface to large file support. Check for mkstemp64() availability specially.
|
|
||||||
|
|
||||||
|
|
||||||
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs@8232 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
|
||||||
index c1e3c3b..5590f9a 100644
|
|
||||||
--- a/src/Makefile.in
|
|
||||||
+++ b/src/Makefile.in
|
|
||||||
@@ -120,8 +120,11 @@ GENOPT=
|
|
||||||
#
|
|
||||||
# -DHAVE_FILE64
|
|
||||||
# use marked versions of the stdio FILE calls, fopen64() et al.
|
|
||||||
+#
|
|
||||||
+# -DHAVE_MKSTEMP64
|
|
||||||
+# use non-standard function mkstemp64()
|
|
||||||
|
|
||||||
-CAPOPT= @HAVE_MKSTEMP@ @HAVE_HYPOT@ @HAVE_FILE64@ @HAVE_FONTCONFIG@
|
|
||||||
+CAPOPT= @HAVE_MKSTEMP@ @HAVE_HYPOT@ @HAVE_FILE64@ @HAVE_MKSTEMP64@ @HAVE_FONTCONFIG@
|
|
||||||
|
|
||||||
# Define the name of the executable file.
|
|
||||||
|
|
||||||
diff --git a/src/configure.ac b/src/configure.ac
|
|
||||||
index 10658c5..ffde250 100644
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -924,6 +924,9 @@ AC_SUBST(HAVE_HYPOT)
|
|
||||||
AC_CHECK_FUNCS([fopen64], [HAVE_FILE64=-DHAVE_FILE64])
|
|
||||||
AC_SUBST(HAVE_FILE64)
|
|
||||||
|
|
||||||
+AC_CHECK_FUNCS([mkstemp64], [HAVE_MKSTEMP64=-DHAVE_MKSTEMP64])
|
|
||||||
+AC_SUBST(HAVE_MKSTEMP64)
|
|
||||||
+
|
|
||||||
AC_PROG_GCC_TRADITIONAL
|
|
||||||
|
|
||||||
dnl NB: We don't actually provide autoconf-switched fallbacks for any
|
|
||||||
diff --git a/src/gp_unifs.c b/src/gp_unifs.c
|
|
||||||
index 6b6a85c..ac555b5 100644
|
|
||||||
--- a/src/gp_unifs.c
|
|
||||||
+++ b/src/gp_unifs.c
|
|
||||||
@@ -88,18 +88,22 @@ gp_open_scratch_file_generic(const char *prefix, char fname[gp_file_name_sizeof]
|
|
||||||
|
|
||||||
/* save the old filename template in case mkstemp fails */
|
|
||||||
memcpy(ofname, fname, gp_file_name_sizeof);
|
|
||||||
-#if defined(HAVE_FILE64) && !defined(_LARGEFILE64_SOURCE)
|
|
||||||
- if (b64)
|
|
||||||
- file = mkstemp64(fname);
|
|
||||||
- else
|
|
||||||
+#ifdef HAVE_MKSTEMP64
|
|
||||||
+ file = (b64 ? mkstemp64 : mkstemp)(fname);
|
|
||||||
+#else
|
|
||||||
+ file = mkstemp(fname);
|
|
||||||
#endif
|
|
||||||
- file = mkstemp(fname);
|
|
||||||
-
|
|
||||||
- /* Fixme : what to do with b64 and 32-bit mkstemp? Unimplemented. */
|
|
||||||
if (file < -1) {
|
|
||||||
eprintf1("**** Could not open temporary file %s\n", ofname);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
+#if defined(O_LARGEFILE) && defined(__hpux)
|
|
||||||
+ if (b64)
|
|
||||||
+ fcntl(file, F_SETFD, fcntl(file, F_GETFD) | O_LARGEFILE);
|
|
||||||
+#else
|
|
||||||
+ /* Fixme : what to do with b64 and 32-bit mkstemp? Unimplemented. */
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
fp = fdopen(file, mode);
|
|
||||||
if (fp == NULL)
|
|
||||||
close(file);
|
|
||||||
@@ -479,10 +483,10 @@ gp_enumerate_files_close(file_enum * pfen)
|
|
||||||
|
|
||||||
FILE *gp_fopen_64(const char *filename, const char *mode)
|
|
||||||
{
|
|
||||||
-#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64)
|
|
||||||
- return fopen(filename, mode);
|
|
||||||
-#else
|
|
||||||
+#if defined(HAVE_FILE64)
|
|
||||||
return fopen64(filename, mode);
|
|
||||||
+#else
|
|
||||||
+ return fopen(filename, mode);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -497,22 +501,22 @@ FILE *gp_open_scratch_file_64(const char *prefix,
|
|
||||||
|
|
||||||
int64_t gp_ftell_64(FILE *strm)
|
|
||||||
{
|
|
||||||
-#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64)
|
|
||||||
- return ftello(strm);
|
|
||||||
-#else
|
|
||||||
+#if defined(HAVE_FILE64)
|
|
||||||
return ftello64(strm);
|
|
||||||
+#else
|
|
||||||
+ return ftello(strm);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int gp_fseek_64(FILE *strm, int64_t offset, int origin)
|
|
||||||
{
|
|
||||||
-#if defined(_LARGEFILE64_SOURCE) || !defined(HAVE_FILE64)
|
|
||||||
+#if defined(HAVE_FILE64)
|
|
||||||
+ return fseeko64(strm, offset, origin);
|
|
||||||
+#else
|
|
||||||
off_t offset1 = (off_t)offset;
|
|
||||||
|
|
||||||
if (offset != offset1)
|
|
||||||
return -1;
|
|
||||||
return fseeko(strm, offset1, origin);
|
|
||||||
-#else
|
|
||||||
- return fseeko64(strm, offset, origin);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
diff --git a/src/stdpre.h b/src/stdpre.h
|
|
||||||
index acb61c1..c17cdbf 100644
|
|
||||||
--- a/src/stdpre.h
|
|
||||||
+++ b/src/stdpre.h
|
|
||||||
@@ -17,6 +17,9 @@
|
|
||||||
#ifndef stdpre_INCLUDED
|
|
||||||
# define stdpre_INCLUDED
|
|
||||||
|
|
||||||
+/* Ghostscript uses transitional LFS functions. */
|
|
||||||
+#define _LARGEFILE64_SOURCE 1
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Here we deal with the vagaries of various C compilers. We assume that:
|
|
||||||
* ANSI-standard Unix compilers define __STDC__.
|
|
||||||
From: alexcher <alexcher@a1074d23-0009-0410-80fe-cf8c14f379e6>
|
|
||||||
Date: Wed, 5 Sep 2007 19:21:05 +0000 (+0000)
|
|
||||||
Subject: Replace non-standard function call fdopen64() with fdopen(). The former
|
|
||||||
X-Git-Url: http://git.infradead.org/?p=ghostscript.git;a=commitdiff_plain;h=dc01761c07d210974d829c35c33a8886c33b0488
|
|
||||||
|
|
||||||
Replace non-standard function call fdopen64() with fdopen(). The former
|
|
||||||
is not available on most platforms and not needed anyway because O_LARGEFILE
|
|
||||||
flag is set earlier in the code. Bug 689175.
|
|
||||||
|
|
||||||
DIFFERENCES:
|
|
||||||
None
|
|
||||||
|
|
||||||
|
|
||||||
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk/gs@8229 a1074d23-0009-0410-80fe-cf8c14f379e6
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/src/gpmisc.c b/src/gpmisc.c
|
|
||||||
index f963d82..303fac2 100644
|
|
||||||
--- a/src/gpmisc.c
|
|
||||||
+++ b/src/gpmisc.c
|
|
||||||
@@ -93,11 +93,7 @@ gp_fopentemp_generic(const char *fname, const char *mode, bool b64)
|
|
||||||
* fdopen as (char *), rather than following the POSIX.1 standard,
|
|
||||||
* which defines it as (const char *). Patch this here.
|
|
||||||
*/
|
|
||||||
-#if defined (O_LARGEFILE)
|
|
||||||
- file = (b64 ? fdopen64 : fdopen)(fildes, (char *)mode); /* still really const */
|
|
||||||
-#else
|
|
||||||
file = fdopen(fildes, (char *)mode); /* still really const */
|
|
||||||
-#endif
|
|
||||||
if (file == 0)
|
|
||||||
close(fildes);
|
|
||||||
return file;
|
|
@ -1,6 +1,8 @@
|
|||||||
--- ghostscript-8.60-r8112/ijs/ijs-config.in.multilib 2002-01-31 19:09:46.000000000 +0000
|
diff -up ghostscript-8.61/ijs/Makefile.am.multilib ghostscript-8.61/ijs/Makefile.am
|
||||||
+++ ghostscript-8.60-r8112/ijs/ijs-config.in 2007-07-10 17:46:44.000000000 +0100
|
diff -up ghostscript-8.61/ijs/ijs-config.in.multilib ghostscript-8.61/ijs/ijs-config.in
|
||||||
@@ -43,8 +43,7 @@
|
--- ghostscript-8.61/ijs/ijs-config.in.multilib 2002-01-31 19:09:46.000000000 +0000
|
||||||
|
+++ ghostscript-8.61/ijs/ijs-config.in 2007-11-23 09:19:18.000000000 +0000
|
||||||
|
@@ -43,8 +43,7 @@ while test $# -gt 0; do
|
||||||
echo $includes
|
echo $includes
|
||||||
;;
|
;;
|
||||||
--libs)
|
--libs)
|
||||||
@ -10,14 +12,3 @@
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "${usage}" 1>&2
|
echo "${usage}" 1>&2
|
||||||
--- ghostscript-8.60-r8112/ijs/Makefile.am.multilib 2007-07-10 18:00:36.000000000 +0100
|
|
||||||
+++ ghostscript-8.60-r8112/ijs/Makefile.am 2007-07-10 18:00:39.000000000 +0100
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
|
|
||||||
pkgincludedir=$(includedir)/ijs
|
|
||||||
m4datadir = $(datadir)/aclocal
|
|
||||||
-pkgconfigdatadir = $(prefix)/lib/pkgconfig
|
|
||||||
+pkgconfigdatadir = $(libdir)/pkgconfig
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = libijs.la
|
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
%define gs_ver 8.60
|
%define gs_ver 8.61
|
||||||
%define gs_dot_ver 8.60
|
%define gs_dot_ver 8.61
|
||||||
%{expand: %%define build_with_freetype %{?_with_freetype:1}%{!?_with_freetype:0}}
|
%{expand: %%define build_with_freetype %{?_with_freetype:1}%{!?_with_freetype:0}}
|
||||||
Summary: A PostScript(TM) interpreter and renderer.
|
Summary: A PostScript(TM) interpreter and renderer.
|
||||||
Name: ghostscript
|
Name: ghostscript
|
||||||
Version: %{gs_ver}
|
Version: %{gs_ver}
|
||||||
|
|
||||||
Release: 5%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: http://www.ghostscript.com/
|
URL: http://www.ghostscript.com/
|
||||||
@ -20,8 +20,6 @@ Patch2: ghostscript-scripts.patch
|
|||||||
Patch3: ghostscript-noopt.patch
|
Patch3: ghostscript-noopt.patch
|
||||||
Patch4: ghostscript-fPIC.patch
|
Patch4: ghostscript-fPIC.patch
|
||||||
Patch5: http://www.openprinting.org/download/printing/esp-gpl-ghostscript-merge/ghostscript-8.57-ijs-krgb.patch
|
Patch5: http://www.openprinting.org/download/printing/esp-gpl-ghostscript-merge/ghostscript-8.57-ijs-krgb.patch
|
||||||
Patch6: ghostscript-mkstemp64.patch
|
|
||||||
Patch7: ghostscript-CVE-2007-2721.patch
|
|
||||||
|
|
||||||
Requires: urw-fonts >= 1.1, ghostscript-fonts
|
Requires: urw-fonts >= 1.1, ghostscript-fonts
|
||||||
BuildRequires: libjpeg-devel, libXt-devel
|
BuildRequires: libjpeg-devel, libXt-devel
|
||||||
@ -90,12 +88,6 @@ A GTK-enabled version of Ghostscript, called 'gsx'.
|
|||||||
# IJS KRGB patch.
|
# IJS KRGB patch.
|
||||||
%patch5 -p1 -b .ijs-krgb
|
%patch5 -p1 -b .ijs-krgb
|
||||||
|
|
||||||
# From upstream.
|
|
||||||
%patch6 -p1 -b .mkstemp64
|
|
||||||
|
|
||||||
# Applied patch from upstream to fix CVE-2007-2721 (bug #346511).
|
|
||||||
%patch7 -p1 -b .CVE-2007-2721
|
|
||||||
|
|
||||||
# Convert manual pages to UTF-8
|
# Convert manual pages to UTF-8
|
||||||
from8859_1() {
|
from8859_1() {
|
||||||
iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
|
iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
|
||||||
@ -156,14 +148,15 @@ make install soinstall \
|
|||||||
prefix=$RPM_BUILD_ROOT%{_prefix} \
|
prefix=$RPM_BUILD_ROOT%{_prefix} \
|
||||||
mandir=$RPM_BUILD_ROOT%{_mandir} \
|
mandir=$RPM_BUILD_ROOT%{_mandir} \
|
||||||
datadir=$RPM_BUILD_ROOT%{_datadir} \
|
datadir=$RPM_BUILD_ROOT%{_datadir} \
|
||||||
|
gsincludedir=$RPM_BUILD_ROOT%{_includedir}/ghostscript \
|
||||||
bindir=$RPM_BUILD_ROOT%{_bindir} \
|
bindir=$RPM_BUILD_ROOT%{_bindir} \
|
||||||
libdir=$RPM_BUILD_ROOT%{_libdir} \
|
libdir=$RPM_BUILD_ROOT%{_libdir} \
|
||||||
docdir=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver} \
|
docdir=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver} \
|
||||||
gsdir=$RPM_BUILD_ROOT%{_datadir}/%{name} \
|
gsdir=$RPM_BUILD_ROOT%{_datadir}/%{name} \
|
||||||
gsdatadir=$RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver} \
|
gsdatadir=$RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver} \
|
||||||
gssharedir=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{gs_dot_ver} \
|
gssharedir=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{gs_dot_ver} \
|
||||||
CUPSSERVER=$RPM_BUILD_ROOT`cups-config --serverbin` \
|
CUPSSERVERROOT=$RPM_BUILD_ROOT`cups-config --serverroot` \
|
||||||
CUPSCONFIG=$RPM_BUILD_ROOT`cups-config --serverroot` \
|
CUPSSERVERBIN=$RPM_BUILD_ROOT`cups-config --serverbin` \
|
||||||
CUPSDATA=$RPM_BUILD_ROOT`cups-config --datadir`
|
CUPSDATA=$RPM_BUILD_ROOT`cups-config --datadir`
|
||||||
|
|
||||||
mv -f $RPM_BUILD_ROOT%{_bindir}/gsc $RPM_BUILD_ROOT%{_bindir}/gs
|
mv -f $RPM_BUILD_ROOT%{_bindir}/gsc $RPM_BUILD_ROOT%{_bindir}/gs
|
||||||
@ -274,6 +267,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_libdir}/libgs.so
|
%{_libdir}/libgs.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Nov 23 2007 Tim Waugh <twaugh@redhat.com> 8.61-1
|
||||||
|
- 8.61.
|
||||||
|
|
||||||
* Tue Oct 23 2007 Tim Waugh <twaugh@redhat.com> 8.60-5
|
* Tue Oct 23 2007 Tim Waugh <twaugh@redhat.com> 8.60-5
|
||||||
- Applied patch from upstream to fix CVE-2007-2721 (bug #346511).
|
- Applied patch from upstream to fix CVE-2007-2721 (bug #346511).
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
2fbae60417d42779f6488ab897dcaaf6 acro5-cmaps-2001.tar.gz
|
2fbae60417d42779f6488ab897dcaaf6 acro5-cmaps-2001.tar.gz
|
||||||
dfc93dd2aaaf2b86d2fd55f654c13261 adobe-cmaps-200406.tar.gz
|
dfc93dd2aaaf2b86d2fd55f654c13261 adobe-cmaps-200406.tar.gz
|
||||||
89fc0a90e67caf151a9d6855200c68ca ghostscript-8.60.tar.bz2
|
abff0506cd249cba3ad862d8fe4f6474 ghostscript-8.61.tar.bz2
|
||||||
|
Loading…
Reference in New Issue
Block a user