[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