aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/servers/http
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/http')
-rw-r--r--nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch12
-rw-r--r--nixpkgs/pkgs/servers/http/4store/default.nix50
-rw-r--r--nixpkgs/pkgs/servers/http/4store/src-for-default.nix9
-rw-r--r--nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix5
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix35
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h66
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h66
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/h2o/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/hiawatha/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/jetty/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/generic.nix10
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/modules.nix9
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch18
-rw-r--r--nixpkgs/pkgs/servers/http/openresty/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/tengine/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/http/unit/default.nix52
26 files changed, 439 insertions, 138 deletions
diff --git a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch b/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
deleted file mode 100644
index dda21c54f69..00000000000
--- a/nixpkgs/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/frontend/filter-datatypes.c b/src/frontend/filter-datatypes.c
-index 8aae1dd..49ed358 100644
---- a/src/frontend/filter-datatypes.c
-+++ b/src/frontend/filter-datatypes.c
-@@ -23,6 +23,7 @@
- #include <string.h>
- #include <math.h>
- #define __USE_MISC
-+#define __USE_XOPEN_EXTENDED
- #include <time.h>
-
- #include "filter.h"
diff --git a/nixpkgs/pkgs/servers/http/4store/default.nix b/nixpkgs/pkgs/servers/http/4store/default.nix
deleted file mode 100644
index 6e4be4a36fe..00000000000
--- a/nixpkgs/pkgs/servers/http/4store/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv, fetchFromGitHub, librdf_raptor
-, librdf_rasqal, glib, libxml2, pcre
-, avahi, readline, ncurses, expat, autoreconfHook
-, zlib, pkgconfig, which, perl, libuuid
-, gmp, mpfr
-, db_dir ? "/var/lib/4store" }:
-
-
-stdenv.mkDerivation rec {
- pname = "4store";
- version = "1.1.6";
-
- src = fetchFromGitHub {
- owner = "4store";
- repo = "4store";
- rev = "v${version}";
- sha256 = "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk";
- };
-
- patches = [ ./4store-1.1.6-glibc-2.26.patch ];
-
- nativeBuildInputs = [ autoreconfHook perl pkgconfig which ];
-
- buildInputs = [ librdf_raptor librdf_rasqal glib libxml2 pcre
- avahi readline ncurses expat zlib libuuid gmp mpfr ];
-
- # needed for ./autogen.sh
- prePatch = ''
- echo "${version}" > .version
- '';
-
- preConfigure = ''
- sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure
- find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';'
-
- rm src/utilities/4s-backend
- sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/*
- sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile*
- '';
-
- enableParallelBuilding = true;
-
- meta = with stdenv.lib; {
- description = "SparQL query server (RDF storage)";
- homepage = https://4store.danielknoell.de/;
- maintainers = with maintainers; [ raskin ];
- platforms = platforms.linux;
- broken = true; # since 2018-04-11
- };
-}
diff --git a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-for-default.nix
deleted file mode 100644
index 7076b921911..00000000000
--- a/nixpkgs/pkgs/servers/http/4store/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
- version="v1.1.5";
- name="4store-v1.1.5";
- hash="0nwckvf8xqwvc2h3v6s1rvmxvcx2xrjy6yapghc052180jw6zp9b";
- url="http://4store.org/download/4store-${version}.tar.gz";
- advertisedUrl="http://4store.org/download/4store-v1.1.5.tar.gz";
-
-
-}
diff --git a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix b/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix
deleted file mode 100644
index 91a9bad92de..00000000000
--- a/nixpkgs/pkgs/servers/http/4store/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- downloadPage = "http://4store.org/download/";
- baseName = "4store";
- choiceCommand = "tail -n 1";
- versionExtractorSedScript = "s@.*-(v[0-9.]+)[.].*@\\1@";
-}
diff --git a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
index 63861714145..d5da6df8d68 100644
--- a/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/nixpkgs/pkgs/servers/http/apache-httpd/2.4.nix
@@ -44,10 +44,6 @@ stdenv.mkDerivation rec {
# Required for ‘pthread_cancel’.
NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
- preConfigure = ''
- configureFlags="$configureFlags --includedir=$dev/include"
- '';
-
configureFlags = [
"--with-apr=${apr.dev}"
"--with-apr-util=${aprutil.dev}"
@@ -60,6 +56,7 @@ stdenv.mkDerivation rec {
"--enable-cern-meta"
"--enable-imagemap"
"--enable-cgi"
+ "--includedir=${placeholder "dev"}/include"
(stdenv.lib.enableFeature proxySupport "proxy")
(stdenv.lib.enableFeature sslSupport "ssl")
(stdenv.lib.withFeatureAs libxml2Support "libxml2" "${libxml2.dev}/include/libxml2")
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix
new file mode 100644
index 00000000000..37f2a397ae6
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ca/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, apacheHttpd, openssl, openldap }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_ca";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "1pxapjrzdsk2s25vhgvf56fkakdqcbn9hjncwmqh0asl1pa25iic";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ apacheHttpd openssl openldap ];
+
+ # Note that configureFlags and installFlags are inherited by
+ # the various submodules.
+ #
+ configureFlags = [
+ "--with-apxs=${apacheHttpd.dev}/bin/apxs"
+ ];
+
+ installFlags = [
+ "INCLUDEDIR=${placeholder ''out''}/include"
+ "LIBEXECDIR=${placeholder ''out''}/modules"
+ ];
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service module";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix
new file mode 100644
index 00000000000..54c0de1c701
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_crl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_crl";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "0k6iqn5a4bqdz3yx6d53f1r75c21jnwhxmmcq071zq0361xjzzj6";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ meta = with stdenv.lib; {
+ description = "RedWax module for Certificate Revocation Lists";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix
new file mode 100644
index 00000000000..60f97d2f361
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_csr";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "01sdvv07kchdd6ssrmd2cbhj50qh2ibp5g5h6jy1jqbzp0b3j9ja";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ # After openssl-1.0.2t, starting in openssl-1.1.0l
+ # parts of the OpenSSL struct API was replaced by
+ # getters - but some setters where forgotten.
+ #
+ # It is expected that these are back/retrofitted in version
+ # openssl-1.1.1d -- but while fixing this it was found
+ # that there were quite a few other setters missing and
+ # that some of the memory management needed was at odds
+ # with the principles used sofar.
+ #
+ # See https://github.com/openssl/openssl/pull/10563
+ #
+ # So as a stopgap - use a minimalist compat. layer
+ # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h
+ #
+ preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h";
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service module to handle Certificate Signing Requests";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h
new file mode 100644
index 00000000000..a2a9e0f7a18
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_csr/openssl_setter_compat.h
@@ -0,0 +1,66 @@
+/* Licensed to Stichting The Commons Conservancy (TCC) under one or more
+ * contributor license agreements. See the AUTHORS file distributed with
+ * this work for additional information regarding copyright ownership.
+ * TCC licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c
+// and the private header files for that. They are needed as
+// starting with OpenSSL 1.1.0 the X509_req structure became
+// private; and got some get0 functions to access its internals.
+// But no getter's until post 1.1.1 (PR#10563). So this is a
+// stopgap for these lacking releases.
+//
+// Testest against:
+// openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile)
+// openssl-1.1.0l 0x0101000cfL (needs it)
+// openssl-1.1.1d 0x01010104fL (last version that needs it)
+// openssl-1.1.1-dev (should not need it - post PR#10563).
+//
+/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L && OPENSSL_VERSION_NUMBER <= 0x01010104fL */
+#if OPENSSL_VERSION_NUMBER >= 0x010100000L
+#include "openssl/x509.h"
+
+#define HAS_OPENSSL_PR10563_WORK_AROUND
+
+struct X509_req_info_st {
+ ASN1_ENCODING enc;
+ ASN1_INTEGER *version;
+ X509_NAME *subject;
+ X509_PUBKEY *pubkey;
+ STACK_OF(X509_ATTRIBUTE) *attributes;
+};
+
+typedef _Atomic int CRYPTO_REF_COUNT;
+
+struct X509_req_st {
+ X509_REQ_INFO req_info;
+ X509_ALGOR sig_alg;
+ ASN1_BIT_STRING *signature; /* signature */
+ CRYPTO_REF_COUNT references;
+ CRYPTO_RWLOCK *lock;
+# ifndef OPENSSL_NO_SM2
+ ASN1_OCTET_STRING *sm2_id;
+# endif
+};
+
+
+static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg)
+{
+ if (req->sig_alg.algorithm)
+ ASN1_OBJECT_free(req->sig_alg.algorithm);
+ if (req->sig_alg.parameter)
+ ASN1_TYPE_free(req->sig_alg.parameter);
+ req->sig_alg = *palg;
+}
+#endif
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
new file mode 100644
index 00000000000..6730ca16f10
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_ocsp";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "1vwgai56krdf8knb0mgy07ni9mqxk82bcb4gibwpnxvl6qwgv2i0";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service modules of OCSP Online Certificate Validation";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
new file mode 100644
index 00000000000..2bcf3b1d9c2
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_pkcs12";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "0by4qfjs3a8q0amzwazfq8ii6ydv36v2mjga0jzc9i6xyl4rs6ai";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service modules for PKCS#12 format files";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
index f947bf535cc..6aed1481ddf 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation rec {
--replace '-$GIT' ""
'';
+ installFlags = [ "LIBEXECDIR=${placeholder "out"}/modules" ];
+
preInstall = ''
- installFlags="LIBEXECDIR=$out/modules $installFlags"
mkdir -p $out/modules $out/bin
'';
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix
new file mode 100644
index 00000000000..98703659c35
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_scep";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "14l8v6y6kx5dg8avb5ny95qdcgrw40ss80nqrgmw615mk7zcj81f";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ # After openssl-1.0.2t, starting in openssl-1.1.0l
+ # parts of the OpenSSL struct API was replaced by
+ # getters - but some setters where forgotten.
+ #
+ # It is expected that these are back/retrofitted in version
+ # openssl-1.1.1d -- but while fixing this it was found
+ # that there were quite a few other setters missing and
+ # that some of the memory management needed was at odds
+ # with the principles used sofar.
+ #
+ # See https://github.com/openssl/openssl/pull/10563
+ #
+ # So as a stopgap - use a minimalist compat. layer
+ # https://source.redwax.eu/projects/RS/repos/mod_csr/browse/openssl_setter_compat.h
+ #
+ preBuild = "cp ${./openssl_setter_compat.h} openssl_setter_compat.h";
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service modules for SCEP (Automatic ceritifcate issue/renewal)";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h
new file mode 100644
index 00000000000..a2a9e0f7a18
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_scep/openssl_setter_compat.h
@@ -0,0 +1,66 @@
+/* Licensed to Stichting The Commons Conservancy (TCC) under one or more
+ * contributor license agreements. See the AUTHORS file distributed with
+ * this work for additional information regarding copyright ownership.
+ * TCC licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// These routines are copies from OpenSSL/1.1.1 its x509/x509_req.c
+// and the private header files for that. They are needed as
+// starting with OpenSSL 1.1.0 the X509_req structure became
+// private; and got some get0 functions to access its internals.
+// But no getter's until post 1.1.1 (PR#10563). So this is a
+// stopgap for these lacking releases.
+//
+// Testest against:
+// openssl-1.0.2t 0x01000214fL (does not need it, privates still accessile)
+// openssl-1.1.0l 0x0101000cfL (needs it)
+// openssl-1.1.1d 0x01010104fL (last version that needs it)
+// openssl-1.1.1-dev (should not need it - post PR#10563).
+//
+/* #if OPENSSL_VERSION_NUMBER >= 0x010100000L && OPENSSL_VERSION_NUMBER <= 0x01010104fL */
+#if OPENSSL_VERSION_NUMBER >= 0x010100000L
+#include "openssl/x509.h"
+
+#define HAS_OPENSSL_PR10563_WORK_AROUND
+
+struct X509_req_info_st {
+ ASN1_ENCODING enc;
+ ASN1_INTEGER *version;
+ X509_NAME *subject;
+ X509_PUBKEY *pubkey;
+ STACK_OF(X509_ATTRIBUTE) *attributes;
+};
+
+typedef _Atomic int CRYPTO_REF_COUNT;
+
+struct X509_req_st {
+ X509_REQ_INFO req_info;
+ X509_ALGOR sig_alg;
+ ASN1_BIT_STRING *signature; /* signature */
+ CRYPTO_REF_COUNT references;
+ CRYPTO_RWLOCK *lock;
+# ifndef OPENSSL_NO_SM2
+ ASN1_OCTET_STRING *sm2_id;
+# endif
+};
+
+
+static void _X509_REQ_set1_signature(X509_REQ *req, X509_ALGOR *palg)
+{
+ if (req->sig_alg.algorithm)
+ ASN1_OBJECT_free(req->sig_alg.algorithm);
+ if (req->sig_alg.parameter)
+ ASN1_TYPE_free(req->sig_alg.parameter);
+ req->sig_alg = *palg;
+}
+#endif
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix
new file mode 100644
index 00000000000..72e0d521e3b
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_spkac/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_spkac";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "0x6ia9qcr7lx2awpv9cr4ndic5f4g8yqzmp2hz66zpzkmk2b2pyz";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service module for handling the Netscape keygen requests. ";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
new file mode 100644
index 00000000000..139da289078
--- /dev/null
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, mod_ca, apr, aprutil }:
+
+stdenv.mkDerivation rec {
+ pname = "mod_timestamp";
+ version = "0.2.1";
+
+ src = fetchurl {
+ url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
+ sha256 = "0j4b04dbdwn9aff3da9m0lnqi0qbw6c6hhi81skl15kyc3vzp67f";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ mod_ca apr aprutil ];
+ inherit (mod_ca) configureFlags installFlags;
+
+ meta = with stdenv.lib; {
+ description = "RedWax CA service module for issuing signed timestamps";
+
+ homepage = "https://redwax.eu";
+ license = licenses.asl20;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ dirkx ];
+ };
+}
diff --git a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 461ab1e297e..c0e4cefa40a 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "mod_wsgi";
- version = "4.6.8";
+ version = "4.7.0";
src = fetchurl {
url = "https://github.com/GrahamDumpleton/mod_wsgi/archive/${version}.tar.gz";
- sha256 = "0xym7i3iaxqi23dayacv2llhi0klxcb4ldll5cjxv6lg9v5r88x2";
+ sha256 = "079f4py20jd6n3d7djak5l9j8p6hfq96lf577iir6qpfsk2p0k3n";
};
buildInputs = [ apacheHttpd python ncurses ];
diff --git a/nixpkgs/pkgs/servers/http/h2o/default.nix b/nixpkgs/pkgs/servers/http/h2o/default.nix
index a8de0d7e084..d599956cfda 100644
--- a/nixpkgs/pkgs/servers/http/h2o/default.nix
+++ b/nixpkgs/pkgs/servers/http/h2o/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub
, pkgconfig, cmake, ninja
-, libressl, libuv, zlib
+, openssl, libuv, zlib
}:
stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig cmake ninja ];
- buildInputs = [ libressl libuv zlib ];
+ buildInputs = [ openssl libuv zlib ];
meta = with stdenv.lib; {
description = "Optimized HTTP/1 and HTTP/2 server";
diff --git a/nixpkgs/pkgs/servers/http/hiawatha/default.nix b/nixpkgs/pkgs/servers/http/hiawatha/default.nix
index a3bcb64e6c0..4e799774569 100644
--- a/nixpkgs/pkgs/servers/http/hiawatha/default.nix
+++ b/nixpkgs/pkgs/servers/http/hiawatha/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
description = "An advanced and secure webserver";
license = licenses.gpl2;
platforms = platforms.unix; # "Hiawatha runs perfectly on Linux, BSD and MacOS X"
- maintainers = [ maintainers.ndowens ];
+ maintainers = [];
};
}
diff --git a/nixpkgs/pkgs/servers/http/jetty/default.nix b/nixpkgs/pkgs/servers/http/jetty/default.nix
index 845fd41c12c..8d2340647cb 100644
--- a/nixpkgs/pkgs/servers/http/jetty/default.nix
+++ b/nixpkgs/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "jetty";
- version = "9.4.22.v20191022";
+ version = "9.4.24.v20191120";
src = fetchurl {
url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
name = "jetty-distribution-${version}.tar.gz";
- sha256 = "1a5av6ygsmjwbnlax7f7l58d7hlw3xm0cpk5ml7mb54vrlrcb7hv";
+ sha256 = "072vr8gfly2xdwxx1c771yymf145l8nv0j31liwqrih8zqvvhsd4";
};
phases = [ "unpackPhase" "installPhase" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = {
description = "A Web server and javax.servlet container";
- homepage = http://www.eclipse.org/jetty/;
+ homepage = "https://www.eclipse.org/jetty/";
platforms = stdenv.lib.platforms.all;
license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
};
diff --git a/nixpkgs/pkgs/servers/http/nginx/generic.nix b/nixpkgs/pkgs/servers/http/nginx/generic.nix
index 2c0dbc7d665..990d7c5cf13 100644
--- a/nixpkgs/pkgs/servers/http/nginx/generic.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/generic.nix
@@ -53,15 +53,15 @@ stdenv.mkDerivation {
"--with-http_stub_status_module"
"--with-threads"
"--with-pcre-jit"
- ] ++ optional withDebug [
+ ] ++ optionals withDebug [
"--with-debug"
- ] ++ optional withStream [
+ ] ++ optionals withStream [
"--with-stream"
"--with-stream_geoip_module"
"--with-stream_realip_module"
"--with-stream_ssl_module"
"--with-stream_ssl_preread_module"
- ] ++ optional withMail [
+ ] ++ optionals withMail [
"--with-mail"
"--with-mail_ssl_module"
] ++ optional (perl != null) [
@@ -73,10 +73,10 @@ stdenv.mkDerivation {
++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
++ map (mod: "--add-module=${mod.src}") modules;
- NIX_CFLAGS_COMPILE = [
+ NIX_CFLAGS_COMPILE = toString ([
"-I${libxml2.dev}/include/libxml2"
"-Wno-error=implicit-fallthrough"
- ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
+ ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations");
configurePlatforms = [];
diff --git a/nixpkgs/pkgs/servers/http/nginx/modules.nix b/nixpkgs/pkgs/servers/http/nginx/modules.nix
index 5e21e8734bf..78ad5c5582d 100644
--- a/nixpkgs/pkgs/servers/http/nginx/modules.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/modules.nix
@@ -258,6 +258,15 @@ in
inputs = [ pkgs.pam ];
};
+ pinba = {
+ src = fetchFromGitHub {
+ owner = "tony2001";
+ repo = "ngx_http_pinba_module";
+ rev = "28131255d4797a7e2f82a6a35cf9fc03c4678fe6";
+ sha256 = "00fii8bjvyipq6q47xhjhm3ylj4rhzmlk3qwxmfpdn37j7bc8p8c";
+ };
+ };
+
push-stream ={
src = fetchFromGitHub {
owner = "wandenberg";
diff --git a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
index 9dec715bf6c..c1473ccdb1b 100644
--- a/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
+++ b/nixpkgs/pkgs/servers/http/nginx/nix-etag-1.15.4.patch
@@ -1,14 +1,8 @@
-From f6a978f024d01202f954483423af1b2d5d5159a6 Mon Sep 17 00:00:00 2001
-From: Yegor Timoshenko <yegortimoshenko@riseup.net>
-Date: Fri, 28 Sep 2018 03:27:04 +0000
-Subject: [PATCH] If root is in Nix store, set ETag to its path hash
-
----
- src/http/ngx_http_core_module.c | 56 +++++++++++++++++++++++++++++----
- 1 file changed, 50 insertions(+), 6 deletions(-)
+This patch makes it possible to serve static content from Nix store paths, by
+using the hash of the store path for the ETag header.
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
-index c57ec00c..b7992de2 100644
+index cb49ef74..f88dc77c 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -1583,6 +1583,7 @@ ngx_http_set_etag(ngx_http_request_t *r)
@@ -19,7 +13,7 @@ index c57ec00c..b7992de2 100644
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
-@@ -1598,16 +1599,61 @@ ngx_http_set_etag(ngx_http_request_t *r)
+@@ -1598,16 +1599,62 @@ ngx_http_set_etag(ngx_http_request_t *r)
etag->hash = 1;
ngx_str_set(&etag->key, "ETag");
@@ -68,6 +62,7 @@ index c57ec00c..b7992de2 100644
+ }
+
+ ngx_memcpy(etag->value.data, ptr1, etag->value.len);
++ ngx_http_clear_last_modified(r);
+ } else {
+ etag->value.data = ngx_pnalloc(r->pool, NGX_OFF_T_LEN + NGX_TIME_T_LEN + 3);
+
@@ -87,6 +82,3 @@ index c57ec00c..b7992de2 100644
r->headers_out.etag = etag;
---
-2.19.0
-
diff --git a/nixpkgs/pkgs/servers/http/openresty/default.nix b/nixpkgs/pkgs/servers/http/openresty/default.nix
index 53773302963..328db9ec986 100644
--- a/nixpkgs/pkgs/servers/http/openresty/default.nix
+++ b/nixpkgs/pkgs/servers/http/openresty/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip postgresql ];
nativeBuildInputs = [ perl ];
- NIX_CFLAGS_COMPILE = ["-I${libxml2.dev}/include/libxml2"];
+ NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
preConfigure = ''
patchShebangs .
diff --git a/nixpkgs/pkgs/servers/http/tengine/default.nix b/nixpkgs/pkgs/servers/http/tengine/default.nix
index 379a5c242f7..1eeb5a8c4dd 100644
--- a/nixpkgs/pkgs/servers/http/tengine/default.nix
+++ b/nixpkgs/pkgs/servers/http/tengine/default.nix
@@ -53,23 +53,23 @@ stdenv.mkDerivation rec {
"--with-poll_module"
"--with-google_perftools_module"
"--with-jemalloc"
- ] ++ optional withDebug [
+ ] ++ optionals withDebug [
"--with-debug"
- ] ++ optional withMail [
+ ] ++ optionals withMail [
"--with-mail"
"--with-mail_ssl_module"
- ] ++ optional (!withMail) [
+ ] ++ optionals (!withMail) [
"--without-mail_pop3_module"
"--without-mail_imap_module"
"--without-mail_smtp_module"
- ] ++ optional withStream [
+ ] ++ optionals withStream [
"--with-stream"
"--with-stream_ssl_module"
"--with-stream_realip_module"
"--with-stream_geoip_module"
"--with-stream_ssl_preread_module"
"--with-stream_sni"
- ] ++ optional (!withStream) [
+ ] ++ optionals (!withStream) [
"--without-stream_limit_conn_module"
"--without-stream_access_module"
"--without-stream_geo_module"
@@ -84,10 +84,8 @@ stdenv.mkDerivation rec {
++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
++ map (mod: "--add-module=${mod.src}") modules;
- NIX_CFLAGS_COMPILE = [
- "-I${libxml2.dev}/include/libxml2"
- "-Wno-error=implicit-fallthrough"
- ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
+ NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2 -Wno-error=implicit-fallthrough"
+ + optionalString stdenv.isDarwin " -Wno-error=deprecated-declarations";
preConfigure = (concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules);
diff --git a/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix
index f05d9c1ce8f..d210fcefc85 100644
--- a/nixpkgs/pkgs/servers/http/unit/default.nix
+++ b/nixpkgs/pkgs/servers/http/unit/default.nix
@@ -1,11 +1,15 @@
{ stdenv, fetchFromGitHub, which
-, withPython ? true, python
-, withPHP72 ? true, php72
-, withPHP73 ? false, php73
-, withPerl ? true, perl
+, withPython2 ? false, python2
+, withPython3 ? true, python3, ncurses
+, withPHP72 ? false, php72
+, withPHP73 ? true, php73
+, withPerl528 ? false, perl528
+, withPerl530 ? true, perl530
, withPerldevel ? false, perldevel
, withRuby_2_4 ? false, ruby_2_4
-, withRuby ? true, ruby
+, withRuby_2_5 ? false, ruby_2_5
+, withRuby_2_6 ? true, ruby_2_6
+, withRuby_2_7 ? true, ruby_2_7
, withSSL ? true, openssl ? null
, withIPv6 ? true
, withDebug ? false
@@ -14,26 +18,30 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- version = "1.12.0";
+ version = "1.13.0";
pname = "unit";
src = fetchFromGitHub {
owner = "nginx";
repo = "unit";
rev = version;
- sha256 = "1ylzfsajjfaxzn7mycjs69ms4x58r4szpk07kqrmbf03dp2cmxkq";
+ sha256 = "1b5il05isq5yvnx2qpnihsrmj0jliacvhrm58i87d48anwpv1k8q";
};
nativeBuildInputs = [ which ];
buildInputs = [ ]
- ++ optional withPython python
+ ++ optional withPython2 python2
+ ++ optionals withPython3 [ python3 ncurses ]
++ optional withPHP72 php72
++ optional withPHP73 php73
- ++ optional withPerl perl
+ ++ optional withPerl528 perl528
+ ++ optional withPerl530 perl530
++ optional withPerldevel perldevel
++ optional withRuby_2_4 ruby_2_4
- ++ optional withRuby ruby
+ ++ optional withRuby_2_5 ruby_2_5
+ ++ optional withRuby_2_6 ruby_2_6
+ ++ optional withRuby_2_7 ruby_2_7
++ optional withSSL openssl;
configureFlags = [
@@ -41,18 +49,22 @@ stdenv.mkDerivation rec {
"--pid=/run/unit/unit.pid"
"--user=unit"
"--group=unit"
- ] ++ optional withSSL [ "--openssl" ]
- ++ optional (!withIPv6) [ "--no-ipv6" ]
- ++ optional withDebug [ "--debug" ];
+ ] ++ optional withSSL "--openssl"
+ ++ optional (!withIPv6) "--no-ipv6"
+ ++ optional withDebug "--debug";
postConfigure = ''
- ${optionalString withPython "./configure python --module=python --config=${python}/bin/python-config --lib-path=${python}/lib"}
- ${optionalString withPHP72 "./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib"}
- ${optionalString withPHP73 "./configure php --module=php73 --config=${php73.dev}/bin/php-config --lib-path=${php73}/lib"}
- ${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"}
- ${optionalString withPerldevel "./configure perl --module=perl529 --perl=${perldevel}/bin/perl"}
- ${optionalString withRuby_2_4 "./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby"}
- ${optionalString withRuby "./configure ruby --module=ruby --ruby=${ruby}/bin/ruby"}
+ ${optionalString withPython2 "./configure python --module=python2 --config=${python2}/bin/python2-config --lib-path=${python2}/lib"}
+ ${optionalString withPython3 "./configure python --module=python3 --config=${python3}/bin/python3-config --lib-path=${python3}/lib"}
+ ${optionalString withPHP72 "./configure php --module=php72 --config=${php72.dev}/bin/php-config --lib-path=${php72}/lib"}
+ ${optionalString withPHP73 "./configure php --module=php73 --config=${php73.dev}/bin/php-config --lib-path=${php73}/lib"}
+ ${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"}
+ ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
+ ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
+ ${optionalString withRuby_2_4 "./configure ruby --module=ruby24 --ruby=${ruby_2_4}/bin/ruby"}
+ ${optionalString withRuby_2_5 "./configure ruby --module=ruby25 --ruby=${ruby_2_5}/bin/ruby"}
+ ${optionalString withRuby_2_6 "./configure ruby --module=ruby26 --ruby=${ruby_2_6}/bin/ruby"}
+ ${optionalString withRuby_2_7 "./configure ruby --module=ruby27 --ruby=${ruby_2_7}/bin/ruby"}
'';
meta = {