Change in libosmocore[master]: osmo_sockaddr_str: fix 32bit addr mixup of host/network byte order

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Mon Nov 11 19:12:43 UTC 2019


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 <nhofmeyr at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191111/8b289f7e/attachment.htm>


More information about the gerrit-log mailing list