about summary refs log tree commit diff
path: root/shared/systemd/nm-sd-utils-shared.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:36:45 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:36:45 +0100
commitd92aa7f298fe84d4cf686c5ad64b73438e00d377 (patch)
tree2f1f4c7b48cff9e63b0d0e3669bada3d9aeda72e /shared/systemd/nm-sd-utils-shared.c
parenta82e048a943092315a32d745c99e0f5635e29134 (diff)
parent3a56bce6c0ea7ba0fe269520547740783b342e0d (diff)
Merge branch 'upstream/latest' of https://salsa.debian.org/utopia-team/network-manager into upstream/latest
Diffstat (limited to 'shared/systemd/nm-sd-utils-shared.c')
-rw-r--r--shared/systemd/nm-sd-utils-shared.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/shared/systemd/nm-sd-utils-shared.c b/shared/systemd/nm-sd-utils-shared.c
index 83c91af7..f0504aa9 100644
--- a/shared/systemd/nm-sd-utils-shared.c
+++ b/shared/systemd/nm-sd-utils-shared.c
@@ -1,9 +1,9 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
 /*
  * Copyright (C) 2018 Red Hat, Inc.
  */
 
-#include "nm-default.h"
+#include "shared/systemd/nm-default-systemd-shared.h"
 
 #include "nm-sd-utils-shared.h"
 
@@ -88,7 +88,27 @@ nm_sd_dns_name_is_valid(const char *s)
 gboolean
 nm_sd_hostname_is_valid(const char *s, bool allow_trailing_dot)
 {
-    return hostname_is_valid(s, allow_trailing_dot);
+    return hostname_is_valid(s,
+                             allow_trailing_dot ? VALID_HOSTNAME_TRAILING_DOT
+                                                : (ValidHostnameFlags) 0);
+}
+
+char *
+nm_sd_dns_name_normalize(const char *s)
+{
+    nm_auto_free char *n = NULL;
+    int                r;
+
+    r = dns_name_normalize(s, 0, &n);
+    if (r < 0)
+        return NULL;
+
+    nm_assert(n);
+
+    /* usually we try not to mix malloc/g_malloc and free/g_free. In practice,
+     * they are the same. So here we return a buffer allocated with malloc(),
+     * and the caller should free it with g_free(). */
+    return g_steal_pointer(&n);
 }
 
 /*****************************************************************************/