about summary refs log tree commit diff
path: root/pkgs/servers/http
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/http')
-rw-r--r--pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix1
-rw-r--r--pkgs/servers/http/apache-modules/mod_ca/default.nix36
-rw-r--r--pkgs/servers/http/apache-modules/mod_crl/default.nix30
-rw-r--r--pkgs/servers/http/apache-modules/mod_csr/default.nix30
-rw-r--r--pkgs/servers/http/apache-modules/mod_dnssd/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_ocsp/default.nix29
-rw-r--r--pkgs/servers/http/apache-modules/mod_perl/default.nix40
-rw-r--r--pkgs/servers/http/apache-modules/mod_pkcs12/default.nix29
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/default.nix29
-rw-r--r--pkgs/servers/http/apache-modules/mod_scep/default.nix29
-rw-r--r--pkgs/servers/http/apache-modules/mod_spkac/default.nix29
-rw-r--r--pkgs/servers/http/apache-modules/mod_tile/default.nix9
-rw-r--r--pkgs/servers/http/apache-modules/mod_timestamp/default.nix34
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix1
-rw-r--r--pkgs/servers/http/darkhttpd/default.nix1
-rw-r--r--pkgs/servers/http/dufs/default.nix1
-rw-r--r--pkgs/servers/http/envoy/default.nix1
-rw-r--r--pkgs/servers/http/hyp/default.nix1
-rw-r--r--pkgs/servers/http/jetty/11.x.nix4
-rw-r--r--pkgs/servers/http/jetty/12.x.nix4
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/lwan/default.nix1
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix1
-rw-r--r--pkgs/servers/http/nginx/generic.nix1
-rw-r--r--pkgs/servers/http/nginx/modules.nix6
-rw-r--r--pkgs/servers/http/pomerium/default.nix5
-rw-r--r--pkgs/servers/http/pshs/default.nix1
-rw-r--r--pkgs/servers/http/quark/default.nix1
-rw-r--r--pkgs/servers/http/ran/default.nix1
-rw-r--r--pkgs/servers/http/redstore/default.nix1
-rw-r--r--pkgs/servers/http/spawn-fcgi/default.nix1
-rw-r--r--pkgs/servers/http/tengine/default.nix1
-rw-r--r--pkgs/servers/http/tomcat/default.nix8
-rw-r--r--pkgs/servers/http/unit/default.nix1
-rw-r--r--pkgs/servers/http/webhook/default.nix1
-rw-r--r--pkgs/servers/http/yaws/default.nix1
36 files changed, 300 insertions, 75 deletions
diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index bc7d0d667b63..5dd2fee040e9 100644
--- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/latchset/mod_auth_mellon";
     description = "An Apache module with a simple SAML 2.0 service provider";
+    mainProgram = "mellon_create_metadata.sh";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ womfoo ];
diff --git a/pkgs/servers/http/apache-modules/mod_ca/default.nix b/pkgs/servers/http/apache-modules/mod_ca/default.nix
index a357f0291ce5..4eb67f02c9a0 100644
--- a/pkgs/servers/http/apache-modules/mod_ca/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_ca/default.nix
@@ -1,33 +1,53 @@
-{ lib, stdenv, fetchurl, pkg-config, apacheHttpd, openssl, openldap, apr, aprutil }:
+{
+  apacheHttpd,
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  openldap,
+  openssl,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_ca";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "0gs66br3aig749rzifxn6j1rz2kps4hc4jppscly48lypgyygy8s";
+    hash = "sha256-HGnhypOO0WOgRw9i9oqO4da131zAwBXOdrc9dypFjyk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ apacheHttpd openssl openldap apr aprutil ];
+
+  buildInputs = [
+    apacheHttpd
+    apr
+    aprutil
+    openldap
+    openssl
+  ];
 
   # Note that configureFlags and installFlags are inherited by
   # the various submodules.
   #
-  configureFlags = [
-    "--with-apxs=${apacheHttpd.dev}/bin/apxs"
-  ];
+  configureFlags = [ "--with-apxs=${apacheHttpd.dev}/bin/apxs" ];
 
   installFlags = [
     "INCLUDEDIR=${placeholder "out"}/include"
     "LIBEXECDIR=${placeholder "out"}/modules"
   ];
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service module";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_ca/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_crl/default.nix b/pkgs/servers/http/apache-modules/mod_crl/default.nix
index a8025c153e05..340bc3a962ed 100644
--- a/pkgs/servers/http/apache-modules/mod_crl/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_crl/default.nix
@@ -1,23 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
-
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_crl";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "1x186kp6fr8nwg0jlv5phagxndvw4rjqfga9mkibmn6dx252p61d";
+    hash = "sha256-w8YIhed9J1uo5uwhfOVe5LhNLUvFZCgUO4FrHm344Rg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax module for Certificate Revocation Lists";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_crl/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_csr/default.nix b/pkgs/servers/http/apache-modules/mod_csr/default.nix
index c334939a1c53..0fb6d8d0a0ac 100644
--- a/pkgs/servers/http/apache-modules/mod_csr/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_csr/default.nix
@@ -1,23 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
-
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_csr";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "1p4jc0q40453wpvwqgnr1n007b4jxpkizzy3r4jygsxxgg4x9w7x";
+    hash = "sha256-JVd5N5UnAxDwq6AavEHA0HsY2TRa+9RmLLJeRZbj+4Q=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service module to handle Certificate Signing Requests";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_csr/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
index 4f4236e91b58..7f574f9fd962 100644
--- a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://0pointer.de/lennart/projects/mod_dnssd";
+    homepage = "https://0pointer.de/lennart/projects/mod_dnssd";
     description = "Provide Zeroconf support via DNS-SD using Avahi";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/servers/http/apache-modules/mod_ocsp/default.nix b/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
index 116a9822291f..2f4b754cfc6b 100644
--- a/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_ocsp/default.nix
@@ -1,22 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_ocsp";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "0wy5363m4gq1w08iny2b3sh925bnznlln88pr9lgj9vgbn8pqnrn";
+    hash = "sha256-G+m/KdJCCTlSMeJzUnCRJkBEQ8cOQ+rJhA3NPrwh1Us=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service modules of OCSP Online Certificate Validation";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_csr/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_perl/default.nix b/pkgs/servers/http/apache-modules/mod_perl/default.nix
index bbb38eb969bd..c0a9e11a6ce5 100644
--- a/pkgs/servers/http/apache-modules/mod_perl/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_perl/default.nix
@@ -1,20 +1,33 @@
-{ stdenv, fetchurl, apacheHttpd, perl, nixosTests }:
+{
+  apacheHttpd,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  nixosTests,
+  perl,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_perl";
-  version = "2.0.12";
+  version = "2.0.13";
 
   src = fetchurl {
     url = "mirror://apache/perl/${pname}-${version}.tar.gz";
-    sha256 = "sha256-9bghtZsP3JZw5G7Q/PMtiRHyUSYYmotowWUvkiHu4mk=";
+    sha256 = "sha256-reO+McRHuESIaf7N/KziWNbVh7jGx3PF8ic19w2C1to=";
   };
 
-  buildInputs = [ apacheHttpd perl ];
+  buildInputs = [
+    apacheHttpd
+    perl
+  ];
+
   buildPhase = ''
     perl Makefile.PL \
       MP_APXS=${apacheHttpd.dev}/bin/apxs
     make
   '';
+
   installPhase = ''
     mkdir -p $out
     make install DESTDIR=$out
@@ -24,5 +37,22 @@ stdenv.mkDerivation rec {
     rm $out/nix -rf
   '';
 
-  passthru.tests = nixosTests.mod_perl;
+  passthru = {
+    updateScript = directoryListingUpdater {
+      url = "https://archive.apache.org/dist/perl/";
+    };
+    tests = nixosTests.mod_perl;
+  };
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    description = "Integration of perl with the Apache2 web server";
+    homepage = "https://perl.apache.org/download/index.html";
+    changelog = "https://github.com/apache/mod_perl/blob/trunk/Changes";
+    license = licenses.asl20;
+    mainProgram = "mp2bug";
+    maintainers = with maintainers; [ ];
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix b/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
index 1632ed381b0e..0f8962b275c0 100644
--- a/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_pkcs12/default.nix
@@ -1,22 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_pkcs12";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "1jfyax3qrw9rpf2n0pn6iw4dpn2nl4j0i2a998n5p1mdmjx9ch73";
+    hash = "sha256-k7BZ5d0WigyTmoUyFds7UCJ/tFBiUxd5pS4cVxmAI1g=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service modules for PKCS#12 format files";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_pkcs12/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index 2f427d170fdf..8b4fcd5d94be 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -1,13 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, apacheHttpd, python3, libintl }:
+{
+  apacheHttpd,
+  fetchFromGitHub,
+  lib,
+  libintl,
+  nix-update-script,
+  python3,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_python";
-  version = "unstable-2022-10-18";
+  version = "3.5.0.2";
 
   src = fetchFromGitHub {
     owner = "grisha";
     repo = pname;
-    rev = "d066b07564d2194839eceb535485eb1ba0c292d8";
+    rev = "refs/tags/${version}";
     hash = "sha256-EH8wrXqUAOFWyPKfysGeiIezgrVc789RYO4AHeSA6t4=";
   };
 
@@ -18,14 +26,23 @@ stdenv.mkDerivation rec {
     "BINDIR=$(out)/bin"
   ];
 
-  passthru = { inherit apacheHttpd; };
+  buildInputs = [
+    apacheHttpd
+    python3
+  ] ++ lib.optionals stdenv.isDarwin [
+    libintl
+  ];
 
-  buildInputs = [ apacheHttpd python3 ]
-    ++ lib.optional stdenv.isDarwin libintl;
+  passthru = {
+    inherit apacheHttpd;
+    updateScript = nix-update-script { };
+  };
 
   meta = with lib; {
     homepage = "https://modpython.org/";
+    changelog = "https://github.com/grisha/mod_python/blob/${version}/NEWS";
     description = "An Apache module that embeds the Python interpreter within the server";
+    mainProgram = "mod_python";
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/servers/http/apache-modules/mod_scep/default.nix b/pkgs/servers/http/apache-modules/mod_scep/default.nix
index 68aeded93d00..40561e41ba88 100644
--- a/pkgs/servers/http/apache-modules/mod_scep/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_scep/default.nix
@@ -1,22 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_scep";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "1imddqyi81l90valvndx9r0ywn32ggijrdfrjmbx8j1abaccagrc";
+    hash = "sha256-HFPQ1A3ULtT2MduIQZS1drdQvCdZqJqKpOsJLEw67sI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service modules for SCEP (Automatic ceritifcate issue/renewal)";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_scep/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_spkac/default.nix b/pkgs/servers/http/apache-modules/mod_spkac/default.nix
index 01ecae55b2ed..639045d18aff 100644
--- a/pkgs/servers/http/apache-modules/mod_spkac/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_spkac/default.nix
@@ -1,22 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_spkac";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "0hpr58yazbi21m0sjn22a8ns4h81s4jlab9szcdw7j9w9jdc7j0h";
+    hash = "sha256-J1pGz+/AD0IPwRPBA+wt9PgV9qnZEHX66VCBGqhf0b8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service module for handling the Netscape keygen requests. ";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_spkac/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix
index 85ff5a97e636..f97ae6269011 100644
--- a/pkgs/servers/http/apache-modules/mod_tile/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix
@@ -15,17 +15,18 @@
 , iniparser
 , libmemcached
 , mapnik
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "mod_tile";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = "mod_tile";
-    rev = "v${version}";
-    hash = "sha256-jDuOcmKzZGU6L0aOfPKRGpDLbX0O9ueTufBy7Bd6KMU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-zXUwTG8cqAkY5MC1jAc2TtMgNMQPLc5nc22okVYP4ME=";
   };
 
   nativeBuildInputs = [
@@ -64,6 +65,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     homepage = "https://github.com/openstreetmap/mod_tile";
     description = "Efficiently render and serve OpenStreetMap tiles using Apache and Mapnik";
diff --git a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
index d1d254c30b4b..1dbe4101dfe6 100644
--- a/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_timestamp/default.nix
@@ -1,22 +1,46 @@
-{ lib, stdenv, fetchurl, pkg-config, mod_ca, apr, aprutil }:
+{
+  apr,
+  aprutil,
+  directoryListingUpdater,
+  fetchurl,
+  lib,
+  mod_ca,
+  pkg-config,
+  stdenv,
+}:
 
 stdenv.mkDerivation rec {
   pname = "mod_timestamp";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "https://redwax.eu/dist/rs/${pname}-${version}.tar.gz";
-    sha256 = "1p18mgxx2ainfrc2wm27rl3lh6yl0ihx6snib60jnp694587bfwg";
+    hash = "sha256-X49gJ1wQtwQT3GOZkluxdMIY2ZRpM9Y7DZln6Ag9DvM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mod_ca apr aprutil ];
+
+  buildInputs = [
+    apr
+    aprutil
+    mod_ca
+  ];
+
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=int-conversion"
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   inherit (mod_ca) configureFlags installFlags;
 
+  passthru.updateScript = directoryListingUpdater {
+    url = "https://redwax.eu/dist/rs/";
+  };
+
   meta = with lib; {
     description = "RedWax CA service module for issuing signed timestamps";
-
     homepage = "https://redwax.eu";
+    changelog = "https://source.redwax.eu/projects/RS/repos/mod_timestamp/browse/ChangeLog";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ dirkx ];
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index dd3648961439..72a456ab17f9 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A caching proxy specialized for Linux distribution files";
+    mainProgram = "apt-cacher-ng";
     homepage = "https://www.unix-ag.uni-kl.de/~bloch/acng/";
     license = licenses.bsdOriginal;
     platforms = platforms.linux;
diff --git a/pkgs/servers/http/darkhttpd/default.nix b/pkgs/servers/http/darkhttpd/default.nix
index a0678299ac9c..0d55b3b6b588 100644
--- a/pkgs/servers/http/darkhttpd/default.nix
+++ b/pkgs/servers/http/darkhttpd/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Small and secure static webserver";
+    mainProgram = "darkhttpd";
     homepage = "https://unix4lyfe.org/darkhttpd/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bobvanderlinden ];
diff --git a/pkgs/servers/http/dufs/default.nix b/pkgs/servers/http/dufs/default.nix
index a889f42f97aa..433a68d1a54a 100644
--- a/pkgs/servers/http/dufs/default.nix
+++ b/pkgs/servers/http/dufs/default.nix
@@ -42,6 +42,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "A file server that supports static serving, uploading, searching, accessing control, webdav";
+    mainProgram = "dufs";
     homepage = "https://github.com/sigoden/dufs";
     changelog = "https://github.com/sigoden/dufs/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 9a50c3063eb3..bb8a5e6a575c 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -193,6 +193,7 @@ buildBazelPackage {
     homepage = "https://envoyproxy.io";
     changelog = "https://github.com/envoyproxy/envoy/releases/tag/v${version}";
     description = "Cloud-native edge and service proxy";
+    mainProgram = "envoy";
     license = licenses.asl20;
     maintainers = with maintainers; [ lukegb ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
diff --git a/pkgs/servers/http/hyp/default.nix b/pkgs/servers/http/hyp/default.nix
index 7380a7a35191..76562311ac64 100644
--- a/pkgs/servers/http/hyp/default.nix
+++ b/pkgs/servers/http/hyp/default.nix
@@ -11,6 +11,7 @@ python3Packages.buildPythonPackage rec {
 
   meta = with lib; {
     description = "Hyperminimal https server";
+    mainProgram = "hyp";
     homepage    = "https://github.com/rnhmjoj/hyp";
     license     = with licenses; [gpl3Plus mit];
     maintainers = with maintainers; [ rnhmjoj ];
diff --git a/pkgs/servers/http/jetty/11.x.nix b/pkgs/servers/http/jetty/11.x.nix
index b6a1d4599c1e..0744d76a32d1 100644
--- a/pkgs/servers/http/jetty/11.x.nix
+++ b/pkgs/servers/http/jetty/11.x.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "11.0.19";
-  hash = "sha256-CJpJSeIuFNiduCpiSoa52vYIncWn5/tMEgMVslJCcy0=";
+  version = "11.0.20";
+  hash = "sha256-qOpIWht7Q8zjNRiHvpN5SBy+hOhddhgor5S55gWxHlQ=";
 }
diff --git a/pkgs/servers/http/jetty/12.x.nix b/pkgs/servers/http/jetty/12.x.nix
index 2115879b8a29..c3ad743310da 100644
--- a/pkgs/servers/http/jetty/12.x.nix
+++ b/pkgs/servers/http/jetty/12.x.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "12.0.5";
-  hash = "sha256-TnKoDgn59t0m5dBuMISQPpQrIFcTsv77V/KXJabpsyA=";
+  version = "12.0.7";
+  hash = "sha256-n85MgRRWCaa7+KvGH1QyiQ03TFoAw7N2jPCJbmuGZNg=";
 }
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 45dadae35567..051f1c18e64e 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lighttpd";
-  version = "1.4.74";
+  version = "1.4.75";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
-    sha256 = "sha256-XAhzboMIj34Bl5cVnzBuiOxymr6XbcmPs77XG50+U7U=";
+    sha256 = "sha256-i3IcqTnTEq+qbvMdy9avtRYe04Wsgo5vzNTFt2vhidY=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix
index 5aff026aa9ce..bc155d353b9f 100644
--- a/pkgs/servers/http/lwan/default.nix
+++ b/pkgs/servers/http/lwan/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Lightweight high-performance multi-threaded web server";
+    mainProgram = "lwan";
     longDescription = "A lightweight and speedy web server with a low memory
       footprint (~500KiB for 10k idle connections), with minimal system calls and
       memory allocation.  Lwan contains a hand-crafted HTTP request parser. Files are
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index d56f83366f9e..fdf5012514f6 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://mini-httpd.nongnu.org/";
     description = "minimalistic high-performance web server";
+    mainProgram = "httpd";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.peti ];
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 81e785e4ec73..e998675b5766 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -200,6 +200,7 @@ stdenv.mkDerivation {
 
   meta = if meta != null then meta else with lib; {
     description = "A reverse proxy and lightweight webserver";
+    mainProgram = "nginx";
     homepage    = "http://nginx.org";
     license     = [ licenses.bsd2 ]
       ++ concatMap (m: m.meta.license) modules;
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index ac631331fe71..978a1c854b38 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -77,7 +77,7 @@ let self = {
     meta = with lib; {
       description = "Validates Akamai v2 query string tokens";
       homepage = "https://github.com/kaltura/nginx-akamai-token-validate-module";
-      license = with licenses; [ agpl3 ];
+      license = with licenses; [ agpl3Only ];
       maintainers = with maintainers; [ ];
     };
   };
@@ -685,7 +685,7 @@ let self = {
     meta = with lib; {
       description = "Generates CDN tokens, either as a cookie or as a query string parameter";
       homepage = "https://github.com/kaltura/nginx-secure-token-module";
-      license = with licenses; [ agpl3 ];
+      license = with licenses; [ agpl3Only ];
       maintainers = with maintainers; [ ];
     };
   };
@@ -1004,7 +1004,7 @@ let self = {
     meta = with lib; {
       description = "VOD packager";
       homepage = "https://github.com/kaltura/nginx-vod-module";
-      license = with licenses; [ agpl3 ];
+      license = with licenses; [ agpl3Only ];
       maintainers = with maintainers; [ ];
     };
   };
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index e4443d93be20..248b7ae1f3e7 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -14,12 +14,12 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.25.0";
+  version = "0.25.1";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256-mRAxqazTlNNPp54Q94TjhbCY+4Ul1Cw4VTCa1iuGOoY=";
+    hash = "sha256-xVPyiwKtSBchXC0FhNegeJlUej877zwNvrlAhSy6dJE=";
   };
 
   vendorHash = "sha256-GdeZkKkENacc11FmEAFUfX9efInfhpv2Lz0/3CtixFQ=";
@@ -121,6 +121,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://pomerium.io";
     description = "Authenticating reverse proxy";
+    mainProgram = "pomerium";
     license = licenses.asl20;
     maintainers = with maintainers; [ lukegb devusb ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
index bbac8b843b15..e7715881541a 100644
--- a/pkgs/servers/http/pshs/default.nix
+++ b/pkgs/servers/http/pshs/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Pretty small HTTP server - a command-line tool to share files";
+    mainProgram = "pshs";
     homepage = "https://github.com/mgorny/pshs";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.linux;
diff --git a/pkgs/servers/http/quark/default.nix b/pkgs/servers/http/quark/default.nix
index 629e61b43397..e178fe91a34a 100644
--- a/pkgs/servers/http/quark/default.nix
+++ b/pkgs/servers/http/quark/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Extremely small and simple HTTP GET/HEAD-only web server for static content";
+    mainProgram = "quark";
     homepage = "http://tools.suckless.org/quark";
     license = licenses.isc;
     maintainers = with maintainers; [ sikmir ];
diff --git a/pkgs/servers/http/ran/default.nix b/pkgs/servers/http/ran/default.nix
index b5dcb136a31e..d22750fce3a0 100644
--- a/pkgs/servers/http/ran/default.nix
+++ b/pkgs/servers/http/ran/default.nix
@@ -40,6 +40,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/m3ng9i/ran";
     description = "Ran is a simple web server for serving static files";
+    mainProgram = "ran";
     license = licenses.mit;
     maintainers = with maintainers; [ tomberek ];
   };
diff --git a/pkgs/servers/http/redstore/default.nix b/pkgs/servers/http/redstore/default.nix
index 30027467a2ea..869f2c1f3b04 100644
--- a/pkgs/servers/http/redstore/default.nix
+++ b/pkgs/servers/http/redstore/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An HTTP interface to Redland RDF store";
+    mainProgram = "redstore";
     homepage = "https://www.aelius.com/njh/redstore/";
     maintainers = [ lib.maintainers.raskin ];
     platforms = with lib.platforms;
diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix
index c57cc816524d..3a4d9c8597c5 100644
--- a/pkgs/servers/http/spawn-fcgi/default.nix
+++ b/pkgs/servers/http/spawn-fcgi/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage    = "https://redmine.lighttpd.net/projects/spawn-fcgi";
     description = "Provides an interface to external programs that support the FastCGI interface";
+    mainProgram = "spawn-fcgi";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix
index b03a285a1d02..591f180893b3 100644
--- a/pkgs/servers/http/tengine/default.nix
+++ b/pkgs/servers/http/tengine/default.nix
@@ -118,6 +118,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A web server based on Nginx and has many advanced features, originated by Taobao";
+    mainProgram = "nginx";
     homepage    = "https://tengine.taobao.org";
     license     = licenses.bsd2;
     platforms   = platforms.all;
diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix
index fdbafa313dc7..710caedc094e 100644
--- a/pkgs/servers/http/tomcat/default.nix
+++ b/pkgs/servers/http/tomcat/default.nix
@@ -39,12 +39,12 @@ let
 
 in {
   tomcat9 = common {
-    version = "9.0.85";
-    hash = "sha256-oYdNXi5yADqBJ25alSAASsoRPxNfyEEzQim2j20luh4=";
+    version = "9.0.87";
+    hash = "sha256-2kgvuSIAhtvzceGAqgnGQCr48EhYZzTN7dSgjEjUzgI=";
   };
 
   tomcat10 = common {
-    version = "10.1.18";
-    hash = "sha256-baC0y9MUDmSocZot4ZwgvzkC0mShQqgWrFUq4hat4xE=";
+    version = "10.1.19";
+    hash = "sha256-w+pp2SvPw+15Ko2AeUrNuFbxwF2KBF4XpxoliKDHULc=";
   };
 }
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index d6c17dfb885f..c77428688da5 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -76,6 +76,7 @@ in stdenv.mkDerivation rec {
 
   meta = {
     description = "Dynamic web and application server, designed to run applications in multiple languages";
+    mainProgram = "unitd";
     homepage    = "https://unit.nginx.org/";
     license     = licenses.asl20;
     platforms   = platforms.linux;
diff --git a/pkgs/servers/http/webhook/default.nix b/pkgs/servers/http/webhook/default.nix
index 789382def1dc..d4ee36713e4c 100644
--- a/pkgs/servers/http/webhook/default.nix
+++ b/pkgs/servers/http/webhook/default.nix
@@ -25,6 +25,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Incoming webhook server that executes shell commands";
+    mainProgram = "webhook";
     homepage = "https://github.com/adnanh/webhook";
     license = licenses.mit;
     maintainers = with maintainers; [ azahi ];
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 7609c6ea5454..5e5a401d35d2 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A webserver for dynamic content written in Erlang.";
+    mainProgram = "yaws";
     homepage = "https://github.com/erlyaws/yaws";
     license = licenses.bsd2;
     platforms = platforms.linux;