Wykres commitów

58 Commity (18ce7b4e0f00962c85f9c7f3c0956292a75ba9f5)

Autor SHA1 Wiadomość Data
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
Julien BLACHE 9695362397 * frontend/saned.c: added subnet support to saned ; added
check_v4_in_range and check_v6_in_range functions.
* backend/saned.conf: updated the config file.
* doc/saned.man: updated the manpage for saned.
2003-10-19 10:36:28 +00:00
Henning Geinitz 64ea3dfc5f Check if ss_family or __ss_family is in struct sockaddr_storage. Otherwise
diasbale ipv6. Patch from Julien BLACHE <jb@jblache.org>.
2003-06-04 19:49:48 +00:00
Henning Geinitz 562c9192ec Use u_int_* instead of uint_*. That fixes compilation for MacOS X (hopefully). 2003-05-26 23:34:07 +00:00
Henning Geinitz d3322e4519 Replaces a strncmp() call by a macro detecting V4-mapped address. This is a
lot safer than the strncmp, and doesn't break anything. Patch from Julien
BLACHE <jb@jblache.org>.
2003-05-12 16:40:05 +00:00
Henning Geinitz 0fc0f3f253 Added implementation of poll() for systems that don't provide it (patch from
Julien BLACHE <jb@jblache.org>).
2003-05-04 12:58:22 +00:00
Henning Geinitz f642328f0f Try to get the correct port number when /etc/services doesn't list "sane" by
asking for "6566". Check result of socket(). Print ip faimily and port.
2003-05-03 20:43:04 +00:00
Henning Geinitz e93322e28d Test for poll() and disable IPV6 if not found. 2003-05-02 09:41:12 +00:00
Henning Geinitz 749ceed2e6 Added a switch to disable libusb. Removed switch to enable ipv6
uncondinionally.  Check for sys/poll.h.
2003-04-02 16:21:07 +00:00
Henning Geinitz 966e3536da Include poll.h only if new saned code is used. Fixes compilation on
OS/2. Patch from Julien BLACHE <jb@jblache.org>.
2003-03-31 16:15:10 +00:00
Henning Geinitz 088281c4e1 Added support for IPv6. Updated manpages. Patch from Julien BLACHE
<jb@jblache.org>.
2003-03-30 19:07:18 +00:00
Henning Geinitz e3ceee04be Check the IP address of the remote host before any communication occurs.
Check for a errors before trsuting values that came from remote.  Make sure
that strings are 0-terminated.
2003-02-09 11:23:41 +00:00
Henning Geinitz 54faada982 Fixed severe bug in saned that allowed a remote frontend to crash saned (null
pointer derefence) if no scanners are connected.
2003-01-29 17:41:53 +00:00
Henning Geinitz 8088d3e59b Print version number. 2003-01-04 15:24:13 +00:00
Henning Geinitz 4e2aa9185e Use inet_pton() instead of inet_aton() to avoid compilation errors on e.g.
OS/2.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-14 19:36:25 +00:00
Henning Geinitz 2e3dc0b7b2 DNS queries for remote hosts are only done if necessary. It's now possible
to use "+" without hosts/DNS entries for the connecting host.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-12 22:09:01 +00:00
Henning Geinitz bfdbda4505 Check that the IP addresses of the peer are the same for control and
data connections. Exit, if this is not the case. Changed some debug
levels.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-11 21:02:11 +00:00
Henning Geinitz 565aaa0639 Changed access control (function check host). Now IP addresses
are used for comparison, not host names as before. It's possible to
put hostnames, FQDNs and IP addresses into saned.conf.
Limitations: Only the first IP address in struct hostent is checked.
IPv6 is untested. The change is based on a patch by Petter
Reinholdtsen <pere@hungry.com>.
Removed isfdtype to avoid compilation problems. Added more
debug output. Print function name in every DBG statement.
Updated manual pages and saned.conf.
2002-01-06 21:01:05 +00:00
Henning Geinitz 3ce0c90069 Changed debug handling. All debug messages use DBG now. If in inetd mode or dameon mode with "-s",
the messages are printed to syslog as before. If option "-d" is used,
the mesages are printed to stderr. Updated manual page.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-05 12:54:34 +00:00
Henning Geinitz aa8f8dbadd Fixed sigpipe race in connection with select_fd. Added debug output.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-12-30 21:17:56 +00:00
Henning Geinitz eec168cdc1 More debug output. Used DBG instead of fprintf/perror.
Fixed some formatting issues.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-10-12 19:56:08 +00:00
Henning Geinitz 3e72ff5b2f Increase timeout to one hour.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-06-04 17:06:39 +00:00
Oliver Rauch 13857301a9 2001-05-20 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
* removed a bug in saned (patch by Matthias Trute <mtrute@topmail.de>)
          calculation of the reader buffer index was not correct:
             if (reader >= sizeof (buf))
          -    reader = 0;
          +    reader -= sizeof(buf);
2001-05-20 21:00:48 +00:00