3f7c0b3ae8
The address of the vpn interface is calculated in the style of modified EUI-64, based on a virtual mac address. This virtual mac address consists of 0x00 as first byte and the other five bytes are taken from the first bytes of md5sum(base64 encoded public key). The algorithm was taken by the ffmuc, with a slight difference. ffmuc calculated the result of md5sum(base64 encoded public key + '\n') which was interpreted as accidential fault and therefore dropped. Example: - Public-Key: "gP3VJnTTvnQut+z4O+m0N9RgMyXbgyUbUkF3E3TKX2w=" - Address: "fe80::02ca:b8ff:fedc:2eb3" The following interfaces are used for wireguard: - wg_mesh -> wireguard interface - mesh-vpn -> vxlan iface on top of wg_mesh If you use this new feature, make sure the NTP servers in your site config are publicly reachable. This is necessary, since wireguard requires correct time before the vpn connection is established. Therefore gluon performs ntp time synchronisation via WAN before it establishes the vpn connection. Therefore the NTP servers have to be publicly reachable (and not only via mesh).
84 lines
3.0 KiB
Diff
84 lines
3.0 KiB
Diff
From: Leonardo Mörlein <me@irrelefant.net>
|
|
Date: Sat, 16 Jan 2021 23:11:01 +0100
|
|
Subject: package/uci: backport: "cli: add option for changing save path"
|
|
|
|
This is a backport of
|
|
|
|
https://git.openwrt.org/?p=project/uci.git;a=commit;h=4b3db1179747b6a6779029407984bacef851325c
|
|
|
|
diff --git a/package/system/uci/Makefile b/package/system/uci/Makefile
|
|
index 75fc1bdfad0694aac99830b9b0cc87b42ea16e7d..924d5bb4824f567888e2ffd2954429af8f4fd504 100644
|
|
--- a/package/system/uci/Makefile
|
|
+++ b/package/system/uci/Makefile
|
|
@@ -9,7 +9,7 @@
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=uci
|
|
-PKG_RELEASE:=5
|
|
+PKG_RELEASE:=6
|
|
|
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git
|
|
PKG_SOURCE_PROTO:=git
|
|
diff --git a/package/system/uci/patches/0001-cli-add-option-for-changin-save-path.patch b/package/system/uci/patches/0001-cli-add-option-for-changin-save-path.patch
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..377aec41fe6928aa26bccdde9fd77576d57ec4ed
|
|
--- /dev/null
|
|
+++ b/package/system/uci/patches/0001-cli-add-option-for-changin-save-path.patch
|
|
@@ -0,0 +1,56 @@
|
|
+From: Rafał Miłecki <rafal@milecki.pl>
|
|
+Date: Mon, 12 Apr 2021 14:05:52 +0000 (+0200)
|
|
+Subject: cli: add option for changing save path
|
|
+X-Git-Url: http://git.openwrt.org/?p=project%2Fuci.git;a=commitdiff_plain;h=4b3db1179747b6a6779029407984bacef851325c;hp=52bbc99f69ea6f67b6fe264f424dac91bde5016c
|
|
+
|
|
+cli: add option for changing save path
|
|
+
|
|
+Save path is a directory where config change (delta) files are stored.
|
|
+Having a custom individual save dir can be used to prevent two (or more)
|
|
+"uci" cli callers (e.g. bash scripts) from commiting each other changes.
|
|
+
|
|
+In the following example:
|
|
+
|
|
+App0 App1
|
|
+---- ----
|
|
+uci set system.@system[0].timezone=UTC
|
|
+ uci set system.@system[0].hostname=OpenWrt
|
|
+ uci commit system
|
|
+
|
|
+App1 would unintentionally commit changes made by App0. This can be
|
|
+avoided by at least 1 "uci" cli user specifying a custom -t option.
|
|
+
|
|
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|
+---
|
|
+
|
|
+diff --git a/cli.c b/cli.c
|
|
+index 267437d..2fce39d 100644
|
|
+--- a/cli.c
|
|
++++ b/cli.c
|
|
+@@ -167,6 +167,7 @@ static void uci_usage(void)
|
|
+ "\t-N don't name unnamed sections\n"
|
|
+ "\t-p <path> add a search path for config change files\n"
|
|
+ "\t-P <path> add a search path for config change files and use as default\n"
|
|
++ "\t-t <path> set save path for config change files\n"
|
|
+ "\t-q quiet mode (don't print error messages)\n"
|
|
+ "\t-s force strict mode (stop on parser errors, default)\n"
|
|
+ "\t-S disable strict mode\n"
|
|
+@@ -706,7 +707,7 @@ int main(int argc, char **argv)
|
|
+ return 1;
|
|
+ }
|
|
+
|
|
+- while((c = getopt(argc, argv, "c:d:f:LmnNp:P:sSqX")) != -1) {
|
|
++ while((c = getopt(argc, argv, "c:d:f:LmnNp:P:qsSt:X")) != -1) {
|
|
+ switch(c) {
|
|
+ case 'c':
|
|
+ uci_set_confdir(ctx, optarg);
|
|
+@@ -754,6 +755,9 @@ int main(int argc, char **argv)
|
|
+ case 'q':
|
|
+ flags |= CLI_FLAG_QUIET;
|
|
+ break;
|
|
++ case 't':
|
|
++ uci_set_savedir(ctx, optarg);
|
|
++ break;
|
|
+ case 'X':
|
|
+ flags &= ~CLI_FLAG_SHOW_EXT;
|
|
+ break;
|