summaryrefslogtreecommitdiff
path: root/src/nss-myhostname
Commit message (Collapse)AuthorAgeFilesLines
* tree-wide: use `!IN_SET(..)` for `a != b && a != c && …`Andreas Rammhold2017-10-021-1/+1
| | | | | | The included cocci was used to generate the changes. Thanks to @flo-wer for pointing this case out.
* Merge pull request #6420 from keszybz/gateway-nameLennart Poettering2017-08-011-3/+3
|\ | | | | Rename "gateway" to "_gateway" and other resolved changes
| * resolved,nss-myhostname: use _gateway for the gatewayZbigniew Jędrzejewski-Szmek2017-07-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the symbolic name for the default gateway from "gateway" to "_gateway". A new configuration option -Dcompat-gateway-hostname=true|false is added. If it is set, the old name is also supported, but the new name is used as the canonical name in either case. This is intended as a temporary measure to make the transition easier, and the option should be removed after a few releases, at which point only the new name will be used. The old "gateway" name mostly works OK, but hasn't gained widespread acceptance because of the following (potential) conflicts: - it is completely legal to have a host called "gateway" - there is no guarantee that "gateway" will not be registered as a TLD, even though this currently seems unlikely. (Even then, there would be no conflict except for the case when the top-level domain itself was being resolved. The "gateway" or "_gateway" labels have only special meaning when the whole name consists of a single label, so resolution of any subdomain of the hypothetical gateway. TLD would still work OK. ) Moving to "_gateway" avoids those issues because underscores are not allowed in host names (RFC 1123, §2.1) and avoids potential conflicts with local or global names. v2: - simplify the logic to hardcode "_gateway" and allow -Dcompat-gateway-hostname=true as a temporary measure.
* | string-util: add strlen_ptr() helperLennart Poettering2017-07-311-1/+1
|/ | | | | strlen_ptr() is to strlen() what streq_ptr() is to streq(): i.e. it handles NULL strings in a smart way.
* build-sys: drop automake supportZbigniew Jędrzejewski-Szmek2017-07-181-1/+0
| | | | | v2: - also mention m4
* nss: fix error to ERANGE for nss calls with too little buffer space (#5365)Lennart Poettering2017-02-161-4/+4
| | | | | | | This is a follow-up for #5359, fixing the error codes in a similar way for the other NSS modules. (user/group lookup calls don't have h_errnop, hence we don't update that in those cases)
* nss-myhostname: don't fill scopeid for non-link-local addressesLennart Poettering2017-02-091-7/+4
| | | | Inspired by #4465, we shouldn't do this for nss-myhostname either.
* treewide: fix typos and remove accidental repetition of wordsTorstein Husebø2016-07-111-1/+1
|
* tree-wide: htonl() is weird, let's use htobe32() instead (#3538)Lennart Poettering2016-06-151-5/+5
| | | Super-important change, yeah!
* nss-myhostname: remove dead test of variable that was not setZbigniew Jędrzejewski-Szmek2016-04-051-3/+2
|
* nss-myhostname: trivial style fixesZbigniew Jędrzejewski-Szmek2016-04-021-17/+13
|
* tree-wide: remove Emacs lines from all filesDaniel Mack2016-02-101-2/+0
| | | | | This should be handled fine now by .dir-locals.el, so need to carry that stuff in every file.
* nss: block various signals while running NSS lookupsLennart Poettering2016-01-271-0/+7
| | | | | | | Let's make sure our poll() calls don't get interrupted where they shouldn't (SIGALRM, ...), but allow them to be interrupted where they should (SIGINT, ...). Fixes #1965
* util-lib: split out allocation calls into alloc-util.[ch]Lennart Poettering2015-10-271-0/+1
|
* util-lib: split our string related calls from util.[ch] into its own file ↵Lennart Poettering2015-10-241-4/+5
| | | | | | | | | | | | | | string-util.[ch] There are more than enough calls doing string manipulations to deserve its own files, hence do something about it. This patch also sorts the #include blocks of all files that needed to be updated, according to the sorting suggestions from CODING_STYLE. Since pretty much every file needs our string manipulation functions this effectively means that most files have sorted #include blocks now. Also touches a few unrelated include files.
* hostname-util: introduce new is_gateway_hostname() callLennart Poettering2015-08-211-9/+2
| | | | | | | | | 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).
* nss-myhostname: use LOOPBACK_IFINDEX instead of if_nametoindex("lo")Lennart Poettering2015-08-141-2/+1
| | | | | | Given that we already hardocde the loopback ifindex, following the kernel's own logic, we can replace the invocation of if_nametoindex("lo") with LOOPBACK_IFINDEX.
* tree-wide: introduce mfree()David Herrmann2015-07-311-2/+1
| | | | | | | | | Pretty trivial helper which wraps free() but returns NULL, so we can simplify this: free(foobar); foobar = NULL; to this: foobar = mfree(foobar);
* util: split all hostname related calls into hostname-util.cLennart Poettering2015-05-181-0/+1
|
* remove unused includesThomas Hindoe Paaboel Andersen2015-02-231-4/+0
| | | | | | This patch removes includes that are not used. The removals were found with include-what-you-use which checks if any of the symbols from a header is in use.
* nss-myhostname: always will in canonical hostname field when resolving ↵Lennart Poettering2015-01-051-17/+19
| | | | | | addresses to hostnames https://bugs.freedesktop.org/show_bug.cgi?id=87634
* nss-myhostname: introduce is_gateway() similar to the existing is_hostname()Lennart Poettering2014-12-191-2/+9
|
* nss-myhostname: also recognize "gateway."Harald Hoyer2014-12-161-2/+2
| | | | | "gateway." skips adding the domain search path and saves some queries to the nameserver.
* rtnl: when querying local addresses and gateways, take address family into ↵Lennart Poettering2014-12-041-6/+6
| | | | account
* nss-myhostname: always resolve the host name "gateway" to the local default ↵Lennart Poettering2014-12-031-19/+59
| | | | | | | | gateway This is useful inside of containers or local networks to intrdouce a stable name of the default gateway host (in case of containers usually the host, in case of LANs usually local router).
* networkd: add minimal client tool "networkd" to query network statusLennart Poettering2014-08-121-3/+3
| | | | | | | In the long run this should become a full fledged client to networkd (but not before networkd learns bus support). For now, just pull interesting data out of networkd, udev, and rtnl and present it to the user, in a simple but useful output.
* nss: always explicitly reset all error variablesLennart Poettering2014-08-011-0/+10
| | | | | | | glibc appears to be broken if we don't explicitly reset all error variables, let's work around that. https://bugzilla.redhat.com/show_bug.cgi?id=1125975
* nss-myhostname: don't include assert.h twiceLennart Poettering2014-07-231-5/+0
|
* shared: rename PROTO_ADDRESS_SIZE() to FAMILY_ADDRESS_SIZE()Lennart Poettering2014-07-181-3/+3
| | | | | We mostly use "family" to refer to AF_INET, AF_INET6, etc, let's use this terminology here, too
* nss: various minor fixes to nss-myhostname + nss-mymachinesLennart Poettering2014-07-161-5/+8
|
* nss-myhostname: simplify array building a bitLennart Poettering2014-07-111-15/+8
|
* nss-myhostname: move NSS boilerplate to nss-util.hLennart Poettering2014-07-102-94/+9
|
* nss-myhostname: move local address listing logic into shared, so that we can ↵Lennart Poettering2014-07-103-210/+24
| | | | make use of it from machined
* nss-myhostname: only export the NSS entry point symbols, nothing elseLennart Poettering2014-07-101-0/+19
|
* nss-myhostname: following the usual naming scheme for .c/.h filesLennart Poettering2014-07-103-9/+8
|
* nss-myhostname: various modernizationsLennart Poettering2014-07-103-117/+117
|
* nss-myhostname: port to sd-rtnlTom Gundersen2014-04-191-155/+90
|
* Remove duplicate includesKarel Zak2013-11-181-1/+0
|
* use #pragma once instead of foo*foo define guardsShawn Landden2013-11-181-7/+2
|
* Never call qsort on potentially NULL arraysZbigniew Jędrzejewski-Szmek2013-10-131-1/+2
| | | | | | This extends 62678ded 'efi: never call qsort on potentially NULL arrays' to all other places where qsort is used and it is not obvious that the count is non-zero.
* build-sys: add makefile stub link to nss-myhostname/Lennart Poettering2013-04-301-0/+1
|
* nss-myhostname: resolve 'localhost' so that /etc/hosts becomes optionalLennart Poettering2013-04-241-50/+130
| | | | | | | | | | | | | | This makes sure nss-myhostname not only resolves the local host name to 127.0.0.2/::1 but also the host name 'localhost: to 127.0.0.1/::1. This makes installation of /etc/passwd optional, as it usually only includes a mapping for 'localhost'. This change also resolves ::1 to the local hostname (as before), but also lists 'localhost' as an alias. This means look-ups are now fully reversible, even though they are 1:n mappings. Finally, the module will no longer erroneously claim that local IP addresses which aren't on the loopback device were.
* nss-myhostname: ensure that glibc's assert is usedDave Reisner2013-04-191-1/+5
|
* move _cleanup_ attribute in front of the typeHarald Hoyer2013-04-181-1/+1
| | | | http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html
* Use initalization instead of explicit zeroing in more placesZbigniew Jędrzejewski-Szmek2013-04-101-12/+7
|
* nss-myhostname: do not use _cleanup_Zbigniew Jędrzejewski-Szmek2013-04-021-8/+12
| | | | | | | | | | mss-myhostname wasn't working because of underlinking. Instead of fixing the underlinking, just remove the use of _cleanup_ macros. It is impolite to use our utility functions in modules designed to be loaded by others. So cleanup macros which (at some point) call assert which calls log_assert_failed, should not be used. Revert this part of commit d73c3269c.
* nss-myhostname: use _cleanup_ and split function into twoZbigniew Jędrzejewski-Szmek2013-03-311-131/+125
| | | | | | | The triply nested loop is just too much. Let's split out the middle loop's body, so the whole thing is easier to read. Also modernize the style a bit, using structure initialization to avoid memset and such.
* nss-myhostname: copy first result to preallocated bufferEelco Dolstra2013-02-071-1/+5
| | | | | | | | | | | | | | | Fixes a segfault in nscd when using nss-myhostname. Nscd expects that an NSS module's gethostbyname4_r function returns its first result in the pre-allocated gaih_addrtuple denoted by **pat. (See nscd/aicache.c in the Glibc sources.) However, nss-myhostname doesn't fill in **pat but allocates the first result in ‘buffer’, then sets *pat. So nscd crashes (e.g. when running ‘getent ahosts my-machine’). Hard to tell if this is a bug in nscd, since there doesn't seem to be a proper API spec for gethostbyname4_r. But in any case, this patch fixes the crash by copying the first result to **pat.
* nss-myhostname: remove redundant .gitignoreTom Gundersen2013-01-071-24/+0
|
* nss-myhostname: integrate documentationTom Gundersen2013-01-074-231/+0
| | | | | Converted from html to xml and changed the style to fit into the other manpages.