From 04d40897cf98469b39f1d97208a51deb65f70bc5 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Fri, 19 Feb 2010 00:07:22 +0000
Subject: [PATCH] Commit for the 100219 release.

---
 LUFA/ManPages/ChangeLog.txt            |  2 ++
 LUFA/ManPages/MigrationInformation.txt |  4 +++-
 Projects/Webserver/Lib/DHCPClientApp.c |  6 +-----
 Projects/Webserver/Lib/HTTPServerApp.c | 16 +++++++++-------
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index c5dc91197c..9b3154f049 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -8,6 +8,8 @@
   *
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX
   *
+  *  \section Sec_ChangeLog100219 Version 100219
+  *
   *  <b>New:</b>
   *  - Added TPI programming support for 6-pin ATTINY devices to the AVRISP programmer project (thanks to Tom Light)
   *  - Added command timeout counter to the AVRISP project so that the device no longer freezes when incorrectly connected
diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt
index 23fbc1ef40..169b7870a6 100644
--- a/LUFA/ManPages/MigrationInformation.txt
+++ b/LUFA/ManPages/MigrationInformation.txt
@@ -10,7 +10,9 @@
  *  to the next version released. It does not indicate all new additions to the library in each version change, only
  *  areas relevant to making older projects compatible with the API changes of each new release.
  *
- * \section Sec_MigrationXXXXXX Migrating from 091223 to XXXXXX
+ * \section Sec_MigrationXXXXXX Migrating from 100219 to XXXXXX
+ *
+ * \section Sec_Migration100219 Migrating from 091223 to 100219
  *
  *  <b>Non-USB Library Components</b>
  *    - Due to some ADC channels not being identical to their ADC MUX selection masks for single-ended conversions on some AVR models,
diff --git a/Projects/Webserver/Lib/DHCPClientApp.c b/Projects/Webserver/Lib/DHCPClientApp.c
index 09bae73689..cf512734e5 100644
--- a/Projects/Webserver/Lib/DHCPClientApp.c
+++ b/Projects/Webserver/Lib/DHCPClientApp.c
@@ -41,12 +41,8 @@
 /** Initialization function for the DHCP client. */
 void DHCPClientApp_Init(void)
 {
-	/* Create an IP address to the broadcast network address */
-	uip_ipaddr_t DHCPServerIPAddress;
-	uip_ipaddr(&DHCPServerIPAddress, 255, 255, 255, 255);
-
 	/* Create a new UDP connection to the DHCP server port for the DHCP solicitation */
-	struct uip_udp_conn* Connection = uip_udp_new(&DHCPServerIPAddress, HTONS(DHCPC_SERVER_PORT));
+	struct uip_udp_conn* Connection = uip_udp_new(&uip_broadcast_addr, HTONS(DHCPC_SERVER_PORT));
 	
 	/* If the connection was successfully created, bind it to the local DHCP client port */
 	if (Connection != NULL)
diff --git a/Projects/Webserver/Lib/HTTPServerApp.c b/Projects/Webserver/Lib/HTTPServerApp.c
index b6277d3dbe..4e00952f36 100644
--- a/Projects/Webserver/Lib/HTTPServerApp.c
+++ b/Projects/Webserver/Lib/HTTPServerApp.c
@@ -100,13 +100,9 @@ void HTTPServerApp_Callback(void)
 
 	if (uip_aborted() || uip_timedout() || uip_closed())
 	{
-		/* Connection is being terminated for some reason - close file handle */
-		f_close(&AppState->HTTPServer.FileHandle);
-		AppState->HTTPServer.FileOpen = false;
-		
 		/* Lock to the closed state so that no further processing will occur on the connection */
-		AppState->HTTPServer.CurrentState  = WEBSERVER_STATE_Closed;
-		AppState->HTTPServer.NextState     = WEBSERVER_STATE_Closed;
+		AppState->HTTPServer.CurrentState  = WEBSERVER_STATE_Closing;
+		AppState->HTTPServer.NextState     = WEBSERVER_STATE_Closing;
 	}
 
 	if (uip_connected())
@@ -148,9 +144,15 @@ void HTTPServerApp_Callback(void)
 				HTTPServerApp_SendData();
 				break;
 			case WEBSERVER_STATE_Closing:
+				/* Connection is being terminated for some reason - close file handle */
+				f_close(&AppState->HTTPServer.FileHandle);
+				AppState->HTTPServer.FileOpen = false;
+		
+				/* If connection is not already closed, close it */
 				uip_close();
 				
-				AppState->HTTPServer.NextState = WEBSERVER_STATE_Closed;
+				AppState->HTTPServer.CurrentState = WEBSERVER_STATE_Closed;
+				AppState->HTTPServer.NextState    = WEBSERVER_STATE_Closed;
 				break;
 		}		  
 	}