From ed0244262d105a348fa5f075241ba1d425591b6d Mon Sep 17 00:00:00 2001
From: Mark Puha
Date: Sun, 17 Aug 2025 11:29:33 +0200
Subject: [PATCH] fix: rearrange enum values
---
src/config.c | 3 ++-
src/containers.h | 12 ++++++------
src/ipc-linux.h | 1 -
src/uapi/linux/linux/wireguard.h | 6 +++---
src/uapi/openbsd/net/if_wg.h | 12 ++++++------
src/uapi/windows/wireguard.h | 12 ++++++------
6 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/src/config.c b/src/config.c
index e02694f..aa8f9f1 100644
--- a/src/config.c
+++ b/src/config.c
@@ -421,7 +421,7 @@ err:
static inline bool parse_awg_string(char **device_value, const char *name, const char *value) {
size_t len = strlen(value);
if (!len) {
- *device_value = NULL;
+ *device_value = "";
return true;
}
@@ -429,6 +429,7 @@ static inline bool parse_awg_string(char **device_value, const char *name, const
fprintf(stderr, "Unable to process string for: %s; longer than: %d\n", name, MAX_AWG_STRING_LEN);
return false;
}
+
*device_value = strdup(value);
if (*device_value == NULL) {
diff --git a/src/containers.h b/src/containers.h
index 129e378..9046fa7 100644
--- a/src/containers.h
+++ b/src/containers.h
@@ -86,12 +86,12 @@ enum {
WGDEVICE_HAS_JMAX = 1U << 7,
WGDEVICE_HAS_S1 = 1U << 8,
WGDEVICE_HAS_S2 = 1U << 9,
- WGDEVICE_HAS_S3 = 1U << 10,
- WGDEVICE_HAS_S4 = 1U << 11,
- WGDEVICE_HAS_H1 = 1U << 12,
- WGDEVICE_HAS_H2 = 1U << 13,
- WGDEVICE_HAS_H3 = 1U << 14,
- WGDEVICE_HAS_H4 = 1U << 15,
+ WGDEVICE_HAS_H1 = 1U << 10,
+ WGDEVICE_HAS_H2 = 1U << 11,
+ WGDEVICE_HAS_H3 = 1U << 12,
+ WGDEVICE_HAS_H4 = 1U << 13,
+ WGDEVICE_HAS_S3 = 1U << 14,
+ WGDEVICE_HAS_S4 = 1U << 15,
WGDEVICE_HAS_I1 = 1U << 16,
WGDEVICE_HAS_I2 = 1U << 17,
WGDEVICE_HAS_I3 = 1U << 18,
diff --git a/src/ipc-linux.h b/src/ipc-linux.h
index 9b57057..ea41640 100644
--- a/src/ipc-linux.h
+++ b/src/ipc-linux.h
@@ -5,7 +5,6 @@
#include
#include
-#include
#include
#include
#include
diff --git a/src/uapi/linux/linux/wireguard.h b/src/uapi/linux/linux/wireguard.h
index 927a1ea..bde7b50 100644
--- a/src/uapi/linux/linux/wireguard.h
+++ b/src/uapi/linux/linux/wireguard.h
@@ -187,12 +187,13 @@ enum wgdevice_attribute {
WGDEVICE_A_JMAX,
WGDEVICE_A_S1,
WGDEVICE_A_S2,
- WGDEVICE_A_S3,
- WGDEVICE_A_S4,
WGDEVICE_A_H1,
WGDEVICE_A_H2,
WGDEVICE_A_H3,
WGDEVICE_A_H4,
+ WGDEVICE_A_PEER,
+ WGDEVICE_A_S3,
+ WGDEVICE_A_S4,
WGDEVICE_A_I1,
WGDEVICE_A_I2,
WGDEVICE_A_I3,
@@ -202,7 +203,6 @@ enum wgdevice_attribute {
WGDEVICE_A_J2,
WGDEVICE_A_J3,
WGDEVICE_A_ITIME,
- WGDEVICE_A_PEER,
__WGDEVICE_A_LAST
};
#define WGDEVICE_A_MAX (__WGDEVICE_A_LAST - 1)
diff --git a/src/uapi/openbsd/net/if_wg.h b/src/uapi/openbsd/net/if_wg.h
index 5a8c94d..e782d0c 100644
--- a/src/uapi/openbsd/net/if_wg.h
+++ b/src/uapi/openbsd/net/if_wg.h
@@ -77,12 +77,12 @@ struct wg_peer_io {
#define WG_INTERFACE_DEVICE_HAS_JMAX (1 << 7)
#define WG_INTERFACE_DEVICE_HAS_S1 (1 << 8)
#define WG_INTERFACE_DEVICE_HAS_S2 (1 << 9)
-#define WG_INTERFACE_DEVICE_HAS_S3 (1 << 10)
-#define WG_INTERFACE_DEVICE_HAS_S4 (1 << 11)
-#define WG_INTERFACE_DEVICE_HAS_H1 (1 << 12)
-#define WG_INTERFACE_DEVICE_HAS_H2 (1 << 13)
-#define WG_INTERFACE_DEVICE_HAS_H3 (1 << 14)
-#define WG_INTERFACE_DEVICE_HAS_H4 (1 << 15)
+#define WG_INTERFACE_DEVICE_HAS_H1 (1 << 10)
+#define WG_INTERFACE_DEVICE_HAS_H2 (1 << 11)
+#define WG_INTERFACE_DEVICE_HAS_H3 (1 << 12)
+#define WG_INTERFACE_DEVICE_HAS_H4 (1 << 13)
+#define WG_INTERFACE_DEVICE_HAS_S3 (1 << 14) // needs to be set in order of implementation for backward compatibility
+#define WG_INTERFACE_DEVICE_HAS_S4 (1 << 15)
#define WG_INTERFACE_DEVICE_HAS_I1 (1 << 16)
#define WG_INTERFACE_DEVICE_HAS_I2 (1 << 17)
#define WG_INTERFACE_DEVICE_HAS_I3 (1 << 18)
diff --git a/src/uapi/windows/wireguard.h b/src/uapi/windows/wireguard.h
index bfe1caa..ff948f8 100644
--- a/src/uapi/windows/wireguard.h
+++ b/src/uapi/windows/wireguard.h
@@ -63,12 +63,12 @@ typedef enum
WG_IOCTL_INTERFACE_JMAX = 1 << 7,
WG_IOCTL_INTERFACE_S1 = 1 << 8,
WG_IOCTL_INTERFACE_S2 = 1 << 9,
- WG_IOCTL_INTERFACE_S3 = 1 << 10,
- WG_IOCTL_INTERFACE_S4 = 1 << 11,
- WG_IOCTL_INTERFACE_H1 = 1 << 12,
- WG_IOCTL_INTERFACE_H2 = 1 << 13,
- WG_IOCTL_INTERFACE_H3 = 1 << 14,
- WG_IOCTL_INTERFACE_H4 = 1 << 15,
+ WG_IOCTL_INTERFACE_H1 = 1 << 10,
+ WG_IOCTL_INTERFACE_H2 = 1 << 11,
+ WG_IOCTL_INTERFACE_H3 = 1 << 12,
+ WG_IOCTL_INTERFACE_H4 = 1 << 13,
+ WG_IOCTL_INTERFACE_S3 = 1 << 14, // needs to be set in order of implementation for backward compatibility
+ WG_IOCTL_INTERFACE_S4 = 1 << 15,
WG_IOCTL_INTERFACE_I1 = 1U << 16,
WG_IOCTL_INTERFACE_I2 = 1U << 17,
WG_IOCTL_INTERFACE_I3 = 1U << 18,