summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-09-01 09:08:47 +0300
committerDenys Fedoryshchenko <denys.f@collabora.com>2026-09-01 09:08:47 +0300
commit7d4f8524f57ba0ac77e47171bebfc0370df667b1 (patch)
treeb3020b4e2aac0deac02721b7ebfe96c5ca4519b9 /accel-pppd/ppp
parentc12e1242c0ab98255661f84be3eb37148c00cb38 (diff)
downloadaccel-ppp-7d4f8524f57ba0ac77e47171bebfc0370df667b1.tar.gz
accel-ppp-7d4f8524f57ba0ac77e47171bebfc0370df667b1.zip
utils: centralize unaligned integer accessors
Diffstat (limited to 'accel-pppd/ppp')
-rw-r--r--accel-pppd/ppp/ccp_mppe.c4
-rw-r--r--accel-pppd/ppp/ppp_lcp.c26
2 files changed, 7 insertions, 23 deletions
diff --git a/accel-pppd/ppp/ccp_mppe.c b/accel-pppd/ppp/ccp_mppe.c
index c2ffd9a0..5042c8a0 100644
--- a/accel-pppd/ppp/ccp_mppe.c
+++ b/accel-pppd/ppp/ccp_mppe.c
@@ -10,6 +10,7 @@
#include "ppp_ccp.h"
#include "log.h"
#include "events.h"
+#include "utils.h"
#include "memdebug.h"
@@ -102,12 +103,11 @@ static int setup_mppe_key(int fd, int transmit, uint8_t *key)
{
struct ppp_option_data data;
uint8_t buf[6 + 16];
- uint32_t bits = htonl(MPPE_S | MPPE_H);
memset(buf, 0, sizeof(buf));
buf[0] = CI_MPPE;
buf[1] = 6;
- memcpy(buf + 2, &bits, sizeof(bits));
+ u_write_be32(buf + 2, MPPE_S | MPPE_H);
if (key)
memcpy(buf + 6, key, 16);
diff --git a/accel-pppd/ppp/ppp_lcp.c b/accel-pppd/ppp/ppp_lcp.c
index fb0bb8bb..b44674f4 100644
--- a/accel-pppd/ppp/ppp_lcp.c
+++ b/accel-pppd/ppp/ppp_lcp.c
@@ -47,22 +47,6 @@ static void send_term_req(struct ppp_fsm_t *fsm);
static void send_term_ack(struct ppp_fsm_t *fsm);
static void lcp_recv(struct ppp_handler_t*);
-static uint16_t lcp_read_u16(const void *ptr)
-{
- uint16_t value;
-
- memcpy(&value, ptr, sizeof(value));
- return ntohs(value);
-}
-
-static uint32_t lcp_read_u32(const void *ptr)
-{
- uint32_t value;
-
- memcpy(&value, ptr, sizeof(value));
- return ntohl(value);
-}
-
static void lcp_options_init(struct ppp_lcp_t *lcp)
{
struct lcp_option_t *lopt;
@@ -627,7 +611,7 @@ static void lcp_recv_echo_repl(struct ppp_lcp_t *lcp, uint8_t *data, int size)
if (conf_ppp_verbose)
log_ppp_debug("recv [LCP EchoRep id=%x]\n", lcp->fsm.recv_id);
} else {
- magic = lcp_read_u32(data);
+ magic = u_read_be32(data);
if (conf_ppp_verbose)
log_ppp_debug("recv [LCP EchoRep id=%x <magic %08x>]\n", lcp->fsm.recv_id, magic);
@@ -881,7 +865,7 @@ static void lcp_recv(struct ppp_handler_t*h)
break;
}
if (conf_ppp_verbose)
- log_ppp_debug("recv [LCP EchoReq id=%x <magic %08x>]\n", hdr->id, lcp_read_u32(hdr + 1));
+ log_ppp_debug("recv [LCP EchoReq id=%x <magic %08x>]\n", hdr->id, u_read_be32(hdr + 1));
send_echo_reply(lcp);
break;
case ECHOREP:
@@ -897,11 +881,11 @@ static void lcp_recv(struct ppp_handler_t*h)
log_ppp_warn("LCP: short ProtoRej received\n");
break;
}
- log_ppp_info2("recv [LCP ProtoRej id=%x <%04x>]\n", hdr->id, lcp_read_u16(hdr + 1));
+ log_ppp_info2("recv [LCP ProtoRej id=%x <%04x>]\n", hdr->id, u_read_be16(hdr + 1));
}
if (len < PPP_HDRLEN + 2 || buf_len < (int)(sizeof(*hdr) + 2))
break;
- ppp_recv_proto_rej(lcp->ppp, lcp_read_u16(hdr + 1));
+ ppp_recv_proto_rej(lcp->ppp, u_read_be16(hdr + 1));
break;
case DISCARDREQ:
if (conf_ppp_verbose) {
@@ -909,7 +893,7 @@ static void lcp_recv(struct ppp_handler_t*h)
log_ppp_warn("LCP: short DiscardReq received\n");
break;
}
- log_ppp_info2("recv [LCP DiscardReq id=%x <magic %08x>]\n", hdr->id, lcp_read_u32(hdr + 1));
+ log_ppp_info2("recv [LCP DiscardReq id=%x <magic %08x>]\n", hdr->id, u_read_be32(hdr + 1));
}
break;
case IDENT: