/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
*
* 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
* by the loader of the operating system.
*/
-#include "imp.h"
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
-#include <signal.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <mcheck.h>
#endif
-#include "defines.h"
#include "conn.h"
#include "class.h"
-#include "conf-ssl.h"
#include "channel.h"
#include "conf.h"
-#include "lists.h"
#include "log.h"
-#include "parse.h"
#include "sighandlers.h"
#include "io.h"
-#include "irc.h"
-#include "exp.h"
#include "ngircd.h"
-
static void Show_Version PARAMS(( void ));
static void Show_Help PARAMS(( void ));
Show_Version( void )
{
puts( NGIRCd_Version );
- puts( "Copyright (c)2001-2013 Alexander Barton (<alex@barton.de>) and Contributors." );
+ puts( "Copyright (c)2001-2014 Alexander Barton (<alex@barton.de>) and Contributors." );
puts( "Homepage: <http://ngircd.barton.de/>\n" );
puts( "This is free software; see the source for copying conditions. There is NO" );
puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );
close(pidfd);
return;
}
-
+
if (write(pidfd, pidbuf, (size_t)len) != (ssize_t)len)
Log(LOG_ERR, "Can't write PID file (%s): %s!", Conf_PidFile,
strerror(errno));
#endif
+#ifdef HAVE_ARC4RANDOM
+static void
+Random_Init(void)
+{
+
+}
+#else
static bool
Random_Init_Kern(const char *file)
{
return;
srand(rand() ^ (unsigned)getpid() ^ (unsigned)time(NULL));
}
+#endif
/**
Log(LOG_ERR, "Can't change group ID to %s(%u): %s!",
grp ? grp->gr_name : "?", Conf_GID,
strerror(real_errno));
- if (real_errno != EPERM)
+ if (real_errno != EPERM)
goto out;
}
+#ifdef HAVE_SETGROUPS
if (setgroups(0, NULL) != 0) {
real_errno = errno;
Log(LOG_ERR, "Can't drop supplementary group IDs: %s!",
if (real_errno != EPERM)
goto out;
}
+#else
+ Log(LOG_WARNING,
+ "Can't drop supplementary group IDs: setgroups(3) missing!");
+#endif
}
#endif