1
0
mirror of https://github.com/samba-team/samba.git synced 2025-05-10 02:50:25 +03:00
Luke Leighton 4f8a24522c final part of "first" phase converting over to msrpc daemon architecture.
done a minimal amout of clean-up in the Makefile, removing unnecessary
modules from the link stage.  this is not complete, yet, and will
involve some changes, for example to smbd, to remove dependencies on
the password database API that shouldn't be there.  for example,
smbd should not ever call getsmbpwXXX() it should call the Samr or Lsa
API.

this first implementation has minor problems with not reinstantiating
the same services as the caller.  the "homes" service is a good example.
(This used to be commit caa50525220b0d0250fa139367593c2de2c12135)
1999-12-12 20:03:42 +00:00

98 lines
2.4 KiB
C

/*
Unix SMB/Netbios implementation.
Version 1.9.
Main SMB server routines
Copyright (C) Andrew Tridgell 1992-1998
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "includes.h"
fstring pipe_name;
pstring servicesf = CONFIGFILE;
extern pstring debugf;
extern BOOL append_log;
/*************************************************************************
initialise an msrpc service
*************************************************************************/
void msrpc_service_init(void)
{
}
/****************************************************************************
reload the services file
**************************************************************************/
BOOL reload_services(BOOL test)
{
BOOL ret;
if (lp_loaded()) {
pstring fname;
pstrcpy(fname,lp_configfile());
if (file_exist(fname,NULL) && !strcsequal(fname,servicesf)) {
pstrcpy(servicesf,fname);
test = False;
}
}
reopen_logs();
if (test && !lp_file_list_changed())
return(True);
lp_killunused(NULL);
ret = lp_load(servicesf,False,False,True);
/* perhaps the config filename is now set */
if (!test)
reload_services(True);
reopen_logs();
load_interfaces();
return(ret);
}
/****************************************************************************
main program
****************************************************************************/
int main(int argc,char *argv[])
{
#ifdef HAVE_SET_AUTH_PARAMETERS
set_auth_parameters(argc,argv);
#endif
#ifdef HAVE_SETLUID
/* needed for SecureWare on SCO */
setluid(0);
#endif
append_log = True;
TimeInit();
setup_logging(argv[0],False);
fstrcpy(pipe_name, "browser");
slprintf(debugf, sizeof(debugf), "%s/log.%s", LOGFILEBASE, pipe_name);
add_msrpc_command_processor( pipe_name, argv[0], api_brs_rpc );
return msrpc_main(argc, argv);
}