On Sat, May 9, 2020 at 5:30 PM Steffen <[email protected]> wrote:
>
> Patch gives errors, but was given me the direction, Thanks!
>
> htdbm and htpasswd got it running !!
>
>
> by adding in support/passwd_common.h :
>
> #if !defined(WIN32) && !defined(NETWARE)
> #include "ap_config_auto.h"
> #endif
>
> Your patch not used it is giving other errors, for example ab is not
> building, get
> ab.obj : error LNK2001: unresolved external symbol __imp__ap_real_exit_code
OK, fair enough.
>
> mod_ssl :
> ssl\ssl_engine_io.c(33,10): fatal error C1083: Cannot open include file:
> 'core.h'
> When I copy server/core.h to mod_ssl dir, then error: ssl_engine_io.obj :
> error LNK2019: unresolved external symbol _ap_filter_adopt_brigade referenced
> in function _char_buffer_insert
So on Windows ap_filter_adopt_brigade() needs to be exported to be
used by modules, oh well.
How about the attached patch then?
Regards,
Yann.
Index: include/ap_mmn.h
===================================================================
--- include/ap_mmn.h (revision 1876933)
+++ include/ap_mmn.h (working copy)
@@ -629,6 +629,7 @@
* 20200331.3 (2.5.1-dev) Add ap_parse_request_line() and
* ap_check_request_header()
* 20200420.0 (2.5.1-dev) Add flags to listen_rec in place of use_specific_errors
+ * 20200420.1 (2.5.1-dev) Add ap_filter_adopt_brigade()
*/
#define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
@@ -636,7 +637,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20200420
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
Index: include/util_filter.h
===================================================================
--- include/util_filter.h (revision 1876933)
+++ include/util_filter.h (working copy)
@@ -621,6 +621,17 @@ AP_DECLARE(apr_status_t) ap_filter_reinstate_briga
apr_bucket **flush_upto);
/**
+ * Adopt a bucket brigade as is (no setaside nor copy).
+ * @param f The current filter
+ * @param bb The bucket brigade adopted. This brigade is always empty
+ * on return
+ * @remark All buckets in bb should be allocated on f->c->pool and
+ * f->c->bucket_alloc.
+ */
+AP_DECLARE(void) ap_filter_adopt_brigade(ap_filter_t *f,
+ apr_bucket_brigade *bb);
+
+/**
* This function calculates whether there are any as yet unsent
* buffered brigades in downstream filters, and returns non zero
* if so.
Index: server/core.h
===================================================================
--- server/core.h (revision 1876933)
+++ server/core.h (working copy)
@@ -33,16 +33,6 @@ typedef struct conn_config_t {
apr_socket_t *socket;
} conn_config_t;
-/**
- * Adopt a bucket brigade as is (no setaside nor copy).
- * @param f The current filter
- * @param bb The bucket brigade adopted. This brigade is always empty
- * on return
- * @remark All buckets in bb should be allocated on f->c->pool and
- * f->c->bucket_alloc.
- */
-void ap_filter_adopt_brigade(ap_filter_t *f, apr_bucket_brigade *bb);
-
#endif /* CORE_H */
/** @} */
Index: server/util_filter.c
===================================================================
--- server/util_filter.c (revision 1877077)
+++ server/util_filter.c (working copy)
@@ -1036,7 +1036,8 @@ AP_DECLARE(apr_status_t) ap_filter_setaside_brigad
return rv;
}
-void ap_filter_adopt_brigade(ap_filter_t *f, apr_bucket_brigade *bb)
+AP_DECLARE(void) ap_filter_adopt_brigade(ap_filter_t *f,
+ apr_bucket_brigade *bb)
{
struct ap_filter_private *fp = f->priv;