summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>2015-10-29 22:41:27 +0000
committermillert <millert@openbsd.org>2015-10-29 22:41:27 +0000
commit4ca18184ce93a6b4186cbfc2064e9278dabd25cc (patch)
tree88d65e43ba05d97bef533e3764448265d5cdf630
parentremove unused variables (diff)
downloadwireguard-openbsd-4ca18184ce93a6b4186cbfc2064e9278dabd25cc.tar.xz
wireguard-openbsd-4ca18184ce93a6b4186cbfc2064e9278dabd25cc.zip
Use stravis(3) instead of a homegrown vis-like function.
OK nicm@
-rw-r--r--usr.sbin/cron/do_command.c12
-rw-r--r--usr.sbin/cron/funcs.h5
-rw-r--r--usr.sbin/cron/misc.c53
3 files changed, 9 insertions, 61 deletions
diff --git a/usr.sbin/cron/do_command.c b/usr.sbin/cron/do_command.c
index 17072b0d2e7..9aba71f3e3a 100644
--- a/usr.sbin/cron/do_command.c
+++ b/usr.sbin/cron/do_command.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: do_command.c,v 1.50 2015/10/25 21:30:11 millert Exp $ */
+/* $OpenBSD: do_command.c,v 1.51 2015/10/29 22:41:27 millert Exp $ */
/* Copyright 1988,1990,1993,1994 by Paul Vixie
* Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
@@ -18,6 +18,7 @@
*/
#include "cron.h"
+#include <vis.h>
static void child_process(entry *, user *);
@@ -125,10 +126,11 @@ child_process(entry *e, user *u)
* PID is part of the log message.
*/
if ((e->flags & DONT_LOG) == 0) {
- char *x = mkprints((u_char *)e->cmd, strlen(e->cmd));
-
- log_it(usernm, getpid(), "CMD", x);
- free(x);
+ char *x;
+ if (stravis(&x, e->cmd, 0) != -1) {
+ log_it(usernm, getpid(), "CMD", x);
+ free(x);
+ }
}
/* that's the last thing we'll log. close the log files.
diff --git a/usr.sbin/cron/funcs.h b/usr.sbin/cron/funcs.h
index f133d7b55c0..dd64da67331 100644
--- a/usr.sbin/cron/funcs.h
+++ b/usr.sbin/cron/funcs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: funcs.h,v 1.20 2015/10/29 21:19:09 millert Exp $ */
+/* $OpenBSD: funcs.h,v 1.21 2015/10/29 22:41:27 millert Exp $ */
/*
* Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
@@ -59,14 +59,11 @@ int strtot(const char *nptr, char **endptr, time_t *tp);
char *env_get(char *, char **),
*arpadate(time_t *),
- *mkprints(unsigned char *, unsigned int),
*first_word(char *, char *),
**env_init(void),
**env_copy(char **),
**env_set(char **, char *);
-void mkprint(char *, unsigned char *, int);
-
user *load_user(int, struct passwd *, const char *),
*find_user(cron_db *, const char *);
diff --git a/usr.sbin/cron/misc.c b/usr.sbin/cron/misc.c
index 6b7898a8988..106d0821275 100644
--- a/usr.sbin/cron/misc.c
+++ b/usr.sbin/cron/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.62 2015/10/29 21:19:09 millert Exp $ */
+/* $OpenBSD: misc.c,v 1.63 2015/10/29 22:41:27 millert Exp $ */
/* Copyright 1988,1990,1993,1994 by Paul Vixie
* Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
@@ -307,57 +307,6 @@ first_word(char *s, char *t)
return (rb);
}
-/* warning:
- * heavily ascii-dependent.
- */
-void
-mkprint(dst, src, len)
- char *dst;
- unsigned char *src;
- int len;
-{
- /*
- * XXX
- * We know this routine can't overflow the dst buffer because mkprints()
- * allocated enough space for the worst case.
- */
- while (len-- > 0)
- {
- unsigned char ch = *src++;
-
- if (ch < ' ') { /* control character */
- *dst++ = '^';
- *dst++ = ch + '@';
- } else if (ch < 0177) { /* printable */
- *dst++ = ch;
- } else if (ch == 0177) { /* delete/rubout */
- *dst++ = '^';
- *dst++ = '?';
- } else { /* parity character */
- snprintf(dst, 5, "\\%03o", ch);
- dst += strlen(dst);
- }
- }
- *dst = '\0';
-}
-
-/* warning:
- * returns a pointer to malloc'd storage, you must call free yourself.
- */
-char *
-mkprints(src, len)
- unsigned char *src;
- unsigned int len;
-{
- char *dst = malloc(len*4 + 1);
-
- if (dst)
- mkprint(dst, src, len);
-
- return (dst);
-}
-
-
static gid_t save_egid;
int swap_gids() { save_egid = getegid(); return (setegid(getgid())); }
int swap_gids_back() { return (setegid(save_egid)); }