diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2019-03-26 00:55:09 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-01-12 23:34:17 +0100 |
commit | cd43c7667fa86a2a160be32c13a57fb5072bbb76 (patch) | |
tree | 87fa2dde22133b3733e4f781d20c33e8ba06d8e9 /proto/wireguard/config.Y | |
parent | 7c45b93a5a6d63b6b7f1dff38279e3acb5ac2e57 (diff) |
Wireguard: Add peer config settings
Diffstat (limited to 'proto/wireguard/config.Y')
-rw-r--r-- | proto/wireguard/config.Y | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/proto/wireguard/config.Y b/proto/wireguard/config.Y index 2eee7e72..9a414085 100644 --- a/proto/wireguard/config.Y +++ b/proto/wireguard/config.Y @@ -16,7 +16,7 @@ CF_DEFINES CF_DECLS -CF_KEYWORDS(WIREGUARD) +CF_KEYWORDS(WIREGUARD, PUBKEY, ENDPOINT, ALLOWED_IPS) CF_GRAMMAR @@ -32,6 +32,41 @@ wireguard_proto: | wireguard_proto wg_proto_channel ';' | wireguard_proto proto_item ';' | wireguard_proto INTERFACE TEXT ';' { WG_CFG->ifname = $3; } + | wireguard_proto wg_peer ';' + ; + +wg_peer: wg_peer_start wg_peer_opt_list wg_peer_end; + +wg_peer_start: PEER + +wg_peer_end: + ; + +wg_peer_item: + PUBKEY pubkey + | ENDPOINT endpoint + | PORT port + | ALLOWED_IPS allowed_ips + ; + +wg_peer_opts: + /* empty */ + | wg_peer_opts wg_peer_item ';' + ; + +wg_peer_opt_list: + /* empty */ + | '{' wg_peer_opts '}' + ; + +pubkey: text { WG_CFG->peer.pubkey = $1; } + +endpoint: ipa { WG_CFG->peer.endpoint = $1; } + +port: expr { WG_CFG->peer.remote_port = $1; } + +allowed_ips: + net_or_ipa { WG_CFG->peer.allowed_ips = $1; } ; wg_proto_channel: wg_channel_start channel_opt_list wg_channel_end; |