]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/userprocess.cpp
Optimisation of optimisation :P ty w00tie
[user/henk/code/inspircd.git] / src / userprocess.cpp
index fae96721df0f4f09f72d5398935b85ff0dcc9a4c..76be62d71bd82557968815cba4cecfd7c11d1c76 100644 (file)
@@ -70,6 +70,7 @@ extern std::vector<InspSocket*> module_sockets;
 extern time_t TIME;
 extern time_t OLDTIME;
 extern std::vector<userrec*> local_users;
+char LOG_FILE[MAXBUF];
 
 extern InspIRCd* ServerInstance;
 extern ServerConfig *Config;
@@ -215,14 +216,7 @@ void ProcessUser(userrec* cu)
                                 std::string single_line = current->GetBuffer();
                                 current->bytes_in += single_line.length();
                                 current->cmds_in++;
-                                if (single_line.length()>512)
-                                {
-                                        log(DEFAULT,"Excess flood from: %s!%s@%s",current->nick,current->ident,current->host);
-                                        WriteOpers("*** Excess flood from: %s!%s@%s",current->nick,current->ident,current->host);
-                                        kill_link(current,"Excess flood");
-                                        return;
-                                }
-                                strlcpy(sanitized,single_line.c_str(),MAXBUF);
+                                strlcpy(sanitized,single_line.c_str(),511);
                                 if (*sanitized)
                                 {
                                         userrec* old_comp = fd_ref_table[currfd];
@@ -364,9 +358,22 @@ void DoBackgroundUserStuff(time_t TIME)
 
 void OpenLog(char** argv, int argc)
 {
-       if (Config->logpath == "")
+       if (!*LOG_FILE)
+       {
+               if (Config->logpath == "")
+               {
+                       Config->logpath = GetFullProgDir(argv,argc) + "/ircd.log";
+               }
+       }
+       else
        {
-               Config->logpath = GetFullProgDir(argv,argc) + "/ircd.log";
+               Config->log_file = fopen(LOG_FILE,"a+");
+               if (!Config->log_file)
+               {
+                       printf("ERROR: Could not write to logfile %s, bailing!\n\n",Config->logpath.c_str());
+                       Exit(ERROR);
+               }
+               return;
        }
         Config->log_file = fopen(Config->logpath.c_str(),"a+");
         if (!Config->log_file)
@@ -406,11 +413,11 @@ void LoadAllModules(InspIRCd* ServerInstance)
         for (int count = 0; count < Config->ConfValueEnum("module",&Config->config_f); count++)
         {
                 Config->ConfValue("module","name",count,configToken,&Config->config_f);
-                printf("Loading module... \033[1;32m%s\033[0m\n",configToken);
+                printf("[\033[1;32m*\033[0m] Loading module:\t\033[1;32m%s\033[0m\n",configToken);
                 if (!ServerInstance->LoadModule(configToken))
                 {
                         log(DEFAULT,"Exiting due to a module loader error.");
-                        printf("\nThere was an error loading a module: %s\n\nYou might want to do './inspircd start' instead of 'bin/inspircd'\n\n",ServerInstance->ModuleError());
+                        printf("\nThere was an error loading a module: %s\n\n",ServerInstance->ModuleError());
                         Exit(0);
                 }
         }