Commit Graph

218616 Commits

Author SHA1 Message Date
aszlig
e1d63ada02
nginx: Fix ETag patch to ignore realpath(3) error
While our ETag patch works pretty fine if it comes to serving data off
store paths, it unfortunately broke something that might be a bit more
common, namely when using regexes to extract path components of
location directives for example.

Recently, @devhell has reported a bug with a nginx location directive
like this:

  location ~^/\~([a-z0-9_]+)(/.*)?$" {
    alias /home/$1/public_html$2;
  }

While this might look harmless at first glance, it does however cause
issues with our ETag patch. The alias directive gets broken up by nginx
like this:

  *2 http script copy: "/home/"
  *2 http script capture: "foo"
  *2 http script copy: "/public_html/"
  *2 http script capture: "bar.txt"

In our patch however, we use realpath(3) to get the canonicalised path
from ngx_http_core_loc_conf_s.root, which returns the *configured* value
from the root or alias directive. So in the example above, realpath(3)
boils down to the following syscalls:

  lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
  lstat("/home/$1", 0x7ffd08da6f60) = -1 ENOENT (No such file or directory)

During my review[1] of the initial patch, I didn't actually notice that
what we're doing here is returning NGX_ERROR if the realpath(3) call
fails, which in turn causes an HTTP 500 error.

Since our patch actually made the canonicalisation (and thus additional
syscalls) necessary, we really shouldn't introduce an additional error
so let's - at least for now - silently skip return value if realpath(3)
has failed.

However since we're using the unaltered root from the config we have
another issue, consider this root:

  /nix/store/...-abcde/$1

Calling realpath(3) on this path will fail (except if there's a file
called "$1" of course), so even this fix is not enough because it
results in the ETag not being set to the store path hash.

While this is very ugly and we should fix this very soon, it's not as
serious as getting HTTP 500 errors for serving static files.

I added a small NixOS VM test, which uses the example above as a
regression test.

It seems that my memory is failing these days, since apparently I *knew*
about this issue since digging for existing issues in nixpkgs, I found
this similar pull request which I even reviewed:

https://github.com/NixOS/nixpkgs/pull/66532

However, since the comments weren't addressed and the author hasn't
responded to the pull request, I decided to keep this very commit and do
a follow-up pull request.

[1]: https://github.com/NixOS/nixpkgs/pull/48337

Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: @devhell
Acked-by: @7c6f434c
Acked-by: @yorickvP
Merges: https://github.com/NixOS/nixpkgs/pull/80671
Fixes: https://github.com/NixOS/nixpkgs/pull/66532
2020-03-28 02:57:21 +01:00
Benjamin Hipple
b96cdee097
Merge pull request #82998 from OPNA2608/update-rpcs3
rpcs3: 0.0.6-8187-790962425 -> 0.0.8-9300-341fdf7eb
2020-03-27 21:57:07 -04:00
Benjamin Hipple
ae6bdcc535
Merge pull request #83526 from drewrisinger/dr-pr-python-scikit-build-38
pythonPackages.scikit-build: fix test bug on python3.8
2020-03-27 20:44:55 -04:00
Drew Risinger
c8dd834189 pythonPackages.scikit-build: fix python3.8 bug
Python3.8 removes ``platform.linux_distribution()`` call,
must use ``pythonPackages.distro`` to get same information.
Closes #83305
Upstream PR: https://www.github.com/scikit-build/scikit-build/pull/458
Also formatting.
2020-03-27 20:38:05 -04:00
worldofpeace
eddc4f3b98
Merge pull request #83542 from bhipple/zhf/ion
ion: 1.0.5 -> unstable-2020-03-22 and fix build
2020-03-27 20:30:05 -04:00
Orivej Desh
0dae508978 x42-gmsynth: init at 0.4.1 2020-03-27 23:58:13 +00:00
Orivej Desh
8a43a2818a x42-avldrums: init at 0.4.1 2020-03-27 23:58:10 +00:00
Orivej Desh
14753000ed x42-autotune: remove
It is a part of x42-plugins (under the name of x42-fat1).
2020-03-27 23:57:42 +00:00
adisbladis
aa2552c6ce
poetry2nix: 1.7.0 -> 1.7.1 2020-03-27 23:47:40 +00:00
Benjamin Hipple
16cdff0711 ion: 1.0.5 -> unstable-2020-03-22
The app is still maintained upstream, but they aren't cutting releases on
crates.io anymore:
https://crates.io/crates/ion-shell

This fixes the build with the latest Rust toolchain by upgrading to the current
commit off the project's `master`.

ZHF: #80379
2020-03-27 19:47:33 -04:00
José Romildo Malaquias
b101527140
Merge pull request #83495 from romildo/upd.freeoffice
freeoffice: 974 -> 976
2020-03-27 20:00:20 -03:00
Orivej Desh
2f826a6705 x42-autotune: init at 0.6.1 2020-03-27 22:58:18 +00:00
adisbladis
dda52a4571
poetry2nix: 1.6.1 -> 1.7.0 2020-03-27 22:54:34 +00:00
worldofpeace
bee6c1a445
Merge pull request #81207 from aaronjanse/update-ulauncher-561
ulauncher: 4.4.0.r1 -> 5.6.1
2020-03-27 18:01:13 -04:00
worldofpeace
5e65872697
Merge pull request #83126 from mkg20001/pkg/mint-y-icons
cinnamon.mint-y-icons: init at unstable-2020-03-21
2020-03-27 17:57:39 -04:00
Ben Darwin
17611f14c2 python3Packages.dipy: init at 1.1.1 2020-03-27 14:43:56 -07:00
Benjamin Hipple
feb39bd6df
Merge pull request #83277 from robertodr/update-mkl
mkl: 2019.5.281 -> 2020.0.166 (Linux only)
2020-03-27 17:37:52 -04:00
Orivej Desh
b8bcf8cb4f zita-at1: init at 0.6.2 2020-03-27 21:18:05 +00:00
John Ericson
ea5c800175 Merge branch 'tensorflow-versions'
No code is changed, just trying to assist with eventual backport.
2020-03-27 20:53:40 +00:00
Aaron Janse
276bfbc17e ulauncher: 4.4.0.r1 -> 5.6.1 2020-03-27 13:47:10 -07:00
Andreas Rammhold
07bd8938f3 pythonPackages.tensorflow-estimator_1_15_1: init at 1.15.1
TF 1.15 still needs an older version of the tensorflow-estimator
package.

(cherry picked from commit c539f937c5)
2020-03-27 20:34:32 +00:00
Thibault Gagnaux
99a2467722 amazon-ecs-cli: 1.18.0 -> 1.18.1 2020-03-27 13:32:40 -07:00
nyanloutre
3a15a13354 steam.chrootenv: Add Prison Architect dependencies 2020-03-27 13:31:52 -07:00
nyanloutre
8bd3cf22c2 steamrt: 1.20190624 -> 1.20200128 2020-03-27 13:31:52 -07:00
Peter Simons
1d963cde66
Merge pull request #83164 from NixOS/haskell-updates
Update Haskell package set to LTS 15.5 (plus other fixes)
2020-03-27 21:31:27 +01:00
Drew Risinger
1b87322620 pythonPackages.qiskit-aer: init at 0.4.1
Qiskit Aer - High performance simulators for Qiskit.

This commit follows the new Qiskit scheme of breaking one large package
into smaller packages (terra, aer, etc), and then having a single
meta-package "qiskit" that comprises them.
2020-03-27 13:15:54 -07:00
Douglas Soares de Andrade
dc4a0da5ff solargraph: 0.38.0 -> 0.38.6 2020-03-27 13:12:16 -07:00
R. RyanTM
0bc43b2a09 padthv1: 0.9.12 -> 0.9.13 2020-03-27 13:09:50 -07:00
Minijackson
d289cc16d4 kodiPlugins.vfs-libarchive: 1.0.5 -> 1.0.6 2020-03-27 13:08:12 -07:00
Oleksii Filonenko
720c033e79 antibody: 4.3.1 -> 6.0.0 2020-03-27 13:06:50 -07:00
Oleksii Filonenko
8ebb32b38b lazygit: 0.16.2 -> 0.18 2020-03-27 13:03:26 -07:00
Peter Simons
743747999e all-cabal-hashes: update to Hackage at 2020-03-27T01:22:37Z 2020-03-27 20:58:34 +01:00
Peter Simons
a25c3fa290 hackage-packages.nix: automatic Haskell package set update
This update was generated by hackage2nix v2.15.1 from Hackage revision
e0bc864e0b.
2020-03-27 20:58:22 +01:00
Peter Simons
739f12ee3c hackage2nix: update list of broken packages 2020-03-27 20:56:53 +01:00
Mike Sperber
4e7639afa6 ghc-tcplugins-extra: include version 0.3.2
This is slightly outdated, required by polysemy-plugin, the actual fix
for this will be forthcoming as soon as hackage-packages.nix is
updated.
2020-03-27 20:56:53 +01:00
Robert Hensing
9a8d3ca542 hackage2nix: Restore arion-compose 2020-03-27 20:56:53 +01:00
Peter Simons
721b2929d7 LTS Haskell 15.5 2020-03-27 20:56:52 +01:00
Andrew Childs
5180ec3506 ghc865Binary: aarch64 support 2020-03-27 20:56:52 +01:00
Gabor Greif
f6d2dce2bf ghc-8.10.1: reformat to minimize diff with 8.8.3.nix 2020-03-27 20:56:41 +01:00
Andrew Childs
3c7ef6bcd8 ghc: 8.6.3-binary -> 8.6.5-binary 2020-03-27 20:54:27 +01:00
Timo Kaufmann
c4f97342ba
Merge pull request #69130 from millerjason/add-vimacs
vimacs: init at 2016-03-24
2020-03-27 19:14:42 +00:00
Lancelot SIX
087417b34e
Merge pull request #83431 from r-ryantm/auto-update/bibutils
bibutils: 6.8 -> 6.10
2020-03-27 19:51:01 +01:00
Jason Miller
4234ef550c vimacs: init at 2016-03-24 2020-03-27 14:39:22 -04:00
Jason Miller
40d3bc2d9f maintainers: Add millerjason 2020-03-27 14:39:22 -04:00
Florian Klink
728188794e
Merge pull request #82664 from toonn/wire-desktop-bump
wire-desktop: linux 3.12.2916 -> 3.15.2922, mac 3.12.3490 -> 3.15.3621
2020-03-27 19:18:05 +01:00
Florian Klink
d6c1901e8a
Merge pull request #83509 from flokli/google-cloud-sdk-286.0.0
google-cloud-sdk: 281.0.0 -> 286.0.0
2020-03-27 19:03:02 +01:00
R. RyanTM
368cc58db3 python37Packages.PyChromecast: 4.1.1 -> 4.2.0 2020-03-27 10:58:14 -07:00
Constantine Glen Evans
59fbc7acba gwyddion: 2.48 -> 2.55 (and add options)
Gwyddion has a large number of optional dependencies. In this update,
those dependencies have been added with options set mostly to true,
and an option (default false) for working Python 2.7 support in the
program and in Python has been added. I have also added myself as a
maintainer as no maintainer is currently set.
2020-03-27 10:56:00 -07:00
Constantine Glen Evans
037c91b193 maintainers: add cge 2020-03-27 10:56:00 -07:00
Ben Darwin
6f9f91d331 python3Packages.cufflinks: add nose to checkInputs 2020-03-27 10:53:07 -07:00