neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/16030 )


Change subject: osmo_sockaddr_str: fix 32bit addr mixup of host/network byte 
order
......................................................................

osmo_sockaddr_str: fix 32bit addr mixup of host/network byte order

Of course both v4 and v6 addresses are kept in network byte order when
represented in bytes, but when writing, I somehow must have assumed that
inet_pton() returns host byte order. Fix that mixup:

osmo_sockaddr_str_from_32() and osmo_sockaddr_str_to_32() actually use network
byte order. Fix the doc strings.

osmo_sockaddr_str_from_32n() and osmo_sockaddr_str_to_32n() actually use host
byte order, though reflecting 'n' in their name. Deprecate these.

Add osmo_sockaddr_str_from_32h() and osmo_sockaddr_str_to_32h() that are
identical to the "32n" variants, but without the confusing names.

sockaddr_str_test: use hexdump instead of %x to show the
osmo_sockaddr_str_to_32*() conversions so that the error becomes obvious.
(Printing %x reverses the bytes again and made it look correct.)

Change-Id: I3cf150cc0cc06dd36039fbde091bc71b01697322
---
M TODO-RELEASE
M include/osmocom/core/sockaddr_str.h
M src/sockaddr_str.c
M tests/sockaddr_str/sockaddr_str_test.c
M tests/sockaddr_str/sockaddr_str_test.ok
5 files changed, 92 insertions(+), 66 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/16030/1

diff --git a/TODO-RELEASE b/TODO-RELEASE
index 692bdc1..be858ae 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -11,3 +11,7 @@
 core           struct osmo_tdef        fields min_val,max_val added, ABI break 
(arrays of structs used in programs)
 gsm            API added               osmo_gsm48_rfpowercap2powerclass()
 gb             API added               bssgp_bvc_ctx_free()
+core           osmo_sockaddr_str_from_32n(),
+               osmo_sockaddr_str_to_32n()      Deprecate: named 'n' but use 
host byte order.
+core           osmo_sockaddr_str_from_32h(),
+               osmo_sockaddr_str_to_32h()      New, use host byte order and 
are named appropriately.
diff --git a/include/osmocom/core/sockaddr_str.h 
b/include/osmocom/core/sockaddr_str.h
index d7a8cdf..e42216a 100644
--- a/include/osmocom/core/sockaddr_str.h
+++ b/include/osmocom/core/sockaddr_str.h
@@ -31,6 +31,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 #include <arpa/inet.h>
+#include <osmocom/core/defs.h>

 struct in_addr;
 struct in6_addr;
@@ -77,7 +78,7 @@
 int osmo_sockaddr_str_from_in_addr(struct osmo_sockaddr_str *sockaddr_str, 
const struct in_addr *addr, uint16_t port);
 int osmo_sockaddr_str_from_in6_addr(struct osmo_sockaddr_str *sockaddr_str, 
const struct in6_addr *addr, uint16_t port);
 int osmo_sockaddr_str_from_32(struct osmo_sockaddr_str *sockaddr_str, uint32_t 
ip, uint16_t port);
-int osmo_sockaddr_str_from_32n(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port);
+int osmo_sockaddr_str_from_32h(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port);
 int osmo_sockaddr_str_from_sockaddr_in(struct osmo_sockaddr_str *sockaddr_str, 
const struct sockaddr_in *src);
 int osmo_sockaddr_str_from_sockaddr_in6(struct osmo_sockaddr_str 
*sockaddr_str, const struct sockaddr_in6 *src);
 int osmo_sockaddr_str_from_sockaddr(struct osmo_sockaddr_str *sockaddr_str, 
const struct sockaddr_storage *src);
@@ -85,9 +86,14 @@
 int osmo_sockaddr_str_to_in_addr(const struct osmo_sockaddr_str *sockaddr_str, 
struct in_addr *dst);
 int osmo_sockaddr_str_to_in6_addr(const struct osmo_sockaddr_str 
*sockaddr_str, struct in6_addr *dst);
 int osmo_sockaddr_str_to_32(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip);
-int osmo_sockaddr_str_to_32n(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip);
+int osmo_sockaddr_str_to_32h(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip);
 int osmo_sockaddr_str_to_sockaddr_in(const struct osmo_sockaddr_str 
*sockaddr_str, struct sockaddr_in *dst);
 int osmo_sockaddr_str_to_sockaddr_in6(const struct osmo_sockaddr_str 
*sockaddr_str, struct sockaddr_in6 *dst);
 int osmo_sockaddr_str_to_sockaddr(const struct osmo_sockaddr_str 
*sockaddr_str, struct sockaddr_storage *dst);

+int osmo_sockaddr_str_from_32n(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port)
+       OSMO_DEPRECATED("osmo_sockaddr_str_from_32n() actually uses *host* byte 
order. Use osmo_sockaddr_str_from_32h() instead");
+int osmo_sockaddr_str_to_32n(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip)
+       OSMO_DEPRECATED("osmo_sockaddr_str_to_32n() actually uses *host* byte 
order. Use osmo_sockaddr_str_to_32h() instead");
+
 /*! @} */
diff --git a/src/sockaddr_str.c b/src/sockaddr_str.c
index 7a81866..72534b3 100644
--- a/src/sockaddr_str.c
+++ b/src/sockaddr_str.c
@@ -258,7 +258,7 @@
        return 0;
 }

-/*! Convert IPv4 address from 32bit host-byte-order to osmo_sockaddr_str, and 
set port.
+/*! Convert IPv4 address from 32bit network-byte-order to osmo_sockaddr_str, 
and set port.
  * \param[out] sockaddr_str  The instance to copy to.
  * \param[in] addr  32bit IPv4 address data.
  * \param[in] port  Port number.
@@ -273,19 +273,26 @@
        return osmo_sockaddr_str_from_in_addr(sockaddr_str, &addr, port);
 }

-/*! Convert IPv4 address from 32bit network-byte-order to osmo_sockaddr_str, 
and set port.
+/*! Convert IPv4 address from 32bit host-byte-order to osmo_sockaddr_str, and 
set port.
  * \param[out] sockaddr_str  The instance to copy to.
  * \param[in] addr  32bit IPv4 address data.
  * \param[in] port  Port number.
  * \return 0 on success, negative on error.
  */
-int osmo_sockaddr_str_from_32n(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port)
+int osmo_sockaddr_str_from_32h(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port)
 {
        if (!sockaddr_str)
                return -ENOSPC;
        return osmo_sockaddr_str_from_32(sockaddr_str, osmo_ntohl(ip), port);
 }

+/*! DEPRECATED: the name suggests a conversion from network byte order, but 
actually converts from host byte order. Use
+ * osmo_sockaddr_str_from_32 for network byte order and 
osmo_sockaddr_str_from_32h for host byte order. */
+int osmo_sockaddr_str_from_32n(struct osmo_sockaddr_str *sockaddr_str, 
uint32_t ip, uint16_t port)
+{
+       return osmo_sockaddr_str_from_32h(sockaddr_str, ip, port);
+}
+
 /*! Convert IPv4 address and port to osmo_sockaddr_str.
  * \param[out] sockaddr_str  The instance to copy to.
  * \param[in] src  IPv4 address and port data.
@@ -379,9 +386,9 @@
        return 0;
 }

-/*! Convert osmo_sockaddr_str address string to IPv4 address data in 
host-byte-order.
+/*! Convert osmo_sockaddr_str address string to IPv4 address data in 
network-byte-order.
  * \param[in] sockaddr_str  The instance to convert the IP of.
- * \param[out] dst  IPv4 address data in 32bit host-byte-order format to write 
to.
+ * \param[out] dst  IPv4 address data in 32bit network-byte-order format to 
write to.
  * \return 0 on success, negative on error (e.g. invalid IPv4 address string).
  */
 int osmo_sockaddr_str_to_32(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip)
@@ -399,12 +406,12 @@
        return 0;
 }

-/*! Convert osmo_sockaddr_str address string to IPv4 address data in 
network-byte-order.
+/*! Convert osmo_sockaddr_str address string to IPv4 address data in 
host-byte-order.
  * \param[in] sockaddr_str  The instance to convert the IP of.
- * \param[out] dst  IPv4 address data in 32bit network-byte-order format to 
write to.
+ * \param[out] dst  IPv4 address data in 32bit host-byte-order format to write 
to.
  * \return 0 on success, negative on error (e.g. invalid IPv4 address string).
  */
-int osmo_sockaddr_str_to_32n(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip)
+int osmo_sockaddr_str_to_32h(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip)
 {
        int rc;
        uint32_t ip_h;
@@ -419,6 +426,13 @@
        return 0;
 }

+/*! DEPRECATED: the name suggests a conversion to network byte order, but 
actually converts to host byte order. Use
+ * osmo_sockaddr_str_to_32() for network byte order and 
osmo_sockaddr_str_to_32h() for host byte order. */
+int osmo_sockaddr_str_to_32n(const struct osmo_sockaddr_str *sockaddr_str, 
uint32_t *ip)
+{
+       return osmo_sockaddr_str_to_32h(sockaddr_str, ip);
+}
+
 /*! Convert osmo_sockaddr_str address string and port to IPv4 address and port 
data.
  * \param[in] sockaddr_str  The instance to convert the IP and port of.
  * \param[out] dst  IPv4 address and port data to write to.
diff --git a/tests/sockaddr_str/sockaddr_str_test.c 
b/tests/sockaddr_str/sockaddr_str_test.c
index f1e844e..c4827e0 100644
--- a/tests/sockaddr_str/sockaddr_str_test.c
+++ b/tests/sockaddr_str/sockaddr_str_test.c
@@ -149,7 +149,8 @@
                        uint32_t a = 0;

                        rc = osmo_sockaddr_str_to_32(x, &a);
-                       printf("  osmo_sockaddr_str_to_32() %s 
uint32_t=0x%x\n", rc_name(rc), a);
+                       printf("  osmo_sockaddr_str_to_32() %s uint8_t[4]=[ 
%s]\n", rc_name(rc),
+                              osmo_hexdump((void*)&a, sizeof(a)));

                        if (rc == 0) {
                                struct osmo_sockaddr_str back;
@@ -164,13 +165,14 @@
                {
                        uint32_t a = 0;

-                       rc = osmo_sockaddr_str_to_32n(x, &a);
-                       printf("  osmo_sockaddr_str_to_32n() %s 
uint32_t=0x%x\n", rc_name(rc), a);
+                       rc = osmo_sockaddr_str_to_32h(x, &a);
+                       printf("  osmo_sockaddr_str_to_32h() %s uint8_t[4]=[ 
%s]\n", rc_name(rc),
+                              osmo_hexdump((void*)&a, sizeof(a)));

                        if (rc == 0) {
                                struct osmo_sockaddr_str back;
-                               rc = osmo_sockaddr_str_from_32n(&back, a, 
x->port);
-                               printf("   -> osmo_sockaddr_str_from_32n() %s 
", rc_name(rc));
+                               rc = osmo_sockaddr_str_from_32h(&back, a, 
x->port);
+                               printf("   -> osmo_sockaddr_str_from_32h() %s 
", rc_name(rc));
                                dump_oip(&back);
                                if (memcmp(x, &back, sizeof(back)))
                                        printf("      DIFFERS!\n");
diff --git a/tests/sockaddr_str/sockaddr_str_test.ok 
b/tests/sockaddr_str/sockaddr_str_test.ok
index 31f630f..910e919 100644
--- a/tests/sockaddr_str/sockaddr_str_test.ok
+++ b/tests/sockaddr_str/sockaddr_str_test.ok
@@ -7,10 +7,10 @@
   osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304
    -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = 
"1.2.3.4", .port = 5 }
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x4030201
+  osmo_sockaddr_str_to_32() rc == 0 uint8_t[4]=[ 01 02 03 04 ]
    -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 5 }
-  osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x1020304
-   -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 5 }
+  osmo_sockaddr_str_to_32h() rc == 0 uint8_t[4]=[ 04 03 02 01 ]
+   -> osmo_sockaddr_str_from_32h() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 5 }
   osmo_sockaddr_str_to_sockaddr_in() rc == 0 
sockaddr_in=02000005010203040000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = 
"1.2.3.4", .port = 5 }
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
@@ -26,10 +26,10 @@
   osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000
    -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = 
"0.0.0.0", .port = 0 }
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc == 0 uint8_t[4]=[ 00 00 00 00 ]
    -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 0 }
-  osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x0
-   -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 0 }
+  osmo_sockaddr_str_to_32h() rc == 0 uint8_t[4]=[ 00 00 00 00 ]
+   -> osmo_sockaddr_str_from_32h() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 0 }
   osmo_sockaddr_str_to_sockaddr_in() rc == 0 
sockaddr_in=02000000000000000000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = 
"0.0.0.0", .port = 0 }
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
@@ -45,10 +45,10 @@
   osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=ffffffff
    -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = 
"255.255.255.255", .port = 65535 }
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc == 0 uint32_t=0xffffffff
+  osmo_sockaddr_str_to_32() rc == 0 uint8_t[4]=[ ff ff ff ff ]
    -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = 
"255.255.255.255", .port = 65535 }
-  osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0xffffffff
-   -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = 
"255.255.255.255", .port = 65535 }
+  osmo_sockaddr_str_to_32h() rc == 0 uint8_t[4]=[ ff ff ff ff ]
+   -> osmo_sockaddr_str_from_32h() rc == 0 { .af = AF_INET, .ip = 
"255.255.255.255", .port = 65535 }
   osmo_sockaddr_str_to_sockaddr_in() rc == 0 
sockaddr_in=0200ffffffffffff0000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = 
"255.255.255.255", .port = 65535 }
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
@@ -63,8 +63,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=02000001000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -77,8 +77,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=02000001000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0200000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -92,8 +92,8 @@
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=00010002000300000000000000000004
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = 
"1:2:3::4", .port = 5 }
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000005000000000001000200030000000000000000000400000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"1:2:3::4", .port = 5 }
@@ -109,8 +109,8 @@
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=00000000000000000000000000000000
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", 
.port = 0 }
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000000000000000000000000000000000000000000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"::", .port = 0 }
@@ -126,8 +126,8 @@
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=00000000000000000000000000000001
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::1", 
.port = 0 }
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000000000000000000000000000000000000000000000100000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"::1", .port = 0 }
@@ -143,8 +143,8 @@
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=ffffffffffffffffffffffffffffffff
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = 
"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
@@ -161,8 +161,8 @@
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=ffffffffffffffffffffffffffffffff
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = 
"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
       DIFFERS!
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a00ffff00000000ffffffffffffffffffffffffffffffff00000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", .port = 65535 }
@@ -179,8 +179,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=0a000001000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -193,8 +193,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=0a000001000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0a00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -207,8 +207,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -222,8 +222,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=02000005000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -237,8 +237,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -252,8 +252,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=02000005000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0200000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -266,8 +266,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0a00000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -281,10 +281,10 @@
   osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=01020304
    -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = 
"1.2.3.4", .port = 0 }
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x4030201
+  osmo_sockaddr_str_to_32() rc == 0 uint8_t[4]=[ 01 02 03 04 ]
    -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 0 }
-  osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x1020304
-   -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 0 }
+  osmo_sockaddr_str_to_32h() rc == 0 uint8_t[4]=[ 04 03 02 01 ]
+   -> osmo_sockaddr_str_from_32h() rc == 0 { .af = AF_INET, .ip = "1.2.3.4", 
.port = 0 }
   osmo_sockaddr_str_to_sockaddr_in() rc == 0 
sockaddr_in=02000000010203040000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = 
"1.2.3.4", .port = 0 }
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
@@ -299,8 +299,8 @@
   osmo_sockaddr_str_is_nonzero() = false
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=02000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr() rc < 0 
sockaddr_storage=0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -316,8 +316,8 @@
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=0000000000000000000000010a090807
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = 
"::1:a09:807", .port = 1 }
       DIFFERS!
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000001000000000000000000000000000000010a09080700000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"::1:a09:807", .port = 1 }
@@ -335,10 +335,10 @@
   osmo_sockaddr_str_to_in_addr() rc == 0 in_addr=00000000
    -> osmo_sockaddr_str_from_in_addr() rc == 0 { .af = AF_INET, .ip = 
"0.0.0.0", .port = 5 }
   osmo_sockaddr_str_to_in6_addr() rc < 0 
in6_addr=00000000000000000000000000000000
-  osmo_sockaddr_str_to_32() rc == 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc == 0 uint8_t[4]=[ 00 00 00 00 ]
    -> osmo_sockaddr_str_from_32() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 5 }
-  osmo_sockaddr_str_to_32n() rc == 0 uint32_t=0x0
-   -> osmo_sockaddr_str_from_32n() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 5 }
+  osmo_sockaddr_str_to_32h() rc == 0 uint8_t[4]=[ 00 00 00 00 ]
+   -> osmo_sockaddr_str_from_32h() rc == 0 { .af = AF_INET, .ip = "0.0.0.0", 
.port = 5 }
   osmo_sockaddr_str_to_sockaddr_in() rc == 0 
sockaddr_in=02000005000000000000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in() rc == 0 { .af = AF_INET, .ip = 
"0.0.0.0", .port = 5 }
   osmo_sockaddr_str_to_sockaddr_in6() rc < 0 
sockaddr_in6=00000000000000000000000000000000000000000000000000000000
@@ -354,8 +354,8 @@
   osmo_sockaddr_str_to_in_addr() rc < 0 in_addr=00000000
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=00000000000000000000000000000000
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", 
.port = 5 }
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"::", .port = 5 }
@@ -372,8 +372,8 @@
   osmo_sockaddr_str_to_in6_addr() rc == 0 
in6_addr=00000000000000000000000000000000
    -> osmo_sockaddr_str_from_in6_addr() rc == 0 { .af = AF_INET6, .ip = "::", 
.port = 5 }
       DIFFERS!
-  osmo_sockaddr_str_to_32() rc < 0 uint32_t=0x0
-  osmo_sockaddr_str_to_32n() rc < 0 uint32_t=0x0
+  osmo_sockaddr_str_to_32() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
+  osmo_sockaddr_str_to_32h() rc < 0 uint8_t[4]=[ 00 00 00 00 ]
   osmo_sockaddr_str_to_sockaddr_in() rc < 0 
sockaddr_in=00000000000000000000000000000000
   osmo_sockaddr_str_to_sockaddr_in6() rc == 0 
sockaddr_in6=0a000005000000000000000000000000000000000000000000000000
    -> osmo_sockaddr_str_from_sockaddr_in6() rc == 0 { .af = AF_INET6, .ip = 
"::", .port = 5 }

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/16030
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I3cf150cc0cc06dd36039fbde091bc71b01697322
Gerrit-Change-Number: 16030
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to