mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-14 03:39:53 +03:00
186 lines
7.8 KiB
Diff
186 lines
7.8 KiB
Diff
From 966c2bc8df039c67f4711ba9bb3f267fbd405c8d Mon Sep 17 00:00:00 2001
|
|
From: "Sergey V. Lobanov" <sergey@lobanov.in>
|
|
Date: Tue, 27 Aug 2024 21:44:29 +0000
|
|
Subject: [PATCH] build: fix compile errors on GCC 14
|
|
|
|
This patch fixes compile errors on GCC 14 like the following
|
|
|
|
/root/accel-ppp/accel-pppd/radius/packet.c: In function 'rad_packet_recv':
|
|
/root/accel-ppp/accel-pppd/radius/packet.c:142:72: error: passing argument 5 of 'recvfrom' from incompatible pointer type [-Wincompatible-pointer-types]
|
|
142 | n = recvfrom(fd, pack->buf, REQ_LENGTH_MAX, 0, addr, &addr_len);
|
|
| ^~~~
|
|
| |
|
|
| struct sockaddr_in *
|
|
In file included from /usr/include/netinet/in.h:10,
|
|
from /usr/include/arpa/inet.h:9,
|
|
from /root/accel-ppp/accel-pppd/radius/packet.c:10:
|
|
/usr/include/sys/socket.h:397:55: note: expected 'struct sockaddr * restrict' but argument is of type 'struct sockaddr_in *'
|
|
|
|
Reference: https://gcc.gnu.org/gcc-14/porting_to.html
|
|
---
|
|
accel-pppd/ctrl/ipoe/dhcpv4.c | 6 +++---
|
|
accel-pppd/ctrl/ipoe/ipoe.c | 4 ++--
|
|
accel-pppd/ctrl/l2tp/l2tp.c | 6 +++---
|
|
accel-pppd/ctrl/l2tp/packet.c | 4 ++--
|
|
accel-pppd/ctrl/pptp/pptp.c | 2 +-
|
|
accel-pppd/logs/log_tcp.c | 4 ++--
|
|
accel-pppd/radius/packet.c | 4 ++--
|
|
7 files changed, 15 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/accel-pppd/ctrl/ipoe/dhcpv4.c b/accel-pppd/ctrl/ipoe/dhcpv4.c
|
|
index 466dfee6..1f77b418 100644
|
|
--- a/accel-pppd/ctrl/ipoe/dhcpv4.c
|
|
+++ b/accel-pppd/ctrl/ipoe/dhcpv4.c
|
|
@@ -161,7 +161,7 @@ struct dhcpv4_serv *dhcpv4_create(struct triton_context_t *ctx, const char *ifna
|
|
goto out_err;
|
|
}
|
|
|
|
- if (bind(sock, &addr, sizeof(addr))) {
|
|
+ if (bind(sock, (struct sockaddr*)&addr, sizeof(addr))) {
|
|
log_error("bind: %s\n", strerror(errno));
|
|
goto out_err;
|
|
}
|
|
@@ -1012,12 +1012,12 @@ struct dhcpv4_relay *dhcpv4_relay_create(const char *_addr, in_addr_t giaddr, st
|
|
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &f, sizeof(f)))
|
|
log_error("dhcpv4: setsockopt(SO_REUSEADDR): %s\n", strerror(errno));
|
|
|
|
- if (bind(sock, &laddr, sizeof(laddr))) {
|
|
+ if (bind(sock, (struct sockaddr*)&laddr, sizeof(laddr))) {
|
|
log_error("dhcpv4: relay: %s: bind: %s\n", _addr, strerror(errno));
|
|
goto out_err_unlock;
|
|
}
|
|
|
|
- if (connect(sock, &raddr, sizeof(raddr))) {
|
|
+ if (connect(sock, (struct sockaddr*)&raddr, sizeof(raddr))) {
|
|
log_error("dhcpv4: relay: %s: connect: %s\n", _addr, strerror(errno));
|
|
goto out_err_unlock;
|
|
}
|
|
diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c
|
|
index 95ff8568..206d0f82 100644
|
|
--- a/accel-pppd/ctrl/ipoe/ipoe.c
|
|
+++ b/accel-pppd/ctrl/ipoe/ipoe.c
|
|
@@ -3109,12 +3109,12 @@ static void add_interface(const char *ifname, int ifindex, const char *opt, int
|
|
|
|
sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
|
|
|
|
- if (connect(sock, &addr, sizeof(addr))) {
|
|
+ if (connect(sock, (struct sockaddr*)&addr, sizeof(addr))) {
|
|
log_error("dhcpv4: relay: %s: connect: %s\n", opt_relay, strerror(errno));
|
|
goto out_err;
|
|
}
|
|
|
|
- getsockname(sock, &addr, &len);
|
|
+ getsockname(sock, (struct sockaddr*)&addr, &len);
|
|
opt_giaddr = addr.sin_addr.s_addr;
|
|
|
|
close(sock);
|
|
diff --git a/accel-pppd/ctrl/l2tp/l2tp.c b/accel-pppd/ctrl/l2tp/l2tp.c
|
|
index 9fc2283c..c0a3c8df 100644
|
|
--- a/accel-pppd/ctrl/l2tp/l2tp.c
|
|
+++ b/accel-pppd/ctrl/l2tp/l2tp.c
|
|
@@ -1613,7 +1613,7 @@ static struct l2tp_conn_t *l2tp_tunnel_alloc(const struct sockaddr_in *peer,
|
|
strerror(errno));
|
|
goto err_conn_fd;
|
|
}
|
|
- if (bind(conn->hnd.fd, host, sizeof(*host))) {
|
|
+ if (bind(conn->hnd.fd, (struct sockaddr*)host, sizeof(*host))) {
|
|
log_error("l2tp: impossible to allocate new tunnel:"
|
|
" bind() failed: %s\n", strerror(errno));
|
|
goto err_conn_fd;
|
|
@@ -1646,7 +1646,7 @@ static struct l2tp_conn_t *l2tp_tunnel_alloc(const struct sockaddr_in *peer,
|
|
goto err_conn_fd;
|
|
}
|
|
|
|
- if (getsockname(conn->hnd.fd, &conn->host_addr, &hostaddrlen) < 0) {
|
|
+ if (getsockname(conn->hnd.fd, (struct sockaddr*)&conn->host_addr, &hostaddrlen) < 0) {
|
|
log_error("l2tp: impossible to allocate new tunnel:"
|
|
" getsockname() failed: %s\n", strerror(errno));
|
|
goto err_conn_fd;
|
|
@@ -1747,7 +1747,7 @@ static inline int l2tp_tunnel_update_peerport(struct l2tp_conn_t *conn,
|
|
int res;
|
|
|
|
conn->peer_addr.sin_port = port_nbo;
|
|
- res = connect(conn->hnd.fd, &conn->peer_addr, sizeof(conn->peer_addr));
|
|
+ res = connect(conn->hnd.fd, (struct sockaddr*)&conn->peer_addr, sizeof(conn->peer_addr));
|
|
if (res < 0) {
|
|
log_tunnel(log_error, conn,
|
|
"impossible to update peer port from %hu to %hu:"
|
|
diff --git a/accel-pppd/ctrl/l2tp/packet.c b/accel-pppd/ctrl/l2tp/packet.c
|
|
index 97e205f3..e2756a7e 100644
|
|
--- a/accel-pppd/ctrl/l2tp/packet.c
|
|
+++ b/accel-pppd/ctrl/l2tp/packet.c
|
|
@@ -280,7 +280,7 @@ int l2tp_recv(int fd, struct l2tp_packet_t **p, struct in_pktinfo *pkt_info,
|
|
ptr = (uint8_t *)(hdr + 1);
|
|
|
|
addr_len = sizeof(addr);
|
|
- n = recvfrom(fd, buf, L2TP_MAX_PACKET_SIZE, 0, &addr, &addr_len);
|
|
+ n = recvfrom(fd, buf, L2TP_MAX_PACKET_SIZE, 0, (struct sockaddr*)&addr, &addr_len);
|
|
if (n < 0) {
|
|
mempool_free(buf);
|
|
if (errno == EAGAIN) {
|
|
@@ -552,7 +552,7 @@ int l2tp_packet_send(int sock, struct l2tp_packet_t *pack)
|
|
memcpy(buf, &pack->hdr, sizeof(pack->hdr));
|
|
hdr->flags = htons(pack->hdr.flags);
|
|
|
|
- n = sendto(sock, buf, len, 0, &pack->addr, sizeof(pack->addr));
|
|
+ n = sendto(sock, buf, len, 0, (struct sockaddr*)&pack->addr, sizeof(pack->addr));
|
|
mempool_free(buf);
|
|
|
|
if (n < 0) {
|
|
diff --git a/accel-pppd/ctrl/pptp/pptp.c b/accel-pppd/ctrl/pptp/pptp.c
|
|
index a95fe8ae..cc5720f7 100644
|
|
--- a/accel-pppd/ctrl/pptp/pptp.c
|
|
+++ b/accel-pppd/ctrl/pptp/pptp.c
|
|
@@ -708,7 +708,7 @@ static int pptp_connect(struct triton_md_handler_t *h)
|
|
conn->ctrl.calling_station_id = _malloc(17);
|
|
conn->ctrl.called_station_id = _malloc(17);
|
|
u_inet_ntoa(addr.sin_addr.s_addr, conn->ctrl.calling_station_id);
|
|
- getsockname(sock, &addr, &size);
|
|
+ getsockname(sock, (struct sockaddr*)&addr, &size);
|
|
u_inet_ntoa(addr.sin_addr.s_addr, conn->ctrl.called_station_id);
|
|
|
|
ppp_init(&conn->ppp);
|
|
diff --git a/accel-pppd/logs/log_tcp.c b/accel-pppd/logs/log_tcp.c
|
|
index e0663d34..ca803a7e 100644
|
|
--- a/accel-pppd/logs/log_tcp.c
|
|
+++ b/accel-pppd/logs/log_tcp.c
|
|
@@ -163,7 +163,7 @@ static int log_tcp_connect(struct triton_md_handler_t *h)
|
|
{
|
|
struct tcp_target_t *t = container_of(h, typeof(*t), hnd);
|
|
|
|
- if (connect(t->hnd.fd, &t->addr, sizeof(t->addr))) {
|
|
+ if (connect(t->hnd.fd, (struct sockaddr*)&t->addr, sizeof(t->addr))) {
|
|
if (errno == EAGAIN)
|
|
return 0;
|
|
if (errno == EINPROGRESS)
|
|
@@ -216,7 +216,7 @@ static void start_connect(struct tcp_target_t *t)
|
|
return;
|
|
}
|
|
|
|
- if (connect(t->hnd.fd, &t->addr, sizeof(t->addr))) {
|
|
+ if (connect(t->hnd.fd, (struct sockaddr*)&t->addr, sizeof(t->addr))) {
|
|
if (errno != EINPROGRESS) {
|
|
log_emerg("log-tcp: connect: %s\n", strerror(errno));
|
|
close(t->hnd.fd);
|
|
diff --git a/accel-pppd/radius/packet.c b/accel-pppd/radius/packet.c
|
|
index 79007036..3c2ef99d 100644
|
|
--- a/accel-pppd/radius/packet.c
|
|
+++ b/accel-pppd/radius/packet.c
|
|
@@ -139,7 +139,7 @@ int rad_packet_recv(int fd, struct rad_packet_t **p, struct sockaddr_in *addr)
|
|
|
|
while (1) {
|
|
if (addr)
|
|
- n = recvfrom(fd, pack->buf, REQ_LENGTH_MAX, 0, addr, &addr_len);
|
|
+ n = recvfrom(fd, pack->buf, REQ_LENGTH_MAX, 0, (struct sockaddr *)addr, &addr_len);
|
|
else
|
|
n = read(fd, pack->buf, REQ_LENGTH_MAX);
|
|
if (n < 0) {
|
|
@@ -813,7 +813,7 @@ int rad_packet_send(struct rad_packet_t *pack, int fd, struct sockaddr_in *addr)
|
|
|
|
while (1) {
|
|
if (addr)
|
|
- n = sendto(fd, pack->buf, pack->len, 0, addr, sizeof(*addr));
|
|
+ n = sendto(fd, pack->buf, pack->len, 0, (struct sockaddr *)addr, sizeof(*addr));
|
|
else
|
|
n = write(fd, pack->buf, pack->len);
|
|
if (n < 0) {
|