]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Fixed a permissions error, was doing work as root!
[user/henk/code/inspircd.git] / src / inspircd.cpp
index 6a6359b6e7a35e4902663f23e3b89a4947c1ae6a..a71cf08ab83b5ba48b2ae44b4eadfbef2e153989 100644 (file)
@@ -174,7 +174,7 @@ address_cache IP;
 ClassVector Classes;
 
 struct linger linger = { 0 };
-char bannerBuffer[MAXBUF];
+char MyExecutable[1024];
 int boundPortCount = 0;
 int portCount = 0, UDPportCount = 0, ports[MAXSOCKS];
 int defaultRoute = 0;
@@ -2000,7 +2000,7 @@ void Error(int status)
 }
 
 
-int main(int argc, char *argv[])
+int main(int argc, char **argv)
 {
        Start();
        srand(time(NULL));
@@ -2013,10 +2013,18 @@ int main(int argc, char *argv[])
                Exit(ERROR);
        }
        if (argc > 1) {
-               if (!strcmp(argv[1],"-nofork")) {
-                       nofork = true;
+               for (int i = 1; i < argc; i++)
+               {
+                       if (!strcmp(argv[i],"-nofork")) {
+                               nofork = true;
+                       }
+                       if (!strcmp(argv[i],"-wait")) {
+                               sleep(6);
+                       }
                }
        }
+       strcpy(MyExecutable,argv[0]);
+       
        if (InspIRCd() == ERROR)
        {
                log(DEBUG,"main: daemon function bailed");
@@ -3119,11 +3127,11 @@ int reap_counter = 0;
 
 int InspIRCd(void)
 {
-       struct sockaddr_in client, server;
+       struct sockaddr_in client,server;
        char addrs[MAXBUF][255];
        int openSockfd[MAXSOCKS], incomingSockfd, result = TRUE;
        socklen_t length;
-       int count = 0, scanDetectTrigger = TRUE, showBanner = FALSE;
+       int count = 0;
        int selectResult = 0, selectResult2 = 0;
        char *temp, configToken[MAXBUF], stuff[MAXBUF], Addr[MAXBUF], Type[MAXBUF];
        char resolvedHost[MAXBUF];
@@ -3174,8 +3182,14 @@ int InspIRCd(void)
                                log(DEBUG,"InspIRCd: startup: binding '%s:%s' is default server route",Addr,configToken);
                        }
                        me[count3] = new serverrec(ServerName,100L,false);
-                       me[count3]->CreateListener(Addr,atoi(configToken));
-                       count3++;
+                       if (!me[count3]->CreateListener(Addr,atoi(configToken)))
+                       {
+                               log(DEFAULT,"Error! Failed to bind port %d",atoi(configToken));
+                       }
+                       else
+                       {
+                               count3++;
+                       }
                }
                else
                {