From: Tom Gundersen Date: Thu, 3 Jan 2013 08:52:48 +0000 (+0100) Subject: nss-myhostname: remove non-Linux support X-Git-Tag: v197~23 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=07761ad65d6187773372645fc9539c7eb3b38e57 nss-myhostname: remove non-Linux support --- diff --git a/src/nss-myhostname/Makefile.am b/src/nss-myhostname/Makefile.am index f82b8d46e..7420f327d 100644 --- a/src/nss-myhostname/Makefile.am +++ b/src/nss-myhostname/Makefile.am @@ -45,11 +45,7 @@ libnss_myhostname_la_SOURCES = \ nss-myhostname.c \ ifconf.h -if LEGACY -libnss_myhostname_la_SOURCES += legacy.c -else libnss_myhostname_la_SOURCES += netlink.c -endif libnss_myhostname_la_LDFLAGS = \ -avoid-version \ diff --git a/src/nss-myhostname/configure.ac b/src/nss-myhostname/configure.ac index 30ebc44a8..0902bc600 100644 --- a/src/nss-myhostname/configure.ac +++ b/src/nss-myhostname/configure.ac @@ -34,11 +34,6 @@ AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/nss-myhostname/]) ac_default_prefix="/" AC_CANONICAL_HOST -case "$host_os" in - linux*) legacy=false ;; - *) legacy=true ;; -esac -AM_CONDITIONAL([LEGACY], [test x$legacy = xtrue]) # Checks for programs. AC_PROG_CC diff --git a/src/nss-myhostname/legacy.c b/src/nss-myhostname/legacy.c deleted file mode 100644 index 9c0bcadb6..000000000 --- a/src/nss-myhostname/legacy.c +++ /dev/null @@ -1,92 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of nss-myhostname. - - Copyright 2008-2011 Lennart Poettering - Copyright 2011 Robert millan - - nss-myhostname is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation; either version 2.1 of - the License, or (at your option) any later version. - - nss-myhostname is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with nss-myhostname; If not, see - . -***/ - -#include -#include -#include -#include -#include -#include - -#include "ifconf.h" - -int ifconf_acquire_addresses(struct address **_list, unsigned *_n_list) { - struct address *list = NULL; - unsigned n_list = 0; - struct ifaddrs *ifa = NULL; - int r = 1; - struct ifaddrs *i; - int ifindex = 0; - - if (getifaddrs(&ifa) == -1) { - r = -errno; - goto finish; - } - - for (i = ifa; i != NULL; i = i->ifa_next) { - int af; - const void *cp; - struct sockaddr_in6 *in6 = (struct sockaddr_in6 *) i->ifa_addr; - struct sockaddr_in *in = (struct sockaddr_in *) i->ifa_addr; - - if (! i->ifa_addr) - continue; - - af = i->ifa_addr->sa_family; - - if (af != AF_INET && af != AF_INET6) - continue; - - list = realloc(list, (n_list+1) * sizeof(struct address)); - if (!list) { - r = -ENOMEM; - goto finish; - } - - if (af == AF_INET6) - cp = &in6->sin6_addr; - else - cp = &in->sin_addr; - - list[n_list].family = af; - list[n_list].scope = 0; - memcpy(list[n_list].address, cp, PROTO_ADDRESS_SIZE(af)); - list[n_list].ifindex = ifindex++; - n_list++; - } - -finish: - if (ifa) - freeifaddrs(ifa); - - if (r < 0) - free(list); - else { - qsort(list, n_list, sizeof(struct address), address_compare); - - *_list = list; - *_n_list = n_list; - } - - return r; -}