#include "winbindd.h"
#include "nsswitch/winbind_client.h"
#include "nsswitch/wb_reqtrans.h"
-#include "librpc/gen_ndr/messaging.h"
#include "../librpc/gen_ndr/srv_lsa.h"
#include "../librpc/gen_ndr/srv_samr.h"
#include "secrets.h"
#include "idmap.h"
#include "lib/addrchange.h"
#include "serverid.h"
+#include "auth.h"
+#include "messages.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
}
-/**************************************************************************** **
- Handle a fault..
- **************************************************************************** */
-
-static void fault_quit(void)
-{
- dump_core();
-}
-
static void winbindd_status(void)
{
struct winbindd_cli_state *tmp;
wb_ping_send, wb_ping_recv },
{ WINBINDD_LOOKUPSID, "LOOKUPSID",
winbindd_lookupsid_send, winbindd_lookupsid_recv },
+ { WINBINDD_LOOKUPSIDS, "LOOKUPSIDS",
+ winbindd_lookupsids_send, winbindd_lookupsids_recv },
{ WINBINDD_LOOKUPNAME, "LOOKUPNAME",
winbindd_lookupname_send, winbindd_lookupname_recv },
{ WINBINDD_SID_TO_UID, "SID_TO_UID",
len = sizeof(sunaddr);
- do {
- sock = accept(listen_sock, (struct sockaddr *)(void *)&sunaddr,
- &len);
- } while (sock == -1 && errno == EINTR);
+ sock = accept(listen_sock, (struct sockaddr *)(void *)&sunaddr, &len);
- if (sock == -1)
+ if (sock == -1) {
+ if (errno != EINTR) {
+ DEBUG(0, ("Faild to accept socket - %s\n",
+ strerror(errno)));
+ }
return;
+ }
DEBUG(6,("accepted socket %d\n", sock));
void winbindd_register_handlers(void)
{
- struct tevent_timer *te;
/* Setup signal handlers */
if (!winbindd_setup_sig_term_handler(true))
smb_nscd_flush_user_cache();
smb_nscd_flush_group_cache();
- te = tevent_add_timer(winbind_event_context(), NULL, timeval_zero(),
- rescan_trusted_domains, NULL);
- if (te == NULL) {
- DEBUG(0, ("Could not trigger rescan_trusted_domains()\n"));
- exit(1);
+ if (lp_allow_trusted_domains()) {
+ if (tevent_add_timer(winbind_event_context(), NULL, timeval_zero(),
+ rescan_trusted_domains, NULL) == NULL) {
+ DEBUG(0, ("Could not trigger rescan_trusted_domains()\n"));
+ exit(1);
+ }
}
}
CatchSignal(SIGUSR1, SIG_IGN);
CatchSignal(SIGUSR2, SIG_IGN);
- fault_setup((void (*)(void *))fault_quit );
- dump_core_setup("winbindd");
+ fault_setup();
+ dump_core_setup("winbindd", lp_logfile());
load_case_tables();
DEBUGADD(0,("%s\n", COPYRIGHT_STARTUP_MESSAGE));
if (!lp_load_initial_only(get_dyn_CONFIGFILE())) {
- DEBUG(0, ("error opening config file\n"));
+ DEBUG(0, ("error opening config file '%s'\n", get_dyn_CONFIGFILE()));
exit(1);
}