Skip to content
  1. Nov 28, 2020
    • Peter Stadler's avatar
      nginx-util: use UCI for server configuration · f62599d2
      Peter Stadler authored
      
      
      **tl;dr:** The functions `{add,del}_ssl` modify a server
      section of the UCI config if there is no `.conf` file with
      the same name in `/etc/nginx/conf.d/`.
      
      Then `init_lan` creates `/var/lib/nginx/uci.conf` files by
      copying the `/etc/nginx/uci.conf.template` and standard
      options from the UCI config; additionally the special path
      `logd` can be used in `{access,error}_log`.
      
      The init does not change the configuration beside
      re-creating self-signed certificates when needed. This is
      also the only purpose of the new `check_ssl`, which is
      installed as yearly cron job.
      
      **Initialization:**
      
      Invoking `nginx-util init_lan` parses the UCI configuration
      for package `nginx`. It creates a server part in
      `/var/lib/nginx/uci.conf` for each `section server '$name'`
      by copying all UCI options but the following:
      
      * `option uci_manage_ssl` is skipped. It is set to
      'self-signed' by `nginx-util add_ssl $name`, removed by
      `nginx-util del_ssl $name` and used by
      `nginx-util check_ssl` (see below).
      
      * `logd` as path in `error_log` or `access_log` writes them
      to STDERR respective STDOUT, which are fowarded by Nginx's
      init to the log daemon. Specifically:
      `option error_log 'logd'` becomes `error_log stderr;` and
      `option access_log 'logd openwrt'` becomes
      `access_log /proc/self/fd/1 openwrt;`
      
      Other `[option|list] key 'value'` entries just become
      `key value;` directives.
      
      The init.d calls internally also `check_ssl` for rebuilding
      self-signed SSL certificates if needed (see below). And it
      still sets up `/var/lib/nginx/lan{,_ssl}.listen` files as
      it is doing in the current version (so they stay available).
      
      **Defaults:**
      
      The package installs the file `/etc/nginx/restrict_locally`
      containing allow/deny directives for restricting the access
      to LAN addresses by including it into a server part. The
      default server '_lan' includes this file and listens on all
      IPs (instead of only the local IPs as it did before; other
      servers do not need to listen explicitly on the local IPs
      anymore). The default server is contained together with a
      server that redirects HTTP requests for inexistent URLs to
      HTTPS in the UCI configuration file `/etc/config/nginx`.
      Furthermore, the packages installs a
      `/etc/nginx/uci.conf.template` containing the current setup
      and a marker, which will be replaced by the created UCI
      servers when calling `init_lan`.
      
      **Other:**
      
      If there is a file named `/etc/nginx/conf.d/$name.conf` the
      functions `init_lan`, `add_ssl $name` and `del_ssl $name`
      will use that file instead of a UCI server section (this is
      similar to the current version).
      
      Else it selects the UCI `section server $name`, or, when
      there is no such section, it searches for the first one
      having `option server_name '… $name …'`. For this section:
      
      * `nginx-util add_ssl $name` will add to it:
      `option uci_manage_ssl 'self-signed'`
      `option ssl_certificate '/etc/nginx/conf.d/$name.crt'`
      `option ssl_certificate_key '/etc/nginx/conf.d/$name.key'`
      `option ssl_session_cache 'shared:SSL:32k'`
      `option ssl_session_timeout '64m'`
      If these options are already present, they will stay the
      same; just the first option `uci_manage_ssl` will always be
      changed to 'self-signed'. The command also changes all
      `listen` list items to use port 443 and ssl instead of port
      80 (without ssl). If they stated another port than 80
      before, they are kept the same. Furthermore, it creates a
      self-signed SSL certificate if necessary, i.e., if there is
      no *valid* certificate and key at the locations given by
      the options `ssl_certificate` and `ssl_certificate_key`.
      
      * `nginx-util del_ssl $name` checks if `uci_manage_ssl` is
      set 'self-signed' in the corresponding UCI section. Only
      then it removes all of the above options regardless of the
      value looking just at the key name. Then, it also changes
      all `listen` list items to use port 80 (without ssl)
      instead of port 443 with ssl. If stating another port than
      443, they are kept the same. Furthermore, it removes the
      SSL certificate and key that were indicated by
      `ssl_certificate{,_key}`.
      
      * `nginx-util check_ssl` looks through all server sections
      of the UCI config for `uci_manage_ssl 'self-signed'`. On
      every hit it checks if the SSL certificate-key-pair
      indicated by the options `ssl_certificate{,_key}` is
      expired. Then it re-creates a self-signed certificate.
      If there exists at least one `section server` with
      `uci_manage_ssl 'self-signed'`, it will try to install
      itself as cron job. If there are no such sections, it
      removes that cron job if possible.
      
      For installing a ssl certificate and key managed by
      another app, you can call:
      `nginx-util add_ssl $name $manager $crtpath $keypath`
      Hereby `$name` is as above, `$manager` is an arbitrary
      string, and the the ssl certificate and its key are
      indicated by their absolute path. If you want to remove
      the directives again, then you can use:
      `nginx-util del_ssl $name $manager`
      
      Signed-off-by: default avatarPeter Stadler <peter.stadler@student.uibk.ac.at>
      f62599d2
    • Rosen Penev's avatar
      Merge pull request #14047 from neheb/lnq · 1fcb0297
      Rosen Penev authored
      libnetfilter-queue: import and update
      1fcb0297
    • Rosen Penev's avatar
      Merge pull request #14048 from neheb/lnl · 9f9cf35a
      Rosen Penev authored
      libnetfilter-log: import from baser
      9f9cf35a
    • Rosen Penev's avatar
      Merge pull request #14049 from neheb/lnctt · dc9f4bf2
      Rosen Penev authored
      libnetfilter-cttimeout: import from base
      dc9f4bf2
    • Rosen Penev's avatar
      Merge pull request #14050 from neheb/lncth · 755e27ce
      Rosen Penev authored
      libnetfilter-cthelper: import from base
      755e27ce
    • Rosen Penev's avatar
      libnetfilter-cthelper: import from base · 9ec40575
      Rosen Penev authored
      
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      9ec40575
    • Rosen Penev's avatar
      libnetfilter-cttimeout: import from base · 36766253
      Rosen Penev authored
      
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      36766253
    • Rosen Penev's avatar
      libnetfilter-log: import from base · e281311f
      Rosen Penev authored
      
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      e281311f
    • Luiz Angelo Daros de Luca's avatar
      gst1-plugins-base: fix build with no module · 56eb4078
      Luiz Angelo Daros de Luca authored
      
      
      gst1-plugins-base might be required only for its libraries, not modules.
      However, InstallDev tries to copy them unconditionally, failing when
      no modules are selected/compiled.
      
      Fixes #13973
      
      Signed-off-by: default avatarLuiz Angelo Daros de Luca <luizluca@gmail.com>
      56eb4078
    • Robert Högberg's avatar
    • Rosen Penev's avatar
      Merge pull request #14046 from neheb/libusb-c · 5f9faebe
      Rosen Penev authored
      libusb-compat: fix libusb-config
      5f9faebe
    • Rosen Penev's avatar
      libnetfilter-queue: update to 1.0.5 · b60aa5ff
      Rosen Penev authored
      
      
      Switch to normal tarballs for simplicity.
      
      Removed upstream patch.
      
      Fixed license information.
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      b60aa5ff
    • Rosen Penev's avatar
      libnetfilter-queue: import from base · 3be9bc06
      Rosen Penev authored
      
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      3be9bc06
    • Rosen Penev's avatar
      libusb-compat: fix libusb-config · 0095cb34
      Rosen Penev authored
      
      
      Turns out, some packages like serdisplib actually use libusb-config.
      Fix the paths in it so that they can work properly. Method taken from
      libpng.
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      0095cb34
    • Rosen Penev's avatar
      Merge pull request #14041 from abajk/coremark-threads · 38c0d708
      Rosen Penev authored
      coremark: allow to build with multithrading support
      38c0d708
  2. Nov 27, 2020
  3. Nov 26, 2020
  4. Nov 25, 2020