]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/main.c
Fix bug causing duplicate radius interim accounting messages (PR #1661)
[ppp.git] / pppd / main.c
index 9c4cb46a8dc7e5bc45d44305ef6de54d12789fa7..c03fd438a90074553f9132e13bbdf0b467032d28 100644 (file)
@@ -66,7 +66,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: main.c,v 1.153 2006/06/04 03:52:50 paulus Exp $"
+#define RCSID  "$Id: main.c,v 1.155 2006/12/19 10:22:11 paulus Exp $"
 
 #include <stdio.h>
 #include <ctype.h>
@@ -1567,6 +1567,8 @@ safe_fork(int infd, int outfd, int errfd)
        if (errfd == 0 || errfd == 1)
                errfd = dup(errfd);
 
+       closelog();
+
        /* dup the in, out, err fds to 0, 1, 2 */
        if (infd != 0)
                dup2(infd, 0);
@@ -1575,7 +1577,6 @@ safe_fork(int infd, int outfd, int errfd)
        if (errfd != 2)
                dup2(errfd, 2);
 
-       closelog();
        if (log_to_fd > 2)
                close(log_to_fd);
        if (the_channel->close)
@@ -2073,7 +2074,7 @@ update_db_entry()
     dbuf.dptr = vbuf;
     dbuf.dsize = vlen;
     if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
-       error("tdb_store failed: %s", tdb_error(pppdb));
+       error("tdb_store failed: %s", tdb_errorstr(pppdb));
 
     if (vbuf)
         free(vbuf);
@@ -2094,7 +2095,7 @@ add_db_key(str)
     dbuf.dptr = db_key;
     dbuf.dsize = strlen(db_key);
     if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
-       error("tdb_store key failed: %s", tdb_error(pppdb));
+       error("tdb_store key failed: %s", tdb_errorstr(pppdb));
 }
 
 /*