On Tue, May 15, 2018 at 10:58:10AM +0200, Sebastian Benoit wrote:
> Reyk Floeter([email protected]) on 2018.05.15 09:40:27 +0200:
> > On Mon, May 14, 2018 at 12:45:18PM +0200, Reyk Floeter wrote:
> > > Hi,
> > > 
> > > the following patch updates ldapd to use log.c from vmd/relayd/etc.
> > > 
> > > Notes:
> > > 
> > > - This log.c uses format attributes that helped to fix some format
> > > errors and two actual bugs:
> > >    - There was a missing argument in a log_warn in namespace.c
> > >    - the ldape child never inherited the log level correctly (-vv)
> > > 
> > > - This change removes the timestamp from log_debug() - we usually don't
> > > do that and you can still prepend a timestamp by piping it through an
> > > additional tool if you're using a foreground process supervisor (such
> > > as daemontool's multilog TAI).
> > > 
> > > - The BER dump and hexdump are only printed with loglevel > 2
> > > (logmsg.c).  Without this patch, this code was never used as the
> > > parent only passed a single -v to the exec'ed ldape child.
> > > 
> > > OK?
> > > 
> > 
> > While here, fix an old typo in the namespace.c bit: alreay -> already
> > (pointed out by Aaron Miller).
> > 
> > OK?  Anyone?
> 
> looks good, ok benno@

looks ok to me too.

>  
> > Reyk
> > 
> > Index: usr.sbin/ldapd/conn.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/conn.c,v
> > retrieving revision 1.15
> > diff -u -p -u -p -r1.15 conn.c
> > --- usr.sbin/ldapd/conn.c   8 Feb 2018 18:02:06 -0000       1.15
> > +++ usr.sbin/ldapd/conn.c   15 May 2018 07:34:04 -0000
> > @@ -132,7 +132,7 @@ request_dispatch(struct request *req)
> >     }
> >  
> >     if (requests[i].fn == NULL) {
> > -           log_warnx("unhandled request %d (not implemented)", req->type);
> > +           log_warnx("unhandled request %lu (not implemented)", req->type);
> >             ldap_respond(req, LDAP_PROTOCOL_ERROR);
> >     }
> >  }
> > @@ -166,7 +166,7 @@ conn_dispatch(struct conn *conn)
> >             request_free(req);
> >             return -1;
> >     }
> > -   log_debug("consumed %d bytes", conn->ber.br_rptr - rptr);
> > +   log_debug("consumed %ld bytes", conn->ber.br_rptr - rptr);
> >  
> >     /* Read message id and request type.
> >      */
> > @@ -183,7 +183,7 @@ conn_dispatch(struct conn *conn)
> >     ldap_debug_elements(req->root, req->type,
> >         "received request on fd %d", conn->fd);
> >  
> > -   log_debug("got request type %d, id %lld", req->type, req->msgid);
> > +   log_debug("got request type %lu, id %lld", req->type, req->msgid);
> >     request_dispatch(req);
> >     return 0;
> >  }
> > Index: usr.sbin/ldapd/control.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/control.c,v
> > retrieving revision 1.15
> > diff -u -p -u -p -r1.15 control.c
> > --- usr.sbin/ldapd/control.c        20 Jan 2017 11:55:08 -0000      1.15
> > +++ usr.sbin/ldapd/control.c        15 May 2018 07:34:04 -0000
> > @@ -261,7 +261,7 @@ control_imsgev(struct imsgev *iev, int c
> >             imsgev_compose(iev_ldapd, IMSG_CTL_LOG_VERBOSE, 0, 0, -1,
> >                 &verbose, sizeof(verbose));
> >  
> > -           log_verbose(verbose);
> > +           log_setverbose(verbose);
> >             break;
> >     default:
> >             log_warnx("%s: unexpected imsg %d", __func__, imsg->hdr.type);
> > Index: usr.sbin/ldapd/filter.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/filter.c,v
> > retrieving revision 1.4
> > diff -u -p -u -p -r1.4 filter.c
> > --- usr.sbin/ldapd/filter.c 20 Jan 2017 11:55:08 -0000      1.4
> > +++ usr.sbin/ldapd/filter.c 15 May 2018 07:34:04 -0000
> > @@ -101,7 +101,7 @@ ldap_filt_subs_value(struct ber_element 
> >                             return 1; /* no match */
> >                     break;
> >             default:
> > -                   log_warnx("invalid subfilter type %d", type);
> > +                   log_warnx("invalid subfilter type %lu", type);
> >                     return -1;
> >             }
> >     }
> > Index: usr.sbin/ldapd/ldapd.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/ldapd.c,v
> > retrieving revision 1.23
> > diff -u -p -u -p -r1.23 ldapd.c
> > --- usr.sbin/ldapd/ldapd.c  1 Mar 2017 00:50:12 -0000       1.23
> > +++ usr.sbin/ldapd/ldapd.c  15 May 2018 07:34:05 -0000
> > @@ -36,6 +36,7 @@
> >  #include <string.h>
> >  #include <time.h>
> >  #include <unistd.h>
> > +#include <syslog.h>
> >  
> >  #include "ldapd.h"
> >  #include "log.h"
> > @@ -123,7 +124,7 @@ main(int argc, char *argv[])
> >     struct event             ev_sighup;
> >     struct stat              sb;
> >  
> > -   log_init(1);            /* log to stderr until daemonized */
> > +   log_init(1, LOG_DAEMON);        /* log to stderr until daemonized */
> >  
> >     saved_argv0 = argv[0];
> >     if (saved_argv0 == NULL)
> > @@ -180,7 +181,7 @@ main(int argc, char *argv[])
> >     if (getpwnam(LDAPD_USER) == NULL)
> >             errx(1, "unknown user %s", LDAPD_USER);
> >  
> > -   log_verbose(verbose);
> > +   log_setverbose(verbose);
> >     stats.started_at = time(0);
> >     tls_init();
> >  
> > @@ -192,6 +193,8 @@ main(int argc, char *argv[])
> >             exit(0);
> >     }
> >  
> > +   log_init(debug, LOG_DAEMON);
> > +
> >     if (eflag)
> >             ldape(debug, verbose, csockpath);
> >  
> > @@ -205,7 +208,6 @@ main(int argc, char *argv[])
> >                     err(1, "failed to daemonize");
> >     }
> >  
> > -   log_init(debug);
> >     log_info("startup");
> >  
> >     if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK,
> > @@ -215,6 +217,7 @@ main(int argc, char *argv[])
> >     ldape_pid = start_child(PROC_LDAP_SERVER, saved_argv0,
> >         pipe_parent2ldap[1], debug, verbose, csockpath, conffile);
> >  
> > +   ldap_loginit("auth", debug, verbose);
> >     setproctitle("auth");
> >     event_init();
> >  
> > @@ -374,7 +377,7 @@ ldapd_log_verbose(struct imsg *imsg)
> >             fatal("invalid size of log verbose request");
> >  
> >     bcopy(imsg->data, &verbose, sizeof(verbose));
> > -   log_verbose(verbose);
> > +   log_setverbose(verbose);
> >  }
> >  
> >  static void
> > @@ -439,7 +442,11 @@ start_child(enum ldapd_process p, char *
> >     }
> >     if (debug)
> >             argv[argc++] = "-d";
> > -   if (verbose)
> > +   if (verbose >= 3)
> > +           argv[argc++] = "-vvv";
> > +   else if (verbose == 2)
> > +           argv[argc++] = "-vv";
> > +   else if (verbose == 1)
> >             argv[argc++] = "-v";
> >     if (csockpath) {
> >             argv[argc++] = "-s";
> > Index: usr.sbin/ldapd/ldapd.h
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/ldapd.h,v
> > retrieving revision 1.29
> > diff -u -p -u -p -r1.29 ldapd.h
> > --- usr.sbin/ldapd/ldapd.h  14 May 2018 07:53:47 -0000      1.29
> > +++ usr.sbin/ldapd/ldapd.h  15 May 2018 07:34:05 -0000
> > @@ -471,6 +471,7 @@ SPLAY_PROTOTYPE(ssltree, ssl, ssl_nodes,
> >  
> >  
> >  /* logmsg.c */
> > +void                        ldap_loginit(const char *, int, int);
> >  const char         *print_host(struct sockaddr_storage *ss, char *buf,
> >                             size_t len);
> >  void                        hexdump(void *data, size_t len, const char 
> > *fmt, ...);
> > Index: usr.sbin/ldapd/ldape.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/ldape.c,v
> > retrieving revision 1.26
> > diff -u -p -u -p -r1.26 ldape.c
> > --- usr.sbin/ldapd/ldape.c  24 Feb 2017 14:28:31 -0000      1.26
> > +++ usr.sbin/ldapd/ldape.c  15 May 2018 07:34:05 -0000
> > @@ -76,7 +76,7 @@ send_ldap_extended_response(struct conn 
> >     struct ber_element      *root, *elm;
> >     void                    *buf;
> >  
> > -   log_debug("sending response %u with result %lld", type, result_code);
> > +   log_debug("sending response %lu with result %lld", type, result_code);
> >  
> >     if ((root = ber_add_sequence(NULL)) == NULL)
> >             goto fail;
> > @@ -133,7 +133,7 @@ ldap_refer(struct request *req, const ch
> >                     scope_str = "sub";
> >     }
> >  
> > -   log_debug("sending referral in response %u on msgid %lld",
> > +   log_debug("sending referral in response %lu on msgid %lld",
> >         type, req->msgid);
> >  
> >     if ((root = ber_add_sequence(NULL)) == NULL)
> > @@ -346,11 +346,9 @@ ldape(int debug, int verbose, char *csoc
> >     char                     host[128];
> >     mode_t                  old_umask = 0;
> >     
> > -   log_init(debug);
> > -   log_verbose(verbose);
> > -
> >     TAILQ_INIT(&conn_list);
> >  
> > +   ldap_loginit("ldap server", debug, verbose);
> >     setproctitle("ldap server");
> >     event_init();
> >  
> > @@ -443,7 +441,7 @@ ldape(int debug, int verbose, char *csoc
> >  
> >     TAILQ_FOREACH(ns, &conf->namespaces, next) {
> >             if (!namespace_has_referrals(ns) && namespace_open(ns) != 0)
> > -                   fatal(ns->suffix);
> > +                   fatal("%s", ns->suffix);
> >     }
> >  
> >     if ((pw = getpwnam(LDAPD_USER)) == NULL)
> > Index: usr.sbin/ldapd/log.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/log.c,v
> > retrieving revision 1.8
> > diff -u -p -u -p -r1.8 log.c
> > --- usr.sbin/ldapd/log.c    21 Mar 2017 12:06:55 -0000      1.8
> > +++ usr.sbin/ldapd/log.c    15 May 2018 07:34:05 -0000
> > @@ -1,4 +1,4 @@
> > -/* $OpenBSD: log.c,v 1.8 2017/03/21 12:06:55 bluhm Exp $   */
> > +/* $OpenBSD: log.c,v 1.8 2017/03/21 12:06:56 bluhm Exp $   */
> >  
> >  /*
> >   * Copyright (c) 2003, 2004 Henning Brauer <[email protected]>
> > @@ -16,40 +16,73 @@
> >   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> >   */
> >  
> > -#include <sys/time.h>
> > -#include <errno.h>
> > -#include <stdarg.h>
> >  #include <stdio.h>
> >  #include <stdlib.h>
> > +#include <stdarg.h>
> >  #include <string.h>
> >  #include <syslog.h>
> > +#include <errno.h>
> >  #include <time.h>
> > -#include <unistd.h>
> > -
> > -#include "log.h"
> >  
> > -int                 debug;
> > -int                 verbose;
> > +static int  debug;
> > +static int  verbose;
> > +const char *log_procname;
> > +
> > +void       log_init(int, int);
> > +void       log_procinit(const char *);
> > +void       log_setverbose(int);
> > +int        log_getverbose(void);
> > +void       log_warn(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_warnx(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_info(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_debug(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       logit(int, const char *, ...)
> > +       __attribute__((__format__ (printf, 2, 3)));
> > +void       vlog(int, const char *, va_list)
> > +       __attribute__((__format__ (printf, 2, 0)));
> > +__dead void fatal(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +__dead void fatalx(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> >  
> >  void
> > -log_init(int n_debug)
> > +log_init(int n_debug, int facility)
> >  {
> >     extern char     *__progname;
> >  
> >     debug = n_debug;
> > +   verbose = n_debug;
> > +   log_procinit(__progname);
> >  
> >     if (!debug)
> > -           openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
> > +           openlog(__progname, LOG_PID | LOG_NDELAY, facility);
> >  
> >     tzset();
> >  }
> >  
> >  void
> > -log_verbose(int v)
> > +log_procinit(const char *procname)
> > +{
> > +   if (procname != NULL)
> > +           log_procname = procname;
> > +}
> > +
> > +void
> > +log_setverbose(int v)
> >  {
> >     verbose = v;
> >  }
> >  
> > +int
> > +log_getverbose(void)
> > +{
> > +   return (verbose);
> > +}
> > +
> >  void
> >  logit(int pri, const char *fmt, ...)
> >  {
> > @@ -63,23 +96,10 @@ logit(int pri, const char *fmt, ...)
> >  void
> >  vlog(int pri, const char *fmt, va_list ap)
> >  {
> > -   char             datebuf[24];
> > -   struct timeval   tv;
> > -   struct tm       *tm;
> > -   char            *nfmt;
> > -   size_t           rc;
> > -   time_t           now;
> > +   char    *nfmt;
> > +   int      saved_errno = errno;
> >  
> >     if (debug) {
> > -           gettimeofday(&tv, NULL);
> > -           now = tv.tv_sec;
> > -           tm = localtime(&now);
> > -           rc = strftime(datebuf, sizeof(datebuf), "%b %e %H:%M:%S", tm);
> > -           if (rc == 0)
> > -                   datebuf[0] = 0;
> > -           fprintf(stderr, "%s.%03ld [%d] ", datebuf,
> > -               tv.tv_usec / 1000, getpid());
> > -
> >             /* best effort in out of mem situations */
> >             if (asprintf(&nfmt, "%s\n", fmt) == -1) {
> >                     vfprintf(stderr, fmt, ap);
> > @@ -91,30 +111,36 @@ vlog(int pri, const char *fmt, va_list a
> >             fflush(stderr);
> >     } else
> >             vsyslog(pri, fmt, ap);
> > +
> > +   errno = saved_errno;
> >  }
> >  
> >  void
> >  log_warn(const char *emsg, ...)
> >  {
> > -   char    *nfmt;
> > -   va_list  ap;
> > +   char            *nfmt;
> > +   va_list          ap;
> > +   int              saved_errno = errno;
> >  
> >     /* best effort to even work in out of memory situations */
> >     if (emsg == NULL)
> > -           logit(LOG_ERR, "%s", strerror(errno));
> > +           logit(LOG_ERR, "%s", strerror(saved_errno));
> >     else {
> >             va_start(ap, emsg);
> >  
> > -           if (asprintf(&nfmt, "%s: %s", emsg, strerror(errno)) == -1) {
> > +           if (asprintf(&nfmt, "%s: %s", emsg,
> > +               strerror(saved_errno)) == -1) {
> >                     /* we tried it... */
> >                     vlog(LOG_ERR, emsg, ap);
> > -                   logit(LOG_ERR, "%s", strerror(errno));
> > +                   logit(LOG_ERR, "%s", strerror(saved_errno));
> >             } else {
> >                     vlog(LOG_ERR, nfmt, ap);
> >                     free(nfmt);
> >             }
> >             va_end(ap);
> >     }
> > +
> > +   errno = saved_errno;
> >  }
> >  
> >  void
> > @@ -142,31 +168,51 @@ log_debug(const char *emsg, ...)
> >  {
> >     va_list  ap;
> >  
> > -   if (verbose) {
> > +   if (verbose > 1) {
> >             va_start(ap, emsg);
> >             vlog(LOG_DEBUG, emsg, ap);
> >             va_end(ap);
> >     }
> >  }
> >  
> > -void
> > -fatal(const char *emsg)
> > +static void
> > +vfatalc(int code, const char *emsg, va_list ap)
> >  {
> > -   if (emsg == NULL)
> > -           logit(LOG_CRIT, "fatal: %s", strerror(errno));
> > +   static char     s[BUFSIZ];
> > +   const char      *sep;
> > +
> > +   if (emsg != NULL) {
> > +           (void)vsnprintf(s, sizeof(s), emsg, ap);
> > +           sep = ": ";
> > +   } else {
> > +           s[0] = '\0';
> > +           sep = "";
> > +   }
> > +   if (code)
> > +           logit(LOG_CRIT, "%s: %s%s%s",
> > +               log_procname, s, sep, strerror(code));
> >     else
> > -           if (errno)
> > -                   logit(LOG_CRIT, "fatal: %s: %s",
> > -                       emsg, strerror(errno));
> > -           else
> > -                   logit(LOG_CRIT, "fatal: %s", emsg);
> > +           logit(LOG_CRIT, "%s%s%s", log_procname, sep, s);
> > +}
> > +
> > +void
> > +fatal(const char *emsg, ...)
> > +{
> > +   va_list ap;
> >  
> > +   va_start(ap, emsg);
> > +   vfatalc(errno, emsg, ap);
> > +   va_end(ap);
> >     exit(1);
> >  }
> >  
> >  void
> > -fatalx(const char *emsg)
> > +fatalx(const char *emsg, ...)
> >  {
> > -   errno = 0;
> > -   fatal(emsg);
> > +   va_list ap;
> > +
> > +   va_start(ap, emsg);
> > +   vfatalc(0, emsg, ap);
> > +   va_end(ap);
> > +   exit(1);
> >  }
> > Index: usr.sbin/ldapd/log.h
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/log.h,v
> > retrieving revision 1.1
> > diff -u -p -u -p -r1.1 log.h
> > --- usr.sbin/ldapd/log.h    20 Jan 2017 11:55:08 -0000      1.1
> > +++ usr.sbin/ldapd/log.h    15 May 2018 07:34:05 -0000
> > @@ -19,13 +19,23 @@
> >  #include <stdarg.h>
> >  #include <sys/cdefs.h>
> >  
> > -void        log_init(int);
> > -void        log_verbose(int);
> > -void        logit(int, const char *, ...);
> > -void        vlog(int, const char *, va_list);
> > -void        log_warn(const char *, ...);
> > -void        log_warnx(const char *, ...);
> > -void        log_info(const char *, ...);
> > -void        log_debug(const char *, ...);
> > -void        fatal(const char *) __dead;
> > -void        fatalx(const char *) __dead;
> > +void       log_init(int, int);
> > +void       log_procinit(const char *);
> > +void       log_setverbose(int);
> > +int        log_getverbose(void);
> > +void       log_warn(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_warnx(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_info(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       log_debug(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +void       logit(int, const char *, ...)
> > +       __attribute__((__format__ (printf, 2, 3)));
> > +void       vlog(int, const char *, va_list)
> > +       __attribute__((__format__ (printf, 2, 0)));
> > +__dead void fatal(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > +__dead void fatalx(const char *, ...)
> > +       __attribute__((__format__ (printf, 1, 2)));
> > Index: usr.sbin/ldapd/logmsg.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/logmsg.c,v
> > retrieving revision 1.1
> > diff -u -p -u -p -r1.1 logmsg.c
> > --- usr.sbin/ldapd/logmsg.c 20 Jan 2017 11:55:08 -0000      1.1
> > +++ usr.sbin/ldapd/logmsg.c 15 May 2018 07:34:05 -0000
> > @@ -35,8 +35,16 @@
> >  #include "ldapd.h"
> >  #include "log.h"
> >  
> > -extern int debug;
> > -extern int verbose;
> > +static int debug;
> > +
> > +void
> > +ldap_loginit(const char *name, int d, int v)
> > +{
> > +   log_setverbose(v);
> > +   if (name != NULL)
> > +           log_procinit(name);
> > +   debug = d;
> > +}
> >  
> >  const char *
> >  print_host(struct sockaddr_storage *ss, char *buf, size_t len)
> > @@ -55,7 +63,7 @@ hexdump(void *data, size_t len, const ch
> >     uint8_t *p = data;
> >     va_list ap;
> >  
> > -   if (verbose < 2 || !debug)
> > +   if (log_getverbose() <= 2 || !debug)
> >             return;
> >  
> >     va_start(ap, fmt);
> > @@ -90,7 +98,7 @@ ldap_debug_elements(struct ber_element *
> >     int              constructed;
> >     struct ber_oid   o;
> >  
> > -   if (verbose < 2 || !debug)
> > +   if (log_getverbose() <= 2 || !debug)
> >             return;
> >  
> >     if (fmt != NULL) {
> > Index: usr.sbin/ldapd/namespace.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/namespace.c,v
> > retrieving revision 1.17
> > diff -u -p -u -p -r1.17 namespace.c
> > --- usr.sbin/ldapd/namespace.c      20 Jan 2017 11:55:08 -0000      1.17
> > +++ usr.sbin/ldapd/namespace.c      15 May 2018 07:34:05 -0000
> > @@ -472,7 +472,8 @@ int
> >  namespace_queue_request(struct namespace *ns, struct request *req)
> >  {
> >     if (ns->queued_requests > MAX_REQUEST_QUEUE) {
> > -           log_warn("%u requests alreay queued, sorry");
> > +           log_warn("%u requests already queued, sorry",
> > +               ns->queued_requests);
> >             return -1;
> >     }
> >  
> > Index: usr.sbin/ldapd/search.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/search.c,v
> > retrieving revision 1.19
> > diff -u -p -u -p -r1.19 search.c
> > --- usr.sbin/ldapd/search.c 14 May 2018 07:53:47 -0000      1.19
> > +++ usr.sbin/ldapd/search.c 15 May 2018 07:34:05 -0000
> > @@ -330,7 +330,7 @@ conn_search(struct search *search)
> >             op = BT_NEXT;
> >  
> >             if (rc == BT_SUCCESS && search->plan->indexed) {
> > -                   log_debug("found index %.*s", key.size, key.data);
> > +                   log_debug("found index %.*s", (int)key.size, key.data);
> >  
> >                     if (!has_prefix(&key, search->cindx->prefix)) {
> >                             log_debug("scanned past index prefix [%s]",
> > @@ -438,7 +438,7 @@ conn_search(struct search *search)
> >             /* Check if we have passed the size limit. */
> >             if (rc == BT_SUCCESS && search->szlim > 0 &&
> >                 search->nmatched >= search->szlim) {
> > -                   log_debug("search %d/%lld has reached size limit (%u)",
> > +                   log_debug("search %d/%lld has reached size limit 
> > (%lld)",
> >                         search->conn->fd, search->req->msgid,
> >                         search->szlim);
> >                     reason = LDAP_SIZELIMIT_EXCEEDED;
> > @@ -450,7 +450,7 @@ conn_search(struct search *search)
> >     now = time(0);
> >     if (rc == 0 && search->tmlim > 0 &&
> >         search->started_at + search->tmlim <= now) {
> > -           log_debug("search %d/%lld has reached time limit (%u)",
> > +           log_debug("search %d/%lld has reached time limit (%lld)",
> >                 search->conn->fd, search->req->msgid,
> >                 search->tmlim);
> >             reason = LDAP_TIMELIMIT_EXCEEDED;
> > @@ -803,7 +803,7 @@ search_planner(struct namespace *ns, str
> >             break;
> >  
> >     default:
> > -           log_warnx("filter type %d not implemented", filter->be_type);
> > +           log_warnx("filter type %lu not implemented", filter->be_type);
> >             plan->undefined = 1;
> >             break;
> >     }
> > @@ -875,7 +875,7 @@ ldap_search(struct request *req)
> >     }
> >  
> >     normalize_dn(search->basedn);
> > -   log_debug("base dn = %s, scope = %d", search->basedn, search->scope);
> > +   log_debug("base dn = %s, scope = %lld", search->basedn, search->scope);
> >  
> >     if (*search->basedn == '\0') {
> >             /* request for the root DSE */
> > Index: usr.sbin/ldapd/util.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/util.c,v
> > retrieving revision 1.9
> > diff -u -p -u -p -r1.9 util.c
> > --- usr.sbin/ldapd/util.c   8 Feb 2018 18:02:06 -0000       1.9
> > +++ usr.sbin/ldapd/util.c   15 May 2018 07:34:05 -0000
> > @@ -122,7 +122,7 @@ ber2db(struct ber_element *root, struct 
> >             val->size = compressBound(len);
> >             val->data = malloc(val->size + sizeof(uint32_t));
> >             if (val->data == NULL) {
> > -                   log_warn("malloc(%u)", val->size + sizeof(uint32_t));
> > +                   log_warn("malloc(%zu)", val->size + sizeof(uint32_t));
> >                     ber_free(&ber);
> >                     return -1;
> >             }
> > @@ -135,7 +135,7 @@ ber2db(struct ber_element *root, struct 
> >                     ber_free(&ber);
> >                     return -1;
> >             }
> > -           log_debug("compressed entry from %u -> %u byte",
> > +           log_debug("compressed entry from %zd -> %lu byte",
> >                 len, destlen + sizeof(uint32_t));
> >  
> >             *(uint32_t *)val->data = len;
> > @@ -174,7 +174,7 @@ db2ber(struct btval *val, int compressio
> >  
> >             len = *(uint32_t *)val->data;
> >             if ((buf = malloc(len)) == NULL) {
> > -                   log_warn("malloc(%u)", len);
> > +                   log_warn("malloc(%lu)", len);
> >                     return NULL;
> >             }
> >  
> > @@ -187,7 +187,7 @@ db2ber(struct btval *val, int compressio
> >                     return NULL;
> >             }
> >  
> > -           log_debug("uncompressed entry from %u -> %u byte",
> > +           log_debug("uncompressed entry from %zu -> %lu byte",
> >                 val->size, len);
> >  
> >             ber_set_readbuf(&ber, buf, len);
> > Index: usr.sbin/ldapd/validate.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapd/validate.c,v
> > retrieving revision 1.10
> > diff -u -p -u -p -r1.10 validate.c
> > --- usr.sbin/ldapd/validate.c       20 Jan 2017 11:55:08 -0000      1.10
> > +++ usr.sbin/ldapd/validate.c       15 May 2018 07:34:05 -0000
> > @@ -80,7 +80,7 @@ validate_attribute(struct attr_type *at,
> >                 !at->syntax->is_valid(conf->schema, val, elm->be_len)) {
> >                     log_debug("%s: invalid syntax", ATTR_NAME(at));
> >                     log_debug("syntax = %s", at->syntax->desc);
> > -                   log_debug("value: [%.*s]", elm->be_len, val);
> > +                   log_debug("value: [%.*s]", (int)elm->be_len, val);
> >                     return LDAP_INVALID_SYNTAX;
> >             }
> >     }
> > Index: usr.sbin/ldapctl/ldapctl.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/ldapctl/ldapctl.c,v
> > retrieving revision 1.10
> > diff -u -p -u -p -r1.10 ldapctl.c
> > --- usr.sbin/ldapctl/ldapctl.c      20 Jan 2017 11:55:08 -0000      1.10
> > +++ usr.sbin/ldapctl/ldapctl.c      15 May 2018 07:34:05 -0000
> > @@ -255,7 +255,7 @@ main(int argc, char *argv[])
> >     struct imsg              imsg;
> >     struct imsgbuf           ibuf;
> >  
> > -   log_init(1);
> > +   log_init(1, 0);
> >  
> >     while ((ch = getopt(argc, argv, "f:r:s:v")) != -1) {
> >             switch (ch) {
> > @@ -287,7 +287,7 @@ main(int argc, char *argv[])
> >     if (!S_ISDIR(sb.st_mode))
> >             errx(1, "%s is not a directory", datadir);
> >  
> > -   log_verbose(verbose);
> > +   ldap_loginit(NULL, 1, verbose);
> >  
> >     if (strcmp(argv[0], "stats") == 0)
> >             action = SHOW_STATS;
> > 
> 

Reply via email to