Module Name: src
Committed By: christos
Date: Tue May 12 16:17:58 UTC 2020
Modified Files:
src/crypto/dist/ipsec-tools/src/setkey: extern.h setkey.c token.l
Log Message:
- 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)
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/crypto/dist/ipsec-tools/src/setkey/extern.h
cvs rdiff -u -r1.21 -r1.22 src/crypto/dist/ipsec-tools/src/setkey/setkey.c
cvs rdiff -u -r1.25 -r1.26 src/crypto/dist/ipsec-tools/src/setkey/token.l
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/dist/ipsec-tools/src/setkey/extern.h
diff -u src/crypto/dist/ipsec-tools/src/setkey/extern.h:1.8 src/crypto/dist/ipsec-tools/src/setkey/extern.h:1.9
--- src/crypto/dist/ipsec-tools/src/setkey/extern.h:1.8 Tue May 12 10:29:06 2020
+++ src/crypto/dist/ipsec-tools/src/setkey/extern.h Tue May 12 12:17:58 2020
@@ -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 @@ void yyerror(const char *);
#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 exit_now;
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
+
Index: src/crypto/dist/ipsec-tools/src/setkey/setkey.c
diff -u src/crypto/dist/ipsec-tools/src/setkey/setkey.c:1.21 src/crypto/dist/ipsec-tools/src/setkey/setkey.c:1.22
--- src/crypto/dist/ipsec-tools/src/setkey/setkey.c:1.21 Tue May 12 10:29:06 2020
+++ src/crypto/dist/ipsec-tools/src/setkey/setkey.c Tue May 12 12:17:58 2020
@@ -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 void printdate(void);
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 @@ main(int argc, char **argv)
so = pfkey_open();
if (so < 0) {
- perror("pfkey_open");
- exit(1);
+ err(1, "pfkey_open");
}
switch (f_mode) {
@@ -497,7 +490,7 @@ sendkeymsg_spigrep(unsigned int satype,
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 @@ sendkeymsg_spigrep(unsigned int satype,
}
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 @@ sendkeymsg(char *buf, size_t len)
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 @@ again:
}
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 @@ postproc(struct sadb_msg *msg, int len)
#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 @@ postproc(struct sadb_msg *msg, int len)
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 @@ verifypriority(struct sadb_msg *m)
/* 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 @@ printdate(void)
int s;
if (gettimeofday(&tp, NULL) == -1) {
- perror("gettimeofday");
+ warn("gettimeofday");
return;
}
Index: src/crypto/dist/ipsec-tools/src/setkey/token.l
diff -u src/crypto/dist/ipsec-tools/src/setkey/token.l:1.25 src/crypto/dist/ipsec-tools/src/setkey/token.l:1.26
--- src/crypto/dist/ipsec-tools/src/setkey/token.l:1.25 Tue May 12 10:29:06 2020
+++ src/crypto/dist/ipsec-tools/src/setkey/token.l Tue May 12 12:17:58 2020
@@ -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 @@ yyfatal(const char *s)
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