SMB browser

Jean-Eric Cuendet (jean-eric.cuendet@linkvest.com)
Sat, 31 Aug 2002 12:30:15 +0200


Hi,
I want to develop a filesystem driver. It will be able to access SMB
shares without mountnig.
I'll do a daemon that use libsmbclient from Samba 3.0 that do all the
dirty stuff (getting the available domains, authenticating, getting
files, etc...) and a device driver that will be a filesystem driver. The
driver should communicate with the daemon to ask him about shares,
machines, domains, etc...

The idea is:
- the daemon should be started by "/etc/init.d/browser start" at beginning
- The daemon loads the driver into the kernel
- The daemon then mounts the filesystem on /smb using the filesystem
provided by the driver
- The driver waits for file requests on /smb to serve them
The hierarchy will be :

/smb --|-- WG1 --|-- Machine1 --|-- Share1
| | |-- Share2
| |-- Machine2 --|-- Share1
| |-- Share2
| |-- Share3
|
|-- WG2 --|-- Machine3 --|-- Share1
|-- DOM1 --|-- Machine4 --|-- etc...
|-- DOM2 --|-- Machine5

Then the user access /smb/WG2/Machine38/Share12/Dir1/File2
Cool, no?

The authentication is done externally from the kernel, by a userland
process or PAM (a kerberos ticket is gotten from the Domain controller
or Samba PDC). Then the daemon uses that info to authenticate in the
domain. If no auth info is available, then it's authenticated as Guest.

My question:
what is the best/easy way to make a kernel driver communicate with
userland? Is it via UNIX socket? Or ioctl? Shared memory? Else?

Thanks for any idea.
-jec

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/