diff packages/net/athttpd/current/cdl/httpd.cdl @ 2326:bd648d8929f6

* cdl/httpd.cdl: Improve CDL dependencies. * doc/athttpd.sgml: Updated to describe lasted changes and corrected minor typos. * src/http.c: Check for "Content-Type" header. This is needed if we want to support parsing form variables in POST requests. * src/jim.c: Updated with latest release from Jim CVS. * src/cgi.c: streamlined cyg_httpd_exec_cgi_tcl(), now uses the 'source' command of tcl to execute a tcl script. * src/forms.c: Modified cyg_handle_method_POST so that the variables in the payload are scanned only if the request has a Content-Type of 'application/x-www-form-urlencoded' * src/jim-aio.c: Added to package. Now tcl has IO functions to access a file system. * include/httpd.h: Added a new mode, CYG_HTTPD_MODE_FORM_DATA which is set when a POST request has a Content-Type of 'application/x-www-form-urlencoded' * cdl/httpd.cdl: add CYGOPT_NET_ATHTTPD_CLOSE_CHUNKED_CONNECTIONS. Default is set to CLOSE, so it is backward compatible with previous versions of the browser. * src/socket.c: cyg_httpd_process_request() uses a loop to collect at least one full frame (til a header terminator is found), cyg_httpd_start_chunked() only close if configured to do so. * src/httpd.c: Overhaul of cyg_httpd_send_error to avoid the use of inbuffer as temporary storage (conflicts with pipelined frames), removed the option to send a page after calling a C language handler * include/httpd.h: Added a new mode, CYG_HTTPD_MODE_NO_CACHE 2006-10-12 Lars Povlsen <lpovlsen@vitesse.com> and Anthony Tonizzo <atonizzo@gmail.com> * cdl/httpd.cdl: add CYGNUM_ATHTTPD_SERVER_MAX_POST to limit POST'ed data * include/http.h: Added header_end, post_data fields to httpstate, Added "302 Found" for POST handler redirect (CYG_HTTPD_STATUS_MOVED_TEMPORARILY) * src/forms.c: Fixed variable decoding, fixed large POST processing * src/http.c: Fixed some debug ouptuts, cleanup after POST processing, overhaul of the pipelined requests code which can now handle multiple requests per frame. * src/socket.c: Removed assert for socket write failure, Accumulating receiving of requests (Browsers (Firefox) may pass partial headers in separate fragments). Fixed some diagnostics output.
author jlarmour
date Mon, 27 Nov 2006 15:41:55 +0000
parents b5670f3c40f2
children 23bf56b48ddc
line wrap: on
line diff
--- a/packages/net/athttpd/current/cdl/httpd.cdl
+++ b/packages/net/athttpd/current/cdl/httpd.cdl
@@ -39,7 +39,7 @@
 ######DESCRIPTIONBEGIN####
 #
 # Author(s):      Anthony Tonizzo (atonizzo@gmail.com)
-# Contributors:   
+# Contributors:   Lars Povlsen    (lpovlsen@vitesse.com)
 # Date:           2006-06-09
 #
 #####DESCRIPTIONEND####
@@ -54,7 +54,18 @@ cdl_package CYGPKG_ATHTTPD {
     include_files auth.h digcalc.h forms.h global.h handler.h http.h md5.h socket.h cgi.h jim.h
     compile       forms.c handler.c http.c socket.c cgi.c
     requires      CYGPKG_NET
+    requires      CYGPKG_NET_STACK_INET
     requires      !CYGPKG_HTTPD
+    requires      CYGINT_ISO_STDIO_STREAMS
+    requires      CYGINT_ISO_STDIO_FILEACCESS
+    requires      CYGINT_ISO_STDIO_FORMATTED_IO
+    requires      CYGINT_ISO_STRING_MEMFUNCS
+    requires      CYGINT_ISO_STRING_STRFUNCS
+    requires      CYGINT_ISO_STRING_BSD_FUNCS
+    requires      CYGINT_ISO_C_CLOCK_FUNCS
+    requires      CYGINT_ISO_MALLOC
+    requires      CYGINT_ISO_CTYPE
+
 # ====================================================================
    
     cdl_component CYGPKG_NET_ATHTTPD_THREADOPT {
@@ -118,6 +129,14 @@ cdl_package CYGPKG_ATHTTPD {
                        stack."
       }
 
+      cdl_option CYGNUM_ATHTTPD_SERVER_MAX_POST {
+          display "Maximum data received upon POST"
+          flavor data
+          default_value 2048
+          description "This option defines the size of maximum amount of data 
+                       the web server will accept from POST'ed forms."
+      }
+
       cdl_option CYGDAT_NET_ATHTTPD_SERVEROPT_ROOTDIR {
           display "HTTPD root directory"
           flavor data
@@ -185,6 +204,7 @@ cdl_package CYGPKG_ATHTTPD {
         flavor        bool
         default_value 1
         active_if     CYGPKG_IO_FILEIO
+        requires      
         description   "
             This option enables the use of a file system to access the pages
              to be served. It is the responsibility of the user to properly
@@ -205,6 +225,36 @@ cdl_package CYGPKG_ATHTTPD {
        compile auth.c
     }
 
+    cdl_option CYGOPT_NET_ATHTTPD_CLOSE_CHUNKED_CONNECTIONS {
+        display       "Close connections used for chunked transfers"
+        flavor        bool
+        default_value 1
+        description   "
+            This option causes connections used for chunked transfer to be
+             closed after use. Persisting the connection will use less
+             network resources and will improve latency, but may do so at
+             the risk of compatibility with older browsers."
+    }
+
+    cdl_option CYGOPT_NET_ATHTTPD_DOCUMENT_EXPIRATION_TIME {
+        display          "Maximum lifetime of a document in seconds"
+        flavor           data
+        default_value    0
+        description      "
+            This options causes documents to 'expire' after a set number
+            of seconds. If certain pages are updated frequently, it might be a
+            good idea to assign them an expitation time in seconds. If the
+            client needs to reload a page that has expired, it will request
+            it again, otherwise it will use the copy in the cache. A value
+            of 0 means that this option is disabled. Any other value
+            represents the number of seconds (after the last modification to
+            the document) after which the page becomes stale. This option
+            applies to all the pages (including those that reside in ROM
+            and thus, by definition, won't change) and thus is it preferable
+            to use the CYG_HTTPD_MODE_NO_CACHE mode for pages that need to be
+            refreshed frequently."
+    }
+
     cdl_option CYGOPT_NET_ATHTTPD_USE_DIRLIST {
         display       "Support for directory listing"
         flavor        bool
@@ -242,9 +292,9 @@ cdl_package CYGPKG_ATHTTPD {
                          interpreter as a means of providing a simple cgi
                          capability. Checking this option increases 
                          considerably the size of the executable." 
-          compile       jim.c
+          compile       jim.c jim-aio.c
           define        JIM_ANSIC
-          define        JIM_EMBEDDED
+          define        JIM_STATICEXT
       }
     }