X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fngircd%2Fngircd.c;h=d87623309a134044bfee254429190b39a4f53f2f;hb=43fb18f2f5a506c4d78967e4b6e961b7339c98dc;hp=f0cb15045993b9a5df1d587f7d19d343c4cc6797;hpb=f8f8a9a04146fb7a4e1570ce0474ea86806879ed;p=ngircd-alex.git diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index f0cb1504..d8762330 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -1,6 +1,6 @@ /* * 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 @@ -52,7 +52,6 @@ #include "exp.h" #include "ngircd.h" - static void Show_Version PARAMS(( void )); static void Show_Help PARAMS(( void )); @@ -264,7 +263,7 @@ main(int argc, const char *argv[]) /* Initialize the "main program": chroot environment, user and * group ID, ... */ if (!NGIRCd_Init(NGIRCd_NoDaemon)) { - Log(LOG_ALERT, "Fatal: Initialization failed"); + Log(LOG_ALERT, "Fatal: Initialization failed, exiting!"); exit(1); } @@ -297,10 +296,10 @@ main(int argc, const char *argv[]) PROTOVER, PROTOIRCPLUS, PACKAGE_NAME, PACKAGE_VERSION, IRCPLUSFLAGS); #ifdef ZLIB - strcat(NGIRCd_ProtoID, "Z"); + strlcat(NGIRCd_ProtoID, "Z", sizeof NGIRCd_ProtoID); #endif if (Conf_OperCanMode) - strcat(NGIRCd_ProtoID, "o"); + strlcat(NGIRCd_ProtoID, "o", sizeof NGIRCd_ProtoID); #else /* IRCPLUS */ snprintf(NGIRCd_ProtoID, sizeof NGIRCd_ProtoID, "%s%s %s|%s", PROTOVER, PROTOIRC, PACKAGE_NAME, PACKAGE_VERSION); @@ -460,7 +459,7 @@ static void Show_Version( void ) { puts( NGIRCd_Version ); - puts( "Copyright (c)2001-2013 Alexander Barton () and Contributors." ); + puts( "Copyright (c)2001-2014 Alexander Barton () and Contributors." ); puts( "Homepage: \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." ); @@ -613,6 +612,13 @@ NGIRCd_getNobodyID(uid_t *uid, gid_t *gid ) #endif +#ifdef HAVE_ARC4RANDOM +static void +Random_Init(void) +{ + +} +#else static bool Random_Init_Kern(const char *file) { @@ -642,6 +648,7 @@ Random_Init(void) return; srand(rand() ^ (unsigned)getpid() ^ (unsigned)time(NULL)); } +#endif /** @@ -673,9 +680,10 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) } /* SSL initialization */ - if (!ConnSSL_InitLibrary()) - Log(LOG_WARNING, - "Error during SSL initialization, continuing without SSL ..."); + if (!ConnSSL_InitLibrary()) { + Log(LOG_ERR, "Error during SSL initialization!"); + goto out; + } /* Change root */ if (Conf_Chroot[0]) { @@ -816,8 +824,8 @@ NGIRCd_Init(bool NGIRCd_NoDaemon) "Changed working directory to \"%s\" ...", pwd->pw_dir); else - Log(LOG_INFO, - "Notice: Can't change working directory to \"%s\": %s!", + Log(LOG_ERR, + "Can't change working directory to \"%s\": %s!", pwd->pw_dir, strerror(errno)); } else Log(LOG_ERR, "Can't get user informaton for UID %d!?", Conf_UID);