Various cleanup in error message output in config parsing code
authorGiovanni Giacobbi <johnny@silcnet.org>
Wed, 18 Sep 2002 13:17:18 +0000 (13:17 +0000)
committerGiovanni Giacobbi <johnny@silcnet.org>
Wed, 18 Sep 2002 13:17:18 +0000 (13:17 +0000)
and in server init code.  Fixed error log files containing
too many newlines ('\n') in some situations.

CHANGES
apps/silcd/server.c
apps/silcd/serverconfig.c
apps/silcd/silcd.c

diff --git a/CHANGES b/CHANGES
index 745804cc933940a186be5e62532b47fb43643263..1068dc4a31e4cd368584a3677c6597d076394627 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+Wed Sep 18 15:13:48 CEST 2002  Johnny Mnemonic <johnny@themnemonic.org>
+
+       * Various cleanup in error message output in config parsing code
+         and in server init code.  Fixed error log files containing
+         too many newlines ('\n') in some situations.  Affected files are
+         silcd/serverconfig.c, silcd/silcd.c, and silcd/server.c.
+
 Wed Sep 18 10:51:23 CEST 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Use the reverse lookupped hostname in client internals
index c2d60f9674868e77760b0462c17dd0412169988a..fa1d8d252a4bab97df1393ea137ff78641d4cc13 100644 (file)
@@ -201,7 +201,7 @@ static bool silc_server_listen(SilcServer server, const char *server_ip,
 {
   *sock = silc_net_create_server(port, server_ip);
   if (*sock < 0) {
-    SILC_LOG_ERROR(("Could not create server listener: %s on %hu",
+    SILC_SERVER_LOG_ERROR(("Could not create server listener: %s on %hu",
                        server_ip, port));
     return FALSE;
   }
@@ -285,7 +285,7 @@ bool silc_server_init(SilcServer server)
   server->starttime = time(NULL);
 
   /* Take config object for us */
-  silc_server_config_ref(&server->config_ref, server->config, 
+  silc_server_config_ref(&server->config_ref, server->config,
                         server->config);
 
   /* Steal public and private key from the config object */
@@ -343,7 +343,7 @@ bool silc_server_init(SilcServer server)
   server->global_list->channels = silc_idcache_alloc(0, SILC_ID_CHANNEL, NULL);
 
   /* Init watcher list */
-  server->watcher_list = 
+  server->watcher_list =
     silc_hash_table_alloc(1, silc_hash_client_id_hash, NULL,
                          silc_hash_data_compare, (void *)CLIENTID_HASH_LEN,
                          NULL, NULL, TRUE);
index f90a6938e3aefa235a4a43f28f21ab3a8745d027..94f1e7dd0c626761e433515351502784dc48137c 100644 (file)
@@ -108,15 +108,14 @@ my_find_param(SilcServerConfig config, const char *name)
   }
 
   SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
-                        "Cannot find Params \"%s\".\n", name));
+                        "Cannot find Params \"%s\".", name));
 
   return NULL;
 }
 
 /* parse an authdata according to its auth method */
 static bool my_parse_authdata(SilcAuthMethod auth_meth, char *p,
-                             SilcUInt32 line, void **auth_data,
-                             SilcUInt32 *auth_data_len)
+                             void **auth_data, SilcUInt32 *auth_data_len)
 {
   if (auth_meth == SILC_AUTH_PASSWORD) {
     /* p is a plain text password */
@@ -138,9 +137,8 @@ static bool my_parse_authdata(SilcAuthMethod auth_meth, char *p,
 
     if (!silc_pkcs_load_public_key(p, &public_key, SILC_PKCS_FILE_PEM))
       if (!silc_pkcs_load_public_key(p, &public_key, SILC_PKCS_FILE_BIN)) {
-       SILC_SERVER_LOG_ERROR(("\nError while parsing config file at line "
-                              "%lu: Could not load public key file!\n",
-                              line));
+       SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
+                              "Could not load public key file!"));
        return FALSE;
       }
 
@@ -153,11 +151,9 @@ static bool my_parse_authdata(SilcAuthMethod auth_meth, char *p,
                                           TRUE);
       silc_hash_table_add(*auth_data, public_key, public_key);
     }
-  } else {
-    SILC_SERVER_LOG_ERROR(("\nError while parsing config file at line %lu: "
-                          "Unknown authentication method.\n", line));
-    return FALSE;
-  }
+  } else
+    abort();
+
   return TRUE;
 }
 
@@ -466,7 +462,7 @@ SILC_CONFIG_CALLBACK(fetch_serverinfo)
     SILC_SERVER_CONFIG_ALLOCTMP(SilcServerConfigServerInfoInterface);
     if ((port <= 0) || (port > 65535)) {
       SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
-                            "Invalid port number!\n"));
+                            "Invalid port number!"));
       got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
@@ -512,9 +508,8 @@ SILC_CONFIG_CALLBACK(fetch_serverinfo)
                                   SILC_PKCS_FILE_PEM))
       if (!silc_pkcs_load_public_key(file_tmp, &server_info->public_key,
                                     SILC_PKCS_FILE_BIN)) {
-       SILC_SERVER_LOG_ERROR(("Error: Could not load public key file.\n"));
-       SILC_SERVER_LOG_ERROR(("   line %lu, file \"%s\"\n", line, file_tmp));
-       return SILC_CONFIG_ESILENT;
+       SILC_SERVER_LOG_ERROR(("Error: Could not load public key file."));
+       return SILC_CONFIG_EPRINTLINE;
       }
   }
   else if (!strcmp(name, "privatekey")) {
@@ -525,9 +520,8 @@ SILC_CONFIG_CALLBACK(fetch_serverinfo)
                                    SILC_PKCS_FILE_BIN))
       if (!silc_pkcs_load_private_key(file_tmp, &server_info->private_key,
                                      SILC_PKCS_FILE_PEM)) {
-       SILC_SERVER_LOG_ERROR(("Error: Could not load private key file.\n"));
-       SILC_SERVER_LOG_ERROR(("   line %lu, file \"%s\"\n", line, file_tmp));
-       return SILC_CONFIG_ESILENT;
+       SILC_SERVER_LOG_ERROR(("Error: Could not load private key file."));
+       return SILC_CONFIG_EPRINTLINE;
       }
   }
   else
@@ -556,7 +550,7 @@ SILC_CONFIG_CALLBACK(fetch_logging)
     if (flushdelay < 2) { /* this value was taken from silclog.h (min delay) */
       SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
                            "Invalid flushdelay value, use quicklogs if you "
-                           "want real-time logging.\n"));
+                           "want real-time logging."));
       return SILC_CONFIG_EPRINTLINE;
     }
     config->logging_flushdelay = (long) flushdelay;
@@ -710,17 +704,17 @@ SILC_CONFIG_CALLBACK(fetch_client)
   }
   else if (!strcmp(name, "passphrase")) {
     CONFIG_IS_DOUBLE(tmp->passphrase);
-    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val,
                           (void **)&tmp->passphrase,
                           &tmp->passphrase_len)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
   else if (!strcmp(name, "publickey")) {
-    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val,
                           (void **)&tmp->publickeys, NULL)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
@@ -776,18 +770,18 @@ SILC_CONFIG_CALLBACK(fetch_admin)
   }
   else if (!strcmp(name, "passphrase")) {
     CONFIG_IS_DOUBLE(tmp->passphrase);
-    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val,
                           (void **)&tmp->passphrase,
                           &tmp->passphrase_len)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
   else if (!strcmp(name, "publickey")) {
     CONFIG_IS_DOUBLE(tmp->publickeys);
-    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val,
                           (void **)&tmp->publickeys, NULL)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
@@ -872,18 +866,18 @@ SILC_CONFIG_CALLBACK(fetch_server)
   }
   else if (!strcmp(name, "passphrase")) {
     CONFIG_IS_DOUBLE(tmp->passphrase);
-    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val,
                           (void **)&tmp->passphrase,
                           &tmp->passphrase_len)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
   else if (!strcmp(name, "publickey")) {
     CONFIG_IS_DOUBLE(tmp->publickeys);
-    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val,
                           (void **)&tmp->publickeys, NULL)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
@@ -936,7 +930,7 @@ SILC_CONFIG_CALLBACK(fetch_router)
     int port = *(int *)val;
     if ((port <= 0) || (port > 65535)) {
       SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
-                            "Invalid port number!\n"));
+                            "Invalid port number!"));
       got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
@@ -944,18 +938,18 @@ SILC_CONFIG_CALLBACK(fetch_router)
   }
   else if (!strcmp(name, "passphrase")) {
     CONFIG_IS_DOUBLE(tmp->passphrase);
-    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PASSWORD, (char *) val,
                           (void **)&tmp->passphrase,
                           &tmp->passphrase_len)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
   else if (!strcmp(name, "publickey")) {
     CONFIG_IS_DOUBLE(tmp->publickeys);
-    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val, line,
+    if (!my_parse_authdata(SILC_AUTH_PUBLIC_KEY, (char *) val,
                           (void **)&tmp->publickeys, NULL)) {
-      got_errno = SILC_CONFIG_ESILENT;
+      got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
   }
@@ -980,7 +974,7 @@ SILC_CONFIG_CALLBACK(fetch_router)
     int port = *(int *)val;
     if ((port <= 0) || (port > 65535)) {
       SILC_SERVER_LOG_ERROR(("Error while parsing config file: "
-                            "Invalid port number!\n"));
+                            "Invalid port number!"));
       got_errno = SILC_CONFIG_EPRINTLINE;
       goto got_err;
     }
@@ -1222,7 +1216,7 @@ SilcServerConfig silc_server_config_alloc(const char *filename)
   /* obtain a config file object */
   file = silc_config_open(filename);
   if (!file) {
-    SILC_SERVER_LOG_ERROR(("\nError: can't open config file `%s'\n",
+    SILC_SERVER_LOG_ERROR(("\nError: can't open config file `%s'",
                           filename));
     return NULL;
   }
@@ -1246,10 +1240,10 @@ SilcServerConfig silc_server_config_alloc(const char *filename)
       char *linebuf, *filename = silc_config_get_filename(file);
       SilcUInt32 line = silc_config_get_line(file);
       if (ret != SILC_CONFIG_EPRINTLINE)
-        SILC_SERVER_LOG_ERROR(("Error while parsing config file: %s.\n",
+        SILC_SERVER_LOG_ERROR(("Error while parsing config file: %s.",
                               silc_config_strerror(ret)));
       linebuf = silc_config_read_line(file, line);
-      SILC_SERVER_LOG_ERROR(("  file %s line %lu:  %s\n\n", filename,
+      SILC_SERVER_LOG_ERROR(("  file %s line %lu:  %s\n", filename,
                             line, linebuf));
       silc_free(linebuf);
     }
@@ -1263,7 +1257,7 @@ SilcServerConfig silc_server_config_alloc(const char *filename)
   /* If config_new is incomplete, abort the object and return NULL */
   if (!config_new->server_info) {
     SILC_SERVER_LOG_ERROR(("\nError: Missing mandatory block "
-                          "`server_info'\n"));
+                          "`server_info'"));
     silc_server_config_destroy(config_new);
     return NULL;
   }
index 6861727c104d568de119c25b2a7fcfe70d77263d..306f771a5e2332d82f00b5f2934254a604623cc5 100644 (file)
@@ -308,6 +308,8 @@ SILC_TASK_CALLBACK(dump_stats)
   STAT_OUTPUT("  Packets sent            : %d", silcd->stat.packets_sent);
   STAT_OUTPUT("  Packets received        : %d", silcd->stat.packets_received);
 
+#undef STAT_OUTPUT
+
   fflush(fdd);
   fclose(fdd);
 }
@@ -392,15 +394,28 @@ static void silc_get_debug_level(int level)
     }
 }
 
-/* This function should not be called directly but throught the wrapper
+/* This function should not be called directly but thru the wrapper
    macro SILC_SERVER_LOG_STDERR() */
 
 void silc_server_stderr(char *message)
 {
-  if (silcd->background)
+  if (silcd->background) {
+    char *p, *n = message;
+
+    /* remove newlines if we are going to output it to a log file */
+    for (p = n; *p; p++) {
+      if (*p != '\n') {
+       if (p != n)
+         *n = *p;
+       n++;
+      }
+    }
+    *n = 0;
+
     silc_log_output(SILC_LOG_ERROR, message);
+  }
   else {
-    fprintf(stderr, "%s", message);
+    fprintf(stderr, "%s\n", message);
     silc_free(message);
   }
 }