Attention is currently required from: cron2. cron2 has uploaded a new patch set (#2) to the change originally created by flichtenheld. ( http://gerrit.openvpn.net/c/openvpn/+/1283?usp=email )
The following approvals got outdated and were removed: Code-Review+1 by cron2, Code-Review+2 by mrbff Change subject: push_util: Fix conversion warnings ...................................................................... push_util: Fix conversion warnings Mostly just use better types. Change-Id: I4113d14c6ce33818573b0ca5857a9ab39b35a8f4 Signed-off-by: Frank Lichtenheld <[email protected]> Acked-by: mrbff <[email protected]> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1283 Message-Id: <[email protected]> URL: https://sourceforge.net/p/openvpn/mailman/message/59248341/ Signed-off-by: Gert Doering <[email protected]> --- M src/openvpn/push_util.c 1 file changed, 15 insertions(+), 24 deletions(-) git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/83/1283/2 diff --git a/src/openvpn/push_util.c b/src/openvpn/push_util.c index 0eddcae..552679a 100644 --- a/src/openvpn/push_util.c +++ b/src/openvpn/push_util.c @@ -10,17 +10,12 @@ #include "ssl_util.h" #endif -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - int process_push_update(struct context *c, struct options *o, unsigned int permission_mask, unsigned int *option_types_found, struct buffer *buf, bool msg_sender) { int ret = PUSH_MSG_ERROR; - const uint8_t ch = buf_read_u8(buf); + const int ch = buf_read_u8(buf); if (ch == ',') { if (apply_push_options(c, o, buf, permission_mask, option_types_found, c->c2.es, @@ -56,8 +51,8 @@ * Return index of last `,` or `0` if it didn't find any. * If there is a comma at index `0` it's an error anyway */ -static int -find_first_comma_of_next_bundle(const char *str, int ix) +static size_t +find_first_comma_of_next_bundle(const char *str, size_t ix) { while (ix > 0) { @@ -74,8 +69,8 @@ static struct buffer forge_msg(const char *src, const char *continuation, struct gc_arena *gc) { - int src_len = strlen(src); - int con_len = continuation ? strlen(continuation) : 0; + size_t src_len = strlen(src); + size_t con_len = continuation ? strlen(continuation) : 0; struct buffer buf = alloc_buf_gc(src_len + sizeof(push_update_cmd) + con_len + 2, gc); buf_printf(&buf, "%s,%s%s", push_update_cmd, src, continuation ? continuation : ""); @@ -92,11 +87,11 @@ return ret; } -/* It split the messagge (if necessay) and fill msgs with the message chunks. +/* It split the messagge (if necessary) and fill msgs with the message chunks. * Return `false` on failure an `true` on success. */ static bool -message_splitter(const char *s, struct buffer *msgs, struct gc_arena *gc, const int safe_cap) +message_splitter(const char *s, struct buffer *msgs, struct gc_arena *gc, const size_t safe_cap) { if (!s || !*s) { @@ -104,7 +99,7 @@ } char *str = gc_strdup(s, gc); - int i = 0; + size_t i = 0; int im = 0; while (*str) @@ -112,7 +107,7 @@ /* + ',' - '/0' */ if (strlen(str) > safe_cap) { - int ci = find_first_comma_of_next_bundle(str, safe_cap); + size_t ci = find_first_comma_of_next_bundle(str, safe_cap); if (!ci) { /* if no commas were found go to fail, do not send any message */ @@ -254,7 +249,7 @@ * @return The number of clients to which the message was sent. Might return < 0 in case of error. */ static int -send_push_update(struct multi_context *m, const void *target, const char *msg, const push_update_type type, const int push_bundle_size) +send_push_update(struct multi_context *m, const void *target, const char *msg, const push_update_type type, const size_t push_bundle_size) { if (dco_enabled(&m->top.options)) { @@ -263,19 +258,19 @@ return 0; } - if (!msg || !*msg || !m - || (!target && type != UPT_BROADCAST)) + if (!msg || !*msg || !m || (!target && type != UPT_BROADCAST)) { return -EINVAL; } struct gc_arena gc = gc_new(); /* extra space for possible trailing ifconfig and push-continuation */ - const int extra = 84 + sizeof(push_update_cmd); + const size_t extra = 84 + sizeof(push_update_cmd); /* push_bundle_size is the maximum size of a message, so if the message * we want to send exceeds that size we have to split it into smaller messages */ - const int safe_cap = push_bundle_size - extra; - int msgs_num = (strlen(msg) / safe_cap) + ((strlen(msg) % safe_cap) != 0); + ASSERT(push_bundle_size > extra); + const size_t safe_cap = push_bundle_size - extra; + size_t msgs_num = (strlen(msg) / safe_cap) + ((strlen(msg) % safe_cap) != 0); struct buffer *msgs = gc_malloc((msgs_num + 1) * sizeof(struct buffer), true, &gc); msgs[msgs_num].data = NULL; @@ -374,7 +369,3 @@ RETURN_UPDATE_STATUS(n_sent); } #endif /* ifdef ENABLE_MANAGEMENT */ - -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/1283?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I4113d14c6ce33818573b0ca5857a9ab39b35a8f4 Gerrit-Change-Number: 1283 Gerrit-PatchSet: 2 Gerrit-Owner: flichtenheld <[email protected]> Gerrit-Reviewer: cron2 <[email protected]> Gerrit-Reviewer: mrbff <[email protected]> Gerrit-Reviewer: plaisthos <[email protected]> Gerrit-CC: openvpn-devel <[email protected]> Gerrit-Attention: cron2 <[email protected]>
_______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
