On Fri, Jul 01, 2016 at 06:47:18AM -0600, Todd C. Miller wrote:
> The priv_open_* functions set errno on failure.  It is passed in
> the message from the privileged process on error.  Otherwise, all
> that is logged is the file name which is not too helpful.
> 
> There's still an issue where the message logged to the console is
> preceded by 15 NUL bytes but that can be fixed separately.
> 
> OK?
>  

ok


> Index: usr.sbin/syslogd/syslogd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/syslogd/syslogd.c,v
> retrieving revision 1.205
> diff -u -p -u -r1.205 syslogd.c
> --- usr.sbin/syslogd/syslogd.c        2 Apr 2016 19:55:10 -0000       1.205
> +++ usr.sbin/syslogd/syslogd.c        1 Jul 2016 12:43:29 -0000
> @@ -1897,7 +1897,7 @@ fprintlog(struct filed *f, int flags, ch
>                               retryonce = 1;
>                               if (f->f_file < 0) {
>                                       f->f_type = F_UNUSED;
> -                                     logerrorx(f->f_un.f_fname);
> +                                     logerror(f->f_un.f_fname);
>                               } else
>                                       goto again;
>                       } else if ((e == EPIPE || e == EBADF) &&
> @@ -1906,7 +1906,7 @@ fprintlog(struct filed *f, int flags, ch
>                               retryonce = 1;
>                               if (f->f_file < 0) {
>                                       f->f_type = F_UNUSED;
> -                                     logerrorx(f->f_un.f_fname);
> +                                     logerror(f->f_un.f_fname);
>                               } else
>                                       goto again;
>                       } else {
> @@ -1959,7 +1959,7 @@ wallmsg(struct filed *f, struct iovec *i
>       if (reenter++)
>               return;
>       if ((uf = priv_open_utmp()) == NULL) {
> -             logerrorx(_PATH_UTMP);
> +             logerror(_PATH_UTMP);
>               reenter = 0;
>               return;
>       }
> @@ -2638,7 +2638,7 @@ cfline(char *line, char *progblock, char
>                       f->f_file = priv_open_log(p);
>               if (f->f_file < 0) {
>                       f->f_type = F_UNUSED;
> -                     logerrorx(p);
> +                     logerror(p);
>                       break;
>               }
>               if (isatty(f->f_file)) {
> 

-- 
Gilles Chehade

https://www.poolp.org                                          @poolpOrg

Reply via email to