summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-08-17 23:35:09 +0200
committerLennart Poettering <lennart@poettering.net>2015-08-21 12:07:13 +0200
commit46a5e0e7421bcc47755ae15d430c15a16dc9e03e (patch)
treefe35c4ae0f8d063ebb5ad8dd77480bc3a21f9408 /src/basic
parent0d43ffef5ad277183ebaef259b2210bfaf913749 (diff)
hostname-util: introduce new is_gateway_hostname() call
This moves is_gateway() from nss-myhostname into the basic APIs, and makes it more like is_localhost(). Also, we rename it to is_gateway_hostname() to make it more expressive. Sharing this function in src/basic/ allows us to reuse the function for routing name requests in resolved (in a later commit).
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/hostname-util.c11
-rw-r--r--src/basic/hostname-util.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/basic/hostname-util.c b/src/basic/hostname-util.c
index d901a5e82b..dc5434fcd1 100644
--- a/src/basic/hostname-util.c
+++ b/src/basic/hostname-util.c
@@ -151,6 +151,17 @@ bool is_localhost(const char *hostname) {
endswith_no_case(hostname, ".localdomain.");
}
+bool is_gateway_hostname(const char *hostname) {
+ assert(hostname);
+
+ /* This tries to identify the valid syntaxes for the our
+ * synthetic "gateway" host. */
+
+ return
+ strcaseeq(hostname, "gateway") ||
+ strcaseeq(hostname, "gateway.");
+}
+
int sethostname_idempotent(const char *s) {
char buf[HOST_NAME_MAX + 1] = {};
diff --git a/src/basic/hostname-util.h b/src/basic/hostname-util.h
index 6f2b5b66ff..a1ca94980d 100644
--- a/src/basic/hostname-util.h
+++ b/src/basic/hostname-util.h
@@ -33,6 +33,7 @@ bool hostname_is_valid(const char *s, bool relax) _pure_;
char* hostname_cleanup(char *s);
bool is_localhost(const char *hostname);
+bool is_gateway_hostname(const char *hostname);
int sethostname_idempotent(const char *s);