[sane-devel] saned and xinetd

m. allan noah kitno455 at gmail.com
Sun Feb 8 14:37:16 UTC 2009


Two different users. Try to su to the saned user, and run the daemon
in debug mode there. If it does not work, then saned user does not
have perms to access the device.

allan

On Sun, Feb 8, 2009 at 9:25 AM, Fred. Oger <fred.oger at gmail.com> wrote:
>
> Hi all,
>
> I'm trying to set up a shared scanner using saned to use it through my
> private network. While it works like a charm when started in debug mode
> (-d), I can't find my scanner (an HP PSC 1510) when stated through (x)inetd
>
> Here's my setup:
>
> The server (called server) has the scanner
> The client (called frog) tries to connect
>
> Server setup:
>
> /etc/xinet.d/saned
>  # default: off
>              # description: The sane server accepts requests
>              # for network access to a local scanner via the
>              # network.
>              service sane
>              {
>                 port        = 6566
>                 socket_type = stream
>                 protocol    = tcp
>                 wait        = no
>                 user        = saned
>                 group       = saned
>                 server      = /usr/sbin/saned
>              }
>
> /etc/services:
> root at server:~# grep 6566 /etc/services
> sane-port       6566/tcp        sane saned      # SANE network scanner daemon
>
> /etc/sane.d/net.conf (for testing):
> # This is the net config file.  Each line names a host to attach to.
> # If you list "localhost" then your backends can be accessed either
> # directly or through the net backend.  Going through the net backend
> # may be necessary to access devices that need special privileges.
> localhost
>
> /etc/sane.d/saned.conf :
> #
> # saned.conf
> #
> # The contents of the saned.conf  file  is  a  list  of  host  names,  IP
> # addresses or IP subnets (CIDR notation) that are permitted to use local
> # SANE devices. IPv6 addresses must be enclosed in brackets,  and  should
> # always  be specified in their compressed form.
> #
> # The hostname matching is not case-sensitive.
> #
> 192.168.2.0/24
>
> Client side :
> fred at frog:~$ more /etc/sane.d/net.conf
> # This is the net backend config file.
>
> ## net backend options
> # Timeout for the initial connection to saned. This will prevent the backend
> # from blocking for several minutes trying to connect to an unresponsive
> # saned host (network outage, host down, ...). Value in seconds.
> connect_timeout = 60
>
> ## saned hosts
> # Each line names a host to attach to.
> # If you list "localhost" then your backends can be accessed either
> # directly or through the net backend.  Going through the net backend
> # may be necessary to access devices that need special privileges.
> # localhost
> server
>
> When I try to run scanimage when in debug mode
>
> Server side:
>
> root at server:~# /usr/sbin/saned -d255
> [saned] main: starting debug mode (level 255)
> [saned] main: trying to get port for service `sane-port' (getaddrinfo)
> [saned] main: [0] socket () using IPv4
> [saned] main: [0] setsockopt ()
> [saned] main: [0] bind () to port 6566
> [saned] main: [0] listen ()
> [saned] main: [1] socket () using IPv6
> [saned] main: [1] socket failed: Address family not supported by protocol
> [saned] main: waiting for control connection
> [saned] saned (AF-indep+IPv6) from sane-backends 1.0.18-cvs ready
> [saned] check_host: access by remote host: 192.168.2.2
> [saned] check_host: remote host is not IN_LOOPBACK nor IN6_LOOPBACK
> [saned] check_host: local hostname: server
> [saned] check_host: local hostname(s) (from DNS): server
> [saned] check_host: local hostname(s) (from DNS): (null)
> [saned] check_host: local hostname(s) (from DNS): (null)
> [saned] check_host: remote host doesn't have same addr as local
> [saned] check_host: opening config file: /etc/hosts.equiv
> [saned] check_host: can't open config file: /etc/hosts.equiv (No such
> file or directory)
> [saned] check_host: opening config file: saned.conf
> [saned] check_host: config file line: `#'
> [saned] check_host: config file line: `# saned.conf'
> [saned] check_host: config file line: `#'
> [saned] check_host: config file line: `# The contents of the saned.conf
>  file  is  a  list  of  host  names,  IP'
> [saned] check_host: config file line: `# addresses or IP subnets (CIDR
> notation) that are permitted to use local'
> [saned] check_host: config file line: `# SANE devices. IPv6 addresses
> must be enclosed in brackets,  and  should'
> [saned] check_host: config file line: `# always  be specified in their
> compressed form.'
> [saned] check_host: config file line: `#'
> [saned] check_host: config file line: `# The hostname matching is not
> case-sensitive.'
> [saned] check_host: config file line: `#'
> [saned] check_host: config file line: `192.168.2.0/24'
> [saned] check_host: subnet with base IP = 192.168.2.0, CIDR netmask = 24
> [saned] check_host: access granted from IP address 192.168.2.2 (in
> subnet 192.168.2.0/24)
> [saned] init: access granted
> [saned] init: access granted to fred at 192.168.2.2
> [saned] process_request: waiting for request
> [saned] process_request: got request 1
> [saned] process_request: waiting for request
> [saned] process_request: got request 10
> [saned] quit: exiting
>
> Client Side:
> fred at frog:~$ scanimage -L
> device `v4l:/dev/video0' is a Noname USB 2.0 Camera virtual device
> device `net:server:hpaio:/usb/PSC_1500_series?serial=MY586D92QD0498' is
> a Hewlett-Packard PSC_1500_series all-in-one
> fred at frog:~$ SANE_DEBUG_NET=255 scanimage -L
> [sanei_debug] Setting debug level of net to 255.
> [net] sane_init: authorize = 0x804d520, version_code = 0xbfb74728
> [net] sane_init: SANE net backend version 1.0.14 (AF-indep+IPv6) from
> sane-backends 1.0.19
> [net] sane_init: Client has little endian byte order
> [net] sane_init: searching for config file
> [net] sane_init: connect timeout set to 60 seconds
> [net] sane_init: trying to add server
> [net] add_device: adding backend server
> [net] add_device: backend server added
> [net] sane_init: done reading config
> [net] sane_init: evaluating environment variable SANE_NET_HOSTS
> [net] sane_init: evaluating environment variable SANE_NET_TIMEOUT
> [net] sane_init: done
> [net] sane_get_devices: local_only = 0
> [net] connect_dev: trying to connect to server
> [net] connect_dev: [0] connection succeeded (IPv4)
> [net] connect_dev: sanei_w_init
> [net] connect_dev: net_init (user=fred, local version=1.0.3)
> [net] connect_dev: freeing init reply (status=Success, remote version=1.0.3)
> [net] connect_dev: done
> [net] sane_get_devices: got
> server:hpaio:/usb/PSC_1500_series?serial=MY586D92QD0498
> [net] sane_get_devices: finished (1 devices)
> device `v4l:/dev/video0' is a Noname USB 2.0 Camera virtual device
> device `net:server:hpaio:/usb/PSC_1500_series?serial=MY586D92QD0498' is
> a Hewlett-Packard PSC_1500_series all-in-one
> [net] sane_exit: exiting
> [net] sane_exit: closing dev 0x8093928, ctl=3
> [net] sane_exit: finished.
>
> While when run through xinetd
>
> fred at frog:~$ SANE_DEBUG_NET=255 scanimage -L
> [sanei_debug] Setting debug level of net to 255.
> [net] sane_init: authorize = 0x804d520, version_code = 0xbf8373f8
> [net] sane_init: SANE net backend version 1.0.14 (AF-indep+IPv6) from
> sane-backends 1.0.19
> [net] sane_init: Client has little endian byte order
> [net] sane_init: searching for config file
> [net] sane_init: connect timeout set to 60 seconds
> [net] sane_init: trying to add server
> [net] add_device: adding backend server
> [net] add_device: backend server added
> [net] sane_init: done reading config
> [net] sane_init: evaluating environment variable SANE_NET_HOSTS
> [net] sane_init: evaluating environment variable SANE_NET_TIMEOUT
> [net] sane_init: done
> [net] sane_get_devices: local_only = 0
> [net] connect_dev: trying to connect to server
> [net] connect_dev: [0] connection succeeded (IPv4)
> [net] connect_dev: sanei_w_init
> [net] connect_dev: net_init (user=fred, local version=1.0.3)
> [net] connect_dev: freeing init reply (status=Success, remote version=1.0.3)
> [net] connect_dev: done
> [net] sane_get_devices: finished (0 devices)
> device `v4l:/dev/video0' is a Noname USB 2.0 Camera virtual device
> [net] sane_exit: exiting
> [net] sane_exit: closing dev 0x8093928, ctl=3
> [net] sane_exit: finished.
>
>
> We only see the local camera but not the HP scanner. The only traces
> found in the /var/adm/syslog on the server is :
>
> Feb  8 15:23:10 server xinetd[5860]: xinetd Version 2.3.14 started with
> libwrap loadavg options compiled in.
> Feb  8 15:23:10 server xinetd[5860]: Started working: 1 available ervice
> Feb  8 15:23:20 server saned[5861]: saned (AF-indep+IPv6) from
> sane-backends 1.0.18-cvs ready
> Feb  8 15:23:20 server saned[5861]: check_host: access by remote host:
> 192.168.2.2
> Feb  8 15:23:20 server saned[5861]: init: access granted to
> fred at 192.168.2.2
> Feb  8 15:23:21 server saned[5861]: quit: exiting
>
> Any idea ?
>
> Best regards,
>
> Fred. Oger
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request at lists.alioth.debian.org
>



-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list