diff --git a/LUFA/ManPages/LUFAPoweredProjects.txt b/LUFA/ManPages/LUFAPoweredProjects.txt
index dfcd712d68f31608f8fe6204bdb864ab61354737..e7561e603ac70b09bb0a486528b96cde8c7f61b6 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 64cd70709bb4690253124070669dee8050b4b734..2097062f8f3255b75a213841c648be7cffd6b7c9 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 c7773c4559242504ff3188ecc6bf8253d0bcb0c2..ba2a505e958c16007f88f52240fcacc6afd31b59 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 c8b3ad59e33a9a0921f8e087bd236c96a5f6ae47..c8d0cd20282a6c7af62547f4bdda382bc3d46951 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 59b530248904342bd70dcde4efe77b0cf2e42936..9cee32e8a781936f12e3c5a3b103db6c33dc41dd 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
  *  <i>index.htm</i>. 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 @@
  *    <td><b>Description:</b></td>
  *   </tr>
  *   <tr>
- *    <td>ENABLE_DHCP=<i>x</i></td>
+ *    <td>ENABLE_DHCP_CLIENT=<i>x</i></td>
  *    <td>Makefile CDEFS</td>
  *    <td>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).</td>
@@ -84,18 +86,18 @@
  *   <tr>
  *    <td>DEVICE_IP_ADDRESS</td>
  *    <td>Lib/uIPManagement.h</td>
- *    <td>IP address that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP is not defined).</td>
+ *    <td>IP address that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero).</td>
  *   </tr>
  *   <tr>
  *    <td>DEVICE_NETMASK</td>
  *    <td>Lib/uIPManagement.h</td>
- *    <td>Netmask that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP is not defined).</td>
+ *    <td>Netmask that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero).</td>
  *   </tr>
  *   <tr>
  *    <td>DEVICE_GATEWAY</td>
  *    <td>Lib/uIPManagement.h</td>
- *    <td>Default routing gateway that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP
- *        is not defined).</td>
+ *    <td>Default routing gateway that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT
+ *        is zero).</td>
  *   </tr>
  *  </table>
  */
\ No newline at end of file
diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile
index 98ee03ca4f7a74d57e4e310f5120a0e47ec89f61..2097988b3feb6c757cd1c631f4505eaeb50356e3 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