Skip to content
Snippets Groups Projects
  1. Sep 14, 2021
    • lemoer's avatar
      gluon-mesh-vpn-wireguard: add package (#2168) · 3f7c0b3a
      lemoer authored
      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).
      3f7c0b3a
  2. Aug 28, 2020
    • Matthias Schiffer's avatar
      features: fix handling of logical expressions · 13b743d5
      Matthias Schiffer authored
      The rewrite of the feature handling introduced multiple major bugs. One
      of them was caused by the way Lua's logical operators work:
      
      An expression of the form
      
          _'autoupdater' and _'web-advanced'
      
      would return 'web-advanced' rather than the boolean true when _ returned
      both strings unchanged (because the features are enabled).
      
      As entries with more than a single feature name in their expressions did
      not set no_default, Gluon would then attempt to add gluon-web-advanced to
      the package selection, as web-advanced is a "pure" feature.
      
      To fix this, and get rid of the annoying nodefault, separate handling of
      "pure" feature and handling of logical expressions into two separate
      functions, called feature() and when(). To simplify the feature
      definitions, the package list is now passed directly to these functions
      rather than in a table with a single field 'packages'.
      
      Fixes: ee5ec5af ("build: rewrite features.sh in Lua")
      13b743d5
  3. Jul 01, 2020
    • Matthias Schiffer's avatar
      build: rewrite features.sh in Lua · ee5ec5af
      Matthias Schiffer authored
      The `features` file is converted to a Lua-based DSL.
      
      A helper function `_` is used in the DSL; this will return the original
      string for enabled features, and nil for disabled features. This allows
      to use boolean operations on features without making the code too
      verbose.
      
      Besides having more readable and robust code, this also fixes the bug
      that all files `packages/*/features` were evaluated instead of only
      using the feature definitions of currently active feeds.
      ee5ec5af
  4. Mar 25, 2020
  5. Sep 25, 2019
  6. Aug 21, 2019
  7. Apr 28, 2019
  8. Sep 05, 2018
  9. Apr 15, 2018
  10. Mar 12, 2018
  11. Jul 09, 2017
    • Matthias Schiffer's avatar
      build: introduce GLUON_FEATURES · 6ca841ba
      Matthias Schiffer authored
      To reduce the number of packages that need to be listed in
      GLUON_SITE_PACKAGES, this adds a new variable GLUON_FEATURES. Sets of
      packages are enabled automatically based on the combination of listed
      feature flags.
      
      Site-specified package feeds can provide their own feature flag
      definitions.
      6ca841ba
Loading