Hello community,
here is the log from the commit of package mod_mono
checked in at Sat Apr 8 02:01:07 CEST 2006.
--------
--- mod_mono/mod_mono.changes 2006-01-25 21:38:22.000000000 +0100
+++ mod_mono/mod_mono.changes 2006-04-07 23:17:44.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Apr 7 15:08:03 MDT 2006 - wberrier@novell.com
+
+- Update to 1.1.13.5, minor bug fix release
+ -Fix DoS (Critical fix for iFolder)
+
+-------------------------------------------------------------------
Old:
----
mod_mono-1.1.13.tar.gz
mod_mono-r54141.patch
New:
----
mod_mono-1.1.13.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mod_mono.spec ++++++
--- /var/tmp/diff_new_pack.vKjW7c/_old 2006-04-08 02:00:48.000000000 +0200
+++ /var/tmp/diff_new_pack.vKjW7c/_new 2006-04-08 02:00:48.000000000 +0200
@@ -1,11 +1,11 @@
#
-# spec file for package mod_mono (Version 1.1.13)
+# spec file for package mod_mono (Version 1.1.13.5)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://bugs.opensuse.org
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
@@ -20,11 +20,10 @@
Group: Productivity/Networking/Web/Servers
Autoreqprov: on
Requires: gnome-filesystem xsp
-Version: 1.1.13
+Version: 1.1.13.5
Release: 1
Summary: Run ASP.NET Pages on Unix with Apache and Mono
Source: %{name}-%{version}.tar.gz
-Patch0: mod_mono-r54141.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -35,7 +34,6 @@
%prep
%setup
-%patch0
%build
# Necessary when building with apr 1.2.x instead of the apr that comes with httpd
@@ -64,6 +62,9 @@
%{prefix}/share/man/man8/mod_mono.8.gz
%changelog -n mod_mono
+* Fri Apr 07 2006 - wberrier@novell.com
+- Update to 1.1.13.5, minor bug fix release
+-Fix DoS (Critical fix for iFolder)
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 07 2006 - wberrier@suse.de
++++++ mod_mono-1.1.13.tar.gz -> mod_mono-1.1.13.5.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/ChangeLog new/mod_mono-1.1.13.5/ChangeLog
--- old/mod_mono-1.1.13/ChangeLog 2006-01-06 20:20:15.000000000 +0100
+++ new/mod_mono-1.1.13.5/ChangeLog 2006-04-07 22:35:35.000000000 +0200
@@ -1,6 +1,40 @@
-2006-01-06 Wade Berrier
+2006-04-07 Gonzalo Paniagua Javier
- * Remove apache 2.2 support on branch for now
+ * src/mod_mono.c: reuse the memory allocated when mod-mono-server reads
+ the request body. Patch by Dean Brettle.
+
+2006-03-27 Gonzalo Paniagua Javier
+
+ * src/mod_mono.[ch]: the number of arguments for apr_socket_create
+ depends on the apr version used when compiling. Fixes bug #77933.
+
+2006-03-27 Gonzalo Paniagua Javier
+
+ * src/mod_mono.h: fix compilation for systems that do not have stdint.h.
+ Patch by "CK Ng".
+
+2006-03-27 Gonzalo Paniagua Javier
+
+ * configure.in: more hackery for 1.3 and apr-config. Fixes bug #77928.
+ Patch by jedynamic@bellsouth.net.
+
+2006-03-11 Gonzalo Paniagua Javier
+
+ * configure.in: add apxs -q CFLAGS. Fixes bug #77764.
+
+2006-02-20 Gonzalo Paniagua Javier
+
+ * configure.in: append --includes from apr-config to CFLAGS.
+
+2006-01-11 Gonzalo Paniagua Javier
+
+ * src/mod_mono.c: actually write the result of IS_CONNECTED. Patch by
+ Cyrille Colin.
+
+2005-12-08 Gonzalo Paniagua Javier
+
+ * configure.in:
+ * src/mod_mono.[ch]: now apache 2.2 is supported.
2005-12-08 Gonzalo Paniagua Javier
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/config.in new/mod_mono-1.1.13.5/config.in
--- old/mod_mono-1.1.13/config.in 2006-01-06 20:38:34.000000000 +0100
+++ new/mod_mono-1.1.13.5/config.in 2006-04-07 22:35:46.000000000 +0200
@@ -1,8 +1,11 @@
/* config.in. Generated from configure.in by autoheader. */
-/* Compiling for Apache 2.0 */
+/* Compiling for Apache >= 2.0 */
#undef APACHE2
+/* Compiling for Apache >= 2.2 */
+#undef APACHE22
+
/* apr_socket_connect is present */
#undef HAVE_APR_SOCKET_CONNECT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/configure new/mod_mono-1.1.13.5/configure
--- old/mod_mono-1.1.13/configure 2006-01-06 20:38:40.000000000 +0100
+++ new/mod_mono-1.1.13.5/configure 2006-04-07 22:35:53.000000000 +0200
@@ -1817,7 +1817,7 @@
# Define the identity of the package.
PACKAGE=mod_mono
- VERSION=1.1.13
+ VERSION=1.1.13.5
cat >>confdefs.h <<_ACEOF
@@ -21150,24 +21150,6 @@
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-else
- if test -z "$APRCONFIG" ; then
- APRCONFIG=`dirname ${APXS}`/apr-config
- fi
-fi
-
-if test -z "$APRCONFIG"; then
- echo "$as_me:$LINENO: checking for apr-config in /usr/local/apache/sbin" >&5
-echo $ECHO_N "checking for apr-config in /usr/local/apache/sbin... $ECHO_C" >&6
- if test -x /usr/local/apache/sbin/apr-config; then
- APRCONFIG=/usr/local/apache/sbin/apr-config
- echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
-echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- APRCONFIG=""
- fi
fi
if test -z "$APXS"; then
@@ -21196,20 +21178,6 @@
fi
fi
-if test -z "$APRCONFIG"; then
- echo "$as_me:$LINENO: checking for apr-config in /usr/local/apache2/bin" >&5
-echo $ECHO_N "checking for apr-config in /usr/local/apache2/bin... $ECHO_C" >&6
- if test -x /usr/local/apache2/bin/apr-config; then
- APRCONFIG=/usr/local/apache2/bin/apr-config
- echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
-echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- APRCONFIG=""
- fi
-fi
-
if test -z "$APXS"; then
echo "$as_me:$LINENO: checking for apxs2 in /usr/sbin" >&5
echo $ECHO_N "checking for apxs2 in /usr/sbin... $ECHO_C" >&6
@@ -21235,21 +21203,6 @@
echo "${ECHO_T}no" >&6
fi
fi
-
-if test -z "$APRCONFIG"; then
- echo "$as_me:$LINENO: checking for apr-config in /usr/sbin" >&5
-echo $ECHO_N "checking for apr-config in /usr/sbin... $ECHO_C" >&6
- if test -x /usr/sbin/apr-config; then
- APRCONFIG=/usr/sbin/apr-config
- echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
-echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- APRCONFIG=""
- fi
-fi
-
# last resort
if test -z "$APXS"; then
# Extract the first word of "apxs2", so it can be a program name with args.
@@ -21341,48 +21294,6 @@
{ (exit 1); exit 1; }; }
fi
-if test -z "$APRCONFIG"; then
- # Extract the first word of "apr-config", so it can be a program name with args.
-set dummy apr-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_APRCONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $APRCONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_APRCONFIG="$APRCONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_APRCONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-APRCONFIG=$ac_cv_path_APRCONFIG
-
-if test -n "$APRCONFIG"; then
- echo "$as_me:$LINENO: result: $APRCONFIG" >&5
-echo "${ECHO_T}$APRCONFIG" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-
# determine LIBEXEC
echo "$as_me:$LINENO: checking for Apache libexec directory" >&5
echo $ECHO_N "checking for Apache libexec directory... $ECHO_C" >&6
@@ -21413,7 +21324,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
- #include
+ #include
int
main ()
@@ -21515,11 +21426,178 @@
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include
+ int main ()
+ {
+ return (AP_SERVER_MAJORVERSION_NUMBER == 2 && AP_SERVER_MINORVERSION_NUMBER == 2) ? 0 : 1;
+ }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ APACHE_VER=2.2
+ APRCONFIG_NAME=apr-1-config
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+ APRCONFIG_NAME=apr-config
+
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a ! "$APACHE_VER" = "retry" ; then
+ echo "$as_me:$LINENO: result: ${APACHE_VER}" >&5
+echo "${ECHO_T}${APACHE_VER}" >&6
+fi
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG" ; then
+ A_DIR=`dirname ${APXS}`
+ echo "$as_me:$LINENO: checking for ${APRCONFIG_NAME} in ${A_DIR}" >&5
+echo $ECHO_N "checking for ${APRCONFIG_NAME} in ${A_DIR}... $ECHO_C" >&6
+ APRCONFIG=`dirname ${APXS}`/${APRCONFIG_NAME}
+ if test -x $APRCONFIG ; then
+ echo "$as_me:$LINENO: result: found. We'll use this. Use --with-apr-config to specify another." >&5
+echo "${ECHO_T}found. We'll use this. Use --with-apr-config to specify another." >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ echo "$as_me:$LINENO: checking for ${APRCONFIG_NAME} in /usr/local/apache/sbin" >&5
+echo $ECHO_N "checking for ${APRCONFIG_NAME} in /usr/local/apache/sbin... $ECHO_C" >&6
+ if test -x /usr/local/apache/sbin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/local/apache/sbin/${APRCONFIG_NAME}
+ echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
+echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ echo "$as_me:$LINENO: checking for ${APRCONFIG_NAME} in /usr/local/apache2/bin" >&5
+echo $ECHO_N "checking for ${APRCONFIG_NAME} in /usr/local/apache2/bin... $ECHO_C" >&6
+ if test -x /usr/local/apache2/bin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/local/apache2/bin/${APRCONFIG_NAME}
+ echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
+echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ echo "$as_me:$LINENO: checking for ${APRCONFIG_NAME} in /usr/sbin" >&5
+echo $ECHO_N "checking for ${APRCONFIG_NAME} in /usr/sbin... $ECHO_C" >&6
+ if test -x /usr/sbin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/sbin/${APRCONFIG_NAME}
+ echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
+echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ echo "$as_me:$LINENO: checking for ${APRCONFIG_NAME} in /usr/bin" >&5
+echo $ECHO_N "checking for ${APRCONFIG_NAME} in /usr/bin... $ECHO_C" >&6
+ if test -x /usr/bin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/bin/${APRCONFIG_NAME}
+ echo "$as_me:$LINENO: result: found, we'll use this. Use --with-apr-config to specify another." >&5
+echo "${ECHO_T}found, we'll use this. Use --with-apr-config to specify another." >&6
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ # Extract the first word of "${APRCONFIG_NAME}", so it can be a program name with args.
+set dummy ${APRCONFIG_NAME}; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_APRCONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $APRCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_APRCONFIG="$APRCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_APRCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ ;;
+esac
+fi
+APRCONFIG=$ac_cv_path_APRCONFIG
+
+if test -n "$APRCONFIG"; then
+ echo "$as_me:$LINENO: result: $APRCONFIG" >&5
+echo "${ECHO_T}$APRCONFIG" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-# Try apr-config
+fi
+
+# Try apr-config, probably 1.3
if test "$APACHE_VER" = "retry" -a -x "$APRCONFIG"; then
- CFLAGS="$CFLAGS `$APRCONFIG --includes`"
+ CFLAGS="$CFLAGS `$APRCONFIG --includes --cflags`"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -21583,11 +21661,13 @@
if test "$APACHE_VER" = "1.3"; then
CFLAGS="$CFLAGS -DAPACHE13 -DEAPI"
-fi
-
-echo "$as_me:$LINENO: result: $APACHE_VER" >&5
+ echo "$as_me:$LINENO: result: $APACHE_VER" >&5
echo "${ECHO_T}$APACHE_VER" >&6
+fi
+if test ! "$APACHE_VER" = "1.3" -a -x "$APRCONFIG"; then
+ CFLAGS="$CFLAGS `$APRCONFIG --includes --cflags`"
+fi
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
@@ -21654,7 +21734,7 @@
-if test "$APACHE_VER" = "2.0"; then
+if test ! "$APACHE_VER" = "1.3"; then
APACHE2_TRUE=
APACHE2_FALSE='#'
else
@@ -21662,7 +21742,7 @@
APACHE2_FALSE=
fi
-if test "$APACHE_VER" = "2.0" ; then
+if test ! "$APACHE_VER" = "1.3" ; then
cat >>confdefs.h <<\_ACEOF
#define APACHE2
@@ -21670,6 +21750,14 @@
fi
+if test "$APACHE_VER" = "2.2" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define APACHE22
+_ACEOF
+
+fi
+
# check for --with-mono-default-config-dir
echo "$as_me:$LINENO: checking for --with-mono-default-config-dir" >&5
echo $ECHO_N "checking for --with-mono-default-config-dir... $ECHO_C" >&6
@@ -21694,8 +21782,16 @@
echo "${ECHO_T}$DFLT_MONO_CONFIG_DIR" >&6
fi;
-found_apr_socket_connect=no
-echo "$as_me:$LINENO: checking for apr_socket_connect in -lapr-0" >&5
+if test ! "$APACHE_VER" = "1.3" ; then
+ found_apr_socket_connect=yes
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_APR_SOCKET_CONNECT
+_ACEOF
+
+else
+ found_apr_socket_connect=no
+ echo "$as_me:$LINENO: checking for apr_socket_connect in -lapr-0" >&5
echo $ECHO_N "checking for apr_socket_connect in -lapr-0... $ECHO_C" >&6
if test "${ac_cv_lib_apr_0_apr_socket_connect+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -21763,12 +21859,14 @@
found_apr_socket_connect=yes
fi
-if test "x$found_apr_socket_connect" = "xyes" ; then
+ if test "x$found_apr_socket_connect" = "xyes" ; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_APR_SOCKET_CONNECT
_ACEOF
+ fi
+
fi
MONO_PREFIX=`$PKG_CONFIG --silence-errors --variable=prefix mono`
@@ -21804,6 +21902,8 @@
CPPFLAGS="$CPPFLAGS $CFLAGS `$APXS -q EXTRA_CPPFLAGS`"
+CPPFLAGS="$CPPFLAGS $CFLAGS `$APXS -q CPPFLAGS`"
+CFLAGS="$CFLAGS `$APXS -q CFLAGS`"
CFLAGS="$CFLAGS `$APXS -q EXTRA_CFLAGS`"
echo "$as_me:$LINENO: checking for http_protocol.h" >&5
echo $ECHO_N "checking for http_protocol.h... $ECHO_C" >&6
@@ -23329,7 +23429,7 @@
echo " * Apache modules directory = $APXS_LIBEXECDIR"
test -x "$APXS" && \
echo " * apxs = $APXS"
-test "$APACHE_VER" = "2.0" -a -x "$APRCONFIG" && \
+test ! "$APACHE_VER" = "1.3" -a -x "$APRCONFIG" && \
echo " * apr-config = $APRCONFIG"
echo " * Verbose logging (debug) = $enable_debug"
echo " * mono prefix = $MONO_PREFIX"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/configure.in new/mod_mono-1.1.13.5/configure.in
--- old/mod_mono-1.1.13/configure.in 2006-01-06 20:20:15.000000000 +0100
+++ new/mod_mono-1.1.13.5/configure.in 2006-04-07 22:35:35.000000000 +0200
@@ -1,5 +1,5 @@
AC_INIT(src/mod_mono.c)
-AM_INIT_AUTOMAKE(mod_mono, 1.1.13)
+AM_INIT_AUTOMAKE(mod_mono, 1.1.13.5)
AM_CONFIG_HEADER(include/mod_mono_config.h:config.in)
AC_PROG_CC
@@ -107,21 +107,6 @@
else
AC_MSG_RESULT(no)
fi
-else
- if test -z "$APRCONFIG" ; then
- APRCONFIG=`dirname ${APXS}`/apr-config
- fi
-fi
-
-if test -z "$APRCONFIG"; then
- AC_MSG_CHECKING(for apr-config in /usr/local/apache/sbin)
- if test -x /usr/local/apache/sbin/apr-config; then
- APRCONFIG=/usr/local/apache/sbin/apr-config
- AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
- else
- AC_MSG_RESULT(no)
- APRCONFIG=""
- fi
fi
if test -z "$APXS"; then
@@ -144,17 +129,6 @@
fi
fi
-if test -z "$APRCONFIG"; then
- AC_MSG_CHECKING(for apr-config in /usr/local/apache2/bin)
- if test -x /usr/local/apache2/bin/apr-config; then
- APRCONFIG=/usr/local/apache2/bin/apr-config
- AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
- else
- AC_MSG_RESULT(no)
- APRCONFIG=""
- fi
-fi
-
if test -z "$APXS"; then
AC_MSG_CHECKING(for apxs2 in /usr/sbin)
if test -x /usr/sbin/apxs2; then
@@ -174,18 +148,6 @@
AC_MSG_RESULT(no)
fi
fi
-
-if test -z "$APRCONFIG"; then
- AC_MSG_CHECKING(for apr-config in /usr/sbin)
- if test -x /usr/sbin/apr-config; then
- APRCONFIG=/usr/sbin/apr-config
- AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
- else
- AC_MSG_RESULT(no)
- APRCONFIG=""
- fi
-fi
-
# last resort
if test -z "$APXS"; then
AC_PATH_PROG(APXS, apxs2)
@@ -199,10 +161,6 @@
AC_MSG_ERROR([**** apxs was not found, DSO compilation will not be available.])
fi
-if test -z "$APRCONFIG"; then
- AC_PATH_PROG(APRCONFIG, apr-config)
-fi
-
# determine LIBEXEC
AC_MSG_CHECKING(for Apache libexec directory)
APXS_LIBEXECDIR=`${APXS} -q LIBEXECDIR`
@@ -220,7 +178,7 @@
AC_MSG_CHECKING([Apache version])
AC_TRY_COMPILE([
- #include
+ #include
], [
char *version = AP_SERVER_BASEREVISION;
], [
@@ -240,11 +198,88 @@
], [
APACHE_VER=retry
])
+else
+AC_TRY_RUN([
+ #include
+ int main ()
+ {
+ return (AP_SERVER_MAJORVERSION_NUMBER == 2 && AP_SERVER_MINORVERSION_NUMBER == 2) ? 0 : 1;
+ }
+], [
+ APACHE_VER=2.2
+ APRCONFIG_NAME=apr-1-config
+], [
+ APRCONFIG_NAME=apr-config
+])
+
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a ! "$APACHE_VER" = "retry" ; then
+ AC_MSG_RESULT(${APACHE_VER})
+fi
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG" ; then
+ A_DIR=`dirname ${APXS}`
+ AC_MSG_CHECKING(for ${APRCONFIG_NAME} in ${A_DIR})
+ APRCONFIG=`dirname ${APXS}`/${APRCONFIG_NAME}
+ if test -x $APRCONFIG ; then
+ AC_MSG_RESULT([found. We'll use this. Use --with-apr-config to specify another.])
+ else
+ AC_MSG_RESULT(no)
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ AC_MSG_CHECKING(for ${APRCONFIG_NAME} in /usr/local/apache/sbin)
+ if test -x /usr/local/apache/sbin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/local/apache/sbin/${APRCONFIG_NAME}
+ AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
+ else
+ AC_MSG_RESULT(no)
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ AC_MSG_CHECKING(for ${APRCONFIG_NAME} in /usr/local/apache2/bin)
+ if test -x /usr/local/apache2/bin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/local/apache2/bin/${APRCONFIG_NAME}
+ AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
+ else
+ AC_MSG_RESULT(no)
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ AC_MSG_CHECKING(for ${APRCONFIG_NAME} in /usr/sbin)
+ if test -x /usr/sbin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/sbin/${APRCONFIG_NAME}
+ AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
+ else
+ AC_MSG_RESULT(no)
+ APRCONFIG=""
+ fi
+fi
+
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ AC_MSG_CHECKING(for ${APRCONFIG_NAME} in /usr/bin)
+ if test -x /usr/bin/${APRCONFIG_NAME}; then
+ APRCONFIG=/usr/bin/${APRCONFIG_NAME}
+ AC_MSG_RESULT([found, we'll use this. Use --with-apr-config to specify another.])
+ else
+ AC_MSG_RESULT(no)
+ APRCONFIG=""
+ fi
fi
-# Try apr-config
+if test ! "$APACHE_VER" = "1.3" -a -z "$APRCONFIG"; then
+ AC_PATH_PROG(APRCONFIG, ${APRCONFIG_NAME})
+fi
+
+# Try apr-config, probably 1.3
if test "$APACHE_VER" = "retry" -a -x "$APRCONFIG"; then
- CFLAGS="$CFLAGS `$APRCONFIG --includes`"
+ CFLAGS="$CFLAGS `$APRCONFIG --includes --cflags`"
AC_TRY_COMPILE([
#include
], [
@@ -262,10 +297,12 @@
if test "$APACHE_VER" = "1.3"; then
CFLAGS="$CFLAGS -DAPACHE13 -DEAPI"
+ AC_MSG_RESULT($APACHE_VER)
fi
-AC_MSG_RESULT($APACHE_VER)
-
+if test ! "$APACHE_VER" = "1.3" -a -x "$APRCONFIG"; then
+ CFLAGS="$CFLAGS `$APRCONFIG --includes --cflags`"
+fi
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
@@ -285,10 +322,14 @@
fi
)
-AM_CONDITIONAL(APACHE2, test "$APACHE_VER" = "2.0")
-if test "$APACHE_VER" = "2.0" ; then
+AM_CONDITIONAL(APACHE2, test ! "$APACHE_VER" = "1.3")
+if test ! "$APACHE_VER" = "1.3" ; then
dnl Sources are recompiled if we change the target version
- AC_DEFINE([APACHE2],,[Compiling for Apache 2.0])
+ AC_DEFINE([APACHE2],,[Compiling for Apache >= 2.0 ])
+fi
+
+if test "$APACHE_VER" = "2.2" ; then
+ AC_DEFINE([APACHE22],,[Compiling for Apache >= 2.2 ])
fi
# check for --with-mono-default-config-dir
@@ -307,10 +348,16 @@
],
AC_MSG_RESULT($DFLT_MONO_CONFIG_DIR))
-found_apr_socket_connect=no
-AC_CHECK_LIB(apr-0, apr_socket_connect, found_apr_socket_connect=yes)
-if test "x$found_apr_socket_connect" = "xyes" ; then
- AC_DEFINE([HAVE_APR_SOCKET_CONNECT],,[apr_socket_connect is present])
+if test ! "$APACHE_VER" = "1.3" ; then
+ found_apr_socket_connect=yes
+ AC_DEFINE([HAVE_APR_SOCKET_CONNECT],,[apr_socket_connect is present])
+else
+ found_apr_socket_connect=no
+ AC_CHECK_LIB(apr-0, apr_socket_connect, found_apr_socket_connect=yes)
+ if test "x$found_apr_socket_connect" = "xyes" ; then
+ AC_DEFINE([HAVE_APR_SOCKET_CONNECT],,[apr_socket_connect is present])
+ fi
+
fi
MONO_PREFIX=`$PKG_CONFIG --silence-errors --variable=prefix mono`
@@ -340,6 +387,8 @@
AC_DEFINE_UNQUOTED([MONO_PREFIX],"$MONO_PREFIX",[Mono installation prefix])
CPPFLAGS="$CPPFLAGS $CFLAGS `$APXS -q EXTRA_CPPFLAGS`"
+CPPFLAGS="$CPPFLAGS $CFLAGS `$APXS -q CPPFLAGS`"
+CFLAGS="$CFLAGS `$APXS -q CFLAGS`"
CFLAGS="$CFLAGS `$APXS -q EXTRA_CFLAGS`"
AC_CHECK_HEADER(http_protocol.h, \
AC_DEFINE([HAVE_HTTP_PROTOCOL_H],1,\
@@ -370,7 +419,7 @@
echo " * Apache modules directory = $APXS_LIBEXECDIR"
test -x "$APXS" && \
echo " * apxs = $APXS"
-test "$APACHE_VER" = "2.0" -a -x "$APRCONFIG" && \
+test ! "$APACHE_VER" = "1.3" -a -x "$APRCONFIG" && \
echo " * apr-config = $APRCONFIG"
echo " * Verbose logging (debug) = $enable_debug"
echo " * mono prefix = $MONO_PREFIX"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/mod_mono.conf.in new/mod_mono-1.1.13.5/mod_mono.conf.in
--- old/mod_mono-1.1.13/mod_mono.conf.in 2005-11-02 19:55:11.000000000 +0100
+++ new/mod_mono-1.1.13.5/mod_mono.conf.in 2006-04-07 22:35:35.000000000 +0200
@@ -17,6 +17,7 @@
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
+ AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/src/mod_mono.c new/mod_mono-1.1.13.5/src/mod_mono.c
--- old/mod_mono-1.1.13/src/mod_mono.c 2006-01-06 20:20:15.000000000 +0100
+++ new/mod_mono-1.1.13.5/src/mod_mono.c 2006-04-07 22:35:35.000000000 +0200
@@ -82,6 +82,11 @@
char auto_app_set;
} module_cfg;
+typedef struct {
+ uint32_t client_block_buffer_size;
+ char *client_block_buffer;
+} request_data;
+
/* */
static int
search_for_alias (const char *alias, module_cfg *config)
@@ -329,6 +334,8 @@
{
#ifdef APACHE13
return ntohs (c->remote_addr.sin_port);
+#elif defined(APACHE22)
+ return c->remote_addr->port;
#else
apr_port_t port;
apr_sockaddr_port_get (&port, c->remote_addr);
@@ -342,6 +349,8 @@
{
#ifdef APACHE13
return ap_get_server_port (r);
+#elif defined(APACHE22)
+ return r->connection->local_addr->port;
#else
apr_port_t port;
apr_sockaddr_port_get (&port, r->connection->local_addr);
@@ -559,6 +568,28 @@
} while (t_elt < t_end);
}
+static char *
+get_client_block_buffer (request_rec *r, uint32_t requested_size, uint32_t *actual_size)
+{
+ request_data *rd = ap_get_module_config (r->request_config, &mono_module);
+
+ if (rd == NULL) {
+ rd = apr_pcalloc (r->pool, sizeof (request_data));
+ ap_set_module_config (r->request_config, &mono_module, rd);
+ }
+
+ if (requested_size > 1024 * 1024)
+ requested_size = 1024 * 1024;
+
+ if (requested_size > rd->client_block_buffer_size) {
+ rd->client_block_buffer = apr_pcalloc (r->pool, requested_size);
+ rd->client_block_buffer_size = requested_size;
+ }
+
+ *actual_size = requested_size;
+ return rd->client_block_buffer;
+}
+
static int
do_command (int command, apr_socket_t *sock, request_rec *r, int *result)
{
@@ -566,6 +597,7 @@
char *str;
const char *cstr;
int32_t i;
+ uint32_t actual_size;
int status = 0;
if (command < 0 || command >= LAST_COMMAND) {
@@ -626,8 +658,8 @@
break;
i = INT_FROM_LE (i);
- str = apr_pcalloc (r->pool, i);
- i = ap_get_client_block (r, str, i);
+ str = get_client_block_buffer (r, (uint32_t) i, &actual_size);
+ i = ap_get_client_block (r, str, actual_size);
i = LE_FROM_INT (i);
status = write_data (sock, &i, sizeof (int32_t));
i = INT_FROM_LE (i);
@@ -650,6 +682,7 @@
return FALSE;
case IS_CONNECTED:
*result = (r->connection->aborted ? 0 : 1);
+ status = write_data (sock, result, sizeof (int32_t));
break;
case MYNOT_FOUND:
ap_log_error (APLOG_MARK, APLOG_ERR, STATUS_AND_SERVER,
@@ -1160,20 +1193,22 @@
setup_socket (apr_socket_t **sock, xsp_data *conf, apr_pool_t *pool)
{
apr_status_t rv;
- int family;
+ int family, proto;
- family = (conf->listen_port != NULL) ? PF_INET : PF_UNIX;
+ family = (conf->listen_port != NULL) ? AF_UNSPEC : PF_UNIX;
+ /* APR_PROTO_TCP = 6 */
+ proto = (family == AF_UNSPEC) ? 6 : 0;
#ifdef APACHE2
- rv = apr_socket_create (sock, family, SOCK_STREAM, pool);
+ rv = APR_SOCKET_CREATE (sock, family, SOCK_STREAM, proto, pool);
#else
(*sock)->fd = ap_psocket (pool, family, SOCK_STREAM, 0);
(*sock)->pool = pool;
rv = ((*sock)->fd != -1) ? APR_SUCCESS : -1;
#endif
if (rv != APR_SUCCESS) {
+ int err= errno;
ap_log_error (APLOG_MARK, APLOG_ERR, STATUS_AND_SERVER,
- "mod_mono: error creating socket.");
-
+ "mod_mono: error creating socket: %d %s", err, strerror (err));
return rv;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mod_mono-1.1.13/src/mod_mono.h new/mod_mono-1.1.13.5/src/mod_mono.h
--- old/mod_mono-1.1.13/src/mod_mono.h 2006-01-06 20:20:15.000000000 +0100
+++ new/mod_mono-1.1.13.5/src/mod_mono.h 2006-04-07 22:35:35.000000000 +0200
@@ -44,7 +44,9 @@
#include
#endif
+#ifdef HAVE_STDINT_H
#include
+#endif
#include "httpd.h"
#include "http_core.h"
#include "http_log.h"
@@ -132,8 +134,16 @@
#include
#include
#include
+#include
#include
#include
+
+#if APR_MAJOR_VERSION <= 0
+#define APR_SOCKET_CREATE(sock, family, type, protocol, pool) apr_socket_create (sock, family, type, pool)
+#else
+#define APR_SOCKET_CREATE(sock, family, type, protocol, pool) apr_socket_create (sock, family, type, protocol, pool)
+#endif
+
/* End Apache 2 only */
#endif
@@ -247,6 +257,10 @@
(void *) APR_OFFSETOF (xsp_data, field_name), RSRC_CONF, description)
#endif
+#ifndef AF_UNSPEC
+#define AF_UNSPEC 0
+#endif
+
/* Debugging */
#ifdef DEBUG
#define DEBUG_PRINT(a,...) \
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...