Commit graph

15572 commits

Author SHA1 Message Date
aszlig
ccf55bead1
nginx: Clear Last-Modified if ETag is from store
This is what I've suspected a while ago[1]:

> Heads-up everyone: After testing this in a few production instances,
> it seems that some browsers still get cache hits for new store paths
> (and changed contents) for some reason. I highly suspect that it might
> be due to the last-modified header (as mentioned in [2]).
>
> Going to test this with last-modified disabled for a little while and
> if this is the case I think we should improve that patch by disabling
> last-modified if serving from a store path.

Much earlier[2] when I reviewed the patch, I wrote this:

> Other than that, it looks good to me.
>
> However, I'm not sure what we should do with Last-Modified header.
> From RFC 2616, section 13.3.4:
>
> - If both an entity tag and a Last-Modified value have been
>   provided by the origin server, SHOULD use both validators in
>   cache-conditional requests. This allows both HTTP/1.0 and
>   HTTP/1.1 caches to respond appropriately.
>
> I'm a bit nervous about the SHOULD here, as user agents in the wild
> could possibly just use Last-Modified and use the cached content
> instead.

Unfortunately, I didn't pursue this any further back then because
@pbogdan noted[3] the following:

> Hmm, could they (assuming they are conforming):
>
>  * If an entity tag has been provided by the origin server, MUST
>    use that entity tag in any cache-conditional request (using If-
>    Match or If-None-Match).

Since running with this patch in some deployments, I found that both
Firefox and Chrome/Chromium do NOT re-validate against the ETag if the
Last-Modified header is still the same.

So I wrote a small NixOS VM test with Geckodriver to have a test case
which is closer to the real world and I indeed was able to reproduce
this.

Whether this is actually a bug in Chrome or Firefox is an entirely
different issue and even IF it is the fault of the browsers and it is
fixed at some point, we'd still need to handle this for older browser
versions.

Apart from clearing the header, I also recreated the patch by using a
plain "git diff" with a small description on top. This should make it
easier for future authors to work on that patch.

[1]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-495072764
[2]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451644084
[3]: https://github.com/NixOS/nixpkgs/pull/48337#issuecomment-451646135

Signed-off-by: aszlig <aszlig@nix.build>
2019-12-30 14:30:36 +01:00
lewo
885c4cc97c
Merge pull request #76151 from Ma27/bump-hydra
hydra: 2019-08-30 -> 2019-11-13
2019-12-29 10:28:44 +01:00
Tor Hedin Brønner
3d70d4ba0b
nixos/displayManager: fix typo in legacy sessions (#76626)
xsession gets passed `dm` `wm`, so the desktop manager would be launched
before the window manager resulting in a regular desktop manager
session.

Fixes https://github.com/NixOS/nixpkgs/issues/76625
2019-12-29 02:02:24 +01:00
Robert Hensing
71358c4f1e swapDevices.<name>.device can be a swap file. 2019-12-28 20:00:50 +01:00
Linus Heckemann
b9bf846080
Merge pull request #76189 from Ma27/nixos-install-verbosity-level
nixos/nixos-installer: add flags for verbosity and build logs
2019-12-28 11:50:25 +01:00
Aaron Andersen
c95aef92b9 nixos/awstats: add missing description to extraConfig option (#76575) 2019-12-28 01:09:47 +02:00
Vladimír Čunát
c3d4998e41
Merge #75803: kresd service: unify listen declarations 2019-12-27 15:55:38 +01:00
Maximilian Bosch
c5c7ccf022
nixos/nginx: fix test
When using format-strings, curly brackets need to be escaped using `{{`
to avoid errors from python.

And apparently, Perl's `==` is used to compare substrings[1] which is why
the translation to `assert http_code == "304"` failed as the string
contains several headers from curl.

[1] Just check `perl <(echo 'die "alarm" if "foo\n304" == 304')`
2019-12-26 18:50:38 +01:00
Maximilian Bosch
495b0b581c
nixos/tests/nginx-sso: add subtests for each assertion 2019-12-26 17:59:25 +01:00
Robin Gloster
abbce768dc
nixosTests.nginx*: review fixes
Co-Authored-By: Florian Klink <flokli@flokli.de>
2019-12-26 17:59:25 +01:00
Robin Gloster
1c2781d39c
nixosTests.nginx*: port to python 2019-12-26 17:59:25 +01:00
Aaron Andersen
4d2dd15546
Merge pull request #73113 from aanderse/httpd-vhost
nixos/httpd: support overridable virtual hosts
2019-12-26 08:09:08 -05:00
danbst
50d6e93dc8 nixos/nginx: fixup permissions for Nginx state dir
The commit b0bbacb521 was a bit too fast
It did set executable bit for log files.

Also, it didn't account for other directories in state dir:
```
 # ls -la /var/spool/nginx/
total 32
drwxr-x--- 8 nginx nginx 4096 Dec 26 12:00 .
drwxr-xr-x 4 root  root  4096 Oct 10 20:24 ..
drwx------ 2 root  root  4096 Oct 10 20:24 client_body_temp
drwx------ 2 root  root  4096 Oct 10 20:24 fastcgi_temp
drwxr-x--- 2 nginx nginx 4096 Dec 26 12:00 logs
drwx------ 2 root  root  4096 Oct 10 20:24 proxy_temp
drwx------ 2 root  root  4096 Oct 10 20:24 scgi_temp
drwx------ 2 root  root  4096 Oct 10 20:24 uwsgi_temp
```

With proposed change, only ownership is changed for state files, and mode is left as is
except that statedir/logs is now group accessible.
2019-12-26 14:16:29 +02:00
Yurii Izorkin
b0bbacb521 nixos/nginx: recursively change logs directory owner/group (#76174)
This change brings pre-existing installations (where the logfiles
are owned by root) in line with the new permssions (where logfiles
are owned by the nginx user)
2019-12-26 13:51:10 +02:00
Jörg Thalheim
c5aacb2350
Merge pull request #76514 from Thra11/fix-udev-hwdb-description
udev: fix option description
2019-12-26 06:43:02 +00:00
Yorick van Pelt
470c8a2a36 nixos/borgbackup: install job wrappers to systemPackages for easy borg access
Currently to run borg job manually, you have to use systemctl:
```
$ systemctl start borgbackup-job-jobname.service
```

This commit makes wrappers around borg jobs available in $PATH, which have
BORG_REPO and connection args set correctly:
```
$ borg-job-jobname list
$ borg-job-jobname mount ::jobname-archive-2019-12-25T00:01:29 /mnt/some-path
$ borg-job-jobname create ::test /some/path
```

Closes: https://github.com/NixOS/nixpkgs/pull/64888
Co-authored-by: Danylo Hlynskyi <abcz2.uprola@gmail.com>
2019-12-26 07:50:03 +02:00
Maximilian Bosch
ec253e16cd
Merge pull request #76410 from nh2/mumble-test-python
nixosTests.mumble: port to python
2019-12-26 02:33:43 +01:00
Silvan Mosberger
5dc7050bd6
Merge pull request #75400 from nand0p/ethminer-v18
ethminer: 0.18.0-rc.0 -> 0.18.0
2019-12-25 23:56:24 +01:00
Tom Hall
08d31b74ec udev: fix option description
The two file paths were changed from 10-local to 99-local, but only one
of the descriptions was changed.
2019-12-25 20:51:01 +00:00
Dima
2467edf80c nixos/manual: fixing links for awstats release note (#76500)
`linkend` attribute needs to point to an option.
2019-12-25 21:06:18 +02:00
Fernando J Pando
90ee16dbfc nixos/ethminer: always restart 2019-12-25 10:33:50 -05:00
Pavol Rusnak
4899c6992c
nixos-generate-config: i18n.consoleFont has been renamed to console.font
fixes #76391
2019-12-25 15:02:58 +01:00
Jörg Thalheim
89c55c0a6d
net-snmp: split outputs (#76155)
net-snmp: split outputs
2019-12-25 06:27:55 +00:00
Aaron Andersen
79215f0df1 nixos/httpd: limit serving web content to virtual hosts, convert virtualHosts option type from listOf to attrsOf, add ACME integration 2019-12-24 20:27:48 -05:00
Aaron Andersen
08bd639a92
Merge pull request #73959 from aristaeus/awstats
nixos/awstats: refactor module
2019-12-24 18:57:00 -05:00
markuskowa
0b41391890
Merge pull request #76425 from r-ryantm/auto-update/slurm
slurm: 19.05.4.1 -> 19.05.5.1
2019-12-24 20:19:50 +01:00
Markus Kowalewski
5041e1d848
nixos/slurm: fix perl->python conversion bug 2019-12-24 19:51:18 +01:00
Ben Harper
dade94cdb9 nixos/awstats: refactor module 2019-12-24 12:20:52 -05:00
Niklas Hambüchen
c6a032ecf6 nixosTests.mumble: port to python 2019-12-24 16:10:34 +01:00
worldofpeace
48557d3c57
Merge pull request #76160 from worldofpeace/mate-settings-daemon/fixup
nixos/mate: drop g-s-d enable
2019-12-23 08:53:10 -05:00
Aaron Andersen
133a5c345c
Merge pull request #74763 from nek0/restya-board-config-fix
restya-board: Restya board config fix
2019-12-23 07:42:37 -05:00
Florian Klink
eeaf1f702d
Merge pull request #75103 from sternenseemann/spacecookie
services/spacecookie: init
2019-12-23 11:09:52 +01:00
worldofpeace
9dacdec2d9
Merge pull request #76171 from Ma27/optionally-disable-python-lint
nixos/python-test-driver: add an option to disable python linter
2019-12-23 00:17:29 -05:00
nek0
acd1240fd1 restya-board: fix configuration option and switch to file based password provisioning 2019-12-23 05:45:15 +01:00
worldofpeace
35b7b17125
Merge pull request #76116 from worldofpeace/pantheon-cleanup
Pantheon cleanups
2019-12-22 22:59:21 -05:00
Aaron Andersen
086d1ad906
Merge pull request #75047 from kampka/trilium-server
Add trilium server and module
2019-12-22 20:26:57 -05:00
Maximilian Bosch
1fc248afcc
nixos/nixos-installer: add flags for verbosity and build logs
When installing a fresh NixOS system it occasionally happens that you
encounter issues that are rather hard to track down since
`nixos-install(8)` doesn't provide any debugging flags.

This patch adds `-L` to force `nix build` to display the build-log on
stderr and `-v` to increase the log-level of Nix.
2019-12-22 22:46:58 +01:00
Maximilian Bosch
b72661749b
nixos/python-test-driver: add an option to disable python linter
While it's a good idea to automate the linting of the python code used
for our tests, I think that it can be quite distracting when hacking on
a NixOS test.

I figured that it might be more convenient to add an option as a
shortcut for this to avoid that everyone needs to dig into the test
driver again.
2019-12-22 19:27:43 +01:00
Maximilian Bosch
323c2ba6b7
Merge pull request #76139 from Ma27/systemd-nspawn-package
nixos/systemd-nspawn: use `config.systemd.package`
2019-12-22 18:50:03 +01:00
Christian Kampka
ebf3f1fe78
trilium: Pin platforms to x86_64 linux 2019-12-22 15:04:09 +01:00
Maximilian Bosch
7675c0b2a9
nixos/tests/hydra: port to python 2019-12-22 14:36:11 +01:00
Jörg Thalheim
aadfcc0900
nixos/keepalived: add test 2019-12-22 08:52:56 +00:00
worldofpeace
ab60b0e0c3 nixos/mate: drop g-s-d enable
I believe I forgot to remove this in 68ab37aa44.
2019-12-21 23:12:45 -05:00
worldofpeace
016c589bb4 nixos/pantheon: options for extra switchboard plugs and wingpanel indicators 2019-12-21 23:08:13 -05:00
worldofpeace
4ed65a891c nixos/pantheon: don't abstract default packages to pkgs
Also cleanup a bit, we enabled gnome-settings-daemon even when using elementary-settings-daemon.
I wanted the nixos module ascribe the defaults, not these lists in pkgs.
2019-12-21 23:08:13 -05:00
worldofpeace
4fb91d10c8 nixos/pantheon: add an apps.enable option 2019-12-21 23:08:13 -05:00
Renaud
c94a5f3485
Merge pull request #75847 from andersk/lxc-usernet-manpage
lxc: Fix lxc-usernet(5) man page reference in documentation
2019-12-22 01:43:22 +01:00
Michael Weiss
b9b77386b0
Merge pull request #75247 from Elyhaka/sway
sway: refactor with a wrapper

This moves the wrapper functionality from the NixOS module to a new package
(wrapper) that wraps the original sway package (sway-unwrapped). Therefore it's
now also possible to properly use Sway on non-NixOS systems out of the box.

The new submodule for the wrapperFeatures makes it easy to extend the
functionality which should become useful in the future.

This also introduces a GTK wrapper feature to fix issues with icon/GTK themes,
e.g. when running waybar or wofi. This should also work for #67704. If not, we
might have to add some additional dependencies/arguments for this case.
2019-12-21 23:48:02 +01:00
Maximilian Bosch
875ec0a707
nixos/hydra: also run test with pkgs.nixFlakes 2019-12-21 22:02:36 +01:00
Elyhaka
d467c59825
sway: refactor with a wrapper 2019-12-21 21:17:21 +01:00