Skip to content
Snippets Groups Projects
  1. Feb 22, 2022
    • Matthias Schiffer's avatar
      treewide: use interface roles as basis for network configuration · c779d123
      Matthias Schiffer authored
      With the new role-based interface configuration, it would be better to
      rename the wan/wan6 interfaces to uplink/uplink6, but that would cause
      unnecessary churn for the firewall configuration, so it is left for a
      later update.
      
      As all interfaces with the 'uplink' role are in the br-wan bridge, it is
      not possible to assign these to the 'mesh' role independently - instead,
      br-wan is added as a mesh interface as soon as a single interface has
      both the 'uplink' and 'mesh' roles. The UCI section for this
      configuration is now called 'mesh_uplink' instead of 'mesh_wan'.
      
      For all interfaces that have the 'mesh', but not the 'uplink' role a
      second configuration 'mesh_other' is created. If there is more than one
      such interface, all these interfaces are bridged as well (creating a
      bridge 'br-mesh_other'). This replaces the 'mesh_lan' section with its
      optional 'br-mesh_lan' bridge, but can also include interfaces that were
      not considered "LAN" when interfaces roles are modified (via site.conf
      or manually).
      Unverified
      c779d123
    • Matthias Schiffer's avatar
      gluon-core: initialize interfaces role configuration · 4b8251c9
      Matthias Schiffer authored
      The new configuration generates sections iface_single/lan/wan in
      /etc/config/gluon. These sections usually refer to a sysconfig-controlled
      interface list, but adding custom sections with verbatim interfaces names
      is also possible.
      
      Each interface section contains a list of roles. The supported roles are
      'client', 'uplink' and 'mesh'. Multiple roles can be configured on the
      same interface (for example the old 'mesh_on_wan' setting would become
      'uplink'+'mesh').
      
      'client' is subsumed by any other role configured on the same interface
      ('client'+'mesh' is equivalent to 'mesh'). This property is important, as
      it allows the Wired Mesh settings in gluon-web-network to simply add and
      remove the mesh role without having to care what other roles are set -
      so in the default setup, this would switch between 'client' and
      'client'+'mesh' for the LAN interface.
      
      By default, the WAN interface has role 'uplink' and the LAN interface
      'client'; if only a single interface exists, the roles from the WAN
      interface are used by default. The default for each of the three
      interfaces (WAN/LAN/single) can be changed separated in site.conf,
      superseding the old mesh_on_wan, mesh_on_lan and single_as_lan settings.
      Unverified
      4b8251c9
    • Matthias Schiffer's avatar
      gluon-core: sysconfig: avoid unnecessary writes · 05c29512
      Matthias Schiffer authored
      Do not write files when the content is unchanged.
      
      Avoids a few unnecessary filesystem writes when resetting ifname
      sysconfigs on each upgrade.
      Unverified
      05c29512
    • Matthias Schiffer's avatar
    • Matthias Schiffer's avatar
      gluon-config-mode-core: discard gluon-reconfigure output (#2395) · eea49a28
      Matthias Schiffer authored
      The stdout output of gluon-web scripts is directly sent to uhttpd,
      becoming a part of the HTML output or even replacing HTTP status or
      headers. The output of gluon-reconfigure is not supposed to end up
      there.
      
      While we're at it, also add an exec to avoid an unnecessary shell
      process.
      Unverified
      eea49a28
  2. Feb 20, 2022
  3. Feb 13, 2022
    • Matthias Schiffer's avatar
      gluon-web-osm: update OpenLayers default URL to 5.3.0 · 62b24ed7
      Matthias Schiffer authored
      The OpenLayers JS/CSS download URL is dead. Update it to make the map
      work again:
      
      - Update from OpenLayers 5.2.0 to 5.3.0
      - Switch from the obsolete rawgit.com URL to jsdelivr.net (rawgit.com
        was only redirecting to jsdelivr.net for the last few years anyways)
      - Set a fixed commit in the URL, so the URL doesn't become outdated again
      Unverified
      62b24ed7
  4. Feb 01, 2022
  5. Jan 28, 2022
  6. Jan 23, 2022
  7. Jan 14, 2022
  8. Jan 07, 2022
  9. Jan 01, 2022
  10. Dec 31, 2021
  11. Dec 25, 2021
  12. Dec 20, 2021
  13. Dec 19, 2021
  14. Dec 16, 2021
    • Matthias Schiffer's avatar
      gluon-ebtables-filter-ra-dhcp: disable DHCPv4 filter when gw_mode == 'server' (#2324) · 1013dcb1
      Matthias Schiffer authored
      In meshes without VPN or supernodes, it may be desirable to connect a
      router providing IPv4 addresses directly to a regular Gluon node. For
      this to work, it was necessary to remove the gluon-ebtables-filter-ra-dhcp
      package from the node, so the autoupdater also needed to be disabled.
      
      To avoid this, make gluon-ebtables-filter-ra-dhcp disable the DHCPv4
      filter rules when gw_mode is set to 'server'.
      
      No solution is provided for RA/DHCPv6, but this seems less pressing for
      local meshes, as nodes can already provide working IPv6 connectivity
      by themselves through gluon-radvd.
      Unverified
      1013dcb1
  15. Dec 15, 2021
  16. Nov 12, 2021
  17. Oct 16, 2021
    • Matthias Schiffer's avatar
      gluon-neighbour-info: avoid recv() with NULL buffer (#2323) · 51a17084
      Matthias Schiffer authored
      Calling functions like recv() with a NULL buffer is not explicitly
      allowed by the POSIX standard, so it must be avoided to be portable
      across different libc implementations. Allocate an initial buffer before
      handling requests, and also pass this buffer to the peek recv() call.
      
      Fixes: 531937cf ("gluon-neighbour-info: fix broken output with large results")
      Unverified
      51a17084
Loading