Wykres commitów

80 Commity (41c6c1644f3cd8a208be9e381177c9782b901b18)

Autor SHA1 Wiadomość Data
Louis Lagendijk 3276babdec Added optional support in saned for systemd socket activation. This will allow for
using backend debugging using SANE_DEBUG_xxx to be used for saned controlled
scanning when using socket activation. When only the socket is received we
use the existing code path.
2013-01-10 20:59:26 +01:00
Pino Toscano 56e39a9080 Define PATH_MAX if needed 2011-03-04 18:19:06 +01:00
Julien BLACHE f7ee384569 Exit the Avahi process on error and when the poll loop terminates 2010-09-16 18:23:12 +02:00
Julien BLACHE ec295e359a Fix standalone polling loop
Not explicitely checking for POLLIN leads to breakage. Unbreak saned.
2009-12-24 17:22:46 +01:00
Julien BLACHE 161ca93aa5 Explicitely check for errors on fds
Previous code checked for no activity (!POLLIN) and would error out with
2 fds and only one active.
2009-08-09 09:31:12 +02:00
Julien BLACHE d3f1f6fa50 Guard sin6 union member by #ifdef ENABLE_IPV6 2009-06-16 15:11:45 +02:00
Julien BLACHE f06cf4770b Fix strict aliasing issues
Strict aliasing warnings can now lead to broken code with gcc 4.4. Replace
various sockaddr casts by unions.
2009-06-16 15:07:00 +02:00
Julien BLACHE d92a20febb Close network fds in the Avahi process
Network fds are of no use to the Avahi process and can cause the net
backend to hang when saned is run in debug mode.

This only happens if the net backend tries to connect to saned a second
time and manages to establish the connection before saned has completed
its shutdown.

There is some potential for this to also occur when saned is run in
standalone mode but it's far less probable as the window is a lot smaller.
2009-05-06 11:38:16 +02:00
Julien BLACHE f29d2ac068 Explicitly bind IPv6 addresses first. 2009-03-13 17:02:25 +00:00
Ilia Sotnikov 2ddc741dac - Remove unnecessary 'res' variable assignment in check_host()
(AF-indep version)
2009-03-13 11:43:57 +00:00
Julien BLACHE 9cdf75633d Rework Ilia's changes in check_host(). 2009-03-13 08:59:31 +00:00
Ilia Sotnikov 6940d841eb * Allow host checking to proceed if no local name was found 2009-03-12 15:54:00 +00:00
Ilia Sotnikov d32a9420da * Use hstrerror (h_errno) instead of strerror(errno) on gethostbyname()
errors
2009-03-12 12:41:46 +00:00
Julien BLACHE b72c29cd75 Make sure backends can't break the network dialog and crash the remote net
backend by writing to stdin/stdout/stderr.
2009-03-02 11:21:52 +00:00
Chris Bagwell 70f3fdfba4 * acinclude.m4, backend/*.[ch], tools/*.[ch], frontend/*.[ch]:
Global replace of u_int??_t with C9x standard based uintxx_t
 in order to remove some tricky and overlapping portability logic
 from acinclude.m4 and leave it in only m4/stdint.m4.
2009-02-26 03:15:43 +00:00
Julien BLACHE 25818023c6 Fix handling of Avahi server restart. 2009-02-18 13:19:51 +00:00
Chris Bagwell 0330a4d416 * aclocalm4: fix prototype of internal strcasestr and usleep.
* configure.in: Group all USB logic together and all SCSI
logic together to aid understanding of whats no longer
valid.  Allow sharing enable/disable options between all
USB drivers on multiple platforms.  Combined CAM_LIBS and
SCSI_LIBS since they are mutually exclusive.
Skip some USB/SCSI checks when previous tests show it will always fail.
* backend/Makefile.am, tools/Makefile.in: Combine CAM_LIBS and
SCSI_LIBS. Add missing SOCKET_LIBS to epson2.  Add USB_LIB.
* saned.c: Add limits.h for PATH_MAX.
2009-02-02 03:17:32 +00:00
Chris Bagwell 907cbe7ac6 Replace usage of getgrouplist() with
getgrent() and friends.  getgrouplist is not posix and not
on several platforms including cygwin.
2009-01-31 02:18:41 +00:00
Chris Bagwell b52b0c0c14 * backend/epson2.c backend/pixma_bjnp.c, include/sane/sanei_backend.h,
sanei/sanei_tcp.c, sanie/sanei_udp.c: Improve portablity by
  removing usage of MSG_WAITALL since not all platforms support
  that (cygwin).  Default is to be blocking anyways.  Changed
  usage of MSG_NOTWAIT to use fcntl() function as needed as well.
  * configure.in, lib/Makefile.in, lib/strcasestr.c: Add internal
  strcasestr() for platforms missing it (cygwin).
  * pixma_common.c: My source match header prototype for picky
  compilers (cygwin).
  * backend/umax_pp_mid.c: Allow BACKEND_NAME to be filename
  yet debug to be SANE_DEBUG_UMAX_PP to match man page.
2009-01-29 15:10:19 +00:00
Julien BLACHE b9807541c7 Add a data_portrange configuration file option to saned. 2008-12-12 15:51:15 +00:00
Julien BLACHE 3dfc5881ea Fix crasher typo in IPv4-only code. 2008-12-12 15:29:59 +00:00
Julien BLACHE 383947f31d Fix erroneous comment. 2008-12-12 15:29:10 +00:00
Julien BLACHE 9f7441d267 Initialize ngroups to 0, ditto for runas_{u,g}id (instead of -1). 2008-08-05 09:27:39 +00:00
Julien BLACHE 32b343dcea Set supplemental group list in addition to setting euid and egid. Reported by Cameron Hutchison. 2008-07-31 09:42:33 +00:00
Julien BLACHE 125ed414d4 Call setegid() before seteuid(), aka while we're still root. 2008-07-28 10:48:41 +00:00
Julien BLACHE 0ec211ef87 Rework error/exit path in process_request() to properly terminate the Avahi thread in debug mode. 2008-06-24 19:41:44 +00:00
Julien BLACHE 83365608d3 Terminate child processes before exiting in debug mode. 2008-06-22 08:47:59 +00:00
Julien BLACHE dd6537cf0a Fix function name in debug message. 2008-06-22 08:41:51 +00:00
Julien BLACHE fde1551f68 Fix typo. 2008-04-13 14:21:59 +00:00
Julien BLACHE eff4892c1c Restrict protocol for service announcement/browsing/resolution to IPv4
unless IPv6 is enabled.
2008-04-11 17:43:16 +00:00
Julien BLACHE f4ff1b74f6 Add mDNS DNS-SD support to saned and the net backend so they can announce
and discover each other automatically.

Optional at configure time, requires Avahi >= 0.6.4.
2008-04-11 17:18:19 +00:00
Julien BLACHE 90a1c88e0d saned can now drop privileges when running in standalone mode. 2008-04-10 16:55:36 +00:00
Julien BLACHE cbb3833dbe Add a PID file. 2008-04-10 16:39:06 +00:00
Julien BLACHE ce7efefec7 Replace daemon() with an open-coded equivalent. 2008-04-10 16:31:17 +00:00
Julien BLACHE 26ffc6a211 Debug mode: close all sockets once we have accepted a connection. 2008-04-06 17:27:39 +00:00
Julien BLACHE f3756baa4a Close open file descriptors appropriately when spawning child process. 2008-04-06 17:23:36 +00:00
Julien BLACHE 9c6fea1943 Add standalone daemon mode, building upon the AF-indep/IPv6 debug mode.
Reorganize code by splitting the main() function into a series of functions.
Factorize common code between the old network code and the AF-indep code. There's now only one version of main().
2008-04-06 15:21:47 +00:00
Julien BLACHE ef2838234e Improve comment, once again. 2008-04-06 10:18:16 +00:00
Julien BLACHE 2330d122e0 Fix typo in comment. 2008-03-20 21:48:26 +00:00
Julien BLACHE 5ba1b2b917 Fix messages around getservbyname() in the IPv4 code to mention "sane-port" instead of "sane". 2008-03-20 21:47:14 +00:00
Henning Geinitz de2c4fb484 If saned does not find any config file, it calls fclose with a NULL FILE*. The
code may also leak open file descriptors and FILE's if multiple config files are
found. (bug #303339). Fixed possible segfault on close_handle() (bug #303338).
2006-04-09 10:07:18 +00:00
Henning Geinitz 6c3427c52d Changes to support SANE on ZETA. Not all
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>.
2005-07-15 21:59:25 +00:00
Henning Geinitz ee71d11e42 Fixed NULL string crash. 2004-10-16 13:49:16 +00:00
Julien BLACHE 91051e826f * frontend/saned.c: auth_callback(): arrays are passed as pointers, declaring parameters as arrays of fixed size is useless. memset() the correct length, not sizeof(pointer).
Caught while testing splint on the SANE sources, potential information leakage.
2004-09-01 21:03:35 +00:00
Henning Geinitz 7751b3b7eb Changed service name from "sane" to "sane-port". This is the
IANA registered service name for port 6566 (bug #300758).
2004-06-02 18:38:28 +00:00
Henning Geinitz 524d3f3c47 Added checks for bad handles for SANE_NET_CLOSE and SANE_NET_CANCEL. This is
intended to stop saned from segfaulting when a bad handle is used.
2004-03-03 19:13:04 +00:00
Julien BLACHE 725e1c1940 * frontend/saned.c: Use strcasecmp() instead of strcmp() when matching IPv6 addresses. 2003-12-13 16:40:57 +00:00
Julien BLACHE 3d843bab44 * frontend/saned.c: fixed endianness issues in check_v{4,6}_in_range(), also
fixed portability issues to other UNIX platforms due to different representations
of IPv6 addresses.
2003-11-02 13:54:21 +00:00
Julien BLACHE e54e51f586 Forgot one of the two in_addr_t declarations, now replaced the
second one too (s/in_addr_t/u_int32_t/).
2003-10-22 19:44:14 +00:00
Julien BLACHE 97496000ce * frontend/saned.c: replaced in_addr_t mask; by u_int32_t mask; in
check_v4_in_range(). in_addr_t doesn't seem to exist on OS/2, and
it's nothing more than an unsigned 32 bits integer.
2003-10-22 16:58:58 +00:00