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@
 
> 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