Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • firmware/gluon
  • 0x4A6F/gluon
  • patrick/gluon
3 results
Show changes
Commits on Source (48)
  • Sebastian Schaper's avatar
    3ee60c77
  • Maciej Krüger's avatar
    gluon-core: add post-setup.d .keep (#2525) · 57c0bdbf
    Maciej Krüger authored
    This folder is referenced in files/lib/netifd/proto/gluon_mesh.sh, but 
    there's no .keep for it
    Unverified
    57c0bdbf
  • Martin Weinelt's avatar
    ramips-mt7621: add TP-Link RE650v1 (#2527) · 99bdce10
    Martin Weinelt authored
    - [x] Must be flashable from vendor firmware
      - [x] Web interface
      - [ ] TFTP (untested, but possible according to OpenWrt wiki)
      - [ ] Other: <specify>
    - [x] Must support upgrade mechanism
      - [x] Must have working sysupgrade
        - [x] Must keep/forget configuration (`sysupgrade [-n]`, `firstboot`)
      - [x] Gluon profile name matches autoupdater image name
            (`lua -e 'print(require("platform_info").get_image_name())'`)
    - [x] Reset/WPS/... button must return device into config mode
    - [x] Primary MAC address should match address on device label (or packaging)
          (https://gluon.readthedocs.io/en/latest/dev/hardware.html#notes)
      - When re-adding a device that was supported by an earlier version of Gluon, a
        factory reset must be performed before checking the primary MAC address, as
        the setting from the old version is not reset otherwise.
    - Wired network
      - [x] should support all network ports on the device
      - [x] must have correct port assignment (WAN/LAN)
        - On devices supplied via PoE, there is usually no explicit WAN/LAN labeling on the hardware.
          The PoE input should be the WAN port in this case.
    - Wireless network (if applicable)
      - [x] Association with AP must be possible on all radios
      - [x] Association with 802.11s mesh must work on all radios
      - [x] AP+mesh mode must work in parallel on all radios
    - LED mapping
      - Power/system LED
        - [x] Lit while the device is on
        - [x] Should display config mode blink sequence
              (https://gluon.readthedocs.io/en/latest/features/configmode.html)
      - Radio LEDs
        - [x] Should map to their respective radio
        - [x] Should show activity
      - Switch port LEDs
        - [x] Should map to their respective port (or switch, if only one led present)
        - [x] Should show link state and activity
    Unverified
    99bdce10
  • David Bauer's avatar
    modules: update openwrt · 7a80663f
    David Bauer authored
    34b6abf5a8 ath79: add support for MikroTik hAP (RB951Ui-2nD)
    03cfdf72e2 ath79: add support for MikroTik RouterBOARD hAP ac lite
    80baa60259 firewall4: update to latest Git HEAD
    4575498276 ucode: update to latest Git HEAD
    e90f74feb6 kernel: bump 5.10 to 5.10.116
    95c315f200 ath79: fix ar934x spi driver delays
    97a2012ecc openssl: bump to 1.1.1o
    6f8db8fee3 wolfssl: bump to v5.3.0-stable
    3aeb6e975f ipq806x: add support for Arris TR4400 v2 / RAC2V1A
    a11c3cde27 realtek: add support for ZyXEL GS1900-16
    9b20e2a699 ath79: add Netgear WNDAP360
    6729fa2dd2 ath79: add support for TP-Link Deco M4R v1 and v2
    3c57430d1c ramips: add led_source for Asus RT-AC1200 devices
    e431195abf ramips: add support for Cudy X6
    5439efe37d ramips: Add support for SERCOMM NA502S
    fe5943a7bd ramips: add support for Wavlink WL-WN533A8
    5454735574 ramips: create shared DTSI for Wavlink WN53XAX devices
    7152bc84f4 ramips: add support for TP-Link RE650 v2
    d627ea510c ramips: add support for YunCore AX820/HWAP-AX820
    9c2ed54aa2 firmware-utils: bump to git HEAD
    87f9dd665a firmware-utils: bump to git HEAD
    3963a90df8 kernel: Add missing devm_regulator_get_exclusive()
    7a0af40e37 kernel: bump 5.10 to 5.10.115
    e0aaecdbb8 kernel: bump 5.10 to 5.10.114
    416e8aefe1 IPQ4019: AVM FRITZ!Box 7530: Remove NAND ECC restrictions from DTS
    ec45e1ff68 kernel: add support for Toshiba TC58NVG0S3HTA00 NAND flash
    144d9c4a43 uboot-fritz4040: Add support for Toshiba NAND
    9ef931f96b ath79: ZTE MF286[A,R]: add "Power button blocker" GPIO switch
    54e759d05d ipq40xx: revert Cell-C RTL30VW to legacy caldata extraction
    0f8eba4f95 ath79: fix I2C on GL-AR300M devices
    308ce46076 ipq40xx: Lyra: update RGB LED-Controller node for 5.10+
    19a8c723b6 lantiq: xway: disable unused switch drivers
    a374a959b9 realtek: do not reset SerDes on link change
    7b4702afef realtek: Trap all frames with switch as destination to CPU-port
    1c6a179e1a ramips: fix booting on Samknows SK-WB8
    6120a66e6a bcm27xx: include 'rtc' in target's 'FEATURES'
    ae64d0624c kernel: fix corrupted padding on small packets with mt753x dsa
    53fc6e9ede kernel: fix flow offload issues with pppoe
    77e123340f mediatek: add patches for MT7622 WED (wireless ethernet dispatch)
    7a80663f
  • David Bauer's avatar
    modules: update packages · 6fcc04ab
    David Bauer authored
    b708cf5a1 ffmpeg: update to 5.0.1
    2d0893afb pigeonhole: update to 2.3.18
    2904343fb dovecot: update to 2.3.18
    771fc2373 openconnect: bump to version 9.01
    6621ab68b miniflux: update to 2.0.36
    aaab4075c openldap: drop use of HTTP in favor of HTTPS
    2abb60c16 audit: avoid interferece with base libaudit build
    964e972af audit: remove host build
    0c44bdcea audit: Fix compilation with kernel 5.15
    223f6215b poemgr: add package
    9f4253df4 shadowsocks-libev: fix compat issue with newer version of ucode
    044425dc4 bluez: Update to 5.64, update/refresh patches
    30c39ca1d docker: Update to v20.10.16
    b23eb24dc dockerd: Update to v20.10.16
    6f3e7f879 libnetwork: Updated to 339b97 for docker v20.10.16
    c5061b93d containerd: Update to v1.6.4 for docker v20.10.16 * Overrode `PREFIX` to have the old behaviour
    33d3642c8 runc: Update to v1.1.1 for docker v20.10.16
    001ab241e icu: bump to 71.1
    136fb020f usteer: update to latest HEAD
    db966f719 telegraf: Update to version 1.22.4
    864bc0eac golang: Update to 1.18.2
    867ad434f micropython-lib: Update to latest master
    0cd609b67 ci: Look for changed packages in the PR branch only
    9d2246b28 docker: fix compilation with glibc
    5af6f2592 dockerd: fix compilation with glibc
    8905f9808 dockerd: Add firewall independent dependencies
    79614bb2a dockerd: Sorted dependencies for better diffs
    c227c65c6 docker:  Update to 20.10.14
    df8b28232 dockerd: Update to 20.10.14, and update version checking mechanism
    23547de3c containerd: Update to 1.5.11
    c79b4f85b runc: update to 1.0.3
    f8892740c privoxy: update to 3.0.33 and fix the init script
    6f606107e lxc: export systemd cgroups after install
    245c658fa cloudflared: Update to 2022.5.1
    61a2e96d2 dnsproxy: Update to 0.42.3
    f8e2c5dca dawn: update to 2022-05-09
    68c7cb1d3 haproxy: Update HAProxy to v2.4.16
    db148cc08 adblock: list maintenance
    821fd2499 strongswan: add wolfssl plugin
    220c75cef htop: update to 3.2.0
    dad9ae19e v2rayA: Update to 1.5.7
    2aa2a157b cloudreve: Update to 3.5.3
    d51f7c20b cloudreve: Update to 3.5.2
    0e639eb47 cloudflared: Update to 2022.5.0
    23fc3e63c youtube-dl: update to 2021.12.17
    50e306326 usteer: update to latest HEAD
    f26d5e546 passh: updated per OpenWrt's common practice
    3bd1d510e passh: an sshpass alternative
    7fddd201f sexpect: updated per OpenWrt's common practice
    40e42950c sexpect: Expect for Shells
    b282f5bba https-dns-proxy: 2021-11-22-3: add support for Canary Domains
    b93534691 zerotier: fix segfault on ARM platforms
    6fcc04ab
  • David Bauer's avatar
    modules: update routing · 18818bb6
    David Bauer authored
    f6d2b09 babeld: rewrite description
    37d2c78 babled: update to 1.12.1
    255c859 babeld: update to 1.12
    f2bebea alfred: Merge bugfixes from 2022.1
    2bebe7e batctl: Merge bugfixes from 2022.1
    0ab07cf batman-adv: Merge bugfixes from 2022.1
    18818bb6
  • lemoer's avatar
    gluon-mesh-vpn-*: make vpn MTU provider specific · 7c81897b
    lemoer authored
    If a community uses different vpn providers, they typically
    assume the same MTU for the wan device underneath the VPN. As
    different VPN providers however have different overhead, the MTU
    of the VPN device differs for each provider. Therefore this
    commit makes the MTU of the VPN device provider specific.
    
    This has two advantages:
    1. The same site.conf can used to bake firmwares for different
       VPN providers (only by selecting a diferent vpn feature in the
       site.mk).
    2. We are coming closer to the option of integrating multiple VPN
       providers into one firmware.
    7c81897b
  • David Bauer's avatar
    Merge pull request #2528 from blocktrron/upstream-master-updates · ae27394f
    David Bauer authored
    base: update modules
    Unverified
    ae27394f
  • lemoer's avatar
    docs: adjust example site.conf · 5f8da70f
    lemoer authored
    5f8da70f
  • lemoer's avatar
    docs: move mtu in site.rst · d3dbc3d8
    lemoer authored
    d3dbc3d8
  • J. Burfeind's avatar
    gluon-status-page: fix mesh-vpn section for wg (#2502) · 36f40674
    J. Burfeind authored
    Since freifunk-gluon/packages#250 mesh-vpn-peers
    can be empty arrays if they're not connected
    and the node is in a WireGuard site.
    Unverified
    36f40674
  • David Bauer's avatar
    Merge pull request #2352 from lemoer/pr_site_vpn_mtu_in_provider · 1ef3edbe
    David Bauer authored
    RFC: gluon-mesh-vpn-*: make MTU of VPN device provider specific
    Unverified
    1ef3edbe
  • Maciej Krüger's avatar
    ath79-mikrotik: add support for Mikrotik RB951Ui-2nD (#2377) · a0df96eb
    Maciej Krüger authored
    Re-add mikrotik target
    
    Note that previous images were generic ones and as such no migration
    path is provided other than manually flashing the image via config-mode.
    Unverified
    a0df96eb
  • Matthias Schiffer's avatar
    ath79-generic: re-add support for Ubiquiti UniFi AP Outdoor+ (#2440) · 674ec7b6
    Matthias Schiffer authored
    Removed in 45c84a11 ("ar71xx: drop target").
    Unverified
    674ec7b6
  • Matthias Schiffer's avatar
    gluon-core: check-site: support checking "custom" values · d24ae563
    Matthias Schiffer authored
    The new "value" helper can be used to turn a Lua value into a path that
    can be passed to need_*() etc.
    Unverified
    d24ae563
  • Matthias Schiffer's avatar
    gluon-autoupdater: check default branch name · db48b6b6
    Matthias Schiffer authored
    Check the default branch (both from site.conf and GLUON_AUTOUPDATER_BRANCH)
    against the list of configured branch names to avoid misconfiguration.
    Unverified
    db48b6b6
  • Matthias Schiffer's avatar
    gluon-autoupdater: factor out default_branch() function · 2c65f083
    Matthias Schiffer authored
    Make the code clearer and prepare for invalid branch fixup.
    Unverified
    2c65f083
  • Matthias Schiffer's avatar
    gluon-autoupdater: revert to default branch when configured branch is invalid · 53cf8796
    Matthias Schiffer authored
    An invalid branch may be set for various reasons:
    
    - Previous firmware had an invalid default branch
    - Branch list has changed and old UCI branch config was removed by a
      site-specific upgrade script
    - Manual UCI configuration
    Unverified
    53cf8796
  • Matthias Schiffer's avatar
    ci: minimal-site: set good_signatures to 0 · 3a893f67
    Matthias Schiffer authored
    Do not fail the new check that good_signatures ≤ #pubkeys.
    Unverified
    3a893f67
  • Matthias Schiffer's avatar
  • Sebastian Schaper's avatar
  • Jan's avatar
  • lemoer's avatar
    push_pkg.sh: use scp protocol for openssh scp (#2479) · c133fbbe
    lemoer authored
    Starting from OpenSSH 9.0p, scp started to use sftp in favor of the
    scp protocol by default. As dropbear in OpenWrt currently does not
    support sftp by default, we now use the fallback cli switch "-O"
    to use the scp protocol for scp.
    Unverified
    c133fbbe
  • David Bauer's avatar
    modules: update openwrt · a8a1a058
    David Bauer authored
    b42511c007 ath79: fix label MAC address for D-Link DIR-825B1
    0ed3446bfc OpenWrt v22.03.0-rc3: revert to branch defaults
    f0e0bcba5e OpenWrt v22.03.0-rc3: adjust config defaults
    9f415792e1 ath79: NanoBeam M5 fix target_devices
    d9cb31f944 ath79: add support for Ubiquiti NanoBeam M5
    fca0069247 OpenWrt v22.03.0-rc2: revert to branch defaults
    4f6f9caf1f OpenWrt v22.03.0-rc2: adjust config defaults
    a8a1a058
  • David Bauer's avatar
    modules: update packages · e42620cd
    David Bauer authored
    70c8dc36c lua-openssl: update to version 0.8.2-1
    a5a0c94cc banip: mark as broken
    f263b042a dnslookup: Update to 1.7.0
    244eb582f dnsproxy: Update to 0.43.0
    80675bedb dnsproxy: Update to 0.42.4
    ba8efcc27 vpnc: Update to 0.5.3+git20220517
    009915f4f haproxy: Update HAProxy to v2.4.17
    1efe209f1 tailscale: update to version 1.24.2
    4b697c468 node-serialport: Support for npm@8
    403eb59cd node-hid: Support for npm@8
    52cb98ae9 node-cylon: Support for npm@8
    575fbc5b9 node-arduino-firmata: Support for npm@8
    83a9458a1 node-serialport-bindings: Support for npm@8
    20a92ce23 node-yarn: Support for npm@8
    9934d2851 node-homebridge: Support for npm@8
    97d325e6d node-javascript-obfuscator: Support for npm@8
    7e853be8f node: Major update from v14 to v16
    e42620cd
  • David Bauer's avatar
    modules: update routing · ecace933
    David Bauer authored
    b7a8391 mesh11sd: Release v1.1.1
    ecace933
  • David Bauer's avatar
    Merge pull request #2536 from blocktrron/upstream-master-updates · 541000ee
    David Bauer authored
    modules: update to latest HEAD
    Unverified
    541000ee
  • David Bauer's avatar
    Merge pull request #2524 from s-2/dir-825 · 7c7fbd14
    David Bauer authored
    ath79-generic: migrate D-Link DIR-825 B1 from ar71xx
    Unverified
    7c7fbd14
  • J. Burfeind's avatar
    ath79-generic: (re)add support for NanoBeam M5 (XW) (#2432) · 2887adef
    J. Burfeind authored
    Gone due to
    commit 071cf7b2 ("Switch to Lua for target definitions")
    
    Has prior been introduced as untested -> broken in
    commit d586720c ("ar71xx-generic: add support for Ubiquiti NanoBeam M5")
    
    Was commented out in the former commit.
    Unverified
    2887adef
  • Matthias Schiffer's avatar
    ath79-generic: update Archer C6 v2 image name (#2534) · 0b9d3b78
    Matthias Schiffer authored
    The DTS model name has been changed to "TP-Link Archer C6 v2 (EU/RU/JP)"
    to distinguish it from the US version.
    
    Closes #2533
    Unverified
    0b9d3b78
  • J. Burfeind's avatar
    docs: use default language 'en' (#2538) · fc5644f6
    J. Burfeind authored
    Since sphinx-5.0.0 "None" is not recommended anymore.
    Unverified
    fc5644f6
  • David Bauer's avatar
    modules: update openwrt · e56486b6
    David Bauer authored
    f765f2f114 ipq40xx: add Aruba AP-365 specific BDF
    59e1b59bb3 malta: use default OpenWrt network configuration
    dbd4c345fb firewall4: update to latest Git HEAD
    dad1533030 ucode: update to latest Git HEAD
    e56486b6
  • David Bauer's avatar
    modules: update packages · 4d846175
    David Bauer authored
    656ed7aef openwisp-config: update to 1.0.0
    29d26d1d0 xray-core: Update to 1.5.6
    0647d444b cloudflared: Update to 2022.5.3
    62514d596 yq: Update to 4.25.2
    a9eed2e80 php8: update to 8.1.6
    b42781523 php8: update to 8.1.5
    a60cb1fbd libxml2: update to 2.9.14
    dbe3820f3 pdns-recursor: update to 4.7.0
    1646a22dd strongswan: support child rekey by bytes and packets
    4d846175
  • David Bauer's avatar
    Merge pull request #2540 from blocktrron/upstream-master-updates · 98be3903
    David Bauer authored
    modules: update to latest HEAD
    Unverified
    98be3903
  • David Bauer's avatar
    ipq40xx: switch Wave2 firmware to -ct (#2541) · 15ef8858
    David Bauer authored
    
    Use the candelatech firmware for the QCA Wave-2 firmware.
    
    The Qualcomm firmware used for the IPQ401x chip in OpenWrt in 22.03
    is experiencing heavily degraded performance due to excessive
    retransmits when using A-MSDU. Disabling VHT modes or switching to the
    candelatech firmware circumvents this issue.
    
    Apply the same to other Wave-2 platforms in order to keep consistency
    with upstream.
    
    Wave-1 chips do not support mesh modes with the -ct firmware, so keep
    using the QCA firmware in their case.
    
    Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    Unverified
    15ef8858
  • lemoer's avatar
    docs: add docs for gluon-mesh-vpn-wireguard · 2daf13cd
    lemoer authored
    2daf13cd
  • lemoer's avatar
    docs/user: move mtu to mtu.rst · 707f8192
    lemoer authored
    707f8192
  • J. Burfeind's avatar
    ath79-generic: (re)add Archer C58 v1 (#2521) · 9b7b0538
    J. Burfeind authored
    Gone due to
    commit 45c84a11 ("ar71xx: drop target")
    Unverified
    9b7b0538
  • David Bauer's avatar
    Merge pull request #2351 from lemoer/pr_docs_wireguard · fa021884
    David Bauer authored
    docs: add docs for gluon-mesh-vpn-wireguard
    Unverified
    fa021884
  • Matthias Schiffer's avatar
    Merge pull request #2520 from freifunk-gluon/check-updater-branch · ae7b87b0
    Matthias Schiffer authored
    gluon-autoupdater: check default branch name, check number of pubkeys, revert invalid branch on update/reconfigure
    Unverified
    ae7b87b0
  • David Bauer's avatar
    modules: update openwrt · 52d4ae5a
    David Bauer authored
    3cfe050c4a kernel: crypto: add kmod-crypto-chacha20poly1305
    23f0fea742 sunxi/cortexa53: enable armv8-CE crypto algorithms
    83dfa4156e rockchip/armv8: enable armv8-CE crypto algorithms
    7f4467784f octeontx: add armv8-CE version of CRC T10
    9ff2e7d3e7 mvebu/cortexa72: enable armv8-CE crypto algos
    75ffc994ba mvebu/cortexa72: refresh kernel 5.10 config
    cd25cc0558 mvebu/cortexa53: enable armv8-CE crypto algos
    23bc97c281 mvebu/cortexa53: refresh kernel 5.10 config
    33dd466422 layerscape/armv8_64b: enable armv8-CE crypto algos
    51f1480e48 bcm4908: enable armv8-CE crypto algorithms
    4101c8191e bcm27xx/bcm2711: enable asm crypto algorithms
    8f393cf2f8 bcm27xx/bcm2710: enable asm crypto algorithms
    2b4fba8750 ath79: D-Link DAP-2680: select QCA9984 firmware
    d5f911e68f OpenWrt v22.03.0-rc4: revert to branch defaults
    677e3c18fe OpenWrt v22.03.0-rc4: adjust config defaults
    2b1941e47d bcm53xx: remove BROKEN flag from Asus RT-AC88U
    a83dc6b06d kernel: move Toshiba-TC58NVG0S3H patch to ipq40xx
    3b90edaff9 wolfssl: make WOLFSSL_HAS_OPENVPN default to y
    fe9c4593b5 wolfssl: enable CPU crypto instructions
    50b6f5604b wolfssl: add benchmark utility
    f4b7541b22 wolfssl: don't change ABI because of hw crypto
    ff889898d2 kernel: bump 5.10 to 5.10.120
    0ca9367069 kernel: bump 5.10 to 5.10.119
    49f8a75031 kernel: bump 5.10 to 5.10.118
    3ce3de934c kernel: bump 5.10 to 5.10.117
    b24c301709 ksmbd: update to 3.4.5
    e8fedf26ab ath79: allow use GPIO17 as regular gpio on GL-AR300M devices
    c29641f718 ath79: ZTE MF286[,A,R]: use GPIO19 as ath9k LED
    9325aefaf3 ath79: ZTE MF286[,A,R]: fix WLAN LED mapping
    720a7db7ea build: fix find warning with SCAN_EXTRA
    8e9eaef70a kernel: fix crashes in bridge offload code
    33df033b73 mac80211: add a bug fix for a rare crash
    d04a947b6b uboot-imx: fix wrong make flags overriding
    972160a0f7 kernel: backport flow offload fixes
    26958e9724 bmips: dgnd3700v2: fix network config
    fe04b41d70 libubox: update to the latest version
    9c0f94e955 ltq-vdsl-app: disconnect when service is stopped
    8f4b5fdd5f ltq-vdsl/ltq-adsl: fix elapsed time calculation
    ea0744fbc6 ltq-atm/ltq-ptm: avoid unnecessary build dependencies
    290c13b7d7 ltq-vdsl-mei: add locking to interrupt handler
    d0397abd9d ltq-vdsl-app: set MAC address for vectoring error reports
    642d6c0c6d ltq-vdsl-mei: enable vectoring error sample callback
    e56836dfc1 ltq-vectoring: add driver
    de0a9b0eab realtek: add gpio-restart for D-Link DGS-1210-28
    e2ca166479 realtek: add reset button for D-Link DGS-1210-28
    638220bfee packages: nvram: add NVRAM quirks for bcm53xx target
    bee8612d4f bcm53xx: add support for Asus RT-AC88U
    ee4a765090 realtek: add support for ZyXEL GS1900-24E
    045fe28d4e ramips: use hotplug script for EAP615-Wall MACs
    f77d77e726 tools/mkimage: increase tmpfile name length limit
    4afa65af8e fstools: update to git HEAD
    0a47d52287 ubus: update to git HEAD
    76b4b50bbe netifd: update to git HEAD
    19f287a7ca procd: update to git HEAD
    2ca8bccb00 netifd: update to the latest version
    002e05bf9f uqmi: update to git HEAD
    52d4ae5a
  • David Bauer's avatar
    modules: update packages · cc42c79d
    David Bauer authored
    3aaf33242 mosh-full: Add perlbase-text dependency
    7caba084e mosh-full: Sort dependencies alphabetically
    afea2bcaf beep: change git repository to fix CVE-2018-0492 and CVE-2018-1000532
    a7c3a883d node: bump to v16.15.0
    b38fedc4d xray-core: increase nofile limitation
    927464150 xray-core: Update to 1.5.7
    486508e25 dnsproxy: Update to 0.43.1
    e9bab297a golang: Update to 1.18.3
    83516e303 gg: Update to 0.2.6
    fb773a5fe htop: update to 3.2.1
    bc417a955 libcoap: make sure `libcoap-3-notls.so` is installed
    b1fa0b81c ksmbd-tools: update to 3.4.5
    b86d48ee2 ksmbd-tools: update to 3.4.4
    0060d7663 irqbalance: remove local patch for socket directory
    cd35bee8b irqbalance: update to 1.9.0
    dbec8e910 yggdrasil: stop properly
    cc42c79d
  • David Bauer's avatar
    modules: update routing · 01af592f
    David Bauer authored
    4b2b6b3 naywatch: add log when naywatch activates
    01af592f
  • David Bauer's avatar
    Merge pull request #2545 from blocktrron/upstream-master-updates · ad7d3300
    David Bauer authored
    modules: update to latest Git HEAD
    Unverified
    ad7d3300
  • dependabot[bot]'s avatar
    build(deps): bump zeebe-io/backport-action from 0.0.7 to 0.0.8 (#2539) · 4b079dbe
    dependabot[bot] authored
    Bumps [zeebe-io/backport-action](https://github.com/zeebe-io/backport-action) from 0.0.7 to 0.0.8.
    - [Release notes](https://github.com/zeebe-io/backport-action/releases)
    - [Commits](https://github.com/zeebe-io/backport-action/compare/v0.0.7...v0.0.8
    
    )
    
    ---
    updated-dependencies:
    - dependency-name: zeebe-io/backport-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: default avatardependabot[bot] <support@github.com>
    
    Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Unverified
    4b079dbe
  • J. Burfeind's avatar
  • Nico's avatar
    afbf8628
  • Nico's avatar
    c8b6d509
Showing
with 390 additions and 115 deletions
......@@ -17,6 +17,16 @@
"targets/generic",
"targets/targets.mk"
],
"ath79-mikrotik": [
"targets/ath79-mikrotik",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/mikrotik.inc"
],
"bcm27xx-bcm2708": [
"targets/bcm27xx-bcm2708",
"modules",
......
......@@ -12,7 +12,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: zeebe-io/backport-action@v0.0.7
uses: zeebe-io/backport-action@v0.0.8
with:
# Config README: https://github.com/zeebe-io/backport-action#backport-action
github_token: ${{ secrets.GITHUB_TOKEN }}
......
......@@ -25,6 +25,7 @@ files["package/**/check_site.lua"] = {
"extend",
"in_domain",
"in_site",
"value",
"need",
"need_alphanumeric_key",
"need_array",
......
......@@ -93,7 +93,6 @@
mesh_vpn = {
-- enabled = true,
mtu = 1312,
fastd = {
-- Refer to https://fastd.readthedocs.io/en/latest/ to better understand
......@@ -101,6 +100,7 @@
-- List of crypto-methods to use.
methods = {'salsa2012+umac'},
mtu = 1312,
-- configurable = true,
-- syslog_level = 'warn',
......@@ -145,7 +145,7 @@
-- Have multiple maintainers sign your build and only
-- accept it when a sufficient number of them have
-- signed it.
good_signatures = 2,
good_signatures = 0,
-- List of public keys of maintainers.
pubkeys = {
......
......@@ -127,7 +127,7 @@ while [ $# -gt 0 ]; do
# shellcheck disable=SC2029
if [ -n "$filename" ]; then
scp -P "${ssh_port}" "$feed/$filename" "root@${BL}${ssh_host}${BR}:/tmp/${filename}"
scp -O -P "${ssh_port}" "$feed/$filename" "root@${BL}${ssh_host}${BR}:/tmp/${filename}"
ssh -p "${ssh_port}" "root@${ssh_host}" "
set -e
echo Running opkg:
......
......@@ -58,7 +58,7 @@ master_doc = 'index'
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = 'en'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
......
......@@ -33,12 +33,12 @@ no security.
Tunneldigger's primary drawback is the lack of IPv6 support.
It also provides less configurability than fastd.
mesh-vpn-wireguard (experimental)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mesh-vpn-wireguard
~~~~~~~~~~~~~~~~~~
Wireguard is a new tunneling software that offers modern encryption
methods and is implemented in the kernel, resulting in high throughput.
It is implemented in Gluon using the *wgpeerselector* tool.
WireGuard is an encrypted in-kernel tunneling protocol that
provides encrypted transmission and at the same time offers
high throughput.
fastd
^^^^^
......@@ -119,3 +119,50 @@ The resulting firmware will allow users to choose between secure (encrypted) and
To confirm whether the correct cipher is being used, the log output
of fastd can be checked using ``logread``.
WireGuard
^^^^^^^^^
In order to support WireGuard in Gluon, a few technologies are glued together.
**VXLAN:** As Gluon typically relies on batman-adv, the Mesh VPN has to provide
OSI Layer 2 transport. But WireGuard is an OSI Layer 3 tunneling protocol, so
additional technology is necessary here. For this, we use VXLAN. In short, VXLAN
is a well-known technology to encapsulate ethernet packages into IP packages.
You can think of it as kind of similar to VLAN, but on a different layer. Here,
we use VXLAN to transport batman-adv traffic over WireGuard.
**wgpeerselector**: To connect all gluon nodes to each other, it is common to
create a topology where each gluon node is connected to one of the available
gateways via Mesh VPN respectively. To achieve this, the gluon node should be
able to select a random gateway to connect to. But such "random selection of a
peer" is not implemented in WireGuard by default. WireGuard only knows static
peers. Therefore the *wgpeerselector* has been developed. It randomly selects a
gateway, tries to establish a connection, and if it fails, tries to connect
to the next gateway. This approach has several advantages, such as load
balancing VPN connection attempts and avoiding problems with offline gateways.
More information about the wgpeerselector and its algorithm can be found
`here <https://github.com/freifunk-gluon/packages/blob/master/net/wgpeerselector/README.md>`__.
On the gluon node both VXLAN and the wgpeerselector are well integrated and no
explicit configuation of those tools is necessary, once the general WireGuard
support has been configured.
Attention must by paid to time synchronization. As WireGuard
performs checks on timestamps in order to avoid replay attacks, time must
be synchronized before the Mesh VPN connection is established. This means that
the NTP servers specified in your site.conf must be publicly available (and not
only through the mesh). Be aware that if you fail this, you may not directly see
negative effects. Only when a previously connected node reboots the effect
comes into play, as the gateway still knows about the old timestamp of the gluon
node.
Gateway / Supernode Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On the gateway side, a software called *wireguard-vxlan-glue* is necessary. It
is a small daemon that dynamically adds and removes forwarding rules for VXLAN
interfaces, so traffic is sent correctly into the WireGuard interface. Thereby
the forwarding rules are only installed if a client is connected, so
unnecessary traffic in the kernel is avoided. The source can be found
`here <https://github.com/freifunkh/wireguard-vxlan-glue/>`__.
......@@ -14,6 +14,7 @@ Several Freifunk communities in Germany use Gluon as the foundation of their Fre
user/supported_devices
user/x86
user/faq
user/mtu
.. toctree::
:caption: Features
......
......@@ -20,10 +20,10 @@
},
mesh_vpn = {
mtu = 1312,
fastd = {
methods = {'salsa2012+umac'},
mtu = 1312,
},
bandwidth_limit = {
......
......@@ -105,7 +105,6 @@
mesh_vpn = {
-- enabled = true,
mtu = 1312,
fastd = {
-- Refer to https://fastd.readthedocs.io/en/latest/ to better understand
......@@ -113,6 +112,7 @@
-- List of crypto-methods to use.
methods = {'salsa2012+umac'},
mtu = 1312,
-- configurable = true,
-- syslog_level = 'warn',
......
......@@ -25,84 +25,3 @@ interface. This DNS server must be announced in router advertisements (using
on *batman-adv*. If your mesh does not have global IPv6 connectivity, you can setup
your *radvd* not to announce a default route by setting the *default lifetime* to 0;
in this case, the *radvd* is only used to announce the DNS server.
.. _faq-mtu:
What is a good MTU on the mesh-vpn?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Setting the MTU on the transport interface requires careful consideration, as
setting it too low will cause excessive fragmentation and setting it too high
may leave peers with a broken tunnel due to packet loss.
Consider these key values:
- Payload: Allow for the transport of IPv6 packets, by adhering to the minimum MTU
of 1280 Byte specified in RFC 2460
- and configure `MSS clamping`_ accordingly,
- and announce your link MTU via Router Advertisements and DHCP
.. _MSS clamping: https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.cookbook.mtu-mss.html
- Encapsulation: Account for the overhead created by the configured mesh protocol
encapsulating the payload, which is up to 32 Byte (14 Byte Ethernet + 18 Byte
batadv).
- PMTU: What MTU does the path between your gateway and each of its peers support?
For reference, the complete MTU stack looks like this:
.. image:: mtu-diagram_v5.png
Minimum MTU
-----------
Calculate the minimum transport MTU by adding the encapsulation overhead to the
minimum payload MTU required. This is the lowest recommended value, since going
lower would cause unnecessary fragmentation for clients which respect the announced
link MTU.
Example: Our network currently uses batman-adv v15, it therefore requires up
to 32 Bytes of encapsulation overhead on top of the minimal link MTU required for
transporting IPv6.::
\ 1312 1294 1280 0
\---------+-----------------+-------------+----------------------------------+
\TAP | batadv v15 | Ethernet | Payload |
\-------+-----------------+-------------+----------------------------------+
\ ^
|
MTU_LOW = 1280 Byte + 14 Byte + 18 Byte = 1312 Byte
Maximum MTU
-----------
Calculating the maximum transport MTU is interesting, because it increases the
throughput, by allowing larger payloads to be transported, but also more difficult
as you have to take into account the tunneling overhead and each peers PMTU, which
varies between providers.
The underlying reasons are mostly PPPoE, Tunneling and IPv6 transition technologies
like DS-Lite.
Example: The peer with the smallest MTU on your network is behind DS-Lite and can
transport IPv4 packets up to 1436 Bytes in size. Your tunnel uses IPv4 (20 Byte),
UDP (8 Byte), Fastd (24 byte) and you require TAP (14 Byte) for Layer 2 (Ethernet)
Tunneling.::
1436 1416 1408 1384 1370 \
+-------------------+--------+-----------------------+-------------+------\
| IP | UDP | Fastd | TAP | bat\
+-------------------+--------+-----------------------+-------------+--------\
^ \
|
MTU_HIGH = 1436 Byte - 20 Byte - 8 Byte - 24 Byte - 14 Byte = 1370 Byte
Conclusion
----------
Determining the maximum MTU can be a tedious process, especially since the PMTU
of peers could change at any time. The general recommendation for maximized
compatibility is therefore the minimum MTU of 1312 Byte, which works well with
both IPv4 and IPv6.
MTU for Mesh-VPN
================
What is a good MTU on the mesh-vpn?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Setting the MTU on the transport interface requires careful consideration, as
setting it too low will cause excessive fragmentation and setting it too high
may leave peers with a broken tunnel due to packet loss.
Consider these key values:
- Payload: Allow for the transport of IPv6 packets, by adhering to the minimum MTU
of 1280 Byte specified in RFC 2460
- and configure `MSS clamping`_ accordingly,
- and announce your link MTU via Router Advertisements and DHCP
.. _MSS clamping: https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.cookbook.mtu-mss.html
- Encapsulation: Account for the overhead created by the configured mesh protocol
encapsulating the payload, which is up to 32 Byte (14 Byte Ethernet + 18 Byte
batadv).
- PMTU: What MTU does the path between your gateway and each of its peers support?
For reference, the complete MTU stack looks like this:
.. image:: mtu-diagram_v5.png
Example for Minimum MTU
-----------------------
Calculate the minimum transport MTU by adding the encapsulation overhead to the
minimum payload MTU required. This is the lowest recommended value, since going
lower would cause unnecessary fragmentation for clients which respect the announced
link MTU.
Example: Our network currently uses batman-adv v15, it therefore requires up
to 32 Bytes of encapsulation overhead on top of the minimal link MTU required for
transporting IPv6.::
\ 1312 1294 1280 0
\---------+-----------------+-------------+----------------------------------+
\TAP | batadv v15 | Ethernet | Payload |
\-------+-----------------+-------------+----------------------------------+
\ ^
|
MTU_LOW = 1280 Byte + 14 Byte + 18 Byte = 1312 Byte
Example for Maximum MTU
-----------------------
Calculating the maximum transport MTU is interesting, because it increases the
throughput, by allowing larger payloads to be transported, but also more difficult
as you have to take into account the tunneling overhead and each peers PMTU, which
varies between providers.
The underlying reasons are mostly PPPoE, Tunneling and IPv6 transition technologies
like DS-Lite.
Example: The peer with the smallest MTU on your network is behind DS-Lite and can
transport IPv4 packets up to 1436 Bytes in size. Your tunnel uses IPv4 (20 Byte),
UDP (8 Byte), Fastd (24 byte) and you require TAP (14 Byte) for Layer 2 (Ethernet)
Tunneling.::
1436 1416 1408 1384 1370 \
+-------------------+--------+-----------------------+-------------+------\
| IP | UDP | Fastd | TAP | bat\
+-------------------+--------+-----------------------+-------------+--------\
^ \
|
MTU_HIGH = 1436 Byte - 20 Byte - 8 Byte - 24 Byte - 14 Byte = 1370 Byte
Tables for Different VPN Providers
----------------------------------
VPN Protocol Overhead (IPv4)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Overhead of the VPN protocol layers in bytes on top of an Ethernet frame.
+----------+-------+--------------+-----------+
| | fastd | Tunneldigger | Wireguard |
+==========+=======+==============+===========+
| IPv4 | 20 | 20 | 20 |
+----------+-------+--------------+-----------+
| UDP | 8 | 8 | 8 |
+----------+-------+--------------+-----------+
| Protocol | 24 | 8 | 32 |
+----------+-------+--------------+-----------+
| TAP | 14 | 14 | / |
+----------+-------+--------------+-----------+
| Sum | 66 | 50 | 60 |
+----------+-------+--------------+-----------+
Intermediate Layer Overhead
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Overhead of additional layers on top of the VPN packet needed for different VPN
providers.
+------------+-------+--------------+-----------+
| | fastd | Tunneldigger | Wireguard |
+============+=======+==============+===========+
| IPv6 | / | / | 40 |
+------------+-------+--------------+-----------+
| vxlan | / | / | 16 |
+------------+-------+--------------+-----------+
| Ethernet | / | / | 14 |
+------------+-------+--------------+-----------+
| Batman v15 | 18 | 18 | 18 |
+------------+-------+--------------+-----------+
| Ethernet | 14 | 14 | 14 |
+------------+-------+--------------+-----------+
| Sum | 32 | 32 | 102 |
+------------+-------+--------------+-----------+
Minimum MTU
^^^^^^^^^^^
Calculation of different derived MTUs based on a 1280 byte payload to
avoid fragmentation.
Suggestions:
- This configuration is only suggested for fastd and Tunneldigger.
- For WireGuard, this configuration is **unsuitable**. To obtain a 1280 byte
payload with our protocol stack (see below), the Ethernet frame payload would
be 1442 bytes long (for IPv4). As we assume that the WAN network might have
a (worst case) MTU of only 1436 (with DSLite), this packet would be too long
for the WAN network.
+-------------------------------+-------+--------------+-----------+
| | fastd | Tunneldigger | Wireguard |
+===============================+=======+==============+===========+
| max unfragmented payload\* | 1280 | 1280 | 1280 |
+-------------------------------+-------+--------------+-----------+
| intermed layer overhead | 32 | 32 | 102 |
+-------------------------------+-------+--------------+-----------+
| VPN MTU\*\* | 1312 | 1312 | 1382 |
+-------------------------------+-------+--------------+-----------+
| protocol overhead (IPv4) | 66 | 50 | 60 |
+-------------------------------+-------+--------------+-----------+
| min acceptable WAN MTU (IPv4) | 1378 | 1362 | **1442** |
+-------------------------------+-------+--------------+-----------+
| min acceptable WAN MTU (IPv6) | 1398 | 1382 | 1462 |
+-------------------------------+-------+--------------+-----------+
\* Maximum size of payload going into the bat0 interface, that will not be
fragmented by batman.
\*\* This is the MTU that is set in the site.conf.
Maximum MTU
^^^^^^^^^^^
Calculation of different derived MTUs based on a maximum WAN MTU of 1436.
Sugestions:
- This configuration can be used for fastd and Tunneldigger.
- For WireGuard, this is the recommended configuration. batman-adv will
fragment larger packets transparently to avoid packet loss.
+-------------------------------+-------+--------------+-----------+
| | fastd | Tunneldigger | Wireguard |
+===============================+=======+==============+===========+
| min acceptable WAN MTU (IPv4) | 1436 | 1436 | 1436 |
+-------------------------------+-------+--------------+-----------+
| protocol overhead (IPv4) | 66 | 50 | 60 |
+-------------------------------+-------+--------------+-----------+
| VPN MTU\*\* | 1370 | 1386 | 1376 |
+-------------------------------+-------+--------------+-----------+
| intermed layer overhead | 32 | 32 | 102 |
+-------------------------------+-------+--------------+-----------+
| max unfragmented payload\* | 1338 | 1354 | 1274 |
+-------------------------------+-------+--------------+-----------+
| min acceptable WAN MTU (IPv6) | 1398 | 1382 | 1462 |
+-------------------------------+-------+--------------+-----------+
\* Maximum size of payload going into the bat0 interface, that will not be
fragmented by batman.
\*\* This is the MTU that is set in the site.conf.
Suggested MSS Values
^^^^^^^^^^^^^^^^^^^^
It is highly advised to use MSS clamping for TCP on the gateways/supernodes in
order to avoid the fragmentation mechanism of batman whenever possible.
Especially on small embedded devices, fragmentation costs performance.
As batmans fragmentation is transparent to the TCP layer, clamping the MSS
automatically to the PMTU does not work. Instead, the MSS must be specified
explicitly. In iptables, this is done via :code:`-j TCPMSS --set-mss X`,
whereby :code:`X` is the desired MSS.
Since the MSS is specified in terms of payload of a TCP packet, the MSS is
different for IPv4 and IPv6. Here are some examples for different max
unfragmented payloads:
+---------------------------------+------+------+------+------+
| max unfragmented payload | 1274 | 1280 | 1338 | 1354 |
+=================================+======+======+======+======+
| suggested MSS (IPv4, -40 bytes) | 1234 | 1240 | 1298 | 1314 |
+---------------------------------+------+------+------+------+
| suggested MSS (IPv6, -60 bytes) | 1214 | 1220 | 1278 | 1294 |
+---------------------------------+------+------+------+------+
Conclusion
^^^^^^^^^^
Determining the maximum MTU can be a tedious process, especially since the PMTU
of peers could change at any time. The general recommendation for maximized
compatibility is therefore an MTU of 1312 bytes (for fastd and tunneldigger)
and 1376 bytes (for WireGuard).
......@@ -288,7 +288,7 @@ mesh_vpn
The `enabled` option can be set to true to enable the VPN by default. `mtu`
defines the MTU of the VPN interface, determining a proper MTU value is described
in the :ref:`FAQ <faq-mtu>`.
in :doc:`mtu`.
By default the public key of a node's VPN daemon is not added to announced respondd
data; this prevents malicious ISPs from correlating VPN sessions with specific mesh
......@@ -331,10 +331,10 @@ mesh_vpn
mesh_vpn = {
-- enabled = true,
mtu = 1312,
-- pubkey_privacy = true,
fastd = {
mtu = 1312,
methods = {'salsa2012+umac'},
-- configurable = true,
-- syslog_level = 'warn',
......@@ -384,7 +384,22 @@ mesh_vpn
},
tunneldigger = {
brokers = {'vpn1.alpha-centauri.freifunk.net'}
mtu = 1312,
brokers = {'vpn1.alpha-centauri.freifunk.net'},
},
wireguard = {
mtu = 1376,
peers = {
vpn1 = {
public_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=',
endpoint = 'vpn1.alpha-centauri.freifunk.net:51810',
},
vpn2 = {
public_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=',
endpoint = 'vpn2.alpha-centauri.freifunk.net:51810',
},
},
},
bandwidth_limit = {
......
......@@ -25,6 +25,7 @@ ath79-generic
- DAP-2660 A1 [#lan_as_wan]_
- DIR-505 A1 [#lan_as_wan]_
- DIR-505 A2 [#lan_as_wan]_
- DIR-825 B1
* Enterasys
......@@ -81,7 +82,7 @@ ath79-generic
- Archer A7 (v5)
- Archer C5 (v1)
- Archer C6 (v2)
- Archer C6 (v2 EU/RU/JP)
- Archer C7 (v2, v4, v5)
- Archer C59 (v1)
- CPE210 (v1.0, v1.1, v2.0, v3.0, v3.1, v3.20)
......@@ -101,6 +102,7 @@ ath79-generic
* Ubiquiti
- NanoBeam M5 (XW)
- NanoStation M2/M5 (XW)
- UniFi AC Lite
- UniFi AC LR
......@@ -108,6 +110,7 @@ ath79-generic
- UniFi AC Pro
- UniFi AP
- UniFi AP LR
- UniFi AP Outdoor+
- UniFi AP PRO
ath79-nand
......@@ -118,6 +121,13 @@ ath79-nand
- GL-AR300M
- GL-AR750S
ath79-mikrotik
--------------
* Mikrotik
- RB951Ui-2nD (hAP)
brcm2708-bcm2708
----------------
......@@ -243,6 +253,10 @@ mpc85xx-p1020
ramips-mt7620
-------------
* ASUS
- RT-AC51U
* GL.iNet
- GL-MT300A
......@@ -285,6 +299,10 @@ ramips-mt7621
- EX6150 (v1)
- R6220
* TP-Link
- RE650 (v1)
* Ubiquiti
- EdgeRouter X
......
......@@ -2,15 +2,15 @@ GLUON_FEEDS='packages routing gluon'
OPENWRT_REPO=https://github.com/openwrt/openwrt.git
OPENWRT_BRANCH=openwrt-22.03
OPENWRT_COMMIT=5ff900e0ade775062bf888b447893aefa1a37146
OPENWRT_COMMIT=3cfe050c4a683ecef25d6ded05b1d240921a121a
PACKAGES_PACKAGES_REPO=https://github.com/openwrt/packages.git
PACKAGES_PACKAGES_BRANCH=openwrt-22.03
PACKAGES_PACKAGES_COMMIT=948ea0e9c0465524de92268eea13b2a7ae10b484
PACKAGES_PACKAGES_COMMIT=3aaf3324206582a488ebbea39b7a7bcf93b72368
PACKAGES_ROUTING_REPO=https://github.com/openwrt/routing.git
PACKAGES_ROUTING_BRANCH=openwrt-22.03
PACKAGES_ROUTING_COMMIT=48f6120ad4b8c1515d29110c6291ff7e264fef29
PACKAGES_ROUTING_COMMIT=4b2b6b3d2b0178d254943409cfb4bdce0edbbda4
PACKAGES_GLUON_REPO=https://github.com/freifunk-gluon/packages.git
PACKAGES_GLUON_COMMIT=308166e3c6b2d571606dd1dbfadd2bb8e31d8f90
need_string(in_site({'autoupdater', 'branch'}), false)
need_table({'autoupdater', 'branches'}, function(branch)
local branches = table_keys(need_table({'autoupdater', 'branches'}, function(branch)
need_alphanumeric_key(branch)
need_string(in_site(extend(branch, {'name'})))
need_string_array_match(extend(branch, {'mirrors'}), '^http://')
local pubkeys = need_string_array_match(in_site(extend(branch, {'pubkeys'})), '^%x+$')
need_number(in_site(extend(branch, {'good_signatures'})))
need_string_array_match(in_site(extend(branch, {'pubkeys'})), '^%x+$')
need(in_site(extend(branch, {'good_signatures'})), function(good_signatures)
return good_signatures <= #pubkeys
end, nil, string.format('be less than or equal to the number of public keys (%d)', #pubkeys))
obsolete(in_site(extend(branch, {'probability'})), 'Use GLUON_PRIORITY in site.mk instead.')
end)
end))
need_one_of(in_site({'autoupdater', 'branch'}), branches, false)
-- Check GLUON_AUTOUPDATER_BRANCH
local default_branch
local f = io.open((os.getenv('IPKG_INSTROOT') or '') .. '/lib/gluon/autoupdater/default_branch')
if f then
default_branch = f:read('*line')
f:close()
end
need_one_of(value('GLUON_AUTOUPDATER_BRANCH', default_branch), branches, false)
......@@ -21,26 +21,35 @@ for name, config in pairs(site.autoupdater.branches()) do
end
end
if not uci:get('autoupdater', 'settings') then
local enabled = unistd.access('/lib/gluon/autoupdater/default_enabled') ~= nil
local branch = site.autoupdater.branch(min_branch)
local function default_branch()
local f = io.open('/lib/gluon/autoupdater/default_branch')
if f then
branch = f:read('*line')
local ret = f:read('*line')
f:close()
return ret
end
return site.autoupdater.branch(min_branch)
end
local enabled, branch
if not uci:get('autoupdater', 'settings') then
enabled = unistd.access('/lib/gluon/autoupdater/default_enabled') ~= nil
end
local old_branch = uci:get('autoupdater', 'settings', 'branch')
if not old_branch or not uci:get('autoupdater', old_branch) then
branch = default_branch()
if not branch then
enabled = false
end
uci:section('autoupdater', 'autoupdater', 'settings', {
enabled = enabled,
branch = branch,
})
end
uci:section('autoupdater', 'autoupdater', 'settings', {
enabled = enabled,
branch = branch,
})
uci:set('autoupdater', 'settings', 'version_file', '/lib/gluon/release')
uci:save('autoupdater')
......
......@@ -57,6 +57,10 @@ end
local function path_to_string(path)
if path.is_value then
return path.label
end
return table.concat(path, '.')
end
......@@ -96,6 +100,10 @@ local function domain_src()
end
local function conf_src(path)
if path.is_value then
return 'Configuration'
end
local src
if has_domains then
......@@ -138,6 +146,14 @@ function M.in_domain(path)
return path
end
function M.value(label, value)
return {
is_value = true,
label = label,
value = value,
}
end
function M.this_domain()
return domain_code
end
......@@ -171,6 +187,10 @@ function loadpath(path, base, c, ...)
end
local function loadvar(path)
if path.is_value then
return path.value
end
return loadpath({}, conf, unpack(path))
end
......
......@@ -117,6 +117,7 @@ local primary_addrs = {
}},
{'ramips', 'mt7620', {
'xiaomi,miwifi-mini',
'asus,rt-ac51u',
}},
}},
{phy(1), {
......