What's next for Samba ?

David Lee t.d.lee at durham.ac.uk
Thu Nov 13 10:02:35 GMT 2003

On Thu, 13 Nov 2003 tridge at samba.org wrote:

> [...]
> In terms of individual modules the parts of Samba4 that would be
> obvious candidates for back-porting are:
>  [...]
>  * the event handling code. I think this is vastly better in design
>    to the Samba3 select loop. It could be backported quite easily I
>    think.
>  [...]

Would this be the code around "smbd/process.c" (both 2.2.x and 3.0)
with the comment:
  "This is hideously complex - *MUST* be simplified for 3.0 ! JRA."

I would very much like to see that area addressed, so that optional
plug-in-like things can be accommodated.

We have had various threads on "samba-technical" during the last couple of
years about the possibility of sending UN*X-like "wall(1)", "write(1)"
messages (low volume!) to a PC client.  (For example, a particular
application, amongst others, would be so that UNIX "shutdown", which uses
"wall" to inform UNIX users, would thus automatically inform PC clients as
well.)  We've had valuable thoughts in shaping this from Andrew B.  And
on at least one occasion Jeremy has indicated his support, in principle,
for this event loop to be able to support modules that somehow "register"
with it.

Samba already has the code in place (utmp.c, session.c) for an smbd daemon
to know about its "/dev/..." that wall/write would automatically use.
What's missing in 3.0 (as from 2.2.x) is the ability for smbd to
poll()/select() such a device, so that a plugin module could then read it
and do something like SMBsend/WinPopup to convey the short, occasional
messages.  On various occasions in the last couple of years, I've done and
tested "proof of concept" module code for this, but there's always been
this difficulty of somehow registering this module with the event loop
(which I've always had to "hack" in to test it).

I seem to remember happening across Samba4 (about which I know nothing) a
few months ago and seeing that this event-loop module registration might
already be there.

Given such an event-loop hook in 3.1, I'd be happy to contribute to (or
even, in the absence of others, "own") the development of a module to
implement this "read("/dev/smb/...) => {SMBsend,...}(clientPC)" ability (a
little like I did with the utmp code and Solaris/Veritas code in earlier



:  David Lee                                I.T. Service          :
:  Systems Programmer                       Computer Centre       :
:                                           University of Durham  :
:  http://www.dur.ac.uk/t.d.lee/            South Road            :
:                                           Durham                :
:  Phone: +44 191 334 2752                  U.K.                  :

More information about the samba-technical mailing list