Source cleanup
authorMatthew Mondor <mmondor@pulsar-zone.net>
Thu, 17 Jul 2003 09:13:01 +0000 (09:13 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Thu, 17 Jul 2003 09:13:01 +0000 (09:13 +0000)
16 files changed:
mmsoftware/mmftpd/src/mmftpd.c
mmsoftware/mmlib/Makefile
mmsoftware/mmlib/makedefs.sh
mmsoftware/mmlib/mmfd.3
mmsoftware/mmlib/mmfd.c
mmsoftware/mmlib/mmfd.h
mmsoftware/mmlib/mmhash.c
mmsoftware/mmlib/mmlog.c
mmsoftware/mmlib/mmlog.h
mmsoftware/mmlib/mmpath.c
mmsoftware/mmlib/mmpool.c
mmsoftware/mmlib/mmserver.c
mmsoftware/mmlib/mmsql.c
mmsoftware/mmlib/mmsql.h
mmsoftware/mmlib/mmstat.c
mmsoftware/mmmail/src/mmsmtpd/mmsmtpd.c

index a8422fc..733878a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmftpd.c,v 1.32 2003/07/15 21:06:24 mmondor Exp $ */
+/* $Id: mmftpd.c,v 1.33 2003/07/17 09:13:00 mmondor Exp $ */
 
 /*
  * Copyright (C) 2002-2003, Matthew Mondor
@@ -53,7 +53,6 @@
 #include <resolv.h>
 #include <poll.h>
 
-#include <syslog.h>
 #include <signal.h>
 #include <time.h>
 #include <dirent.h>
@@ -81,7 +80,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmftpd.c,v 1.32 2003/07/15 21:06:24 mmondor Exp $");
+MMRCSID("$Id: mmftpd.c,v 1.33 2003/07/17 09:13:00 mmondor Exp $");
 
 
 
@@ -2723,7 +2722,10 @@ stripoptions(char *str)
  * XXX This function can take alot of stack space, especially that it
  * allocates strings on the stack as well. I could provide a safer function
  * in this respect if it was proven necessary. This currently has the
- * advantage of being quite fast.
+ * advantage of being quite fast. Moreover, it is not called by the PTH
+ * threads, which have a static stack buffer size, but rather from our
+ * non-threaded asynchroneous processes, which not only have their stack
+ * size managed by the OS, but also can provide some support for SMP systems.
  */
 static off_t
 recursive_treesize(char *path, off_t minfilesize)
@@ -3418,7 +3420,7 @@ pasv_bind(clientenv *clenv, struct sockaddr_in *server, int *sock, int *port)
        server->sin_family = AF_INET;
        server->sin_addr.s_addr = clenv->uipaddr;
        if (!CONF.PASV_RANGE) {
-           /* Just let the system assing us a free high port, which is very
+           /* Just let the system assign us a free high port, which is very
             * fast and most likely to succeed.
             */
            server->sin_port = 0;
@@ -3572,7 +3574,7 @@ transferthread(void *args)
  * REQ_TRANSFER) Tells the thread, only after REQ_NEWPORT was used, to attempt
  *               a transfer. Direction has to be specified, as well as the file
  *               descriptor of the file to be read from or written to. If
- *               list>0 however, this means that the client will be sent a
+ *               list > 0 however, this means that the client will be sent a
  *               file listing instead, list=1 for LIST, list=2 for NLST.
  * 
  * This consists of a pretty large messy function, but it works (-:
@@ -3583,8 +3585,8 @@ transferthread(void *args)
  * sanity checking before these functions are called (eg: port range limit,
  * files). The exception is that when a passive data connection is established
  * a necessary check is performed to ensure that only the expected client
- * connected (check only performed by IP address as the FTP protocol does not
- * provide any better means).
+ * connected (bind port on right interface, and check client IP address, as
+ * the FTP protocol does not provide any better means).
  */
 static void
 transferthread_main(clientenv *clenv, fdbuf *fdb)
index a4f4887..15175d6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.5 2003/06/18 01:15:20 mmondor Exp $
+# $Id: Makefile,v 1.6 2003/07/17 09:13:00 mmondor Exp $
 
 CC = gcc
 MAKE = make
@@ -8,7 +8,7 @@ RM = rm -f
 ECHO = echo
 SHELL = /bin/sh
 
-CFLAGS += -D_REENTRANT -Wall
+CFLAGS += -D_REENTRANT -DDEBUG -Wall
 
 PTH != $(ECHO) `pth-config --cflags`
 MYSQL != $(ECHO) `mysql_config --cflags`
index f4558ad..1463e0b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makedefs.sh,v 1.1 2002/12/11 10:12:35 mmondor Exp $
+# $Id: makedefs.sh,v 1.2 2003/07/17 09:13:00 mmondor Exp $
 
 CC='gcc'
 AR='ar qS'
@@ -7,7 +7,7 @@ RM='rm -f'
 SED='sed'
 ECHO='echo'
 
-CFLAGS="$CFLAGS -D_REENTRANT -Wall"
+CFLAGS="$CFLAGS -D_REENTRANT -DDEBUG -Wall"
 STDINC='-I/usr/local/include -I/usr/include -I/usr/pkg/include -I.'
 STDLIB='-L/usr/local/lib -L/usr/lib -L/lib -L/usr/pkg/lib'
 
index 0e65dd9..cc583d2 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: mmfd.3,v 1.3 2003/01/01 17:12:32 mmondor Exp $
+.\" $Id: mmfd.3,v 1.4 2003/07/17 09:13:00 mmondor Exp $
 .\"
 .\" Copyright (C) 2002-2003, Matthew Mondor
 .\" All rights reserved.
@@ -30,7 +30,7 @@
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .Dd January 1, 2003
-.Os
+.Os mmsoftware
 .Dt MMFD 3
 .Sh NAME
 .Nm mmfd
@@ -44,9 +44,9 @@
 .Ft int
 .Fn fdcleartosend "fdfuncs *fdf" "int fd" "int ms"
 .Ft int
-.Fn fdputs "fdfuncs *fdf" "int fd" "char *buf"
+.Fn fdputs "fdfuncs *fdf" "int fd" "const char *buf"
 .Ft int
-.Fn fdprintf "fdfuncs *fdf" "int fd" "char *fmt" "..."
+.Fn fdprintf "fdfuncs *fdf" "int fd" "const char *fmt" "..."
 .Ft bool
 .Fn fdbcinit "fdfuncs *fdf" "fdbcontext *fdbc" "long rrate" "long wrate"
 .Ft void
@@ -89,9 +89,9 @@
 .Ft ssize_t
 .Fn fdbgets "fdbuf *fdb" "char *buf" "size_t max" "bool sevenbit"
 .Ft bool
-.Fn fdbputs "fdbuf *fdb" "char *str"
+.Fn fdbputs "fdbuf *fdb" "const char *str"
 .Ft bool
-.Fn fdbprintf "fdbuf *fdb" "char *fmt" "..."
+.Fn fdbprintf "fdbuf *fdb" "const char *fmt" "..."
 .Ft int
 .Fn fdbpoll "struct pollfdb *fdbs" "int num" "int timeout"
 .Ft int
index e5f45ce..a0c1aad 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmfd.c,v 1.8 2003/07/01 22:01:12 mmondor Exp $ */
+/* $Id: mmfd.c,v 1.9 2003/07/17 09:13:00 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -56,7 +56,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2000-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmfd.c,v 1.8 2003/07/01 22:01:12 mmondor Exp $");
+MMRCSID("$Id: mmfd.c,v 1.9 2003/07/17 09:13:00 mmondor Exp $");
 
 
 
@@ -134,7 +134,7 @@ fdcleartosend(fdfuncs *fdf, int fd, int ms)
 
 
 int
-fdputs(fdfuncs *fdf, int fd, char *buf)
+fdputs(fdfuncs *fdf, int fd, const char *buf)
 {
     int len = FDB_ERROR;
 
@@ -146,7 +146,7 @@ fdputs(fdfuncs *fdf, int fd, char *buf)
 
 
 int
-fdprintf(fdfuncs *fdf, int fd, char *fmt, ...)
+fdprintf(fdfuncs *fdf, int fd, const char *fmt, ...)
 {
     char buf[1024];
     va_list arg_ptr;
@@ -844,14 +844,14 @@ endfdbgets:
 
 
 bool
-fdbputs(fdbuf *fdb, char *buf)
+fdbputs(fdbuf *fdb, const char *buf)
 {
     return (fdbwrite(fdb, buf, mm_strlen(buf)));
 }
 
 
 bool
-fdbprintf(fdbuf *fdb, char *fmt, ...)
+fdbprintf(fdbuf *fdb, const char *fmt, ...)
 {
     char buf[1024];
     va_list arg_ptr;
index f9f5c46..66c8555 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmfd.h,v 1.7 2003/06/18 04:27:49 mmondor Exp $ */
+/* $Id: mmfd.h,v 1.8 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -187,8 +187,8 @@ extern const char *fdberrstrings[];
 u_int64_t microtime(void);
 int fddataready(fdfuncs *, int, int);
 int fdcleartosend(fdfuncs *, int, int);
-int fdputs(fdfuncs *, int, char *);
-int fdprintf(fdfuncs *, int, char *, ...);
+int fdputs(fdfuncs *, int, const char *);
+int fdprintf(fdfuncs *, int, const char *, ...);
 
 bool fdbcinit(fdfuncs *, fdbcontext *, long, long);
 void fdbcdestroy(fdbcontext *);
@@ -211,8 +211,8 @@ ssize_t fdbread(fdbuf *, void *, size_t);
 ssize_t fdbwrite(fdbuf *, const void *, size_t);
 ssize_t fdbgets(fdbuf *, char *, size_t, bool);
 
-bool fdbputs(fdbuf *, char *);
-bool fdbprintf(fdbuf *, char *, ...);
+bool fdbputs(fdbuf *, const char *);
+bool fdbprintf(fdbuf *, const char *, ...);
 int fdbpoll(struct pollfdb *, int, int);
 int fdbreadbuf(struct fdbrb_buffer **, fdbuf *, size_t, size_t, size_t,
               long, int (*)(char *, ssize_t *, int *, void *), void *,
index 6f3a534..b9e22d1 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmhash.c,v 1.8 2003/07/15 21:06:25 mmondor Exp $ */
+/* $Id: mmhash.c,v 1.9 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2003, Matthew Mondor
 
 
 #include <sys/types.h>
-#include <syslog.h>
 
 #include <mmhash.h>
+#include <mmlog.h>
+
 
 
 /* This system is safe to use 32-bit hashes internally, despite the possibility
@@ -109,9 +110,10 @@ bool hashtable_init(hashtable_t *t, unsigned int initialcapacity,
 
            return TRUE;
        } else
-           syslog(LOG_NOTICE, "hashtable_init() - Out of memory");
+           DPRINTF("hashtable_init()", "malloc(%d)",
+                   (int)sizeof(list_t) * initialcapacity);
     } else
-       syslog(LOG_NOTICE, "hashtable_init() - Table already initialized");
+       DPRINTF("hashtable_init()", "Table (%p) already initialized", t);
 
     return FALSE;
 }
@@ -141,8 +143,7 @@ void hashtable_destroy(hashtable_t *t, bool freeall)
        }
        t->magic = 0;
     } else
-       syslog(LOG_NOTICE,
-               "hashtable_destroy() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_destroy()", "Invalid hashtable_t pointer (%p)", t);
 }
 
 
@@ -165,8 +166,7 @@ hashnode_t *hashtable_find(hashtable_t *t, const void *key, size_t keysize)
            }
        }
     } else
-       syslog(LOG_NOTICE,
-               "hashtable_find() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_destroy()", "Invalid hashtable_t pointer (%p)", t);
 
     return k;
 }
@@ -181,13 +181,11 @@ bool hashtable_link(hashtable_t *t, hashnode_t *k, const void *key,
     bool ok = TRUE;
 
     if (!HASHTABLE_VALID(t)) {
-       syslog(LOG_NOTICE,
-               "hashtable_link() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_link()", "Invalid hashtable_t pointer (%p)", t);
        return FALSE;
     }
     if (k == NULL) {
-       syslog(LOG_NOTICE,
-               "hashtable_link() - Invalid hashnode_t pointer (NULL)");
+       DPRINTF("hashtable_link()", "Invalid hashnode_t pointer (NULL)");
        return FALSE;
     }
 
@@ -203,7 +201,7 @@ bool hashtable_link(hashtable_t *t, hashnode_t *k, const void *key,
        LIST_FOREACH(l, tk) {
            if (tk == k || (tk->hash == hash && tk->keysize == keysize &&
                        t->keycomp(tk->key, key, keysize) == 0)) {
-               syslog(LOG_NOTICE, "hashtable_link() - Duplicate key attempt");
+               DPRINTF("hashtable_link()", "Duplicate key insert attempt");
                ok = FALSE;
                break;
            }
@@ -252,11 +250,10 @@ void hashtable_unlink(hashtable_t *t, hashnode_t *k)
                    hashtable_rehash(t, t->capacity - exceeding);
            }
        } else
-           syslog(LOG_NOTICE,
-                   "hashtable_unlink() - Invalid hashnode_t pointer (%p)", k);
+           DPRINTF("hashtable_unlink()", "Invalid hashtnode_t pointer (%p)",
+                   k);
     } else
-       syslog(LOG_NOTICE,
-               "hashtable_unlink() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_unlink()", "Invalid hashtable_t pointer (%p)", t);
 }
 
 
@@ -291,8 +288,7 @@ void hashtable_empty(hashtable_t *t, bool freeall)
        if (t->dynamic && !t->iterating)
            hashtable_rehash(t, t->initial);
     } else
-       syslog(LOG_NOTICE,
-               "hashtable_empty() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_empty()", "Invalid hashtable_t pointer (%p)", t);
 }
 
 
@@ -325,8 +321,7 @@ void hashtable_iterate(hashtable_t *t,
            t->iterating = FALSE;
        }
     } else
-       syslog(LOG_NOTICE,
-               "hashtable_iterate() - Invalid hashtable_t pointer (%p)", t);
+       DPRINTF("hashtable_iterate()", "Invalid hashtable_t pointer (%p)", t);
 }
 
 
index 4e6aab7..8c85c86 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmlog.c,v 1.2 2003/01/01 14:54:10 mmondor Exp $ */
+/* $Id: mmlog.c,v 1.3 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmlog.c,v 1.2 2003/01/01 14:54:10 mmondor Exp $");
+MMRCSID("$Id: mmlog.c,v 1.3 2003/07/17 09:13:01 mmondor Exp $");
 
 
     
     
 void
-mmsyslog(int level, int loglevel, char *fmt, ...)
+mmsyslog(int level, int loglevel, const char *fmt, ...)
 {
     va_list lst;
     char buf[1024];
@@ -65,3 +65,18 @@ mmsyslog(int level, int loglevel, char *fmt, ...)
        syslog(LOG_NOTICE, "%s", buf);
     }
 }
+
+
+#ifdef DEBUG
+void
+mmdebug(const char *func, const char *fmt, ...)
+{
+    va_list lst;
+    char buf[1024];
+
+    va_start(lst, fmt);
+    vsnprintf(buf, 1023, fmt, lst);
+    va_end(lst);
+    syslog(LOG_NOTICE, "%s:%s:%d - %s", __FILE__, func, __LINE__, buf);
+}
+#endif
index a8a6d42..5f99391 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmlog.h,v 1.2 2003/01/01 14:54:10 mmondor Exp $ */
+/* $Id: mmlog.h,v 1.3 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -34,8 +34,8 @@
 
 
 
-#ifndef MMSYSLOG_H
-#define MMSYSLOG_H
+#ifndef MMLOG_H
+#define MMLOG_H
 
 
 
 
 
 
-void mmsyslog(int, int, char *, ...);
+/* So that debugging messages can use DPRINTF() and not be included when
+ * we don't need them.
+ */
+#ifdef DEBUG
+#define DPRINTF                        mmdebug
+#else
+#define DPRINTF(s, ...)
+#endif
+
+
+
+
+void mmsyslog(int, int, const char *, ...);
+void mmdebug(const char *, const char *, ...);
 
 
 
index 5c8a6d9..25d8af1 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmpath.c,v 1.5 2003/06/18 15:29:45 mmondor Exp $ */
+/* $Id: mmpath.c,v 1.6 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -52,6 +52,7 @@
 #include <mmpath.h>
 #include <mmfd.h>
 #include <mmstring.h>
+#include <mmlog.h>
 
 
 
@@ -64,7 +65,7 @@ static bool path_ls2(fdbuf *, const char *, const char *, const char *,
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmpath.c,v 1.5 2003/06/18 15:29:45 mmondor Exp $");
+MMRCSID("$Id: mmpath.c,v 1.6 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -450,7 +451,7 @@ path_ls2(fdbuf *fdb, const char *realfile, const char *filetext,
                                  (long)st.st_size, months[tm.tm_mon],
                                  tm.tm_mday, hy, filetext);
                } else
-                   syslog(LOG_NOTICE, "path_ls2() - gmtime_r()");
+                   DPRINTF("path_ls2()", "gmtime_r()");
            } else
                ret = fdbprintf(fdb, "%s\r\n", filetext);
        } else
@@ -458,7 +459,7 @@ path_ls2(fdbuf *fdb, const char *realfile, const char *filetext,
                    "path_ls2() - Special file or wrong owner: '%s'",
                   realfile);
     } else
-       syslog(LOG_NOTICE, "path_ls2() - lstat(%s)", realfile);
+       DPRINTF("path_ls2()", "lstat(%s)", realfile);
 
     return (ret);
 }
index c09bdb8..47efef7 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmpool.c,v 1.3 2003/07/15 21:06:25 mmondor Exp $ */
+/* $Id: mmpool.c,v 1.4 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2003, Matthew Mondor
 
 #include <sys/types.h>
 #include <stdlib.h>
-#include <syslog.h>
 
 #include <mmtypes.h>
 #include <mmstring.h>
 #include <mmlist.h>
 #include <mmpool.h>
+#include <mmlog.h>
 
 
 
 
 MMCOPYRIGHT("@(#) Copyright (c) 2001-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmpool.c,v 1.3 2003/07/15 21:06:25 mmondor Exp $");
+MMRCSID("$Id: mmpool.c,v 1.4 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -102,10 +102,10 @@ bool pool_init(pool_t *pool, void *(*mallocfunc)(size_t),
            ok = TRUE;
        else if (minpages < pool->minpages) {
            pool_destroy(pool);
-           syslog(LOG_NOTICE, "* pool_init() - Out of memory");
+           DPRINTF("pool_init()", "Out of memory");
        }
     } else
-       syslog(LOG_NOTICE, "* pool_init() - Invalid parameters");
+       DPRINTF("pool_init()", "Invalid parameters");
 
     return ok;
 }
@@ -131,7 +131,7 @@ bool pool_destroy(pool_t *pool)
        pool->magic = 0;
        ok = TRUE;
     } else
-       syslog(LOG_NOTICE, "- pool_destroy() - Invalid pool_t pointer");
+       DPRINTF("pool_destroy()", "Invalid pool_t pointer (%p)", pool);
 
     return ok;
 }
@@ -198,11 +198,11 @@ pnode_t *pool_alloc(pool_t *pool, bool zero)
                    pn->page = p;
                    pnode = pn;
                } else
-                   syslog(LOG_NOTICE, "* pool_alloc() - Out of memory");
+                   DPRINTF("pool_alloc()", "Out of memory");
            }
        }
     } else
-       syslog(LOG_NOTICE, "* pool_alloc() - Invalid pool_t pointer");
+       DPRINTF("pool_alloc()", "Invalid pool_t pointer (%p)", pool);
 
     return pnode;
 }
@@ -270,7 +270,7 @@ pnode_t *pool_free(pnode_t *pnode)
            }
        }
     } else
-       syslog(LOG_NOTICE, "* pool_free() - Invalid pnode_t pointer");
+       DPRINTF("pool_free()", "Invalid pnode_t pointer (%p)", pnode);
 
     return NULL;
 }
index f3c767e..1665ef1 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmserver.c,v 1.12 2003/07/15 21:06:25 mmondor Exp $ */
+/* $Id: mmserver.c,v 1.13 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
 #include <mmhash.h>
 #include <mmserver.h>
 #include <mmreadcfg.h>
+#include <mmlog.h>
 
 
 
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmserver.c,v 1.12 2003/07/15 21:06:25 mmondor Exp $");
+MMRCSID("$Id: mmserver.c,v 1.13 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -178,7 +179,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
 
     /* Used by resolve_hostname() */
     if (!mmstrinit(malloc, free, 16384)) {
-       syslog(LOG_NOTICE, "* mmserver() - mmstrinit()");
+       DPRINTF("tcp_server()", "mmstrinit()");
        closelog();
        exit(-1);
     }
@@ -197,7 +198,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
                clnode_keyhash, FALSE) ||
            ((clnode_thread = pth_spawn(clnode_threadattr,
                                clnode_expire_thread, &rateper)) == NULL)) {
-       syslog(LOG_NOTICE, "* mmserver() - Out of memory");
+       DPRINTF("tcp_server()", "Out of memory");
        closelog();
        mmstrexit();
        free(ifaces);
@@ -211,8 +212,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
 
            if ((setsockopt(tif->sock, SOL_SOCKET, SO_REUSEADDR, &i1,
                            sizeof(int))) == -1)
-               syslog(LOG_NOTICE,
-                       "* mmserver() - Error on setsockopt(%s:%d) - (%s)",
+               DPRINTF("tcp_server()", "Error on setsockopt(%s:%d) - (%s)",
                        tif->address_str, port, tif->hostname);
            mm_memclr(&server, sizeof(struct sockaddr_in));
            server.sin_family = AF_INET;
@@ -223,7 +223,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
                nifaces++;
            else {
                syslog(LOG_NOTICE,
-                       "* mmserver() - Error on bind(%s:%d) - (%s)",
+                       "tcp_server() - Error on bind(%s:%d) - (%s)",
                        tif->address_str, port, tif->hostname);
                close(tif->sock);
                tif->sock = -1;
@@ -237,8 +237,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
            for (tif = ifaces; *(tif->hostname); tif++) {
                if (tif->sock != -1) {
                    if ((listen(tif->sock, maxips * maxperip)) != 0) {
-                       syslog(LOG_NOTICE,
-                               "* mmserver() - listen(%s)", tif->hostname);
+                       DPRINTF("tcp_server()", "listen(%s)", tif->hostname);
                        close(tif->sock);
                        tif->sock = -1;
                        nifaces--;
@@ -249,12 +248,12 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
            }
        } else {
            syslog(LOG_NOTICE,
-                  "* mmserver() - Cannot change uid and gid to safe privs");
+                  "tcp_server() - Cannot change uid and gid to safe privs");
            ret = -1;
        }
     } else {
        syslog(LOG_NOTICE,
-               "* mmserver() - no interfaces (left) to listen to");
+               "tcp_server() - no interfaces (left) to listen to");
        ret = -1;
     }
 
@@ -274,7 +273,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
                }
            }
        } else {
-           syslog(LOG_NOTICE, "* mmserver() - Out of memory");
+           DPRINTF("tcp_server()", "Out of memory");
            ret = -1;
        }
     } else
@@ -331,8 +330,7 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
                                             client)->sin_addr.s_addr,
                                            sizeof(u_int32_t));
                                } else
-                                   syslog(LOG_NOTICE,
-                                           "* mmserver() - Out of memory");
+                                   DPRINTF("tcp_server()", "Out of memory");
                            } else
                                reason = MMS_ADDRESSES_EXCEEDED;
                        }
@@ -379,13 +377,11 @@ tcp_server(char *message, char *server_names, char *listen_ips, uid_t uid,
                                        pool_free((pnode_t *)phi);
                                        pth_mutex_release(&ppool_lock);
                                    }
-                                   syslog(LOG_NOTICE,
-                                           "* mmserver() - Error starting \
-thread to serve client");
+                                   DPRINTF("tcp_server()",
+                                           "Error launching thread");
                                }
                            } else
-                               syslog(LOG_NOTICE,
-                                       "* mmserver() - Out of memory");
+                               DPRINTF("tcp_server()", "Out of memory");
                        } else {
                            char ipaddr[20];
 
@@ -399,15 +395,14 @@ thread to serve client");
                            inet_ntop(AF_INET, &(sinaddr->sin_addr), ipaddr,
                                    19);
                            if (reason != MMS_NORMAL)
-                               syslog(LOG_NOTICE, "* mmserver() - [%s] - %s",
+                               syslog(LOG_NOTICE, "tcp_server() - [%s] - %s",
                                        ipaddr, MMS_RSTRING(reason));
                        }
 
                        pth_mutex_release(&ctable_lock);
 
                    } else
-                       syslog(LOG_NOTICE,
-                               "* mmserver() - Cannot accept connection");
+                       DPRINTF("tcp_server()", "pth_accept()");
                }
            }
        }
@@ -444,7 +439,7 @@ writepidfile(const char *file)
        write(fd, str, mm_strlen(str));
        close(fd);
     } else
-       syslog(LOG_NOTICE, "* writepidfile() - Can't open() file");
+       DPRINTF("writepidfile()", "open(%s)", file);
 }
 
 
@@ -488,7 +483,7 @@ make_daemon(const char *pidfile, const char *jail)
            if (jail && *jail) {
                if ((chroot(jail)) == -1) {
                    syslog(LOG_NOTICE,
-                           "make_daemon() - Could not chroot(2) to '%s'",
+                           "make_daemon() - Could not chroot(2) to '%s'",
                            jail);
                    exit(-1);
                }
@@ -572,7 +567,7 @@ parse_ifaces(char *hostnames, char *addresses)
                        *(ifaces[i + 1].hostname) = '\0';
                    } else {
                        syslog(LOG_NOTICE,
-                               "parse_ifaces() - Invalid address [%s]",
+                               "parse_ifaces() - Invalid address [%s]",
                                ips[i]);
                        free(ifaces);
                        ifaces = NULL;
@@ -582,7 +577,7 @@ parse_ifaces(char *hostnames, char *addresses)
            }
        } else
            syslog(LOG_NOTICE,
-           "parse_ifaces() - Number of hostnames and addresses mismatch");
+           "parse_ifaces() - Number of hostnames and addresses mismatch");
     }
 
     return (ifaces);
@@ -644,7 +639,7 @@ phandleclient(void *args)
 
        async_close_clenv(aclenv);
     } else
-       syslog(LOG_NOTICE, "* phandleclient() - async_open_clenv()");
+       DPRINTF("phandleclient()", "async_open_clenv()");
 
     /* Cleanup */
 
@@ -730,7 +725,7 @@ async_thread(void *args)
        pfds = (struct pollfd *)ptr;
     } else {
        /* Fatal error */
-       syslog(LOG_NOTICE, "* async_thread() - calloc()");
+       DPRINTF("async_thread()", "calloc(%d)", idx_size + pfd_size);
        pth_exit(NULL);
     }
     i = 0;
@@ -775,10 +770,10 @@ async_thread(void *args)
                    if ((pth_send(p->sock, m, len, 0)) == len)
                        LIST_UNLINK(freeprocs, (node_t *)p);
                    else
-                       syslog(LOG_NOTICE, "* async_thread() - send()");
+                       DPRINTF("async_thread()", "send(%d:%d)",
+                               p->sock, (int)len);
                } else
-                   syslog(LOG_NOTICE,
-                           "* async_thread() - Invalid function %u",
+                   DPRINTF("async_thread()", "Unknown function %u",
                            m->func_id);
                LIST_UNLINK(&queue, (node_t *)m);
            }
@@ -795,7 +790,7 @@ async_thread(void *args)
               for (i = 0; selr > 0 && i < nfds; i++) {
                   if (pfds[i].revents & POLLERR) {
                       /* If this happens something is really wrong, exit */
-                      syslog(LOG_NOTICE, "async_thread() - POLLERR(%d)",
+                      syslog(LOG_NOTICE, "async_thread() - POLLERR(%d)",
                               pfds[i].fd);
                       kill(0, SIGTERM);
                       for (;;)
@@ -813,8 +808,8 @@ async_thread(void *args)
                       if ((len = pth_recv(fd, e->msg, async->msg_len,
                                       MSG_WAITALL)) <
                               sizeof(struct async_msg))
-                          syslog(LOG_NOTICE, "* async_thread() - recv(%d)",
-                                  fd);
+                          DPRINTF("async_thread()", "recv(%d:%d)",
+                                  fd, (int)async->msg_len);
                       pth_msgport_reply(&(e->msg->msg));
                       LIST_APPEND(freeprocs, (node_t *)p);
                       selr--;
@@ -886,14 +881,14 @@ async_init(struct async_func *funcs, int procs, uid_t uid, gid_t *gids,
            LIST_INIT(&async->freeprocs);
            res = TRUE;
        } else
-           syslog(LOG_NOTICE, "* async_init() - pool_init(freeprocs_pool)");
+           DPRINTF("async_init()", "pool_init(freeprocs_pool)");
     } else
-       syslog(LOG_NOTICE, "* async_init() - calloc()");
+       DPRINTF("async_init()", "calloc(%d)", env_len + funcs_len + msg_len);
 
     if (res) {
        /* Start async slave processes */
        if (!spawn_async_procs(uid, gids, ngids, msg_len)) {
-           syslog(LOG_NOTICE, "* async_init() - spawn_async_procs()");
+           DPRINTF("async_init()", "spawn_async_procs()");
            res = FALSE;
        }
     }
@@ -929,7 +924,7 @@ async_init_pth(void)
        env_len = (size_t)OALIGN_CEIL(sizeof(struct async_clenv), long);
        if (!pool_init(&async->apool, malloc, free, env_len + async->msg_len,
                    16384 / (env_len + async->msg_len), 0, 0)) {
-           syslog(LOG_NOTICE, "* async_init_pth() - pool_init(apool)");
+           DPRINTF("async_init_pth()", "pool_init(apool)");
            res = FALSE;
        }
 
@@ -947,10 +942,9 @@ async_init_pth(void)
                            res = TRUE;
                        pth_attr_destroy(attrs);
                    } else
-                       syslog(LOG_NOTICE, "* async_init_pth() - pth_event()");
+                       DPRINTF("async_init_pth()", "pth_event()");
                } else
-                   syslog(LOG_NOTICE,
-                           "* async_init_pth() - pth_msgport_create()");
+                   DPRINTF("async_init_pth()", "pth_msgport_create()");
                pth_attr_destroy(attrs);
            }
        }
@@ -968,7 +962,7 @@ async_init_pth(void)
        }
 
     } else
-       syslog(LOG_NOTICE, "* async_init_pth() - Call async_init() first");
+       DPRINTF("async_init_pth()", "Call async_init() first");
 
     return (res);
 }
@@ -1009,7 +1003,8 @@ async_open_clenv(void)
            pth_mutex_release(&async->apool_lock);
        }
     } else
-       syslog(LOG_NOTICE, "* async_open_clenv() - Initialize first");
+       DPRINTF("async_open_clenv()",
+               "Call async_init() and async_init_pth() first");
 
     return (NULL);
 }
@@ -1104,8 +1099,7 @@ spawn_async_procs(uid_t uid, gid_t *gids, int ngids, size_t msg_len)
                            sizeof(int)) == -1 ||
                        setsockopt(s[1], SOL_SOCKET, SO_RCVBUF, &opt,
                            sizeof(int)) == -1)
-                   syslog(LOG_NOTICE,
-                       "* spawn_async_proc() - setsockopt(SO_*BUF)");
+                   DPRINTF("spawn_async_proc()", "setsockopt(SO_*BUF)");
 
                aproc->sock = s[0];
                /* Create new process */
@@ -1125,18 +1119,17 @@ spawn_async_procs(uid_t uid, gid_t *gids, int ngids, size_t msg_len)
                        }
                        async_proc_main(s[1]);
                    } else
-                       syslog(LOG_NOTICE,
-                               "* spawn_async_procs() - mmdropprivs()");
+                       DPRINTF("spawn_async_procs()", "mmdropprivs()");
 
                } else if (aproc->pid == -1) {
                    pool_free((pnode_t *)aproc);
                    aproc = NULL;
-                   syslog(LOG_NOTICE, "* spawn_async_procs() - fork()");
+                   DPRINTF("spawn_async_procs()", "fork()");
                    close(s[0]);
                    close(s[1]);
                }
            } else
-               syslog(LOG_NOTICE, "* spawn_async_procs() - socketpair()");
+               DPRINTF("spawn_async_procs()", "socketpair()");
        }
        if (aproc) {
            close(s[1]);
@@ -1158,7 +1151,7 @@ async_proc_main(int sock)
     };
 
 #ifndef __GLIBC__
-           setproctitle("Asynchroneous server process");
+    setproctitle("Asynchroneous server process");
 #endif
 
     pfd[0].fd = sock;
@@ -1175,8 +1168,7 @@ async_proc_main(int sock)
                    /* This should not happen. If it does something really
                     * went wrong; Exit.
                     */
-                   syslog(LOG_NOTICE,
-                           "* async_proc_main(%d) - socket error!", sock);
+                   DPRINTF("async_proc_main()", "Socket error (%d)", sock);
                    kill(0, SIGTERM);
                    for (;;)
                        sleep(30);
@@ -1190,16 +1182,15 @@ async_proc_main(int sock)
                                len == async->funcs[func_id].msg_len) {
                            async->funcs[func_id].func(async->msg);
                            if ((send(sock, async->msg, len, 0)) != len)
-                               syslog(LOG_NOTICE,
-                                       "* async_proc_main(%d) - send()",
-                                       sock);
+                               DPRINTF("async_proc_main()", "send(%d:%d)",
+                                       sock, (int)len);
                        } else
-                           syslog(LOG_NOTICE,
-                                "* async_proc_main(%d) - Invalid function %u",
-                                sock, func_id);
+                           DPRINTF("async_proc_main()",
+                                   "Invalid function %u on socket %d",
+                                   func_id, sock);
                    } else
-                       syslog(LOG_NOTICE, "* async_proc_main(%d) - recv()",
-                               sock);
+                       DPRINTF("async_proc_main()", "recv(%d:%d)",
+                               sock, (int)async->msg_len);
                }
            }
        }
@@ -1218,7 +1209,7 @@ async_resolvehostname(struct async_msg *msg)
 
     if ((getnameinfo(saddr, sizeof(struct sockaddr_in), amsg->un.res.hostname,
                    255, NULL, 0, 0)) != 0) {
-       syslog(LOG_NOTICE, "* async_resolvehostname() - getnameinfo()");
+       DPRINTF("async_resolvehostname()", "getnameinfo()");
        mm_strcpy(amsg->un.res.hostname, "unknown");
     }
 }
@@ -1242,7 +1233,7 @@ resolve_hostname(struct async_clenv *aclenv, struct sockaddr *saddr)
        async_call(aclenv, ASYNC_RESOLVEHOSTNAME);
        mm_strncpy(tmp, amsg->un.res.hostname, 255);
     } else
-       syslog(LOG_NOTICE, "* resolve_hostname() - mmstralloc()");
+       DPRINTF("resolve_hostname()", "mmstralloc()");
 
     return (tmp);
 }
index 83b9598..906e6ea 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmsql.c,v 1.3 2003/01/08 20:57:46 mmondor Exp $ */
+/* $Id: mmsql.c,v 1.4 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -48,7 +48,6 @@
 #include <sys/file.h>
 #include <unistd.h>
 #include <fcntl.h>
-#include <syslog.h>
 #include <stdlib.h>
 #include <stdio.h>
 
 #include <mmtypes.h>
 #include <mmstring.h>
 #include <mmsql.h>
+#include <mmlog.h>
 
 
 
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmsql.c,v 1.3 2003/01/08 20:57:46 mmondor Exp $");
+MMRCSID("$Id: mmsql.c,v 1.4 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -106,12 +106,11 @@ mmsql_exit(void)
 
 
 bool
-mmsql_open(char *host, char *user, char *pw, char *db)
+mmsql_open(const char *host, const char *user, const char *pw, const char *db)
 {
     if (mysql != NULL) {
        mmsql_close();
-       syslog(LOG_NOTICE,
-               "* Beware: mmsql_open() again before mmsql_close()");
+       DPRINTF("mmsql_open()", "Called again before mmsql_close()");
     }
 
     if ((mysql = mysql_init(NULL)) != NULL) {
@@ -119,10 +118,10 @@ mmsql_open(char *host, char *user, char *pw, char *db)
                != NULL)
            return (TRUE);
        else
-           syslog(LOG_NOTICE, "* mysql_real_connect()");
+           DPRINTF("mmsql_open()", "mysql_real_connect()");
        mysql_close(mysql);
     } else
-       syslog(LOG_NOTICE, "* mysql_init()");
+       DPRINTF("mmsql_open()", "mysql_init()");
 
     return (FALSE);
 }
@@ -134,7 +133,8 @@ mmsql_close(void)
     if (mysql != NULL) {
        mysql_close(mysql);
        mysql = NULL;
-    }
+    } else
+       DPRINTF("mmsql_close()", "Called before mmsql_open()");
 }
 
 
@@ -142,7 +142,7 @@ mmsql_close(void)
  * functions until it calls mmsql_unlock()
  */
 void
-mmsql_glock(char *name)
+mmsql_glock(const char *name)
 {
     MYSQL_RES *mysqlres;
     MYSQL_ROW *row;
@@ -165,18 +165,17 @@ mmsql_glock(char *name)
                        res = atoi(line);
                    }
                } else
-                   syslog(LOG_NOTICE,
-                          "* mysql_num_fields() - mmsql_glock()");
+                   DPRINTF("mmsql_glock()", "mysql_num_fields()");
            } else
-               syslog(LOG_NOTICE,
-                      "* mysql_num/fetch_row(s)() - mmsql_glock()");
+               DPRINTF("mmsql_glock()",
+                       "mysql_num_rows()/mysql_fetch_rows()");
 
            mysqlres = mmsql_free_result(mysqlres);
        } else
-           syslog(LOG_NOTICE, "* mmsql_query() - mmsql_glock()");
+           DPRINTF("mmsql_glock()", "mmsql_query()");
 
        if (res == 1) break;
-       syslog(LOG_NOTICE, "* GET_LOCK(%s) - mmsql_glock()", name);
+       DPRINTF("mmsql_glock()", "GET_LOCK(%s)", name);
 
        /* Make sure to not loop taking 100% CPU time, and to
         * eventually exit loop, the SQL server seens down so
@@ -192,7 +191,7 @@ mmsql_glock(char *name)
  * the mmsql functions again, using this function.
  */
 void
-mmsql_gunlock(char *name)
+mmsql_gunlock(const char *name)
 {
     MYSQL_RES *mysqlres;
     MYSQL_ROW *row;
@@ -211,20 +210,16 @@ mmsql_gunlock(char *name)
                    mm_memcpy(line, row[0], lengths[0]);
                    line[lengths[0]] = 0;
                    if ((atoi(line)) != 1)
-                       syslog(LOG_NOTICE,
-                               "* RELEASE_LOCK(%s) - mmsql_gunlock()",
-                               name);
+                       DPRINTF("mmsql_gunlock()", "RELEASE_LOCK(%s)", name);
                }
            } else
-               syslog(LOG_NOTICE,
-                      "* mysql_num_fields() - mmsql_gunlock()");
+               DPRINTF("mmsql_gunlock()", "mysql_num_fields()");
        } else
-           syslog(LOG_NOTICE,
-                  "* mysql_num/fetch_row(s)() - mmsql_gunlock()");
+           DPRINTF("mmsql_gunlock()", "mysql_num_row()/mysql_fetch_rows()");
 
        mysqlres = mmsql_free_result(mysqlres);
     } else
-       syslog(LOG_NOTICE, "* mmsql_query() - mmsql_gunlock()");
+       DPRINTF("mmsql_gunlock()", "mmsql_query()");
 }
 
 
@@ -235,7 +230,7 @@ mmsql_ping(void)
     int res;
 
     if ((res = mysql_ping(mysql)))
-       syslog(LOG_NOTICE, "* mysql_ping() - (%s)", mysql_error(mysql));
+       DPRINTF("mmsql_ping()", "mysql_ping() - (%s)", mysql_error(mysql));
 }
 
 
@@ -243,7 +238,7 @@ mmsql_ping(void)
  * mysql_free_results() should be called on the pointer it returns.
  */
 MYSQL_RES *
-mmsql_query(char *query, long len)
+mmsql_query(const char *query, long len)
 {
     MYSQL_RES *mysqlres = NULL;
     int res;
@@ -260,11 +255,10 @@ mmsql_query(char *query, long len)
 
     if (!(res = mysql_real_query(mysql, query, len))) {
        if ((mysqlres = mysql_store_result(mysql)) == NULL)
-           syslog(LOG_NOTICE, "* mysql_store_result()");
+           DPRINTF("mmsql_query()", "mysql_store_result()");
     } else
-       syslog(LOG_NOTICE,
-              "* mysql_real_query() - mmsql_query() - (%s)",
-              mysql_error(mysql));
+       DPRINTF("mysql_real_query()", "mysql_real_query() - (%s)",
+               mysql_error(mysql));
 
     if (mmsql_lock)
        thrfuncs.mutex_unlock(mmsql_lock);
@@ -286,7 +280,7 @@ mmsql_free_result(MYSQL_RES *mysqlres)
  * are expected except error condition.
  */
 bool
-mmsql_command(char *query, long len)
+mmsql_command(const char *query, long len)
 {
     bool res = TRUE;
     int res2;
@@ -298,9 +292,8 @@ mmsql_command(char *query, long len)
     mmsql_ping();
 
     if ((res2 = mysql_real_query(mysql, query, len))) {
-       syslog(LOG_NOTICE,
-              "* mmsql_command() - mysql_real_query() - (%s)",
-              mysql_error(mysql));
+       DPRINTF("mmsql_command()", "mysql_real_query() - (%s)",
+               mysql_error(mysql));
        res = FALSE;
     }
 
index 4e143fd..7c3a365 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmsql.h,v 1.3 2003/01/08 20:57:46 mmondor Exp $ */
+/* $Id: mmsql.h,v 1.4 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2000-2003, Matthew Mondor
@@ -68,14 +68,14 @@ struct mmsql_threadsupport {
 
 bool mmsql_init(struct mmsql_threadsupport *);
 void mmsql_exit(void);
-bool mmsql_open(char *, char *, char *, char *);
+bool mmsql_open(const char *, const char *, const char *, const char *);
 void mmsql_close(void);
-void mmsql_glock(char *);
-void mmsql_gunlock(char *);
+void mmsql_glock(const char *);
+void mmsql_gunlock(const char *);
 void mmsql_ping(void);
-MYSQL_RES *mmsql_query(char *, long);
+MYSQL_RES *mmsql_query(const char *, long);
 MYSQL_RES *mmsql_free_result(MYSQL_RES *);
-bool mmsql_command(char *, long);
+bool mmsql_command(const char *, long);
 
 
 
index 6914aa0..9cf2cce 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmstat.c,v 1.9 2003/07/11 08:39:44 mmondor Exp $ */
+/* $Id: mmstat.c,v 1.10 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2002-2003, Matthew Mondor
 #include <unistd.h>
 #include <stdio.h>
 #include <stdarg.h>
-#include <syslog.h>
 #include <errno.h>
 
 #include <mmtypes.h>
 #include <mmstat.h>
 #include <mmreadcfg.h>
 #include <mmstring.h>
+#include <mmlog.h>
 
 
 
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmstat.c,v 1.9 2003/07/11 08:39:44 mmondor Exp $");
+MMRCSID("$Id: mmstat.c,v 1.10 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -131,8 +131,7 @@ mmstat(mmstat_t *mms, enum stat_type type, int64_t value, const char *fmt, ...)
            else if (type == STAT_RESET) entry->un.reset.value = value;
            ok = TRUE;
        } else
-           syslog(LOG_NOTICE,
-                   "mmstat() - Exceeded number of entries in transaction");
+           DPRINTF("mmstat()", "Exceeded number of entries in transaction");
     }
     if (ok && !mms->transaction) {
        /* Not in transaction mode, flush packet to mmstatd immediately */
@@ -292,15 +291,16 @@ i_mmstat_send(struct log_entry *entries, int len)
                ok = TRUE;
            else {
                if (errno == EMSGSIZE)
-                   syslog(LOG_NOTICE,
-                           "mmstat - Your kernel has a broken setsockopt(2)");
+                   DPRINTF("i_mmstat_send()",
+                           "Your kernel has a broken setsockopt(2)");
                close(lsock);
                lsock = -1;
            }
        }
        if (!ok) {
            /* Attempt to re-establish connection to mmstatd(8) */
-           syslog(LOG_NOTICE, "mmstat - Re-establishing lost connection");
+           DPRINTF("i_mmstat_send()",
+                   "Re-establishing lost connection to mmstatd(8)");
            if (!mmstat_initialize())
                break;
        }
@@ -366,8 +366,7 @@ mmstat_initialize(void)
                        1024);
                if (setsockopt(lsock, SOL_SOCKET, SO_SNDBUF, &opt, sizeof(int))
                        == -1)
-                   syslog(LOG_NOTICE,
-                           "mmstat_initialize() - setsockopt(SO_SNDBUF)");
+                   DPRINTF("mmstat_initialize()", "setsockopt(SO_SNDBUF)");
 
                mm_memclr(&laddr, sizeof(struct sockaddr_un));
                mm_strncpy(laddr.sun_path, CONF.LOG_SOCKET, 100);
@@ -376,18 +375,17 @@ mmstat_initialize(void)
                                sizeof(struct sockaddr_un))) == -1) {
                    close(lsock);
                    lsock = -1;
-                   syslog(LOG_NOTICE, "mmstat_initialize() - connect(%s)",
+                   DPRINTF("mmstat_initialize()", "connect(%s)",
                            CONF.LOG_SOCKET);
                }
            } else
-               syslog(LOG_NOTICE, "mmstat_initialize() - socket()");
+               DPRINTF("mmstat_initialize()", "socket()");
            if (lsock != -1)
                ok = TRUE;
        } else
            ok = TRUE;
     } else
-       syslog(LOG_NOTICE,
-              "mmstat_initialize() - mmreadcfg(/etc/mmstatd.conf)");
+       DPRINTF("mmstat_initialize()", "mmreadcfg(%s)", conf_file);
 
     mmstat_initialized = ok;
     return (ok);
index 9998a94..5318646 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmsmtpd.c,v 1.26 2003/07/15 21:06:25 mmondor Exp $ */
+/* $Id: mmsmtpd.c,v 1.27 2003/07/17 09:13:01 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2003, Matthew Mondor
@@ -76,7 +76,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2002-2003\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmsmtpd.c,v 1.26 2003/07/15 21:06:25 mmondor Exp $");
+MMRCSID("$Id: mmsmtpd.c,v 1.27 2003/07/17 09:13:01 mmondor Exp $");
 
 
 
@@ -1488,7 +1488,9 @@ mail_created,mail_size,mail_data) VALUES('%s',NOW(),%ld,'", rnode->address,
                 * required for safety between the two queries which have
                 * to be performed within a single transaction. See
                 * mmlib/mmsql.c for implementation details; Currently uses
-                * MySQL GET_LOCK() and RELEASE_LOCK().
+                * MySQL GET_LOCK() and RELEASE_LOCK(), which contrary to
+                * table locking will permit to only cause the current thread
+                * to sleep rather than the whole process in this case.
                 */
                mmsql_glock("mmmail_boxmail");
                if (!mmsql_command(tmp, qlen + len)) {