chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
main: Fix a typo emergency shall->emergency shell
[elogind.git]
/
src
/
hostnamed.c
diff --git
a/src/hostnamed.c
b/src/hostnamed.c
index 91a82c8255fa2962b369b9eadb2982fe628a1c7a..ce690453445ba7db8c8605cf483aa7733ce051c7 100644
(file)
--- a/
src/hostnamed.c
+++ b/
src/hostnamed.c
@@
-24,6
+24,7
@@
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
+#include <dlfcn.h>
#include "util.h"
#include "strv.h"
#include "util.h"
#include "strv.h"
@@
-110,6
+111,18
@@
static int read_data(void) {
return 0;
}
return 0;
}
+static bool check_nss(void) {
+
+ void *dl;
+
+ if ((dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY))) {
+ dlclose(dl);
+ return true;
+ }
+
+ return false;
+}
+
static const char* fallback_icon_name(void) {
#if defined(__i386__) || defined(__x86_64__)
static const char* fallback_icon_name(void) {
#if defined(__i386__) || defined(__x86_64__)
@@
-663,6
+676,9
@@
int main(int argc, char *argv[]) {
goto finish;
}
goto finish;
}
+ if (!check_nss())
+ log_warning("Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!");
+
umask(0022);
r = read_data();
umask(0022);
r = read_data();