diff options
author | Sam James <sam@gentoo.org> | 2020-09-17 23:20:15 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2020-09-17 23:20:22 +0000 |
commit | 619a6b6164660089f7dee5fcb6ea484f7bcff72b (patch) | |
tree | 6d75e4f4fa1eb0499a4591678f9c6a3ff6cf9779 /media-gfx/sane-backends/files | |
parent | sys-kernel/gentoo-kernel-bin: bump to 5.4.66 for arm64 (diff) | |
download | gentoo-619a6b6164660089f7dee5fcb6ea484f7bcff72b.tar.gz gentoo-619a6b6164660089f7dee5fcb6ea484f7bcff72b.tar.bz2 gentoo-619a6b6164660089f7dee5fcb6ea484f7bcff72b.zip |
media-gfx/sane-backends: security cleanup
Bug: https://bugs.gentoo.org/729312
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx/sane-backends/files')
4 files changed, 0 insertions, 490 deletions
diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch deleted file mode 100644 index 504f9e666e62..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-canon-lide-100.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up sane-backends-1.0.27/backend/genesys.c.canon-lide-100 sane-backends-1.0.27/backend/genesys.c ---- sane-backends-1.0.27/backend/genesys.c.canon-lide-100 2018-02-01 10:37:26.160044539 +0100 -+++ sane-backends-1.0.27/backend/genesys.c 2018-02-01 10:45:44.616653277 +0100 -@@ -2070,11 +2070,9 @@ genesys_white_shading_calibration (Genes - dev->model->cmd_set->set_lamp_power (dev, dev->calib_reg, SANE_TRUE); - dev->model->cmd_set->set_motor_power (dev->calib_reg, motor); - -- /* if needed, go back before doin next scan, by using rewind, registers and -- * slopes table are kept intact from previous scan */ -- if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->rewind) -+ if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK) - { -- status = dev->model->cmd_set->rewind (dev); -+ status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE); - } - - status = diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch deleted file mode 100644 index 2605ea83578d..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-network.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c -index a57d7c7..d0a1e92 100644 ---- a/sanei/sanei_tcp.c -+++ b/sanei/sanei_tcp.c -@@ -45,6 +45,7 @@ - #include <unistd.h> - #include <stdlib.h> - #include <string.h> -+#include <time.h> - - #ifdef HAVE_WINSOCK2_H - #include <winsock2.h> -@@ -123,14 +124,27 @@ sanei_tcp_write(int fd, const u_char * buf, int count) - ssize_t - sanei_tcp_read(int fd, u_char * buf, int count) - { -- ssize_t bytes_recv = 0, rc = 1; -+ ssize_t bytes_recv = 0, rc = 1; -+ int retry = 5; - - while (bytes_recv < count && rc > 0) - { - rc = recv(fd, buf+bytes_recv, count-bytes_recv, 0); -+ DBG(1, "%s: bytes received %d\n", __FUNCTION__, rc); - if (rc > 0) - bytes_recv += rc; -- -+ else { -+ if ( errno == EAGAIN && retry-- ) { -+ DBG(1, "%s: waiting %d\n", __FUNCTION__, retry); -+ /* wait for max 1s */ -+ struct timespec req; -+ struct timespec rem; -+ req.tv_sec = 0; -+ req.tv_nsec= 100000000; -+ nanosleep(&req, &rem); -+ rc = 1; -+ } -+ } - } - return bytes_recv; - } diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch deleted file mode 100644 index af3e141a010c..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-revert-samsung.patch +++ /dev/null @@ -1,406 +0,0 @@ -From 9b13d4c18b2424eaed02b72a928e9607921ec265 Mon Sep 17 00:00:00 2001 -From: Bernard Cafarelli <bernard.cafarelli@gmail.com> -Date: Tue, 17 Apr 2018 22:43:15 +0200 -Subject: [PATCH] Revert "Color scanning for Samsung models, which support JPEG - Lossy compression." - -This reverts commit 926bfade544de4a4fd5f1a8082b85a97e2443770, leaving -the new IDs in. -As tracked in #315876, this breaks scanning with multiple Samsung scanners - -Conflicts: - backend/xerox_mfp.c - backend/xerox_mfp.h - doc/descriptions/xerox_mfp.desc ---- - backend/Makefile.am | 2 +- - backend/Makefile.in | 7 +- - backend/xerox_mfp.c | 193 +------------------------------- - backend/xerox_mfp.h | 5 - - doc/descriptions/xerox_mfp.desc | 10 +- - 5 files changed, 14 insertions(+), 203 deletions(-) - -diff --git a/backend/Makefile.am b/backend/Makefile.am -index 18695a4a..3225b133 100644 ---- a/backend/Makefile.am -+++ b/backend/Makefile.am -@@ -1086,7 +1086,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c - libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) --libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -+libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) - EXTRA_DIST += xerox_mfp.conf.in - - libdll_preload_la_SOURCES = dll.c -diff --git a/backend/Makefile.in b/backend/Makefile.in -index d1dca4a2..2643bb77 100644 ---- a/backend/Makefile.in -+++ b/backend/Makefile.in -@@ -1430,10 +1430,9 @@ libsane_v4l_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - libsane_xerox_mfp_la_DEPENDENCIES = $(COMMON_LIBS) libxerox_mfp.la \ - ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \ - ../sanei/sanei_config.lo sane_strstatus.lo \ -- $(am__DEPENDENCIES_1) ../sanei/sanei_usb.lo \ -- ../sanei/sanei_tcp.lo $(am__DEPENDENCIES_1) \ -+ ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -- $(am__DEPENDENCIES_1) -+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) - nodist_libsane_xerox_mfp_la_OBJECTS = \ - libsane_xerox_mfp_la-xerox_mfp-s.lo - libsane_xerox_mfp_la_OBJECTS = $(nodist_libsane_xerox_mfp_la_OBJECTS) -@@ -2754,7 +2753,7 @@ libxerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - nodist_libsane_xerox_mfp_la_SOURCES = xerox_mfp-s.c - libsane_xerox_mfp_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=xerox_mfp - libsane_xerox_mfp_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS) --libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) -+libsane_xerox_mfp_la_LIBADD = $(COMMON_LIBS) libxerox_mfp.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_tcp.lo $(MATH_LIB) $(SOCKET_LIBS) $(USB_LIBS) $(RESMGR_LIBS) - libdll_preload_la_SOURCES = dll.c - libdll_preload_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll -DENABLE_PRELOAD - libdll_la_SOURCES = dll.c -diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c -index 8b8c8956..d37a6237 100644 ---- a/backend/xerox_mfp.c -+++ b/backend/xerox_mfp.c -@@ -33,9 +33,6 @@ - #include "../include/sane/sanei_usb.h" - #include "../include/sane/sanei_config.h" - #include "../include/sane/sanei_backend.h" --#ifdef HAVE_LIBJPEG --#include <jpeglib.h> --#endif - #include "xerox_mfp.h" - - #define BACKEND_BUILD 13 -@@ -93,128 +90,6 @@ static char *str_cmd(int cmd) - } - - #define MAX_DUMP 70 --const char *encTmpFileName = "/tmp/stmp_enc.tmp"; -- --static int decompress(struct device __sane_unused__ *dev, -- const char __sane_unused__ *infilename) --{ --#ifdef HAVE_LIBJPEG -- int rc; -- int row_stride, width, height, pixel_size; -- struct jpeg_decompress_struct cinfo; -- struct jpeg_error_mgr jerr; -- unsigned long bmp_size = 0; -- FILE *pInfile = NULL; -- JSAMPARRAY buffer; -- -- if ((pInfile = fopen(infilename, "rb")) == NULL) { -- fprintf(stderr, "can't open %s\n", infilename); -- return -1; -- } -- -- cinfo.err = jpeg_std_error(&jerr); -- -- jpeg_create_decompress(&cinfo); -- -- jpeg_stdio_src(&cinfo, pInfile); -- -- rc = jpeg_read_header(&cinfo, TRUE); -- if (rc != 1) { -- jpeg_destroy_decompress(&cinfo); -- fclose(pInfile); -- return -1; -- } -- -- jpeg_start_decompress(&cinfo); -- -- width = cinfo.output_width; -- height = cinfo.output_height; -- pixel_size = cinfo.output_components; -- bmp_size = width * height * pixel_size; -- dev->decDataSize = bmp_size; -- -- row_stride = width * pixel_size; -- -- buffer = (*cinfo.mem->alloc_sarray) -- ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1); -- -- while (cinfo.output_scanline < cinfo.output_height) { -- buffer[0] = dev->decData + \ -- (cinfo.output_scanline) * row_stride; -- jpeg_read_scanlines(&cinfo, buffer, 1); -- } -- jpeg_finish_decompress(&cinfo); -- jpeg_destroy_decompress(&cinfo); -- fclose(pInfile); -- return 0; --#else -- return -1; --#endif --} -- --static int copy_decompress_data(struct device *dev, unsigned char *pDest, int maxlen, int *destLen) --{ -- int data_size = 0; -- size_t result = 0, retVal = 0; -- -- -- if (0 == dev->decDataSize) { -- *destLen = 0; -- return retVal; -- } -- data_size = dev->decDataSize - dev->currentDecDataIndex; -- if (data_size > maxlen) { -- data_size = maxlen; -- } -- memcpy(pDest, dev->decData+dev->currentDecDataIndex, data_size); -- result = data_size; -- *destLen = result; -- dev->currentDecDataIndex += result; -- retVal = result; -- -- if (dev->decDataSize == dev->currentDecDataIndex) { -- dev->currentDecDataIndex = 0; -- dev->decDataSize = 0; -- } -- -- return retVal; --} -- --static int decompress_tempfile(struct device *dev) --{ -- decompress(dev, encTmpFileName); -- remove(encTmpFileName); -- return 0; --} -- --static int dump_to_tmp_file(struct device *dev) --{ -- unsigned char *pSrc = dev->data; -- int srcLen = dev->datalen; -- FILE *pInfile; -- if ((pInfile = fopen(encTmpFileName, "a")) == NULL) { -- fprintf(stderr, "can't open %s\n", encTmpFileName); -- return 0; -- } -- -- fwrite(pSrc, 1, srcLen, pInfile); -- fclose(pInfile); -- return srcLen; --} -- --static int isSupportedDevice(struct device __sane_unused__ *dev) --{ --#ifdef HAVE_LIBJPEG -- /* Checking device which supports JPEG Lossy compression for color scanning*/ -- if (dev->compressionTypes & (1 << 6)) -- return 1; -- else -- return 0; --#else -- return 0; --#endif --} -- - static void dbg_dump(struct device *dev) - { - int i; -@@ -639,11 +514,9 @@ static void set_parameters(struct device *dev) - dev->para.pixels_per_line = dev->win_width / px_to_len; - dev->para.bytes_per_line = dev->para.pixels_per_line; - -- if (!isSupportedDevice(dev)) { - #if BETTER_BASEDPI -- px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; -+ px_to_len = 1213.9 / dev->val[OPT_RESOLUTION].w; - #endif -- } - dev->para.lines = dev->win_len / px_to_len; - if (dev->composition == MODE_LINEART || - dev->composition == MODE_HALFTONE) { -@@ -765,13 +638,6 @@ static int dev_set_window(struct device *dev) - cmd[0x11] = (SANE_Byte)floor(dev->win_off_y); - cmd[0x12] = (SANE_Byte)((dev->win_off_y - floor(dev->win_off_y)) * 100); - cmd[0x13] = dev->composition; -- /* Set to JPEG Lossy Compression, if mode is color (only for supported model)... -- * else go with Uncompressed (For backard compatibility with old models )*/ -- if (dev->composition == MODE_RGB24) { -- if (isSupportedDevice(dev)) { -- cmd[0x14] = 0x6; -- } -- } - cmd[0x16] = dev->threshold; - cmd[0x17] = dev->doc_source; - -@@ -843,7 +709,6 @@ dev_inquiry(struct device *dev) - dev->res[0x3e] << 8 | - dev->res[0x3f]; - dev->line_order = dev->res[0x31]; -- dev->compressionTypes = dev->res[0x32]; - dev->doc_loaded = (dev->res[0x35] == 0x02) && - (dev->res[0x26] & 0x03); - -@@ -942,10 +807,6 @@ dev_free(struct device *dev) - free(UNCONST(dev->sane.type)); - if (dev->data) - free(dev->data); -- if (dev->decData) { -- free(dev->decData); -- dev->decData = NULL; -- } - memset(dev, 0, sizeof(*dev)); - free(dev); - } -@@ -1283,19 +1144,6 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - /* if there is no data to read or output from buffer */ - if (!dev->blocklen && dev->datalen <= PADDING_SIZE) { - -- /* copying uncompressed data */ -- if (dev->composition == MODE_RGB24 && -- isSupportedDevice(dev) && -- dev->decDataSize > 0) { -- int diff = dev->total_img_size - dev->total_out_size; -- int bufLen = (diff < maxlen) ? diff : maxlen; -- if (0 < diff && -- 0 < copy_decompress_data(dev, buf, bufLen, lenp)) { -- dev->total_out_size += *lenp; -- return SANE_STATUS_GOOD; -- } -- } -- - /* and we don't need to acquire next block */ - if (dev->final_block) { - int slack = dev->total_img_size - dev->total_out_size; -@@ -1311,10 +1159,7 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - /* this will never happen */ - DBG(1, "image overflow %d bytes\n", dev->total_img_size - dev->total_out_size); - } -- if (isSupportedDevice(dev) && -- dev->composition == MODE_RGB24) { -- remove(encTmpFileName); -- } -+ - /* that's all */ - dev_stop(dev); - return SANE_STATUS_EOF; -@@ -1365,18 +1210,9 @@ sane_read(SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp) - - if (buf && lenp) { /* read mode */ - /* copy will do minimal of valid data */ -- if (dev->para.format == SANE_FRAME_RGB && dev->line_order) { -- if (isSupportedDevice(dev)) { -- clrlen = dump_to_tmp_file(dev); -- /* decompress after reading entire block data*/ -- if (0 == dev->blocklen) { -- decompress_tempfile(dev); -- } -- copy_decompress_data(dev, buf, maxlen, &olen); -- } else { -- clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); -- } -- } else -+ if (dev->para.format == SANE_FRAME_RGB && dev->line_order) -+ clrlen = copy_mix_bands_trim(dev, buf, maxlen, &olen); -+ else - clrlen = copy_plain_trim(dev, buf, maxlen, &olen); - - dev->datalen -= clrlen; -@@ -1455,9 +1291,6 @@ sane_start(SANE_Handle h) - if (!dev->data && !(dev->data = malloc(DATASIZE))) - return ret_cancel(dev, SANE_STATUS_NO_MEM); - -- if (!dev->decData && !(dev->decData = malloc(POST_DATASIZE))) -- return ret_cancel(dev, SANE_STATUS_NO_MEM); -- - if (!dev_acquire(dev)) - return dev->state; - -@@ -1479,22 +1312,6 @@ sane_start(SANE_Handle h) - - dev->total_img_size = dev->para.bytes_per_line * dev->para.lines; - -- if (isSupportedDevice(dev) && -- dev->composition == MODE_RGB24) { -- int fd; -- remove(encTmpFileName); -- -- /* Precreate temporary file in exclusive mode. */ -- fd = open(encTmpFileName, O_CREAT|O_EXCL, 0600); -- if (fd == -1) { -- DBG(3, "%s: %p, can't create temporary file %s: %s\n", __func__, -- (void *)dev, encTmpFileName, strerror(errno)); -- return ret_cancel(dev, SANE_STATUS_ACCESS_DENIED); -- } -- close(fd); -- } -- dev->currentDecDataIndex = 0; -- - return SANE_STATUS_GOOD; - } - -diff --git a/backend/xerox_mfp.h b/backend/xerox_mfp.h -index 3d93f06d..ea89dda2 100644 ---- a/backend/xerox_mfp.h -+++ b/backend/xerox_mfp.h -@@ -74,10 +74,6 @@ struct device { - #define DATATAIL(dev) ((dev->dataoff + dev->datalen) & DATAMASK) - #define DATAROOM(dev) dataroom(dev) - --#define POST_DATASIZE 0xFFFFFF -- SANE_Byte *decData; -- int decDataSize; -- int currentDecDataIndex; - /* data from CMD_INQUIRY: */ - int resolutions; /* supported resolution bitmask */ - int compositions; /* supported image compositions bitmask */ -@@ -102,7 +98,6 @@ struct device { - int composition; /* MODE_ */ - int doc_source; /* document source */ - int threshold; /* brightness */ -- int compressionTypes; - - /* CMD_READ data. It is per block only, image could be in many blocks */ - int blocklen; /* image data block len (padding incl.) */ -diff --git a/doc/descriptions/xerox_mfp.desc b/doc/descriptions/xerox_mfp.desc -index d21a6be6..67253b38 100644 ---- a/doc/descriptions/xerox_mfp.desc -+++ b/doc/descriptions/xerox_mfp.desc -@@ -320,7 +320,7 @@ - - :model "SCX-3405W" - :interface "Ethernet" --:status :good -+:status :basic - - :model "SCX-3400" - :interface "USB" -@@ -335,17 +335,17 @@ - :model "SCX-4729FD" - :interface "USB" - :usbid "0x04e8" "0x3453" --:status :good -+:status :basic - - :model "CLX-6260" - :interface "USB" - :usbid "0x04e8" "0x3455" --:status :good -+:status :minimal - - :model "CLX-3300 Series" - :interface "USB" - :usbid "0x04e8" "0x3456" --:status :good -+:status :basic - - :model "SCX-470x" - :interface "USB" -@@ -355,7 +355,7 @@ - :model "CLX-4190" - :interface "USB" - :usbid "0x04e8" "0x345a" --:status :good -+:status :minimal - - :model "SCX-4650 4x21S Series" - :interface "USB" --- -2.17.0 - diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch b/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch deleted file mode 100644 index 0311975c0ce8..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.0.27-uninitialized-variable.patch +++ /dev/null @@ -1,25 +0,0 @@ -From dd61ef1cc84299781e382b9258d97102cee192b4 Mon Sep 17 00:00:00 2001 -From: Olaf Meeuwissen <paddy-hack@member.fsf.org> -Date: Thu, 3 Aug 2017 18:50:05 +0900 -Subject: [PATCH] genesys: Fix use of uninitialized variable - -See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869673 ---- - backend/genesys.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/backend/genesys.c b/backend/genesys.c -index 1c1bbf4..0b644c4 100644 ---- a/backend/genesys.c -+++ b/backend/genesys.c -@@ -6237,6 +6237,7 @@ attach (SANE_String_Const devname, Genesys_Device ** devp, SANE_Bool may_wait) - dev->model = genesys_usb_device_list[i].model; - dev->vendorId = genesys_usb_device_list[i].vendor; - dev->productId = genesys_usb_device_list[i].product; -+ dev->usb_mode = 0; /* i.e. unset */ - dev->already_initialized = SANE_FALSE; - - DBG (DBG_info, "attach: found %s flatbed scanner %s at %s\n", --- -2.1.4 - |