Index: src/ngircd/conf.c
--- src/ngircd/conf.c.orig
+++ src/ngircd/conf.c
@@ -399,7 +399,7 @@ Conf_Test( void )
 	printf("  MaxConnectionsIP = %d\n", Conf_MaxConnectionsIP);
 	printf("  MaxJoins = %d\n", Conf_MaxJoins > 0 ? Conf_MaxJoins : -1);
 	printf("  MaxNickLength = %u\n", Conf_MaxNickLength - 1);
-	printf("  MaxPenaltyTime = %ld\n", (long)Conf_MaxPenaltyTime);
+	printf("  MaxPenaltyTime = %lld\n", (long long)Conf_MaxPenaltyTime);
 	printf("  MaxListSize = %d\n", Conf_MaxListSize);
 	printf("  PingTimeout = %d\n", Conf_PingTimeout);
 	printf("  PongTimeout = %d\n", Conf_PongTimeout);
@@ -777,7 +777,7 @@ Set_Defaults(bool InitServers)
 	strlcat(Conf_HelpFile, HELP_FILE, sizeof(Conf_HelpFile));
 	strcpy(Conf_ServerPwd, "");
 	strlcpy(Conf_PidFile, PID_FILE, sizeof(Conf_PidFile));
-	Conf_UID = Conf_GID = 0;
+	Conf_UID = Conf_GID = 703;	/* _ngircd */
 
 	/* Limits */
 	Conf_ConnectRetry = 60;
@@ -1546,7 +1546,7 @@ Handle_LIMITS(const char *File, int Line, char *Var, c
 		return;
 	}
 	if (strcasecmp(Var, "MaxPenaltyTime") == 0) {
-		Conf_MaxPenaltyTime = atol(Arg);
+		Conf_MaxPenaltyTime = atoll(Arg);
 		if (Conf_MaxPenaltyTime < -1)
 			Conf_MaxPenaltyTime = -1;	/* "unlimited" */
 		return;
@@ -2202,8 +2202,8 @@ Validate_Config(bool Configtest, bool Rehash)
 
 	if (Conf_MaxPenaltyTime != -1)
 		Config_Error(LOG_WARNING,
-			     "Maximum penalty increase ('MaxPenaltyTime') is set to %ld, this is not recommended!",
-			     Conf_MaxPenaltyTime);
+			     "Maximum penalty increase ('MaxPenaltyTime') is set to %lld, this is not recommended!",
+			     (long long)Conf_MaxPenaltyTime);
 
 #ifdef HAVE_SETRLIMIT
 	if(getrlimit(RLIMIT_NOFILE, &rlim) == 0) {
