diff options
author | Thomas Haller <thaller@redhat.com> | 2018-12-21 12:26:49 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-02-19 16:18:57 +0100 |
commit | 47123e493adf4c856ab69f328ed597b8177834d7 (patch) | |
tree | 473466864c30ac0847519841a300f5d6c0a93c67 | |
parent | c3f6356a39caf6bc7b159be81ebaa05b929b62f4 (diff) | |
download | NetworkManager-47123e493adf4c856ab69f328ed597b8177834d7.tar.gz |
shared: add nm_ip4_addr_is_localhost() util
-rw-r--r-- | shared/nm-utils/nm-shared-utils.h | 6 | ||||
-rw-r--r-- | shared/nm-utils/tests/test-shared-general.c | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/shared/nm-utils/nm-shared-utils.h b/shared/nm-utils/nm-shared-utils.h index 4758c4a083..4d9f20d073 100644 --- a/shared/nm-utils/nm-shared-utils.h +++ b/shared/nm-utils/nm-shared-utils.h @@ -140,6 +140,12 @@ nm_ip_addr_set (int addr_family, gpointer dst, gconstpointer src) : sizeof (struct in6_addr)); } +static inline gboolean +nm_ip4_addr_is_localhost (in_addr_t addr4) +{ + return (addr4 & htonl (0xFF000000u)) == htonl (0x7F000000u); +} + /*****************************************************************************/ #define NM_CMP_RETURN(c) \ diff --git a/shared/nm-utils/tests/test-shared-general.c b/shared/nm-utils/tests/test-shared-general.c index 7d22e56d99..b262757879 100644 --- a/shared/nm-utils/tests/test-shared-general.c +++ b/shared/nm-utils/tests/test-shared-general.c @@ -204,6 +204,19 @@ test_nm_strndup_a (void) /*****************************************************************************/ +static void +test_nm_ip4_addr_is_localhost (void) +{ + g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.0.0.0"))); + g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.0.0.1"))); + g_assert ( nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("127.5.0.1"))); + g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("126.5.0.1"))); + g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("128.5.0.1"))); + g_assert (!nm_ip4_addr_is_localhost (nmtst_inet4_from_string ("129.5.0.1"))); +} + +/*****************************************************************************/ + NMTST_DEFINE (); int main (int argc, char **argv) @@ -215,6 +228,7 @@ int main (int argc, char **argv) g_test_add_func ("/general/test_nm_make_strv", test_make_strv); g_test_add_func ("/general/test_nm_strdup_int", test_nm_strdup_int); g_test_add_func ("/general/test_nm_strndup_a", test_nm_strndup_a); + g_test_add_func ("/general/test_nm_ip4_addr_is_localhost", test_nm_ip4_addr_is_localhost); return g_test_run (); } |