]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add sparse endianness annotation for RADIUS header
authorJouni Malinen <j@w1.fi>
Tue, 7 Aug 2012 17:54:08 +0000 (20:54 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 7 Aug 2012 17:54:08 +0000 (20:54 +0300)
Signed-hostap: Jouni Malinen <j@w1.fi>

src/radius/radius.c
src/radius/radius.h

index ba5f979e0dc6a77e24b2de631efbd09a1be4b8ef..a5da119d714e62e23eb6006b894ea0804d632e49 100644 (file)
@@ -332,7 +332,7 @@ void radius_msg_dump(struct radius_msg *msg)
 
        printf("RADIUS message: code=%d (%s) identifier=%d length=%d\n",
               msg->hdr->code, radius_code_string(msg->hdr->code),
-              msg->hdr->identifier, ntohs(msg->hdr->length));
+              msg->hdr->identifier, be_to_host16(msg->hdr->length));
 
        for (i = 0; i < msg->attr_used; i++) {
                struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
@@ -357,11 +357,11 @@ int radius_msg_finish(struct radius_msg *msg, const u8 *secret,
                                   "Message-Authenticator");
                        return -1;
                }
-               msg->hdr->length = htons(wpabuf_len(msg->buf));
+               msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
                hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
                         wpabuf_len(msg->buf), (u8 *) (attr + 1));
        } else
-               msg->hdr->length = htons(wpabuf_len(msg->buf));
+               msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
 
        if (wpabuf_len(msg->buf) > 0xffff) {
                wpa_printf(MSG_WARNING, "RADIUS: Too long message (%lu)",
@@ -387,7 +387,7 @@ int radius_msg_finish_srv(struct radius_msg *msg, const u8 *secret,
                printf("WARNING: Could not add Message-Authenticator\n");
                return -1;
        }
-       msg->hdr->length = htons(wpabuf_len(msg->buf));
+       msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
        os_memcpy(msg->hdr->authenticator, req_authenticator,
                  sizeof(msg->hdr->authenticator));
        hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
@@ -430,7 +430,7 @@ int radius_msg_finish_das_resp(struct radius_msg *msg, const u8 *secret,
                return -1;
        }
 
-       msg->hdr->length = htons(wpabuf_len(msg->buf));
+       msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
        os_memcpy(msg->hdr->authenticator, req_hdr->authenticator, 16);
        hmac_md5(secret, secret_len, wpabuf_head(msg->buf),
                 wpabuf_len(msg->buf), (u8 *) (attr + 1));
@@ -458,7 +458,7 @@ void radius_msg_finish_acct(struct radius_msg *msg, const u8 *secret,
        const u8 *addr[2];
        size_t len[2];
 
-       msg->hdr->length = htons(wpabuf_len(msg->buf));
+       msg->hdr->length = host_to_be16(wpabuf_len(msg->buf));
        os_memset(msg->hdr->authenticator, 0, MD5_MAC_LEN);
        addr[0] = wpabuf_head(msg->buf);
        len[0] = wpabuf_len(msg->buf);
@@ -633,7 +633,7 @@ struct radius_msg * radius_msg_parse(const u8 *data, size_t len)
 
        hdr = (struct radius_hdr *) data;
 
-       msg_len = ntohs(hdr->length);
+       msg_len = be_to_host16(hdr->length);
        if (msg_len < sizeof(*hdr) || msg_len > len) {
                wpa_printf(MSG_INFO, "RADIUS: Invalid message length");
                return NULL;
index fcbb27567046960e7e2ad9608873ec4511bb6b6a..727640b2f4a5dace7409e88ddf4668918150a303 100644 (file)
@@ -18,7 +18,7 @@
 struct radius_hdr {
        u8 code;
        u8 identifier;
-       u16 length; /* including this header */
+       be16 length; /* including this header */
        u8 authenticator[16];
        /* followed by length-20 octets of attributes */
 } STRUCT_PACKED;