From: Dean Camera Date: Sun, 7 Feb 2010 10:46:02 +0000 (+0000) Subject: Make Webserver allow HTTP requests for files with up to 50 characters in the path... X-Git-Tag: LUFA-110528-BETA~611 X-Git-Url: http://git.linex4red.de/pub/USBasp.git/commitdiff_plain/1fdc0e664e74b7f89c199e3c2852c24dd33b8bd3?ds=inline Make Webserver allow HTTP requests for files with up to 50 characters in the path instead of 30, to be in synch with the project documentation. Change Webserver project's ENABLE_DHCP compile time option to ENABLE_DHCP_CLIENT to more accurately indicate its function. --- diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt index dfcd712d6..e7561e603 100644 --- a/LUFA/ManPages/LUFAPoweredProjects.txt +++ b/LUFA/ManPages/LUFAPoweredProjects.txt @@ -33,6 +33,7 @@ * can be incorporated into many different applications. * * - Arcade Controller: http://fletchtronics.net/arcade-controller-made-petunia + * - AVR USB Modem, a 3G Wireless Modem host: http://code.google.com/p/avrusbmodem/ * - Bicycle POV: http://www.code.google.com/p/bicycleledpov/ * - CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig * - ClockTamer, a configurable clock generator: http://code.google.com/p/clock-tamer/ diff --git a/Projects/Webserver/Lib/DHCPClientApp.c b/Projects/Webserver/Lib/DHCPClientApp.c index 64cd70709..2097062f8 100644 --- a/Projects/Webserver/Lib/DHCPClientApp.c +++ b/Projects/Webserver/Lib/DHCPClientApp.c @@ -36,7 +36,7 @@ #include "DHCPClientApp.h" -#if defined(ENABLE_DHCP) || defined(__DOXYGEN__) +#if defined(ENABLE_DHCP_CLIENT) || defined(__DOXYGEN__) /** Timer for managing the timeout period for a DHCP server to respond */ struct timer DHCPTimer; diff --git a/Projects/Webserver/Lib/uIPManagement.c b/Projects/Webserver/Lib/uIPManagement.c index c7773c455..ba2a505e9 100644 --- a/Projects/Webserver/Lib/uIPManagement.c +++ b/Projects/Webserver/Lib/uIPManagement.c @@ -212,7 +212,7 @@ static void uIPManagement_ManageConnections(void) } } - #if defined(ENABLE_DHCP) + #if defined(ENABLE_DHCP_CLIENT) for (uint8_t i = 0; i < UIP_UDP_CONNS; i++) { /* Run periodic connection management for each UDP connection */ diff --git a/Projects/Webserver/Lib/uip/uipopt.h b/Projects/Webserver/Lib/uip/uipopt.h index c8b3ad59e..c8d0cd202 100644 --- a/Projects/Webserver/Lib/uip/uipopt.h +++ b/Projects/Webserver/Lib/uip/uipopt.h @@ -689,7 +689,7 @@ typedef union uint8_t CurrentState; uint8_t NextState; - char FileName[30]; + char FileName[50]; FIL FileHandle; bool FileOpen; uint32_t ACKedFilePos; diff --git a/Projects/Webserver/Webserver.txt b/Projects/Webserver/Webserver.txt index 59b530248..9cee32e8a 100644 --- a/Projects/Webserver/Webserver.txt +++ b/Projects/Webserver/Webserver.txt @@ -55,15 +55,17 @@ * To use this project, plug the USB AVR into a computer, so that it enumerates as a standard Mass Storage device. Load * HTML files onto the disk, so that they can be served out to clients -- the default file to serve should be called * index.htm. Filenames must be in 8.3 format for them to be retrieved correctly by the webserver, and the total - * requested file path must be equal to or less than 50 characters. + * requested file path must be equal to or less than 50 characters (set in uipopt.h). * * When attached to a RNDIS class device, such as a USB (desktop) modem, the system will enumerate the device, set the - * appropriate parameters needed for connectivity and begin listening for new HTTP connections on port 80. The device IP, - * netmask and default gateway IP must be set to values appropriate for the RNDIS device being used for this project to - * work, if the DHCP client is disabled (see \ref SSec_Options). + * appropriate parameters needed for connectivity and begin listening for new HTTP connections on port 80 and TELNET + * connections on port 23. The device IP, netmask and default gateway IP must be set to values appropriate for the RNDIS + * device being used for this project to work if the DHCP client is disabled (see \ref SSec_Options) - otherwise, the device + * will query the network's DHCP server for these parameters automatically. * - * When properly configured, the webserver can be accessed from any HTTP webrowser by typing in the device's static or - * dynamically allocated IP address. + * When properly configured, the webserver can be accessed from any HTTP webrowser by typing in the device's statically or + * dynamically allocated IP address. The TELNET client can be accessed via any network socket app by connecting to the device + * on port 23 on the device's statically or dynamically allocated IP address. * * \section SSec_Options Project Options * @@ -76,7 +78,7 @@ * Description: * * - * ENABLE_DHCP=x + * ENABLE_DHCP_CLIENT=x * Makefile CDEFS * When set to 1, this enables the DHCP client for dynamic IP allocation of the network settings from a DHCP server. * To disable DHCP and use the fixed address settings set elsewhere, set this to zero (do not undefine it). @@ -84,18 +86,18 @@ * * DEVICE_IP_ADDRESS * Lib/uIPManagement.h - * IP address that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP is not defined). + * IP address that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero). * * * DEVICE_NETMASK * Lib/uIPManagement.h - * Netmask that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP is not defined). + * Netmask that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero). * * * DEVICE_GATEWAY * Lib/uIPManagement.h - * Default routing gateway that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP - * is not defined). + * Default routing gateway that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT + * is zero). * * */ \ No newline at end of file diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile index 98ee03ca4..2097988b3 100644 --- a/Projects/Webserver/makefile +++ b/Projects/Webserver/makefile @@ -198,9 +198,9 @@ CSTANDARD = -std=gnu99 # Place -D or -U options here for C sources CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS) -CDEFS += -DENABLE_DHCP=1 +CDEFS += -DENABLE_DHCP_CLIENT=1 -CDEFS += -DUIP_CONF_UDP=ENABLE_DHCP -DUIP_CONF_TCP=1 -DUIP_CONF_UDP_CONNS=1 -DUIP_CONF_MAX_CONNECTIONS=5 +CDEFS += -DUIP_CONF_UDP=ENABLE_DHCP_CLIENT -DUIP_CONF_TCP=1 -DUIP_CONF_UDP_CONNS=1 -DUIP_CONF_MAX_CONNECTIONS=5 CDEFS += -DUIP_CONF_MAX_LISTENPORTS=5 -DUIP_URGDATA=0 -DUIP_CONF_BUFFER_SIZE=1514 -DUIP_ARCH_CHKSUM=0 CDEFS += -DUIP_CONF_LL_802154=0 -DUIP_CONF_LL_80211=0 -DUIP_CONF_ROUTER=0 -DUIP_CONF_ICMP6=0 CDEFS += -DUIP_ARCH_ADD32=0 -DUIP_CONF_ICMP_DEST_UNREACH=1 -DUIP_NEIGHBOR_CONF_ADDRTYPE=0