[asterisk-commits] russell: trunk r72738 - in /trunk: ./ include/asterisk/ main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Jun 29 16:24:41 CDT 2007
Author: russell
Date: Fri Jun 29 16:24:40 2007
New Revision: 72738
URL: http://svn.digium.com/view/asterisk?view=rev&rev=72738
Log:
Fix my recent change for sending large files via the http server. This code
*must* write the file to the FILE *, and not the raw fd. Otherwise, it breaks
TLS support.
Thanks to rizzo for catching this!
Modified:
trunk/configure
trunk/configure.ac
trunk/include/asterisk/autoconfig.h.in
trunk/main/http.c
Modified: trunk/configure
URL: http://svn.digium.com/view/asterisk/trunk/configure?view=diff&rev=72738&r1=72737&r2=72738
==============================================================================
--- trunk/configure (original)
+++ trunk/configure Fri Jun 29 16:24:40 2007
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 72539 .
+# From configure.ac Revision: 72701 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61.
#
@@ -16476,66 +16476,6 @@
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
- #include <sys/sendfile.h>
-int
-main ()
-{
-sendfile(1, 0, NULL, 1);
- ;
- return 0;
-}
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- have_sendfile=yes
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- have_sendfile=no
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test "${have_sendfile}" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SENDFILE 1
-_ACEOF
-
-fi
-
# do the package library checks now
Modified: trunk/configure.ac
URL: http://svn.digium.com/view/asterisk/trunk/configure.ac?view=diff&rev=72738&r1=72737&r2=72738
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Jun 29 16:24:40 2007
@@ -363,23 +363,6 @@
[AC_DEFINE_UNQUOTED([HAVE_OSX_ATOMICS], 1, [Define to 1 if OSX atomic operations are supported.])])
AC_CHECK_SIZEOF(int)
-
-AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [#include <stdlib.h>
- #include <sys/sendfile.h>],
- [sendfile(1, 0, NULL, 1);])
- ],[
- AC_MSG_RESULT(yes)
- have_sendfile=yes
- ],[
- AC_MSG_RESULT(no)
- have_sendfile=no
- ]
-)
-if test "${have_sendfile}" = "yes"; then
- AC_DEFINE([HAVE_SENDFILE], 1, [Define if your system has the sendfile syscall.])
-fi
# do the package library checks now
Modified: trunk/include/asterisk/autoconfig.h.in
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/autoconfig.h.in?view=diff&rev=72738&r1=72737&r2=72738
==============================================================================
--- trunk/include/asterisk/autoconfig.h.in (original)
+++ trunk/include/asterisk/autoconfig.h.in Fri Jun 29 16:24:40 2007
@@ -393,9 +393,6 @@
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
-
-/* Define if your system has the sendfile syscall. */
-#undef HAVE_SENDFILE
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
Modified: trunk/main/http.c
URL: http://svn.digium.com/view/asterisk/trunk/main/http.c?view=diff&rev=72738&r1=72737&r2=72738
==============================================================================
--- trunk/main/http.c (original)
+++ trunk/main/http.c Fri Jun 29 16:24:40 2007
@@ -47,10 +47,6 @@
#include <errno.h>
#include <fcntl.h>
#include <pthread.h>
-
-#ifdef HAVE_SENDFILE
-#include <sys/sendfile.h>
-#endif
#include "minimime/mm.h"
@@ -201,14 +197,8 @@
"Content-type: %s\r\n\r\n",
ASTERISK_VERSION, buf, (int) st.st_size, mtype);
- fflush(ser->f);
-
-#ifdef HAVE_SENDFILE
- sendfile(ser->fd, fd, NULL, st.st_size);
-#else
while ((len = read(fd, buf, sizeof(buf))) > 0)
- write(ser->fd, buf, len);
-#endif
+ fwrite(buf, 1, len, ser->f);
close(fd);
return NULL;
More information about the asterisk-commits
mailing list