mirror of
https://github.com/samba-team/samba.git
synced 2025-11-08 16:23:49 +03:00
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
79 lines
1.7 KiB
Perl
79 lines
1.7 KiB
Perl
###########################################################
|
|
### SMB Build System ###
|
|
### - the main program ###
|
|
### ###
|
|
### Copyright (C) Stefan (metze) Metzmacher 2004 ###
|
|
### Released under the GNU GPL ###
|
|
###########################################################
|
|
|
|
use makefile;
|
|
use smb_build_h;
|
|
use input;
|
|
use config_mk;
|
|
use output;
|
|
use dot;
|
|
use strict;
|
|
|
|
sub smb_build_main($)
|
|
{
|
|
my $INPUT = shift;
|
|
my %SMB_BUILD_CTX = (
|
|
INPUT => $INPUT
|
|
);
|
|
|
|
my @mkfiles = (
|
|
"dsdb/config.mk",
|
|
"gtk/config.mk",
|
|
"smbd/config.mk",
|
|
"smbd/process_model.mk",
|
|
"libnet/config.mk",
|
|
"auth/config.mk",
|
|
"nsswitch/config.mk",
|
|
"lib/basic.mk",
|
|
"lib/dcom/config.mk",
|
|
"lib/socket/config.mk",
|
|
"lib/ldb/config.mk",
|
|
"lib/talloc/config.mk",
|
|
"lib/tdb/config.mk",
|
|
"lib/registry/config.mk",
|
|
"lib/messaging/config.mk",
|
|
"smb_server/config.mk",
|
|
"rpc_server/config.mk",
|
|
"ldap_server/config.mk",
|
|
"libcli/auth/gensec.mk",
|
|
"libcli/auth/config.mk",
|
|
"libcli/ldap/config.mk",
|
|
"libcli/config.mk",
|
|
"utils/net/config.mk",
|
|
"utils/config.mk",
|
|
"ntvfs/posix/config.mk",
|
|
"ntvfs/config.mk",
|
|
"ntvfs/unixuid/config.mk",
|
|
"torture/config.mk",
|
|
"librpc/config.mk",
|
|
"client/config.mk",
|
|
"libcli/libsmb.mk",
|
|
"libcli/config.mk",
|
|
"libcli/security/config.mk"
|
|
);
|
|
|
|
$| = 1;
|
|
|
|
for my $mkfile (@mkfiles) {
|
|
config_mk::import_file($SMB_BUILD_CTX{INPUT}, $mkfile);
|
|
}
|
|
|
|
%{$SMB_BUILD_CTX{DEPEND}} = input::check(\%SMB_BUILD_CTX);
|
|
|
|
%{$SMB_BUILD_CTX{OUTPUT}} = output::create_output($SMB_BUILD_CTX{DEPEND});
|
|
|
|
makefile::create_makefile_in($SMB_BUILD_CTX{OUTPUT});
|
|
|
|
smb_build_h::create_smb_build_h($SMB_BUILD_CTX{OUTPUT});
|
|
|
|
open DOTTY, ">samba4-deps.dot";
|
|
print DOTTY dot::generate($SMB_BUILD_CTX{DEPEND});
|
|
close DOTTY;
|
|
}
|
|
1;
|