]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove FR_DHCP_OFFSET, it's no longer necessary
authorAlan T. DeKok <aland@freeradius.org>
Tue, 8 May 2018 20:19:57 +0000 (16:19 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 8 May 2018 20:22:54 +0000 (16:22 -0400)
and move proto_dhcpv4.c out of the way in preparation
for new code

src/modules/proto_dhcpv4/dhcpclient.c
src/modules/proto_dhcpv4/old.c [moved from src/modules/proto_dhcpv4/proto_dhcpv4.c with 99% similarity]
src/protocols/dhcpv4/base.c
src/protocols/dhcpv4/dhcpv4.h
src/protocols/dhcpv4/packet.c
src/protocols/dhcpv4/raw.c

index 719425c60bd7c13b34ef74dac0ed5aa87abac196..5f228f61714a6a785a530009021821af11742aa2 100644 (file)
@@ -150,7 +150,7 @@ static RADIUS_PACKET *request_init(char const *filename)
                 *      Allow to set packet type using DHCP-Message-Type
                 */
                if ((fr_dict_vendor_num_by_da(vp->da) == DHCP_MAGIC_VENDOR) && vp->da->attr == FR_DHCP_MESSAGE_TYPE) {
-                       request->code = vp->vp_uint32 + FR_DHCP_OFFSET;
+                       request->code = vp->vp_uint32;
                } else if (fr_dict_attr_is_top_level(vp->da)) switch (vp->da->attr) {
                /*
                 *      Allow it to set the packet type in
@@ -516,7 +516,7 @@ static void dhcp_packet_debug(RADIUS_PACKET *packet, bool received)
 #endif
               "length %zu\n",
               received ? "Received" : "Sending",
-              dhcp_message_types[packet->code - FR_DHCP_OFFSET],
+              dhcp_message_types[packet->code],
               packet->id,
               packet->src_ipaddr.af == AF_INET6 ? "[" : "",
               inet_ntop(packet->src_ipaddr.af,
similarity index 99%
rename from src/modules/proto_dhcpv4/proto_dhcpv4.c
rename to src/modules/proto_dhcpv4/old.c
index 4c085021154d562bedfb6d926cee86be1d54eb0a..54817d98d8ccdab1eeac168593b370d5fc4cbbbd 100644 (file)
@@ -394,10 +394,6 @@ static rlm_rcode_t dhcp_process(REQUEST *request)
        vp = fr_pair_find_by_num(request->reply->vps, DHCP_MAGIC_VENDOR, 53, TAG_ANY); /* DHCP-Message-Type */
        if (vp) {
                request->reply->code = vp->vp_uint8;
-               if ((request->reply->code != 0) &&
-                   (request->reply->code < FR_DHCP_OFFSET)) {
-                       request->reply->code += FR_DHCP_OFFSET;
-               }
        }
        else switch (rcode) {
        case RLM_MODULE_OK:
@@ -982,14 +978,14 @@ static void dhcp_packet_debug(REQUEST *request, RADIUS_PACKET *packet, bool rece
         *
         *      This really belongs in a utility library
         */
-       if ((packet->code > FR_DHCP_OFFSET) && (packet->code < FR_DHCP_MAX)) {
+       if ((packet->code > 0) && (packet->code < FR_DHCP_MAX)) {
                RDEBUG("%s %s Id %08x from %s%s%s:%i to %s%s%s:%i "
 #if defined(WITH_UDPFROMTO) && defined(WITH_IFINDEX_NAME_RESOLUTION)
                       "%s%s%s"
 #endif
                       "length %zu",
                       received ? "Received" : "Sent",
-                      dhcp_message_types[packet->code - FR_DHCP_OFFSET],
+                      dhcp_message_types[packet->code],
                       packet->id,
                       packet->src_ipaddr.af == AF_INET6 ? "[" : "",
                       inet_ntop(packet->src_ipaddr.af,
index da6ce82eadc9848c0ed501a74f53e0694bf8fd08..93bcfb0610619aeccd0c7fca467133804b8c5c67 100644 (file)
@@ -215,7 +215,7 @@ RADIUS_PACKET *fr_dhcpv4_packet_ok(uint8_t const *data, ssize_t data_len, fr_ipa
        }
 
        packet->data_len = data_len;
-       packet->code = code[2] | FR_DHCP_OFFSET;
+       packet->code = code[2];
        packet->id = pkt_id;
 
        packet->dst_port = dst_port;
index 06867ad940f17d6f998321d60c77afe1305db063..e1af7ed6c59792b1b6d538446d7fbb2ec0f6082a 100644 (file)
@@ -40,28 +40,23 @@ extern "C" {
 #define DHCP_VEND_LEN  (308)
 #define DHCP_OPTION_MAGIC_NUMBER (0x63825363)
 
-/*
- *     This is a horrible hack.
- */
-#define FR_DHCP_OFFSET         (1024)
-
 typedef enum {
-       FR_DHCP_DISCOVER = (FR_DHCP_OFFSET + 1),
-       FR_DHCP_OFFER = (FR_DHCP_OFFSET + 2),
-       FR_DHCP_REQUEST = (FR_DHCP_OFFSET+ 3),
-       FR_DHCP_DECLINE = (FR_DHCP_OFFSET + 4),
-       FR_DHCP_ACK = (FR_DHCP_OFFSET + 5),
-       FR_DHCP_NAK = (FR_DHCP_OFFSET + 6),
-       FR_DHCP_RELEASE = (FR_DHCP_OFFSET + 7),
-       FR_DHCP_INFORM = (FR_DHCP_OFFSET + 8),
-       FR_DHCP_FORCE_RENEW = (FR_DHCP_OFFSET + 9),
-       FR_DHCP_LEASE_QUERY = (FR_DHCP_OFFSET + 10),
-       FR_DHCP_LEASE_UNASSIGNED = (FR_DHCP_OFFSET + 11),
-       FR_DHCP_LEASE_UNKNOWN = (FR_DHCP_OFFSET + 12),
-       FR_DHCP_LEASE_ACTIVE = (FR_DHCP_OFFSET + 13),
-       FR_DHCP_BULK_LEASE_QUERY = (FR_DHCP_OFFSET + 14),
-       FR_DHCP_LEASE_QUERY_DONE = (FR_DHCP_OFFSET + 15),
-       FR_DHCP_MAX = (FR_DHCP_OFFSET + 16)
+       FR_DHCP_DISCOVER = (1),
+       FR_DHCP_OFFER = (2),
+       FR_DHCP_REQUEST = (3),
+       FR_DHCP_DECLINE = (4),
+       FR_DHCP_ACK = (5),
+       FR_DHCP_NAK = (6),
+       FR_DHCP_RELEASE = (7),
+       FR_DHCP_INFORM = (8),
+       FR_DHCP_FORCE_RENEW = (9),
+       FR_DHCP_LEASE_QUERY = (10),
+       FR_DHCP_LEASE_UNASSIGNED = (11),
+       FR_DHCP_LEASE_UNKNOWN = (12),
+       FR_DHCP_LEASE_ACTIVE = (13),
+       FR_DHCP_BULK_LEASE_QUERY = (14),
+       FR_DHCP_LEASE_QUERY_DONE = (15),
+       FR_DHCP_MAX = (16)
 } fr_dhcpv4_codes_t;
 
 typedef struct dhcp_packet_t {
index 534447e6cba81e01e084a48d93f4799299772911..eb29587412f84ee177954b3654f9113cfa9a996a 100644 (file)
@@ -503,7 +503,7 @@ int fr_dhcpv4_packet_encode(RADIUS_PACKET *packet)
 
        p[0] = 0x35;            /* DHCP-Message-Type */
        p[1] = 1;
-       p[2] = packet->code - FR_DHCP_OFFSET;
+       p[2] = packet->code;
        p += 3;
 
        /*
index 5c8e45ecb51098ae4271831d4d5e4a267a96d52e..c8a4fd4043d73a48aaf0dc964df35be0b9f75b56 100644 (file)
@@ -309,7 +309,7 @@ RADIUS_PACKET *fr_dhcv4_raw_packet_recv(int sockfd, struct sockaddr_ll *link_lay
                return NULL;
        }
 
-       packet->code = code[2] | FR_DHCP_OFFSET;
+       packet->code = code[2];
 
        /*
         *      Create a unique vector from the MAC address and the