On Thu, Jun 02, 2016 at 05:18:21PM +0300, Pavel Korovin wrote:
> Dear all,
> 
> Could you consider quoting the space-containing values in smtpd log
> messages?
> 
> I like the latest smtpd log format improvements, but it's hard to parse
> space-separated key-value pairs if they have space-containing values :)
> Please see the patch attached.
> 

I understand and agree with you about the problem, however I haven't been able
to convince hackers that space-separated key-value pairs were annoying enough.

I think this diff makes sense, waiting for other ok's

gilles


> Index: smtp_session.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/smtpd/smtp_session.c,v
> retrieving revision 1.272
> diff -u -p -r1.272 smtp_session.c
> --- smtp_session.c    22 May 2016 16:31:21 -0000      1.272
> +++ smtp_session.c    2 Jun 2016 12:55:51 -0000
> @@ -1258,7 +1258,7 @@ smtp_io(struct io *io, int evt)
>       switch (evt) {
>  
>       case IO_TLSREADY:
> -             log_info("%016"PRIx64" smtp event=starttls ciphers=%s",
> +             log_info("%016"PRIx64" smtp event=starttls ciphers=\"%s\"",
>                   s->id, ssl_to_text(s->io.ssl));
>  
>               s->flags |= SF_SECURE;
> @@ -1283,7 +1283,7 @@ smtp_io(struct io *io, int evt)
>               x = SSL_get_peer_certificate(s->io.ssl);
>               if (x) {
>                       log_info("%016"PRIx64" smtp "
> -                         "event=client-cert-check result=%s",
> +                         "event=client-cert-check result=\"%s\"",
>                           s->id,
>                           (s->flags & SF_VERIFIED) ? "success" : "failure");
>                       X509_free(x);
> @@ -1402,7 +1402,7 @@ smtp_io(struct io *io, int evt)
>               break;
>  
>       case IO_ERROR:
> -             log_info("%016"PRIx64" smtp event=closed reason=io-error: %s",
> +             log_info("%016"PRIx64" smtp event=closed reason=\"io-error: 
> %s\"",
>                   s->id, io->error);
>               smtp_free(s, "IO error");
>               break;
> @@ -2183,7 +2183,7 @@ smtp_reply(struct smtp_session *s, char 
>       case '4':
>               if (s->flags & SF_BADINPUT) {
>                       log_info("%016"PRIx64" smtp "
> -                         "event=bad-input result=%.*s",
> +                         "event=bad-input result=\"%.*s\"",
>                           s->id, n, buf);
>               }
>               else if (s->state == STATE_AUTH_INIT) {
> @@ -2201,7 +2201,7 @@ smtp_reply(struct smtp_session *s, char 
>               else {
>                       strnvis(tmp, s->cmd, sizeof tmp, VIS_SAFE | VIS_CSTYLE);
>                       log_info("%016"PRIx64" smtp "
> -                         "event=failed-command command=%s result=%.*s",
> +                         "event=failed-command command=\"%s\" 
> result=\"%.*s\"",
>                           s->id, tmp, n, buf);
>               }
>               break;


-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to