Do pipe the stderr stream to logfile
authorNeutron Soutmun <neo.neutron@gmail.com>
Tue, 19 Aug 2008 16:17:51 +0000 (23:17 +0700)
committerNeutron Soutmun <neo.neutron@gmail.com>
Sun, 2 Nov 2008 19:43:10 +0000 (02:43 +0700)
2008-08-19  Neutron Soutmun <neo.neutron@gmail.com>

* src/rahunas.{h,c}:
  - pipe stderr stream to logfile.

* src/rahunas.h:
  - Add minor version numbering to VERSION.
  - Change MAX_MEMBERS from dec to hex.

ChangeLog
src/rahunasd.c
src/rahunasd.h

index ae2eb6f..9abca68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
 2008-08-19  Neutron Soutmun <neo.neutron@gmail.com>
 
+       * src/rahunas.{h,c}:
+         - pipe stderr stream to logfile.
+
+       * src/rahunas.h:
+         - Add minor version numbering to VERSION.
+         - Change MAX_MEMBERS from dec to hex.
+
+2008-08-19  Neutron Soutmun <neo.neutron@gmail.com>
+
        * === First import the project ===
index e8b37f9..537fa94 100644 (file)
@@ -23,6 +23,7 @@
 #include "ipset-control.h"
 
 /* Abstract functions */
+int logmsg(int priority, const char *msg, ...); 
 int getline(int fd, char *buf, size_t size);
 int finish();
 int ipset_flush();
@@ -39,8 +40,6 @@ int send_xmlrpc_stopacct(struct rahunas_map *map, uint32_t id);
 
 /* Declaration */
 struct rahunas_map *map = NULL;
-int fd_log;
-int fd_debug;
 
 uint32_t iptoid(struct rahunas_map *map, const char *ip) {
   uint32_t ret;
@@ -101,11 +100,7 @@ void rh_free(void **data)
 
 int rh_openlog(const char *filename)
 {
-  fd_log = open(filename, O_WRONLY | O_APPEND);
-       if (fd_log == (-1))
-         return 0;
-  else 
-         return 1;
+  return open(filename, O_WRONLY | O_APPEND);
 }
 
 int rh_closelog(int fd)
@@ -553,11 +548,7 @@ watch_child(char *argv[])
   /* Change the file mode mask */
   umask(0);
 
-  /* Open log file */
-       if (!rh_openlog(DEFAULT_LOG)) {
-    syslog(LOG_ERR, "Could not open log file %s", DEFAULT_LOG);
-    exit(EXIT_FAILURE);
-  }
+
 
        if ((sid = setsid()) < 0)
          syslog(LOG_ALERT, "setsid failed");
@@ -640,6 +631,7 @@ int main(int argc, char **argv)
 {
        gchar* addr = "localhost";
        int port    = 8123;
+  int fd_log;
 
        char line[256];
        char version[256];
@@ -654,12 +646,14 @@ int main(int argc, char **argv)
 
   sprintf(version, "Starting %s - Version %s", PROGRAM, VERSION);
 
-  /* Test open log file */
-       if (!rh_openlog()) {
+  /* Open log file */
+       if ((fd_log = rh_openlog(DEFAULT_LOG)) == (-1)) {
     syslog(LOG_ERR, "Could not open log file %s", DEFAULT_LOG);
     exit(EXIT_FAILURE);
   }
 
+  dup2(fd_log, STDERR_FILENO);
+
        logmsg(RH_LOG_NORMAL, version);
   syslog(LOG_INFO, version);
 
index b193662..a6b5f01 100644 (file)
@@ -13,8 +13,8 @@
 #include <time.h>
 
 #define PROGRAM "RuhuNASd"
-#define VERSION "0.1"
-#define MAX_MEMBERS 65536
+#define VERSION "0.1.1"
+#define MAX_MEMBERS 0x00FFFF
 
 /* Configuration */
 #define DEFAULT_LOG "/var/log/rahunas/rahunas.log"