r5102: This is a major simplification of the logic for controlling top level
authorAndrew Tridgell <tridge@samba.org>
Sun, 30 Jan 2005 00:54:57 +0000 (00:54 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:09:22 +0000 (13:09 -0500)
commit55d4d36993293fee914a009f1d8f05810e347f2b
tree587a9bafd1c8df901aad8766acb0fe9ef4c3d8c0
parent5540449f1cd9d9a6efab59f2bf47be4e1487ffc2
r5102: This is a major simplification of the logic for controlling top level
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.

Major changes include:

 - simplified the process model code a lot.

 - got rid of the top level server and service structures
   completely. The top level context is now the event_context. This
   got rid of service.h and server.h completely (they were the most
   confusing parts of the old code)

 - added service_stream.[ch] for the helper functions that are
   specific to stream type services (services that handle streams, and
   use a logically separate process per connection)

 - got rid of the builtin idle_handler code in the service logic, as
   none of the servers were using it, and it can easily be handled by
   a server in future by adding its own timed_event to the event
   context.

 - fixed some major memory leaks in the rpc server code.

 - added registration of servers, rather than hard coding our list of
   possible servers. This allows for servers as modules in the future.

 - temporarily disabled the winbind code until I add the helper
   functions for that type of server

 - added error checking on service startup. If a configured server
   fails to startup then smbd doesn't startup.

 - cleaned up the command line handling in smbd, removing unused options
(This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
36 files changed:
source4/build/smb_build/main.pm
source4/include/includes.h
source4/include/structs.h
source4/ldap_server/ldap_server.c
source4/ldap_server/ldap_server.h
source4/lib/messaging/messaging.c
source4/ntvfs/cifs/vfs_cifs.c
source4/ntvfs/common/brlock.c
source4/ntvfs/common/opendb.c
source4/ntvfs/ipc/vfs_ipc.c
source4/ntvfs/posix/pvfs_wait.c
source4/ntvfs/posix/vfs_posix.c
source4/passdb/secrets.c
source4/rpc_server/dcerpc_server.c
source4/rpc_server/dcerpc_server.h
source4/rpc_server/dcerpc_sock.c
source4/rpc_server/epmapper/rpc_epmapper.c
source4/smb_server/conn.c
source4/smb_server/negprot.c
source4/smb_server/request.c
source4/smb_server/service.c
source4/smb_server/sesssetup.c
source4/smb_server/smb_server.c
source4/smb_server/smb_server.h
source4/smbd/config.mk
source4/smbd/process_model.c
source4/smbd/process_model.h
source4/smbd/process_single.c
source4/smbd/process_standard.c
source4/smbd/process_thread.c
source4/smbd/rewrite.c [deleted file]
source4/smbd/server.c
source4/smbd/server.h [deleted file]
source4/smbd/service.c
source4/smbd/service.h [deleted file]
source4/torture/local/messaging.c