summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2014-10-20 14:50:41 +0000
committerreyk <reyk@openbsd.org>2014-10-20 14:50:41 +0000
commit435fc1649837cd215d9d01978ceae796364202a9 (patch)
tree81d1ca8c703129b5a03c3875567860270248dae1
parentdigests: *_LONG_LOG2 is not used, stop talking about it. (diff)
downloadwireguard-openbsd-435fc1649837cd215d9d01978ceae796364202a9.tar.xz
wireguard-openbsd-435fc1649837cd215d9d01978ceae796364202a9.zip
Remove the "interface" option from the "transparent forward" directive.
It was mandatory in the grammar but never used in the code. A fully transparent relay can now be specified with the following directive in a relay block: "transparent forward to destination". OK sthen@
-rw-r--r--usr.sbin/relayd/parse.y29
-rw-r--r--usr.sbin/relayd/relayd.h3
2 files changed, 5 insertions, 27 deletions
diff --git a/usr.sbin/relayd/parse.y b/usr.sbin/relayd/parse.y
index a08b8b829e9..b2dcda9ca80 100644
--- a/usr.sbin/relayd/parse.y
+++ b/usr.sbin/relayd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.190 2014/10/15 11:06:16 reyk Exp $ */
+/* $OpenBSD: parse.y,v 1.191 2014/10/20 14:50:41 reyk Exp $ */
/*
* Copyright (c) 2007 - 2014 Reyk Floeter <reyk@openbsd.org>
@@ -1619,33 +1619,12 @@ relayoptsl : LISTEN ON STRING port optssl {
tableport = h->port.val[0];
host_free(&al);
}
- | forwardmode optsslclient TO forwardspec interface dstaf {
+ | forwardmode optsslclient TO forwardspec dstaf {
rlay->rl_conf.fwdmode = $1;
- switch ($1) {
- case FWD_NORMAL:
- if ($5 == NULL)
- break;
- yyerror("superfluous interface");
- YYERROR;
- case FWD_ROUTE:
- yyerror("no route for redirections");
- YYERROR;
- case FWD_TRANS:
- if ($5 != NULL)
- break;
- yyerror("missing interface");
+ if ($1 == FWD_ROUTE) {
+ yyerror("no route for relays");
YYERROR;
}
- if ($5 != NULL) {
- if (strlcpy(rlay->rl_conf.ifname, $5,
- sizeof(rlay->rl_conf.ifname)) >=
- sizeof(rlay->rl_conf.ifname)) {
- yyerror("interface name truncated");
- free($5);
- YYERROR;
- }
- free($5);
- }
if ($2) {
rlay->rl_conf.flags |= F_SSLCLIENT;
conf->sc_flags |= F_SSLCLIENT;
diff --git a/usr.sbin/relayd/relayd.h b/usr.sbin/relayd/relayd.h
index ffd7a5dad98..42d728de06b 100644
--- a/usr.sbin/relayd/relayd.h
+++ b/usr.sbin/relayd/relayd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: relayd.h,v 1.193 2014/10/15 11:06:16 reyk Exp $ */
+/* $OpenBSD: relayd.h,v 1.194 2014/10/20 14:50:41 reyk Exp $ */
/*
* Copyright (c) 2006 - 2014 Reyk Floeter <reyk@openbsd.org>
@@ -716,7 +716,6 @@ struct relay_config {
u_int32_t flags;
objid_t proto;
char name[MAXHOSTNAMELEN];
- char ifname[IFNAMSIZ];
in_port_t port;
in_port_t dstport;
int dstretry;