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
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