11#include <stdlib.h>
22#include <string.h>
3-
4-
5-
63#include "lwipDhcpServer.h"
74#include "lwipDhcpServerPriv.h"
85
@@ -11,37 +8,12 @@ static const u32_t magic_cookie = 0x63538263;
118
129#define BOOTP_BROADCAST 0x8000
1310
14- #define DHCP_REQUEST 1
15- #define DHCP_REPLY 2
1611#define DHCP_HTYPE_ETHERNET 1
17- #define DHCP_HLEN_ETHERNET 6
18- #define DHCP_MSG_LEN 236
1912
2013#define DHCPS_SERVER_PORT 67
2114#define DHCPS_CLIENT_PORT 68
2215
23- #define DHCPDISCOVER 1
24- #define DHCPOFFER 2
25- #define DHCPREQUEST 3
26- #define DHCPDECLINE 4
27- #define DHCPACK 5
28- #define DHCPNAK 6
29- #define DHCPRELEASE 7
30-
31- #define DHCP_OPTION_SUBNET_MASK 1
32- #define DHCP_OPTION_ROUTER 3
33- #define DHCP_OPTION_DNS_SERVER 6
34- #define DHCP_OPTION_REQ_IPADDR 50
35- #define DHCP_OPTION_LEASE_TIME 51
36- #define DHCP_OPTION_MSG_TYPE 53
37- #define DHCP_OPTION_SERVER_ID 54
38- #define DHCP_OPTION_INTERFACE_MTU 26
3916#define DHCP_OPTION_PERFORM_ROUTER_DISCOVERY 31
40- #define DHCP_OPTION_BROADCAST_ADDRESS 28
41- #define DHCP_OPTION_REQ_LIST 55
42- #define DHCP_OPTION_END 255
43-
44-
4517
4618#ifdef DHCPS_DEBUG
4719/* function defined in CNetIf.cpp */
@@ -74,13 +46,6 @@ static struct netif *dhcps_netif = NULL;
7446static struct udp_pcb * dhcps_pcb ;
7547static DHCP_Address dhcp_address ;
7648
77-
78- static uint8_t xid [4 ];
79-
80-
81- //static list_node *plist = NULL;
82- static bool renew = false;
83-
8449static dhcps_lease_t dhcps_poll ;
8550static dhcps_time_t dhcps_lease_time = DHCPS_LEASE_TIME_DEF ; //minute
8651static dhcps_offer_t dhcps_offer = 0xFF ;
@@ -191,7 +156,7 @@ void dhcps_set_option_info(uint8_t op_id, void *opt_info, u32_t opt_len)
191156*******************************************************************************/
192157static uint8_t * add_msg_type (uint8_t * optptr , uint8_t type )
193158{
194- * optptr ++ = DHCP_OPTION_MSG_TYPE ;
159+ * optptr ++ = DHCP_OPTION_MESSAGE_TYPE ;
195160 * optptr ++ = 1 ;
196161 * optptr ++ = type ;
197162 return optptr ;
@@ -260,7 +225,7 @@ static uint8_t *add_offer_options(uint8_t *optptr)
260225 }
261226
262227
263- * optptr ++ = DHCP_OPTION_INTERFACE_MTU ;
228+ * optptr ++ = DHCP_OPTION_MTU ;
264229 * optptr ++ = 2 ;
265230 * optptr ++ = 0x05 ;
266231 * optptr ++ = 0xdc ;
@@ -301,7 +266,7 @@ static uint8_t *add_end(uint8_t *optptr)
301266*******************************************************************************/
302267static void create_msg (struct dhcps_msg * m )
303268{
304- m -> op = DHCP_REPLY ;
269+ m -> op = DHCP_BOOTREPLY ;
305270
306271 m -> htype = DHCP_HTYPE_ETHERNET ;
307272
@@ -346,18 +311,17 @@ struct pbuf * dhcps_pbuf_alloc(uint16_t len)
346311*******************************************************************************/
347312static void send_offer (struct dhcps_msg * msg , uint16_t len )
348313{
314+ (void )len ;
349315 uint8_t * end ;
350316 struct pbuf * p , * q ;
351317 uint8_t * data ;
352318 uint16_t cnt = 0 ;
353- uint8_t CopyFinished = 0 ;
354319 uint16_t i ;
355- uint32_t endptr , dataptr = NULL ;
356320 #if DHCPS_DEBUG
357321 err_t SendOffer_err_t ;
358322 #endif
359323 create_msg (msg );
360- end = add_msg_type (& msg -> options [4 ], DHCPOFFER );
324+ end = add_msg_type (& msg -> options [4 ], DHCP_OFFER );
361325 end = add_offer_options (end );
362326 end = add_end (end );
363327
@@ -417,6 +381,7 @@ static void send_offer(struct dhcps_msg *msg, uint16_t len)
417381*******************************************************************************/
418382static void send_nak (struct dhcps_msg * m , uint16_t len )
419383{
384+ (void )len ;
420385 uint8_t * end ;
421386 struct pbuf * p , * q ;
422387 uint8_t * data ;
@@ -427,7 +392,7 @@ static void send_nak(struct dhcps_msg *m, uint16_t len)
427392 #endif
428393 create_msg (m );
429394
430- end = add_msg_type (& m -> options [4 ], DHCPNAK );
395+ end = add_msg_type (& m -> options [4 ], DHCP_NAK );
431396 end = add_end (end );
432397
433398 p = dhcps_pbuf_alloc (len );
@@ -483,6 +448,7 @@ static void send_nak(struct dhcps_msg *m, uint16_t len)
483448*******************************************************************************/
484449static void send_ack (struct dhcps_msg * m , uint16_t len )
485450{
451+ (void )len ;
486452 uint8_t * end ;
487453 struct pbuf * p , * q ;
488454 uint8_t * data ;
@@ -491,7 +457,7 @@ static void send_ack(struct dhcps_msg *m, uint16_t len)
491457 err_t SendAck_err_t ;
492458 create_msg (m );
493459
494- end = add_msg_type (& m -> options [4 ], DHCPACK );
460+ end = add_msg_type (& m -> options [4 ], DHCP_ACK );
495461 end = add_offer_options (end );
496462 end = add_end (end );
497463
@@ -573,10 +539,10 @@ static uint8_t parse_options(uint8_t *OptionsPtr, int16_t len)
573539 DHCPS_LOG ("dhcps: (int16_t)*optptr = %d\n" , (int16_t )* OptionsPtr );
574540 #endif
575541 switch ((int16_t ) * OptionsPtr ) {
576- case DHCP_OPTION_MSG_TYPE : //53
542+ case DHCP_OPTION_MESSAGE_TYPE : //53
577543 type = * (OptionsPtr + 2 );
578544 break ;
579- case DHCP_OPTION_REQ_IPADDR ://50
545+ case DHCP_OPTION_REQUESTED_IP ://50
580546 s .state = DHCPS_STATE_ACK ;
581547 break ;
582548 case DHCP_OPTION_END : {
@@ -592,26 +558,26 @@ static uint8_t parse_options(uint8_t *OptionsPtr, int16_t len)
592558 }
593559
594560 switch (type ) {
595- case DHCPDISCOVER ://1
561+ case DHCP_DISCOVER ://1
596562 #if DHCPS_DEBUG
597563 DHCPS_LOG ("dhcps: DHCPD_STATE_DHCPDISCOVER -- SEND_OFFER\n" );
598564 #endif
599565 s .state = DHCPS_STATE_OFFER ;
600566 break ;
601- case DHCPREQUEST ://3
567+ case DHCP_REQUEST ://3
602568 #if DHCPS_DEBUG
603569 DHCPS_LOG ("dhcps: DHCPD_STATE_DHCPREQUEST -- SEND_ACK\n" );
604570 #endif
605571 s .state = DHCPS_STATE_ACK ;
606572
607573 break ;
608- case DHCPDECLINE ://4
574+ case DHCP_DECLINE ://4
609575 s .state = DHCPS_STATE_IDLE ;
610576 #if DHCPS_DEBUG
611577 DHCPS_LOG ("dhcps: DHCPD_STATE_IDLE\n" );
612578 #endif
613579 break ;
614- case DHCPRELEASE ://7
580+ case DHCP_RELEASE ://7
615581 s .state = DHCPS_STATE_RELEASE ;
616582 #if DHCPS_DEBUG
617583 DHCPS_LOG ("dhcps: DHCPD_STATE_IDLE\n" );
@@ -664,10 +630,12 @@ static void handle_dhcp(void *arg,
664630 const ip_addr_t * addr ,
665631 uint16_t port )
666632{
633+ (void )arg ;
634+ (void )pcb ;
635+ (void )addr ;
636+ (void )port ;
667637 struct dhcps_msg * pmsg_dhcps = NULL ;
668638 int16_t tlen , malloc_len ;
669- uint16_t i ;
670- uint16_t dhcps_msg_cnt = 0 ;
671639 uint8_t * p_dhcps_msg = NULL ;
672640 struct pbuf * q ;
673641
0 commit comments