]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
uapi: use flag instead of C bitfield for portability
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 10 Jan 2017 03:47:29 +0000 (19:47 -0800)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 10 Jan 2017 04:36:43 +0000 (05:36 +0100)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/config.c

index 50bc97c7de3efdfb2475811f20dbfa59b7b4952e..f3263895b61abb6fc2825abd8a8e6f6d698cf2dd 100644 (file)
@@ -213,7 +213,7 @@ static inline bool parse_ipmasks(struct inflatable_device *buf, size_t peer_offs
                return false;
        };
        peer = peer_from_offset(buf->dev, peer_offset);
-       peer->replace_ipmasks = true;
+       peer->flags |= WGPEER_REPLACE_IPMASKS;
        if (!strlen(value)) {
                free(mutable);
                return true;
@@ -271,7 +271,7 @@ static bool process_line(struct config_ctx *ctx, const char *line)
                ++ctx->buf.dev->num_peers;
                ctx->is_peer_section = true;
                ctx->is_device_section = false;
-               peer_from_offset(ctx->buf.dev, ctx->peer_offset)->replace_ipmasks = true;
+               peer_from_offset(ctx->buf.dev, ctx->peer_offset)->flags |= WGPEER_REPLACE_IPMASKS;
                peer_from_offset(ctx->buf.dev, ctx->peer_offset)->persistent_keepalive_interval = (__u16)-1;
                return true;
        }
@@ -347,7 +347,8 @@ bool config_read_init(struct config_ctx *ctx, struct wgdevice **device, bool app
                perror("calloc");
                return false;
        }
-       ctx->buf.dev->replace_peer_list = !append;
+       if (!append)
+               ctx->buf.dev->flags |= WGDEVICE_REPLACE_PEERS;
        return true;
 }
 
@@ -361,11 +362,11 @@ bool config_read_finish(struct config_ctx *ctx)
 {
        size_t i;
        struct wgpeer *peer;
-       if (ctx->buf.dev->replace_peer_list && !ctx->buf.dev->num_peers) {
+       if (ctx->buf.dev->flags & WGDEVICE_REPLACE_PEERS && !ctx->buf.dev->num_peers) {
                fprintf(stderr, "No peers configured\n");
                goto err;
        }
-       if (ctx->buf.dev->replace_peer_list && !key_is_valid(ctx->buf.dev->private_key)) {
+       if (ctx->buf.dev->flags & WGDEVICE_REPLACE_PEERS && !key_is_valid(ctx->buf.dev->private_key)) {
                fprintf(stderr, "No private key configured\n");
                goto err;
        }
@@ -462,7 +463,7 @@ bool config_read_cmd(struct wgdevice **device, char *argv[], int argc)
                                }
                                free(line);
                        } else if (ret == 1)
-                               buf.dev->remove_private_key = true;
+                               buf.dev->flags |= WGDEVICE_REMOVE_PRIVATE_KEY;
                        else
                                goto error;
                        argv += 2;
@@ -477,7 +478,7 @@ bool config_read_cmd(struct wgdevice **device, char *argv[], int argc)
                                }
                                free(line);
                        } else if (ret == 1)
-                               buf.dev->remove_preshared_key = true;
+                               buf.dev->flags |= WGDEVICE_REMOVE_PRESHARED_KEY;
                        else
                                goto error;
                        argv += 2;
@@ -495,7 +496,7 @@ bool config_read_cmd(struct wgdevice **device, char *argv[], int argc)
                        argv += 2;
                        argc -= 2;
                } else if (!strcmp(argv[0], "remove") && argc >= 1 && buf.dev->num_peers) {
-                       peer_from_offset(buf.dev, peer_offset)->remove_me = true;
+                       peer_from_offset(buf.dev, peer_offset)->flags |= WGPEER_REMOVE_ME;
                        argv += 1;
                        argc -= 1;
                } else if (!strcmp(argv[0], "endpoint") && argc >= 2 && buf.dev->num_peers) {