Fix a few bugs with "all" and "uninstall" targets to work when
$(builddir) != $(srcdir). Added $(DESTDIR) to uninstall target.
Made $(distdir) related to current directory to match automake.
When sending out a SANE_NET_CONTROL_OPTION RPC for the SANE_ACTION_GET_VALUE
action (and SANE_ACTION_SET_AUTO for the network protocol versions < 3), the
backend was not clearing the memory area for the value argument before
sending it over the network, resulting in an information leak for the
SANE_ACTION_GET_VALUE case.
is now mentioned in both compile & link stages to tell 'libtool' that static
library is being built (static libraries are disabled by default when
configure produces libtool from ltmain.sh).
asynchronous SG3 read/write interface.
Makes it possible to use SCSI scanners in 32/64bit mixed environments,
thanks to the ioctl 32bit compatibility layer, which is NOT possible
using the SG3 interface.
in multiple files, added networking
support, added FS G extended handshaking mode,
make proper use of extended commands when possible
* sanei/sanei_tcp.c: read now wait until all
the requested data is available.
Add --with-lockdir to configure for set path to lock dir
Set PATH_SANE_LOCK_DIR really to lock dir (instead localstatedir)
Updated german translation file.
backends correctly even if only included files (e.g. headers) are
changed. Don't be too verbose when running makedepend.
Create links libsane-*.so.1 to the real library files if the
links are not there. This fixes dynamic loading on OpenBSD. The
links are not created for MacOS X as they don't work there.
Remove any libsane.* links in /usr/local/lib/sane. Such links
are created by libtool. As they point to libsane-v4l.so,
scanimage -L doesn't find any scanner in case of ld.so
misconfigurations.
The install target is much quiter now and prints the libtool
message only once now.
patches have been applied yet, but it's a start. The backends
are not installed as shared libs but as add-ons, which are shared libs
but in a specific folder in [/system|~]/config/add-ons/ named SANE/.
The install target has been changed to account for this,
Some files don't exist in BeOS/ZETA (ipc.h, ...).
Bbackend function names get a prefix, I suppose to avoid namespace clashes.
Though we do have a libdl to implement dl_open, the native way is prefered.
Added a --with-docdir= configure arg.
BeOS has a broken get[name|addr]info() from bind. This is fixed in ZETA R1.
libtool needs -no-undefined. Various VPATH fixes.
Check for <be/drivers/USB_scanner.h>, but not used yet.
No S_IFSOCK (sockets are fds to /dev/net/api). Stub pio code, untested.
Patch from Francois Revol <revol@free.fr>.
-Detects endpoints for different configurations, interface and
altsetting numbers > 0
- Routine added for changing configuration, interface or altsetting
number
sanei_usb_set_configuration
sanei_usb_claim_interface
sanei_usb_release_interface
sanei_usb_set_altinterface
* backend/mustek_pp.c, backend/mustek_pp.conf, sanei/sanei_pa4s2.c,
include/sane/sanei_pa4s2.h, doc/sane-mustek_pp.man: added global
option "no_epp" to work around a known bug in the linux parport
code.
* sanei/sanei_usb.c configure.in: use usb_interrupt_read instead of
usb_bulk_read for sanei_usb_read_int. Fixes bug #300878. Added a missing DBG output in sanei_usb_read_int. Check for
usb_interrupt_read to make sure, we have at least version 0.1.8.
* backend/mustek_pp.c, sanei/sanei_pa4s2.c: added support for auto
probing of the port
* configure{.in}, backend/mustek_pp_ccd.*, backend/Makefile.in,
backend/dll.conf, doc/sane-mustek_pp_ccd.man, doc/sane.man,
doc/Makefile.in, doc/descriptions/mustek_pp_ccd.desc: mustek_pp_ccd
backend removed
* backend/mustek_pp.conf, mustek_pp_ccd300.[ch],
doc/sane-mustek_pp.man, doc/descriptions/mustek_pp.desc: fixed CCD
support for mustek_pp backend
* backend/mustek_pp_null.c: beautified debug scanner name
added functions sanei_thread_sendsig() and sanei_thread_get_status()
changed behaviour of sanei_thread_waitpid(), changed parameters
of sanei_thread_begin()
pthread support after all the tests. If libpthread isn't available, try if libc
supports pthreead_*. Use macro USE_PTHREAD to check if threads are used in the
code.
pthread support, added switch --enable-fork-process which toggles
between the usage of fork and pthread, set the default behaviour to
pthread usage on Darwin
* include/sane/config.h: added the HAVE_LIBPTHRAD stuff
* sanei/sanei_thread.c include/sane/sanei_thread.h: fixed compilation issue
on OS/2, added support for fork too, so that we can use sanei_thread
functions in any case.
* backend/plustek.[ch]: changes due to the sanei_thread-lib work
added linker option -lpthread if pthread.h is found
* include/sane/config.in.h: added HAVE_PTHREAD_H
* sanei/sanei_thread.c include/sane/sanei_thread.h: added pthread_
functions to library, so every backend is able to use either fork or
pthread for its reader-process - see plustek backend for example
* backend/plustek.h backend/plustek.c: added sanei_thread stuff to support
threading on MacOS X
* backend/plustek_pp*: some cleanup
* include/sane/sanei_pa4s2.h, sanei/sanei_pa4s2.c: New sanei_pa4s2
version supporting both raw IO and libieee1284. If you don't
have libieee1284 installed, you need to enable raw IO when
running configure
/** Initiate a interrupt transfer read.
*
* Read up to size bytes from the interrupt endpoint from the device to
* buffer. After the read, size contains the number of bytes actually read.
*
* @param dn device number
* @param buffer buffer to store read data in
* @param size size of the data
*
* @return
* - SANE_STATUS_GOOD - on succes
* - SANE_STATUS_EOF - if zero bytes have been read
* - SANE_STATUS_IO_ERROR - if an error occured during the read
* - SANE_STATUS_INVAL - on every other error
*
*/
instead of allocating on stack to avoid crossing 64k borders due to
restrictions of 16-bit device-driver. Cosmetic changes and some casts to
reduce compiler-warnings. Patch from Franz Bakan <fbakan@gmx.net>.
(Linux). Without this fix, especially long running commands and command
queuing would cause memory corruption if the buffer was invalid after the
flush command.
* sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with
the Intel C++ Compiler (icc). The icc cannot expand assembler
inline macros (at least not with -ip)
* sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with
the Intel C++ Compiler (icc). The icc cannot expand assembler
inline macros (at least not with -ip)
sanei_usb_find_devices is called. Also only devices that really exist are
opened. These changes fixe the slow detection of devices on systems using
devfs or old scanner drivers.
interface number from bInterfaceNumber. Explicitely set the alternative
setting. When closing, call clear_halt, and reset_ep, and release_interface
explicitley. On errors in write/read, call clear_halt.
usb_find_busses only once. Make sure that already opened devices aren't opened
again. Exit libusb scan loop if one device is found. Make error values more
expressive. Check for missing config descriptors before using them to avoid
segfaults.
Henning Meier-Geinitz <henning@meier-geinitz.de>
converter used in many scanners (patch from from Marcio Luis Teixeira
<marciot@holly.colostate.edu>). Fixed sanei_thread Makefile.in entry.
Henning Meier-Geinitz <henning@meier-geinitz.de>
and --enable-parport-directio.
NOTE: While I know, what the SCSI direct IO means, I have no idea, what
direct IO means in the context of the parport, so somebody needs to add
some useful description about parport direct io to configure.in and to
README (or README.linux)
sanei_scsi.c. Now causes a compiler error, because some macros defined there
are used for the old SG interace too.
Thanks to Henning for discovering the bug
Abel
device strings (vendor, product) consisting of spaces.
sanei_scsi_req_enter2 was changed to copy the CDB and data before
sending it to the device. Both patches are from Abel Deuring.
Henning Meier-Geinitz <henning@meier-geinitz.de>
* sanei/sanei-scsi.c: Corrected bug in sanei_scsi_cmd2 for IRIX:
- scsi_req.ds_senselen has been set to sizeof pointer, is set
to 128 bytes now (1024 bytes does not work)
- sensebuf is cleared before scsi command is executed
- sensehandle always called when it exists and an error occurs
* sanei/sanei_scsi.c:
applied patch by Douglas Gilbert <dgilbert@interlog.com>
that solves compilation problem about:
storage size of `ssid' isn't known
* Problem with SOLARIS_INTERFACE (change from 2001-05-27)
had an other reason than the scsi buffer size (MAX_DATA).
Changed scsi buffer size for solaris sg driver
(USE == SOLARIS_INTERFACE in sanei_scsi.c) again from 32 KB
to 128KB.
* changed scsi buffer size for solaris sg driver
(USE == SOLARIS_INTERFACE in sanei_scsi.c) to 32 KB
again because it does not work for at least one system
with 64KB.
* sanei/sanei_scsi.c: changed scsi buffer size (MAX_DATA)
to 128KB for: SOLARIS_INTERFACE, SOLARIS_SG_INTERFACE,
SOLARIS_USCSI_INTERFACE and IRIX_INTERFACE
(some scanners have problems with the predefined 32KB
buffer size, these systems should work with 128KB
but we need to test if no problems do occur).
* applied a patch by Douglas Gilbert to sanei_scsi.c
it solves the Problem that the scanner is not
found on linux systems when the order of the
scsi devices is not coverd by the order of
devices listed by /proc/scsi/scsi, it prefers
new kernel 2.4 methods when available
* NEWS: Added date of release.
* TODO: Removed entries about PATH_MAX, sanei_scsi_find_devices, and
shm.h. Added entry about the necessity to check HAVE_SYS_SHM_H.
* configure configure.in include/sane/config.h.in: Default to
--enable-warnings again. Don't set "-ansi" for OS/2. Test for
sys/shm.h.
* backend/GUIDE: Moved to doc/backend-writing.txt.
* doc/backend-writing.txt: New file (moved from backend/GUIDE).
Added comments about sanei-backend.h and PATH_MAX.
* include/sane/sanei_backend.h: Added define for PATH_MAX (if
necessary).
* sanei/sanei_scsi.c: Implemented sanei_scsi_find_devices for FreeBSD
(from ports@FreeBSD.org).
* tools/Makefile.in: Use INSTALL_SCRIPT instead of INSTALL_PROGRAM for
sane-config (from ports@FreeBSD.org).
* configure configure.in: Added test for /dev/urandom and
index() in string.h or strings.h
* backend/net.c: Fixed SANE_NET_AUTHORIZE call handling
* doc/net.tex: Clarified definition of SANE_NET_AUTHORIZE, added
definition of MD5 authorization
* doc/sane.tex: Upgraded to version 1.0.2, changed definition of
SANE_MAX_USERNAME_LEN & SANE_MAX_PASSWORD_LEN to 128 chars
* doc/saned.man: added description of SANE_CONFIG_DIR/saned.users
* doc/scanimage.man: added description of ~/.sane/pass and
--accept-md5-only
* frontend/saned.c: implemented user authorization on a per backend
basis
* frontend/scanimage.c: fixed bug (option -b wasn't present)
implemented auth_callback
* include/sane/sane.h: changed definition of SANE_MAX_USERNAME_LEN &
SANE_MAX_PASSWORD_LEN to 128 chars
* lib/Makefile.in sanei/Makefile.in: updated Makefiles
* sanei/sanei_constrain_value.c: If constraint_type is
SANE_CONSTRAINT_RANGE and quantization is used, the results may
be outside the limits of the range because quantization uses the
orginal value. Fixed by doing quantization with the already
checked value.
if checked option is a range and the value is out of
range the value is now corrected to the minimum or maximum
allowed value and SANE_INFO_INEXACT is set.
The old version returned with an error. This caused problems
when the value was a little bit out of range because of rounding
errors.
Oliver Rauch
* TODO: Included TODO file for 1.0.4.
* sanei/sanei_ab306.c: Removed some comiler warnings.
* doc/sane.tex: Set \date to the date of the last change (not
the date of running latex (\today))
* frontend/xscanimage.c: Fixed image size overrun (>ca. 400 MB).
Removed some compiler warnings.