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
--- httpd-2.4.58/modules/dav/fs/config6.m4.r1912477+
+++ httpd-2.4.58/modules/dav/fs/config6.m4
@@ -20,4 +20,10 @@
diff --git a/modules/dav/fs/config6.m4 b/modules/dav/fs/config6.m4
index dd26ec8..72fff9a 100644
--- 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)
@ -20,8 +22,10 @@ Upstream-Status: in trunk, not proposed for 2.4.x
+fi
+
APACHE_MODPATH_FINISH
--- httpd-2.4.58/modules/dav/fs/dbm.c.r1912477+
+++ httpd-2.4.58/modules/dav/fs/dbm.c
diff --git a/modules/dav/fs/dbm.c b/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 @@
#include "http_log.h"
#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);
struct dav_db {
@@ -100,7 +104,7 @@
/* 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 @@
@@ -129,10 +133,10 @@ void dav_fs_ensure_state_dir(apr_pool_t * p, const char *dirname)
/* dav_dbm_open_direct: Opens a *dbm database specified by path.
* 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 apu_err_t *err;
#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;
@ -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 APR_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
+ 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)
- "mod_dav_fs: The DBM library '%s' could not be loaded: %s",
- err->reason, err->msg);
+ "mod_dav_fs: The DBM library '%s' for '%s' could not be loaded: %s",
+ err->reason, dbmtype, err->msg);
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,
ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
@@ -156,7 +160,7 @@
@@ -156,7 +161,7 @@ dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
return dav_fs_dbm_error(NULL, p, status);
}
#else
@ -84,7 +77,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
APR_OS_DEFAULT, p))
!= 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? */
@ -93,9 +86,11 @@ Upstream-Status: in trunk, not proposed for 2.4.x
}
void dav_dbm_close(dav_db *db)
--- httpd-2.4.58/modules/dav/fs/lock.c.r1912477+
+++ httpd-2.4.58/modules/dav/fs/lock.c
@@ -181,8 +181,7 @@
diff --git a/modules/dav/fs/lock.c b/modules/dav/fs/lock.c
index ef18c4a..29d167d 100644
--- 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 */
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 */
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);
}
@ -125,7 +120,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
/*
** 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)
{
dav_error *err;
@ -154,7 +149,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
return dav_push_error(lockdb->info->pool,
HTTP_INTERNAL_SERVER_ERROR,
DAV_ERR_LOCK_OPENDB,
@@ -316,6 +340,10 @@
@@ -316,6 +340,10 @@ static dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb)
err);
}
@ -165,7 +160,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
/* all right. it is opened now. */
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->priv.r = r;
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,
DAV_ERR_LOCK_NO_DB, 0,
"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)
{
@ -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+
+++ httpd-2.4.58/modules/dav/fs/mod_dav_fs.c
diff --git a/modules/dav/fs/mod_dav_fs.c b/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 @@
* 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)
@@ -57,15 +61,50 @@
@@ -57,15 +61,50 @@ static void *dav_fs_merge_server_config(apr_pool_t *p,
newconf->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)
{
server_rec *s;
-
+ apr_status_t rv;
+
+ /* Ignore first pass through the config. */
+ if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG)
+ return OK;
@ -289,7 +287,7 @@ Upstream-Status: in trunk, not proposed for 2.4.x
for (s = base_server; s; s = s->next) {
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) {
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;
@@ -98,19 +144,36 @@
@@ -98,19 +144,36 @@ static const char *dav_fs_cmd_davlockdb(cmd_parms *cmd, void *config,
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,
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+
+++ httpd-2.4.58/modules/dav/fs/repos.h
diff --git a/modules/dav/fs/repos.h b/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 @@
#ifndef _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 */
#define DAV_FS_STATE_DIR ".DAV"
#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 */
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,
const char **state1, const char **state2);
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);
void dav_dbm_close(dav_db *db);

View File

@ -40,8 +40,8 @@ ModularityLabel: %{name}:raven:%{version}:%{release}
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.62
Release: 2%{?dist}
Version: 2.4.63
Release: 1%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: index.html
@ -110,7 +110,7 @@ Patch39: httpd-2.4.43-sslprotdefault.patch
Patch45: httpd-2.4.43-logjournal.patch
Patch46: httpd-2.4.60-separate-systemd-fns.patch
Patch49: httpd-2.4.54-selinux.patch
Patch50: httpd-2.4.58-r1912477+.patch
Patch50: httpd-2.4.63-r1912477+.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
@ -165,9 +165,7 @@ web server.
Summary: Development interfaces for the Apache HTTP Server
Requires: apr-devel, apr-util-devel, pkgconfig
Requires: httpd = %{version}-%{release}
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description devel
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
BuildArch: noarch
Requires(pre): /usr/sbin/useradd
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description filesystem
The httpd-filesystem package contains the basic directory layout
@ -203,9 +199,6 @@ for the directories.
%package tools
Summary: Tools for use with the Apache HTTP Server
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description tools
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
# Require an OpenSSL which supports PROFILE=SYSTEM
Conflicts: openssl-libs < 1:1.0.1h-4
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_ssl
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
Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmnisa}
BuildRequires: jansson-devel, libcurl-devel
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_md
This module manages common properties of domains for one or more
@ -292,9 +281,7 @@ BuildRequires: openssl-devel
%endif
Requires: httpd = 0:%{version}-%{release}
Conflicts: httpd < 0:%{version}-%{release}
%if 0%{?rhel} == 8
ModularityLabel: %{name}:raven:%{version}:%{release}
%endif
%description -n mod_http2
The mod_h2 Apache httpd module implements the HTTP2 protocol (h2+h2c) on
@ -909,6 +896,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%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
- rebuild for OpenSSL