Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/crypto/dist/ipsec-tools/src/setkey - in script mode always o...
details: https://anonhg.NetBSD.org/src/rev/40e88583a1b8
branches: trunk
changeset: 972002:40e88583a1b8
user: christos <christos%NetBSD.org@localhost>
date: Tue May 12 16:17:58 2020 +0000
description:
- in script mode always output errors to stderr prefixed by the program name.
- in command mode always output errors to stdout not prefixed " " "
- perror(3) -> warn(3)
diffstat:
crypto/dist/ipsec-tools/src/setkey/extern.h | 10 +++++-
crypto/dist/ipsec-tools/src/setkey/setkey.c | 52 +++++++++++++---------------
crypto/dist/ipsec-tools/src/setkey/token.l | 7 ++-
3 files changed, 39 insertions(+), 30 deletions(-)
diffs (201 lines):
diff -r 28b60bd78e7d -r 40e88583a1b8 crypto/dist/ipsec-tools/src/setkey/extern.h
--- a/crypto/dist/ipsec-tools/src/setkey/extern.h Tue May 12 14:29:06 2020 +0000
+++ b/crypto/dist/ipsec-tools/src/setkey/extern.h Tue May 12 16:17:58 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.h,v 1.8 2020/05/12 14:29:06 christos Exp $ */
+/* $NetBSD: extern.h,v 1.9 2020/05/12 16:17:58 christos Exp $ */
/*
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -46,6 +46,7 @@
#ifdef HAVE_POLICY_FWD
extern int f_rfcmode;
#endif
+extern int f_mode;
extern const char *filename;
extern int lineno;
extern int exit_now;
@@ -53,3 +54,10 @@
extern int last_msg_type;
extern uint32_t last_priority;
#endif
+
+#define MODE_SCRIPT 1
+#define MODE_CMDDUMP 2
+#define MODE_CMDFLUSH 3
+#define MODE_PROMISC 4
+#define MODE_STDIN 5
+
diff -r 28b60bd78e7d -r 40e88583a1b8 crypto/dist/ipsec-tools/src/setkey/setkey.c
--- a/crypto/dist/ipsec-tools/src/setkey/setkey.c Tue May 12 14:29:06 2020 +0000
+++ b/crypto/dist/ipsec-tools/src/setkey/setkey.c Tue May 12 16:17:58 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: setkey.c,v 1.21 2020/05/12 14:29:06 christos Exp $ */
+/* $NetBSD: setkey.c,v 1.22 2020/05/12 16:17:58 christos Exp $ */
/* $KAME: setkey.c,v 1.36 2003/09/24 23:52:51 itojun Exp $ */
/*
@@ -110,12 +110,6 @@
static int32_t gmt2local(time_t);
static void stdin_loop(void);
-#define MODE_SCRIPT 1
-#define MODE_CMDDUMP 2
-#define MODE_CMDFLUSH 3
-#define MODE_PROMISC 4
-#define MODE_STDIN 5
-
int so;
int f_forever = 0;
@@ -275,8 +269,7 @@
so = pfkey_open();
if (so < 0) {
- perror("pfkey_open");
- exit(1);
+ err(1, "pfkey_open");
}
switch (f_mode) {
@@ -497,7 +490,7 @@
tv.tv_sec = 1;
tv.tv_usec = 0;
if (setsockopt(so, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) {
- perror("setsockopt");
+ warn("setsockopt");
return NULL;
}
}
@@ -531,14 +524,14 @@
}
if ((l = send(so, buf, len, 0)) < 0) {
- perror("send");
+ warn("send");
return NULL;
}
m = (struct sadb_msg *)rbuf;
do {
if ((l = recv(so, rbuf, sizeof(rbuf), 0)) < 0) {
- perror("recv");
+ warn("recv");
fail = 1;
break;
}
@@ -638,7 +631,7 @@
tv.tv_sec = 1;
tv.tv_usec = 0;
if (setsockopt(so, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) {
- perror("setsockopt");
+ warn("setsockopt");
goto end;
}
}
@@ -664,14 +657,14 @@
}
if ((l = send(so, buf, len, 0)) < 0) {
- perror("send");
+ warn("send");
goto end;
}
msg = (struct sadb_msg *)rbuf;
do {
if ((l = recv(so, rbuf, sizeof(rbuf), 0)) < 0) {
- perror("recv");
+ warn("recv");
goto end;
}
@@ -706,15 +699,8 @@
#endif
if (msg->sadb_msg_errno != 0) {
- char inf[80];
const char *errmsg = NULL;
- if (f_mode == MODE_SCRIPT)
- snprintf(inf, sizeof(inf), "The result of line %d: ",
- lineno);
- else
- inf[0] = '\0';
-
switch (msg->sadb_msg_errno) {
case ENOENT:
switch (msg->sadb_msg_type) {
@@ -734,7 +720,10 @@
default:
errmsg = strerror(msg->sadb_msg_errno);
}
- printf("%s%s.\n", inf, errmsg);
+ if (f_mode == MODE_SCRIPT)
+ warnx("%s,%d: %s", filename, lineno, errmsg);
+ else
+ printf("%s.\n", errmsg);
return -1;
}
@@ -806,18 +795,27 @@
/* check pfkey message. */
if (pfkey_align(m, mhp)) {
- printf("(%s\n", ipsec_strerror());
+ if (f_mode == MODE_SCRIPT)
+ warnx("%s", ipsec_strerror());
+ else
+ printf("%s\n", ipsec_strerror());
return 0;
}
if (pfkey_check(mhp)) {
- printf("%s\n", ipsec_strerror());
+ if (f_mode == MODE_SCRIPT)
+ warnx("%s", ipsec_strerror());
+ else
+ printf("%s\n", ipsec_strerror());
return 0;
}
xpl = (struct sadb_x_policy *) mhp[SADB_X_EXT_POLICY];
if (xpl == NULL) {
- printf("no X_POLICY extension.\n");
+ if (f_mode == MODE_SCRIPT)
+ warnx("no X_POLICY extension.");
+ else
+ printf("no X_POLICY extension.\n");
return 0;
}
@@ -1012,7 +1010,7 @@
int s;
if (gettimeofday(&tp, NULL) == -1) {
- perror("gettimeofday");
+ warn("gettimeofday");
return;
}
diff -r 28b60bd78e7d -r 40e88583a1b8 crypto/dist/ipsec-tools/src/setkey/token.l
--- a/crypto/dist/ipsec-tools/src/setkey/token.l Tue May 12 14:29:06 2020 +0000
+++ b/crypto/dist/ipsec-tools/src/setkey/token.l Tue May 12 16:17:58 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: token.l,v 1.25 2020/05/12 14:29:06 christos Exp $ */
+/* $NetBSD: token.l,v 1.26 2020/05/12 16:17:58 christos Exp $ */
/* $KAME: token.l,v 1.44 2003/10/21 07:20:58 itojun Exp $ */
/*
@@ -336,7 +336,10 @@
void
yyerror(const char *s)
{
- warnx("%s,%d: %s at `%s'", filename, lineno, s, yytext);
+ if (f_mode == MODE_SCRIPT)
+ warnx("%s,%d: %s at `%s'", filename, lineno, s, yytext);
+ else
+ printf("%s at `%s'", s, yytext);
}
int
Home |
Main Index |
Thread Index |
Old Index