aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Webserver/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/Webserver/Lib')
-rw-r--r--Projects/Webserver/Lib/DHCPClientApp.c6
-rw-r--r--Projects/Webserver/Lib/HTTPServerApp.c16
2 files changed, 10 insertions, 12 deletions
diff --git a/Projects/Webserver/Lib/DHCPClientApp.c b/Projects/Webserver/Lib/DHCPClientApp.c
index 09bae7368..cf512734e 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 b6277d3db..4e00952f3 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;
}
}