httpd: 2.4.63

This commit is contained in:
Raven 2025-01-27 10:34:14 +06:00
parent 288411f88a
commit 797969a27f
2 changed files with 51 additions and 61 deletions

View File

@ -7,9 +7,11 @@ http://svn.apache.org/viewvc?view=revision&revision=1914438
Upstream-Status: in trunk, not proposed for 2.4.x Upstream-Status: in trunk, not proposed for 2.4.x
--- httpd-2.4.58/modules/dav/fs/config6.m4.r1912477+ diff --git a/modules/dav/fs/config6.m4 b/modules/dav/fs/config6.m4
+++ httpd-2.4.58/modules/dav/fs/config6.m4 index dd26ec8..72fff9a 100644
@@ -20,4 +20,10 @@ --- a/modules/dav/fs/config6.m4
+++ b/modules/dav/fs/config6.m4
@@ -20,4 +20,10 @@ esac
APACHE_MODULE(dav_fs, DAV provider for the filesystem. --enable-dav also enables mod_dav_fs., $dav_fs_objects, , $dav_fs_enable,,dav) APACHE_MODULE(dav_fs, DAV provider for the filesystem. --enable-dav also enables mod_dav_fs., $dav_fs_objects, , $dav_fs_enable,,dav)
@ -20,8 +22,10 @@ Upstream-Status: in trunk, not proposed for 2.4.x
+fi +fi
+ +
APACHE_MODPATH_FINISH APACHE_MODPATH_FINISH
--- httpd-2.4.58/modules/dav/fs/dbm.c.r1912477+ diff --git a/modules/dav/fs/dbm.c b/modules/dav/fs/dbm.c
+++ httpd-2.4.58/modules/dav/fs/dbm.c index 39ab4ad..4551f70 100644
--- a/modules/dav/fs/dbm.c
+++ b/modules/dav/fs/dbm.c
@@ -47,6 +47,10 @@ @@ -47,6 +47,10 @@
#include "http_log.h" #include "http_log.h"
#include "http_main.h" /* for ap_server_conf */ #include "http_main.h" /* for ap_server_conf */
@ -33,16 +37,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
APLOG_USE_MODULE(dav_fs); APLOG_USE_MODULE(dav_fs);
struct dav_db { struct dav_db {
@@ -100,7 +104,7 @@ @@ -129,10 +133,10 @@ void dav_fs_ensure_state_dir(apr_pool_t * p, const char *dirname)
/* There might not be a <db> if we had problems creating it. */
if (db == NULL) {
errcode = 1;
- errstr = "Could not open property database.";
+ errstr = "Could not open database.";
if (APR_STATUS_IS_EDSOOPEN(status))
ap_log_error(APLOG_MARK, APLOG_CRIT, status, ap_server_conf, APLOGNO(00576)
"The DBM driver could not be loaded");
@@ -129,10 +133,10 @@
/* dav_dbm_open_direct: Opens a *dbm database specified by path. /* dav_dbm_open_direct: Opens a *dbm database specified by path.
* ro = boolean read-only flag. * ro = boolean read-only flag.
*/ */
@ -56,7 +51,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
const apr_dbm_driver_t *driver; const apr_dbm_driver_t *driver;
const apu_err_t *err; const apu_err_t *err;
#endif #endif
@@ -141,13 +145,13 @@ @@ -141,11 +145,12 @@ dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
*pdb = NULL; *pdb = NULL;
@ -64,18 +59,16 @@ Upstream-Status: in trunk, not proposed for 2.4.x
- if ((status = apr_dbm_get_driver(&driver, NULL, &err, p)) != APR_SUCCESS) { - if ((status = apr_dbm_get_driver(&driver, NULL, &err, p)) != APR_SUCCESS) {
+#if APR_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7) +#if APR_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
+ if ((status = apr_dbm_get_driver(&driver, dbmtype, &err, p)) != APR_SUCCESS) { + if ((status = apr_dbm_get_driver(&driver, dbmtype, &err, p)) != APR_SUCCESS) {
+
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf, APLOGNO(10289) ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf, APLOGNO(10289)
- "mod_dav_fs: The DBM library '%s' could not be loaded: %s", - "mod_dav_fs: The DBM library '%s' could not be loaded: %s",
- err->reason, err->msg); - err->reason, err->msg);
+ "mod_dav_fs: The DBM library '%s' for '%s' could not be loaded: %s", + "mod_dav_fs: The DBM library '%s' for '%s' could not be loaded: %s",
+ err->reason, dbmtype, err->msg); + err->reason, dbmtype, err->msg);
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 1, status, return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 1, status,
- "Could not load library for property database."); "Could not load library for database.");
+ "Could not load library for database.");
} }
if ((status = apr_dbm_open2(&file, driver, pathname, @@ -156,7 +161,7 @@ dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
@@ -156,7 +160,7 @@
return dav_fs_dbm_error(NULL, p, status); return dav_fs_dbm_error(NULL, p, status);
} }
#else #else
@ -84,7 +77,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
ro ? APR_DBM_READONLY : APR_DBM_RWCREATE, ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
APR_OS_DEFAULT, p)) APR_OS_DEFAULT, p))
!= APR_SUCCESS != APR_SUCCESS
@@ -206,7 +210,7 @@ @@ -206,7 +211,7 @@ static dav_error * dav_dbm_open(apr_pool_t * p, const dav_resource *resource,
/* ### do we need to deal with the umask? */ /* ### do we need to deal with the umask? */
@ -93,9 +86,11 @@ Upstream-Status: in trunk, not proposed for 2.4.x
} }
void dav_dbm_close(dav_db *db) void dav_dbm_close(dav_db *db)
--- httpd-2.4.58/modules/dav/fs/lock.c.r1912477+ diff --git a/modules/dav/fs/lock.c b/modules/dav/fs/lock.c
+++ httpd-2.4.58/modules/dav/fs/lock.c index ef18c4a..29d167d 100644
@@ -181,8 +181,7 @@ --- a/modules/dav/fs/lock.c
+++ b/modules/dav/fs/lock.c
@@ -181,8 +181,7 @@ struct dav_lockdb_private
{ {
request_rec *r; /* for accessing the uuid state */ request_rec *r; /* for accessing the uuid state */
apr_pool_t *pool; /* a pool to use */ apr_pool_t *pool; /* a pool to use */
@ -105,7 +100,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
int opened; /* we opened the database */ int opened; /* we opened the database */
dav_db *db; /* if non-NULL, the lock database */ dav_db *db; /* if non-NULL, the lock database */
}; };
@@ -292,6 +291,19 @@ @@ -292,6 +291,19 @@ static int dav_fs_compare_locktoken(
return dav_compare_locktoken(lt1, lt2); return dav_compare_locktoken(lt1, lt2);
} }
@ -125,7 +120,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
/* /*
** dav_fs_really_open_lockdb: ** dav_fs_really_open_lockdb:
** **
@@ -300,15 +312,27 @@ @@ -300,15 +312,27 @@ static int dav_fs_compare_locktoken(
static dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb) static dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb)
{ {
dav_error *err; dav_error *err;
@ -154,7 +149,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
return dav_push_error(lockdb->info->pool, return dav_push_error(lockdb->info->pool,
HTTP_INTERNAL_SERVER_ERROR, HTTP_INTERNAL_SERVER_ERROR,
DAV_ERR_LOCK_OPENDB, DAV_ERR_LOCK_OPENDB,
@@ -316,6 +340,10 @@ @@ -316,6 +340,10 @@ static dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb)
err); err);
} }
@ -165,7 +160,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
/* all right. it is opened now. */ /* all right. it is opened now. */
lockdb->info->opened = 1; lockdb->info->opened = 1;
@@ -341,9 +369,9 @@ @@ -341,9 +369,9 @@ static dav_error * dav_fs_open_lockdb(request_rec *r, int ro, int force,
comb->pub.info = &comb->priv; comb->pub.info = &comb->priv;
comb->priv.r = r; comb->priv.r = r;
comb->priv.pool = r->pool; comb->priv.pool = r->pool;
@ -178,7 +173,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
return dav_new_error(r->pool, HTTP_INTERNAL_SERVER_ERROR, return dav_new_error(r->pool, HTTP_INTERNAL_SERVER_ERROR,
DAV_ERR_LOCK_NO_DB, 0, DAV_ERR_LOCK_NO_DB, 0,
"A lock database was not specified with the " "A lock database was not specified with the "
@@ -369,8 +397,8 @@ @@ -369,8 +397,8 @@ static dav_error * dav_fs_open_lockdb(request_rec *r, int ro, int force,
*/ */
static void dav_fs_close_lockdb(dav_lockdb *lockdb) static void dav_fs_close_lockdb(dav_lockdb *lockdb)
{ {
@ -189,8 +184,10 @@ Upstream-Status: in trunk, not proposed for 2.4.x
} }
/* /*
--- httpd-2.4.58/modules/dav/fs/mod_dav_fs.c.r1912477+ diff --git a/modules/dav/fs/mod_dav_fs.c b/modules/dav/fs/mod_dav_fs.c
+++ httpd-2.4.58/modules/dav/fs/mod_dav_fs.c index 2389f8f..4bf6c51 100644
--- a/modules/dav/fs/mod_dav_fs.c
+++ b/modules/dav/fs/mod_dav_fs.c
@@ -14,31 +14,35 @@ @@ -14,31 +14,35 @@
* limitations under the License. * limitations under the License.
*/ */
@ -238,7 +235,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
} }
static void *dav_fs_create_server_config(apr_pool_t *p, server_rec *s) static void *dav_fs_create_server_config(apr_pool_t *p, server_rec *s)
@@ -57,15 +61,50 @@ @@ -57,15 +61,50 @@ static void *dav_fs_merge_server_config(apr_pool_t *p,
newconf->lockdb_path = newconf->lockdb_path =
child->lockdb_path ? child->lockdb_path : parent->lockdb_path; child->lockdb_path ? child->lockdb_path : parent->lockdb_path;
@ -272,8 +269,9 @@ Upstream-Status: in trunk, not proposed for 2.4.x
apr_pool_t *ptemp, server_rec *base_server) apr_pool_t *ptemp, server_rec *base_server)
{ {
server_rec *s; server_rec *s;
-
+ apr_status_t rv; + apr_status_t rv;
+
+ /* Ignore first pass through the config. */ + /* Ignore first pass through the config. */
+ if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) + if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG)
+ return OK; + return OK;
@ -289,7 +287,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
for (s = base_server; s; s = s->next) { for (s = base_server; s; s = s->next) {
dav_fs_server_conf *conf; dav_fs_server_conf *conf;
@@ -74,6 +113,13 @@ @@ -74,6 +113,13 @@ static apr_status_t dav_fs_post_config(apr_pool_t *p, apr_pool_t *plog,
if (!conf->lockdb_path) { if (!conf->lockdb_path) {
conf->lockdb_path = ap_state_dir_relative(p, DEFAULT_DAV_LOCKDB); conf->lockdb_path = ap_state_dir_relative(p, DEFAULT_DAV_LOCKDB);
} }
@ -303,7 +301,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
} }
return OK; return OK;
@@ -98,19 +144,36 @@ @@ -98,19 +144,36 @@ static const char *dav_fs_cmd_davlockdb(cmd_parms *cmd, void *config,
return NULL; return NULL;
} }
@ -341,8 +339,10 @@ Upstream-Status: in trunk, not proposed for 2.4.x
dav_hook_gather_propsets(dav_fs_gather_propsets, NULL, NULL, dav_hook_gather_propsets(dav_fs_gather_propsets, NULL, NULL,
APR_HOOK_MIDDLE); APR_HOOK_MIDDLE);
dav_hook_find_liveprop(dav_fs_find_liveprop, NULL, NULL, APR_HOOK_MIDDLE); dav_hook_find_liveprop(dav_fs_find_liveprop, NULL, NULL, APR_HOOK_MIDDLE);
--- httpd-2.4.58/modules/dav/fs/repos.h.r1912477+ diff --git a/modules/dav/fs/repos.h b/modules/dav/fs/repos.h
+++ httpd-2.4.58/modules/dav/fs/repos.h index b164611..d3a55a5 100644
--- a/modules/dav/fs/repos.h
+++ b/modules/dav/fs/repos.h
@@ -25,6 +25,8 @@ @@ -25,6 +25,8 @@
#ifndef _DAV_FS_REPOS_H_ #ifndef _DAV_FS_REPOS_H_
#define _DAV_FS_REPOS_H_ #define _DAV_FS_REPOS_H_
@ -352,7 +352,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
/* the subdirectory to hold all DAV-related information for a directory */ /* the subdirectory to hold all DAV-related information for a directory */
#define DAV_FS_STATE_DIR ".DAV" #define DAV_FS_STATE_DIR ".DAV"
#define DAV_FS_STATE_FILE_FOR_DIR ".state_for_dir" #define DAV_FS_STATE_FILE_FOR_DIR ".state_for_dir"
@@ -53,8 +55,8 @@ @@ -53,8 +55,8 @@ dav_error * dav_fs_get_locknull_members(const dav_resource *resource,
/* DBM functions used by the repository and locking providers */ /* DBM functions used by the repository and locking providers */
extern const dav_hooks_db dav_hooks_db_dbm; extern const dav_hooks_db dav_hooks_db_dbm;
@ -363,7 +363,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname, void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname,
const char **state1, const char **state2); const char **state1, const char **state2);
dav_error * dav_dbm_delete(dav_db *db, apr_datum_t key); dav_error * dav_dbm_delete(dav_db *db, apr_datum_t key);
@@ -64,8 +66,15 @@ @@ -64,8 +66,15 @@ void dav_dbm_freedatum(dav_db *db, apr_datum_t data);
int dav_dbm_exists(dav_db *db, apr_datum_t key); int dav_dbm_exists(dav_db *db, apr_datum_t key);
void dav_dbm_close(dav_db *db); void dav_dbm_close(dav_db *db);

View File

@ -40,8 +40,8 @@ ModularityLabel: %{name}:raven:%{version}:%{release}
Summary: Apache HTTP Server Summary: Apache HTTP Server
Name: httpd Name: httpd
Version: 2.4.62 Version: 2.4.63
Release: 2%{?dist} Release: 1%{?dist}
URL: https://httpd.apache.org/ URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2 Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: index.html Source1: index.html
@ -110,7 +110,7 @@ Patch39: httpd-2.4.43-sslprotdefault.patch
Patch45: httpd-2.4.43-logjournal.patch Patch45: httpd-2.4.43-logjournal.patch
Patch46: httpd-2.4.60-separate-systemd-fns.patch Patch46: httpd-2.4.60-separate-systemd-fns.patch
Patch49: httpd-2.4.54-selinux.patch Patch49: httpd-2.4.54-selinux.patch
Patch50: httpd-2.4.58-r1912477+.patch Patch50: httpd-2.4.63-r1912477+.patch
# Bug fixes # Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243 # https://bugzilla.redhat.com/show_bug.cgi?id=1397243
@ -165,9 +165,7 @@ web server.
Summary: Development interfaces for the Apache HTTP Server Summary: Development interfaces for the Apache HTTP Server
Requires: apr-devel, apr-util-devel, pkgconfig Requires: apr-devel, apr-util-devel, pkgconfig
Requires: httpd = %{version}-%{release} Requires: httpd = %{version}-%{release}
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description devel %description devel
The httpd-devel package contains the APXS binary and other files The httpd-devel package contains the APXS binary and other files
@ -192,9 +190,7 @@ also be found at https://httpd.apache.org/docs/2.4/.
Summary: The basic directory layout for the Apache HTTP Server Summary: The basic directory layout for the Apache HTTP Server
BuildArch: noarch BuildArch: noarch
Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/useradd
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description filesystem %description filesystem
The httpd-filesystem package contains the basic directory layout The httpd-filesystem package contains the basic directory layout
@ -203,9 +199,6 @@ for the directories.
%package tools %package tools
Summary: Tools for use with the Apache HTTP Server Summary: Tools for use with the Apache HTTP Server
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description tools %description tools
The httpd-tools package contains tools which can be used with The httpd-tools package contains tools which can be used with
@ -225,9 +218,7 @@ Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmnisa}
Requires: sscg >= 2.2.0 Requires: sscg >= 2.2.0
# Require an OpenSSL which supports PROFILE=SYSTEM # Require an OpenSSL which supports PROFILE=SYSTEM
Conflicts: openssl-libs < 1:1.0.1h-4 Conflicts: openssl-libs < 1:1.0.1h-4
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_ssl %description -n mod_ssl
The mod_ssl module provides strong cryptography for the Apache Web The mod_ssl module provides strong cryptography for the Apache Web
@ -239,9 +230,7 @@ Security (TLS) protocols.
Summary: Certificate provisioning using ACME for the Apache HTTP Server Summary: Certificate provisioning using ACME for the Apache HTTP Server
Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmnisa} Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmnisa}
BuildRequires: jansson-devel, libcurl-devel BuildRequires: jansson-devel, libcurl-devel
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_md %description -n mod_md
This module manages common properties of domains for one or more This module manages common properties of domains for one or more
@ -292,9 +281,7 @@ BuildRequires: openssl-devel
%endif %endif
Requires: httpd = 0:%{version}-%{release} Requires: httpd = 0:%{version}-%{release}
Conflicts: httpd < 0:%{version}-%{release} Conflicts: httpd < 0:%{version}-%{release}
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_http2 %description -n mod_http2
The mod_h2 Apache httpd module implements the HTTP2 protocol (h2+h2c) on The mod_h2 Apache httpd module implements the HTTP2 protocol (h2+h2c) on
@ -909,6 +896,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd %{_rpmconfigdir}/macros.d/macros.httpd
%changelog %changelog
* Sat Jan 25 2025 Raven <raven@sysadmins.ws> - 2.4.63-1
- update to 2.4.63
* Mon Sep 16 2024 Raven <raven@sysadmins.ws> - 2.4.62-2 * Mon Sep 16 2024 Raven <raven@sysadmins.ws> - 2.4.62-2
- rebuild for OpenSSL - rebuild for OpenSSL