From: Jorge Pereira Date: Wed, 21 Oct 2015 02:46:41 +0000 (-0200) Subject: Trust, magic values aren't fun X-Git-Tag: release_3_0_11~232^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1336%2Fhead;p=thirdparty%2Ffreeradius-server.git Trust, magic values aren't fun --- diff --git a/src/modules/proto_dhcp/dhcp.c b/src/modules/proto_dhcp/dhcp.c index 2754ccd2da..b30504a5cb 100644 --- a/src/modules/proto_dhcp/dhcp.c +++ b/src/modules/proto_dhcp/dhcp.c @@ -331,7 +331,7 @@ RADIUS_PACKET *fr_dhcp_recv(int sockfd) packet->id = ntohl(magic); code = dhcp_get_option((dhcp_packet_t *) packet->data, - packet->data_len, 53); + packet->data_len, PW_DHCP_MESSAGE_TYPE); if (!code) { fr_strerror_printf("No message-type option was found in the packet"); rad_free(&packet); @@ -1150,12 +1150,12 @@ int8_t fr_dhcp_attr_cmp(void const *a, void const *b) /* * DHCP-Message-Type is first, for simplicity. */ - if ((my_a->da->attr == 53) && (my_b->da->attr != 53)) return -1; + if ((my_a->da->attr == PW_DHCP_MESSAGE_TYPE) && (my_b->da->attr != PW_DHCP_MESSAGE_TYPE)) return -1; /* * Relay-Agent is last */ - if ((my_a->da->attr == 82) && (my_b->da->attr != 82)) return 1; + if ((my_a->da->attr == PW_DHCP_OPTION_82) && (my_b->da->attr != PW_DHCP_OPTION_82)) return 1; if (my_a->da->attr < my_b->da->attr) return -1; if (my_a->da->attr > my_b->da->attr) return 1; @@ -1332,7 +1332,7 @@ ssize_t fr_dhcp_encode_option(UNUSED TALLOC_CTX *ctx, uint8_t *out, size_t outle if (!vp) return -1; if (vp->da->vendor != DHCP_MAGIC_VENDOR) goto next; /* not a DHCP option */ - if (vp->da->attr == 53) goto next; /* already done */ + if (vp->da->attr == PW_DHCP_MESSAGE_TYPE) goto next; /* already done */ if ((vp->da->attr > 255) && (DHCP_BASE_ATTR(vp->da->attr) != PW_DHCP_OPTION_82)) goto next; if (vp->da->flags.extended) { @@ -2056,7 +2056,7 @@ RADIUS_PACKET *fr_dhcp_recv_raw_packet(int sockfd, struct sockaddr_ll *p_ll, RAD packet->id = xid; code = dhcp_get_option((dhcp_packet_t *) packet->data, - packet->data_len, 53); + packet->data_len, PW_DHCP_MESSAGE_TYPE); if (!code) { fr_strerror_printf("No message-type option was found in the packet"); rad_free(&packet);