Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changing uplink should set the old uplink type to enable '0' #640

Open
pmelange opened this issue Dec 10, 2018 · 9 comments
Open

changing uplink should set the old uplink type to enable '0' #640

pmelange opened this issue Dec 10, 2018 · 9 comments

Comments

@pmelange
Copy link
Contributor

When changing a uplink, the configuration for the old uplink type should be disabled (option enable '0'). This is important because it could theoretically be possible to do the following:

install tunnel-berlin (openvpn)
change to default
install openvpn to connect with the old bbb-vpn

Currently this causes problems because the openvpn instance for the bbb-vpn will also try to connect for the ffuplink. But if we set enable to 0, then no problem.

Another example:
install tunneldigger
change to default
install freifunk-berlin-bbbdigger

The tunneldigger software then tries to run on ffuplink since it is still enabled, but that is not what the user expects.

@SvenRoederer
Copy link
Contributor

Who will enable this option later again?

As bbb-vpn is manual setup only anyway, I don't think it's important for Hedy-1.0.x. For master-branch we should think of testing it.

@pmelange
Copy link
Contributor Author

I don't think you understood the example. The issue is not with bbbvpn. It is with potentially having openvpn installed, and tunneldigger installed, and both of them trying to make an ffuplink connection at the same time.

The option enable should be set to 0 when the previous uplink type needs it to be disabled.

When a new uplink needs to set the option to 1, it does it in the uci-defaults file.

@SvenRoederer
Copy link
Contributor

ffuplink-connection: is that defining the ffuplink-interface or using the ffuplink-interface?

Indeed, I probably do not see the problem.

@pmelange
Copy link
Contributor Author

OK.
Example 1
When the software for openvpn is installed, and runs the wizard, the option in openvpn.ffuplink is enabled. Then, when the user does a change_uplink to no-tunnel, the option openvpn.ffuplink is still enabled. Now, the user installs openvpn to connect with the old bbb-vpn. Openvpn starts everything that is enabled. But the user wants to use no-tunnel.

  • note, the reason the wizard has to set enable to 1 is because openvpn's init script is enabled by default. The wizard both disables the init script and sets openvpn.ffuplink to enabled.

Example 2
When the user installs tunneldigger, tunneldigger.ffuplink is enabled by default. Then the user installs no-tunnel. Then the user installs the bbbdigger addon, which automatically installs the tunneldigger package and it's dependencies. The hotplug script for tunneldigger still starts the ffuplink section because it is enabled.

  • note, tunneldigger does not need to be enabled in the wizard because the init script is disabled by default.

@SvenRoederer
Copy link
Contributor

SvenRoederer commented Dec 17, 2018

I feel bad of changing this in the v1.0.x series. It might break more that it will help.
We should think of this and the possible changes required in the wizard, for the master-branch.

pmelange referenced this issue in freifunk-berlin/firmware-packages Dec 19, 2018
This combines all commits to change the uplink-preset for all 4 uplink-types
@SvenRoederer SvenRoederer added this to the Hedy-1.0.2 milestone Dec 20, 2018
@SvenRoederer
Copy link
Contributor

So let's think of this for Hedy-1.1?

@pmelange
Copy link
Contributor Author

I feel like this is somehow related to #603

@SvenRoederer
Copy link
Contributor

We are facing this problem in master too, right?

I think, there is only a low percentage of users, that might be affected by this issue. We should add a note to the Releasenotes of Hedy-1.0.2 and think of a fix in the master-branch. When this is done, we can backport this from master and push another Release on Hedy-1.0.x

@pmelange
Copy link
Contributor Author

Sounds like a good idea to me.

@SvenRoederer SvenRoederer modified the milestones: Hedy-1.0.2, Hedy-1.1.0 Jan 13, 2019
@SvenRoederer SvenRoederer changed the title Hedy-1.0.2-dev: changing uplink should set the old uplink type to enable '0' changing uplink should set the old uplink type to enable '0' Jan 13, 2019
SvenRoederer added a commit to SvenRoederer/freifunk-berlin-firmware that referenced this issue Feb 9, 2021
8699124 babeld: adopt to upstream header-style (freifunk-berlin#640)
SvenRoederer added a commit to SvenRoederer/freifunk-berlin-firmware that referenced this issue Apr 4, 2021
8699124 babeld: adopt to upstream header-style (freifunk-berlin#640)
SvenRoederer added a commit to SvenRoederer/freifunk-berlin-firmware that referenced this issue Apr 5, 2021
8699124 babeld: adopt to upstream header-style (freifunk-berlin#640)
SvenRoederer added a commit to SvenRoederer/freifunk-berlin-firmware that referenced this issue May 29, 2021
2e602f7 Merge pull request freifunk-berlin#635 from ecsv/batadv-2021.0
519c1ff babeld: send events via ubus (freifunk-berlin#633)
72408a9 babeld: fix compiler warnings (freifunk-berlin#639)
8699124 babeld: adopt to upstream header-style (freifunk-berlin#640)
d63eda0 Merge pull request freifunk-berlin#643 from ecsv/batadv-2021.0
6f29856 opennds: Release 8.1.1
08903b9 bird2: update to version 2.0.8
5b4d4c7 bird2: Makefile polishing
1267201 opennds: Release v9.0.0
0fc85a4 Merge pull request freifunk-berlin#657 from ecsv/batadv-for-21.02
9c2452c batman-adv: update to version 2021.1
5d09821 batman-adv: Always send iface index+name in genlmsg
5112114 batctl: update to version 2021.1
7f25964 alfred: update to version 2021.1
57533a2 Merge pull request freifunk-berlin#659 from ecsv/batadv-for-21.02
SvenRoederer added a commit that referenced this issue Jun 4, 2021
2e602f7 Merge pull request #635 from ecsv/batadv-2021.0
519c1ff babeld: send events via ubus (#633)
72408a9 babeld: fix compiler warnings (#639)
8699124 babeld: adopt to upstream header-style (#640)
d63eda0 Merge pull request #643 from ecsv/batadv-2021.0
6f29856 opennds: Release 8.1.1
08903b9 bird2: update to version 2.0.8
5b4d4c7 bird2: Makefile polishing
1267201 opennds: Release v9.0.0
0fc85a4 Merge pull request #657 from ecsv/batadv-for-21.02
9c2452c batman-adv: update to version 2021.1
5d09821 batman-adv: Always send iface index+name in genlmsg
5112114 batctl: update to version 2021.1
7f25964 alfred: update to version 2021.1
57533a2 Merge pull request #659 from ecsv/batadv-for-21.02
SvenRoederer added a commit to SvenRoederer/freifunk-berlin-firmware that referenced this issue Jun 6, 2021
* this is just some commits after openwrt-21.02.0-rc2
* definition of network-bridges has been redesigned
* busybox: PREFER_IPV4_ADDRESS has been dropped

OpenWrt-core:
    003fbfbf94 openwrt-keyring: Only copy sign key for 21.02
    b62fa7453a busybox: disable PREFER_IPV4_ADDRESS
    bc2225fe73 uclient: update to Git version 2021-04-03
    bbbc01ede5 uclient: update to Git version 2021-05-14
    7a39781403 bcm63xx: Remove patch already applied upstream
    4dcddedfd2 kernel: backport "mvmdio avoid error message for optional IRQ"
    1a2ebb88f5 generic: mt7530: fix EEE patch
    a52842a8d0 ccache: Build with ENABLE_DOCUMENTATION=OFF
    d5ea756c3e mvebu: 5.4 fix DVFS caused random boot crashes
    0b0e97853a kernel-defaults: fix external kernel build when user_headers is missing
    a162fe9a96 fakeroot: Alpine linux libc.musl build error fix
    abc2fff80f treewide: Mark packages nonshared if they depend on @TARGET_
    d9603bbd3e base-files: use "ports" array in board.json network for bridges
    21a3599a9a libubox: update to git HEAD
    5b16484b0d netifd: add a udhcpc.user placeholder script
    252660bf3b netifd: update to git HEAD
    f3a0f906b5 netifd: update to Git version 2021-04-03
    ef14916947 netifd: read udhcpc user scripts from directory
    834167b42e libubox: update to the latest version
    e78ef58431 netifd: update to the latest version
    83d07db2f2 netifd: update to the latest master
    bab7a1120c netifd: update to the latest master
    4419c3dcd3 build/json: generate json file for initramfs
    bb8fd58a23 build: avoid generating JSON info on missing image
    3f5109f538 arc770: set device vendor and model variables
    c4926a4255 archs38: set device vendor and model variables
    0b0bec56ea ipq806x: improve system latency
    6b6bcca1a0 busybox: use $(AUTORELEASE) and SPDX
    4b691077e0 busybox: show reproducible timestamp
    892fc7caa9 base-files: generate "device" UCI type section for bridge
    0d90023633 base-files: generate bridge device sections with br- name prefix
    fc605c01f6 base-files: support setting bridge MAC address
    77d96e925f base-files: fix configuration generation of network if "bridge" exists
    16ccf888ee base-files: generate network config with "device" options
    0bc3f51aa6 ubox: fix init script validation of log_ip option
    c2139eef27 base-files: simplify setting device MAC
    3e09cc4969 OpenWrt v21.02.0-rc2: adjust config defaults
    d484366a9e OpenWrt v21.02.0-rc2: revert to branch defaults
    1a41b88803 build: kernel2minor: work around path length limit
    fc0fd54738 kernel: bump 5.4 to 5.4.123

packages-feed:
    9072b66e5 Bluez: Update to 5.55
    6a0d658f7 Bluez: Update to 5.56
    48fd33a73 python3: bump to version 3.9.4
    bc4ebdc08 python3: introduce libpython3 with ABI_VERSION flag
    8131eaf08 python3: bump version to 3.9.5
    f7ce67e29 tinc: Add possibility to populate more config variables via uci
    f680d1754 yq: Update to 4.9.1
    a9a6f50c0 vnstat2: update to version 2.7
    e984b731a php7-pecl-imagick: configure --with-imagick=...
    d928a35e1 php7: update to 7.4.18
    23ddd34b8 php7: update to 7.4.19
    515c87e43 Merge pull request #15655 from mhei/21.02-php7-update
    58cb63bc7 yq: Update to 4.9.3
    535e9f534 curl: update to version 7.77.0 (security fix)
    4507dbe93 gitlab-runner: update to version 13.12.0
    e2b25c503 python-cryptodomex: update to version 3.10.1
    23bec4e87 node: Reduce node-npm package size
    5f181154a bind: bump to 9.17.13
    920c4f29c Merge pull request #15700 from nxhack/2102_reduce_npm_size
    05d9528ad https-dns-proxy: update to 2021-05-14-1; bugfixes for dhcp server backup
    001691c2d Merge pull request #15716 from stangri/21.02-https-dns-proxy
    6ee4be3d2 Merge pull request #15638 from ErwanMAS/2102_tinc_allow_more_param_in_uci

LuCI-feed:
    19de3acdde luci-app-samba4: support listen on multiple interfaces
    ac0bcc2d10 luci-theme-material: fix wrong active state on common prefix node
    d851570070 treewide: backport i18n translations from master
    a5586749d0 luci-mod-network: drop duplicated "Master" option
    5047592f77 luci-mod-network: issue with breakdown of dnsmasq after duplication of static IP was fixed
    9e57b782aa luci-mod-network: interfaces.js: simplify some code using new ui helpers
    e75ac2ae34 luci-mod-network: add support for network.device sections
    15ae326879 luci-mod-network: add support for bridge vlan filtering
    470848fac9 luci-base: network.js: recognize DSA ports and bridge VLANs
    482f342d25 luci-mod-network: allow wifi bridging with bridge or bridge vlan ifaces
    f366dfe484 luci-mod-network: tools.network: handle bridge config and vlan corner cases
    dfd499b4d4 luci-mod-network: fix opacity for device icon tooltips
    7147b37a24 luci-mod-network: fix invalid variable access when creating interfaces
    a3ec9b262d luci-mod-network: fix legacy bridge configuration
    7684c18604 luci-mod-network: restore DNS option semantics for proto static
    dec5d8099e luci-mod-network: fix handling of peerdns/dns/dns_search options
    216ddcce71 luci-mod-network: don't implicitly move bridge opts into device sections
    8c2ea08aa8 luci-mod-network: fix unsetting network.device options
    08f5bc236e luci-mod-network: make condition for disabling legacy bridging more specific
    9f76002dae luci-mod-network: fix changing ifname in disabled legacy bridge mode
    e7a9d9e4bd luci-mod-network: allow disabling interface->device option migration
    220f5006af luci-mod-network: fix device section cleanup
    cdaf5635b2 luci-mod-network: drop support for *adding* legacy bridges
    8623436678 luci-mod-network: drop support for *editing* legacy bridges
    660156e166 luci-mod-network: use "ports" option for setting bridge ports
    5356e3fa25 luci-mod-network: add bridge interface migration
    a1b62732b8 luci-mod-network: don't hide "Device" on protocol change
    8303c2eac3 luci-mod-network: drop 2 unused variables
    482fc216ac luci-mod-network: migrate config to use "ports" option
    3c34c4645b luci-mod-network: migrate network config depending on netifd version
    c7fd1bfb12 treewide: use "device" option in UCI "interface" sections
    a86e770881 luci-mod-network: bump min netifd version for migration
    17a62e0f4e luci-mod-network: allow setting bridge device MTU and MAC
    9eee69a62e treewide: remove rendundant proto handler options
    14511e5392 treewide: drop MAC and MTU from interfaces (protocols)
    09329fe7bb luci-mod-network: split config migration into 2 steps
    81f41819a5 luci-app-samba4: prevent calling split() on array or null values
    8e14a086e9 luci-base: fix `network` data type validation
    d9bff53a1c luci-mod-network: allow netifd version query to fail
    b860704936 luci-mod-network: migrate macaddr during bridge migration

routing-feed:
    2e602f7 Merge pull request freifunk-berlin#635 from ecsv/batadv-2021.0
    519c1ff babeld: send events via ubus (freifunk-berlin#633)
    72408a9 babeld: fix compiler warnings (freifunk-berlin#639)
    8699124 babeld: adopt to upstream header-style (freifunk-berlin#640)
    d63eda0 Merge pull request freifunk-berlin#643 from ecsv/batadv-2021.0
    6f29856 opennds: Release 8.1.1
    08903b9 bird2: update to version 2.0.8
    5b4d4c7 bird2: Makefile polishing
    1267201 opennds: Release v9.0.0
    0fc85a4 Merge pull request freifunk-berlin#657 from ecsv/batadv-for-21.02
    9c2452c batman-adv: update to version 2021.1
    5d09821 batman-adv: Always send iface index+name in genlmsg
    5112114 batctl: update to version 2021.1
    7f25964 alfred: update to version 2021.1
    57533a2 Merge pull request freifunk-berlin#659 from ecsv/batadv-for-21.02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants