Systemd/src/basic
Zbigniew Jędrzejewski-Szmek 87057e244b resolved: support libidn2 in addition to libidn
libidn2 2.0.0 supports IDNA2008, in contrast to libidn which supports IDNA2003.

https://bugzilla.redhat.com/show_bug.cgi?id=1449145
From that bug report:

Internationalized domain names exist for quite some time (IDNA2003), although
the protocols describing them have evolved in an incompatible way (IDNA2008).
These incompatibilities will prevent applications written for IDNA2003 to
access certain problematic domain names defined with IDNA2008, e.g., faß.de is
translated to domain xn--fa-hia.de with IDNA2008, while in IDNA2003 it is
translated to fass.de domain. That not only causes incompatibility problems,
but may be used as an attack vector to redirect users to different web sites.

v2:
- keep libidn support
- require libidn2 >= 2.0.0
v3:
- keep dns_name_apply_idna caller dumb, and keep the #ifdefs inside of the
  function.
- use both ±IDN and ±IDN2 in the version string
2017-05-11 14:25:01 -04:00
..
.gitignore build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
af-list.c build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
af-list.h Use provided buffer in dns_resource_key_to_string 2016-02-16 19:55:51 -05:00
af-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
alloc-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
alloc-util.h tree-wide: introduce free_and_replace helper 2016-10-16 23:35:39 -04:00
architecture.c basic/architecture: adjust Risc-V ifdef (#5304) 2017-02-10 23:48:22 +01:00
architecture.h basic/architecture: Add sub-architecture types for SuperH 2017-03-02 10:29:43 +01:00
arphrd-list.c build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
arphrd-list.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
arphrd-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
async.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
async.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
audit-util.c audit: disable if cannot create NETLINK_AUDIT socket 2016-10-06 11:49:00 +02:00
audit-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
barrier.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
barrier.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
bitmap.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
bitmap.h resolved: when using the ResolveRecord() bus call, adjust TTL for caching time 2016-06-21 13:20:48 +02:00
blkid-util.h build-sys: correct blkid.h includes 2017-04-06 14:33:02 +01:00
btrfs-ctree.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
btrfs-util.c copy: change the various copy_xyz() calls to take a unified flags parameter 2017-02-17 10:22:28 +01:00
btrfs-util.h nspawn: add fallback top normal copy/reflink when we cannot btrfs snapshot 2016-11-22 13:35:09 +01:00
build.h resolved: support libidn2 in addition to libidn 2017-05-11 14:25:01 -04:00
bus-label.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
bus-label.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
calendarspec.c calendarspec: fix duplicate detection (#5310) 2017-02-12 00:39:17 -05:00
calendarspec.h calendarspec: rename fields of CalendarComponent 2016-12-16 19:45:06 -05:00
cap-list.c build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
cap-list.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cap-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
capability-util.c user-util: rework maybe_setgroups() a bit 2016-10-06 19:04:10 +02:00
capability-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cgroup-util.c core: introduce cg_mask_from_string()/cg_mask_to_string() 2017-05-04 09:41:19 +02:00
cgroup-util.h core: introduce cg_mask_from_string()/cg_mask_to_string() 2017-05-04 09:41:19 +02:00
chattr-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
chattr-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
clock-util.c clock-util: be more tolerant in parsing /etc/adjtime 2016-02-26 12:33:41 +01:00
clock-util.h clock-util: make clock_is_localtime() testable and add initial tests 2016-02-26 11:28:49 +01:00
conf-files.c basic/conf-files: extend conf_files_list() to list unsuffixed files 2017-02-11 18:21:06 -05:00
conf-files.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
copy.c copy: a plain unlink() works here too 2017-02-21 21:41:32 +01:00
copy.h machined: when copying files from/to userns containers chown to root 2017-02-17 10:22:28 +01:00
cpu-set-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cpu-set-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
def.h basic/def.h: drop TTY_GID definition 2017-04-19 19:27:01 -04:00
device-nodes.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
device-nodes.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dirent-util.c basic: add readdir_no_dot and safe_glob functions 2017-04-27 13:20:08 -04:00
dirent-util.h basic: add readdir_no_dot and safe_glob functions 2017-04-27 13:20:08 -04:00
env-util.c basic/env-util: drop leftover comment 2017-02-21 11:53:42 -05:00
env-util.h basic: support default and alternate values for env expansion 2017-02-20 23:32:53 -05:00
errno-list.c build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
errno-list.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
errno-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
escape.c tree-wide: remove consecutive duplicate words in comments 2016-10-04 17:06:25 +02:00
escape.h Merge pull request #2589 from keszybz/resolve-tool-2 2016-02-13 11:15:41 +01:00
ether-addr-util.c util-lib: add ether_addr_from_string() 2016-05-17 16:55:20 -04:00
ether-addr-util.h util-lib: add ether_addr_from_string() 2016-05-17 16:55:20 -04:00
exec-util.c Tighten checking for variable validity 2017-02-20 23:32:53 -05:00
exec-util.h exec-util: implement a set of callbacks to pass variables around 2017-02-20 18:49:14 -05:00
exit-status.c core: run each system service with a fresh session keyring 2016-12-13 20:59:10 +01:00
exit-status.h core: run each system service with a fresh session keyring 2016-12-13 20:59:10 +01:00
extract-word.c shared/extract-word: replace enum with unsigned int to avoid undefined behaviour 2017-04-25 21:12:52 -04:00
extract-word.h shared/extract-word: replace enum with unsigned int to avoid undefined behaviour 2017-04-25 21:12:52 -04:00
fd-util.c tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
fd-util.h basic/fd-util: introduce stdio_unset_cloexec() function 2016-07-02 23:38:47 +06:00
fileio-label.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
fileio-label.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
fileio.c basic/fileio: use IN_SET 2017-02-21 11:15:51 -05:00
fileio.h basic: add new merge_env_file function 2017-02-20 18:49:14 -05:00
format-util.h Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
fs-util.c util-lib: Fix chase_symlinks() with absolute symlinks (#5185) 2017-01-31 16:21:15 +03:00
fs-util.h bootctl: create loader.conf only if it doesn't exist yet 2017-02-21 21:55:43 +01:00
generate-af-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-arphrd-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-cap-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-errno-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-gperfs.py Mark python scripts executable 2017-05-07 20:16:47 -04:00
glob-util.c basic: add readdir_no_dot and safe_glob functions 2017-04-27 13:20:08 -04:00
glob-util.h basic: add readdir_no_dot and safe_glob functions 2017-04-27 13:20:08 -04:00
gunicode.c basic: use for() loop instead of while() 2016-10-12 22:48:41 +02:00
gunicode.h tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
hash-funcs.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hash-funcs.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hashmap.c set: add new set_put_strsplit() call 2016-06-21 13:20:48 +02:00
hashmap.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hexdecoct.c hexdecoct: use typesafe new() instead of malloc() 2017-02-02 00:10:44 +01:00
hexdecoct.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-util.c hostname-util: default to the compile time default hostname in gethostname_malloc() 2017-02-17 10:19:26 +01:00
hostname-util.h networkd: add basic LLDP transmission support 2016-02-21 20:58:59 +01:00
in-addr-util.c socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
in-addr-util.h socket-util: add parse_ip_prefix (#5867) 2017-05-05 20:04:07 -04:00
io-util.c core: rework how we flush incoming traffic when a socket unit goes down 2016-05-06 13:29:26 +02:00
io-util.h tree-wide: minor formatting inconsistency cleanups 2016-02-23 14:20:34 -08:00
ioprio.h tree-wide: sort includes in *.h 2015-11-18 23:09:02 +01:00
journal-importer.c basic/journal-importer: Fix unaligned access in get_data_size() (#5622) 2017-03-21 22:36:50 -04:00
journal-importer.h Move export format parsing from src/journal-remote/ to src/basic/ 2017-02-14 23:56:48 -05:00
khash.c basic: check strdup result in khash_dup (#5176) 2017-01-31 08:27:14 +01:00
khash.h Fix missing space in comments (#5439) 2017-02-24 18:14:02 +01:00
label.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
label.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
list.h list: LIST_INSERT_BEFORE: update head if necessary (#4261) 2016-10-04 16:15:37 +02:00
locale-util.c locale-util: mark special_glyph() as _const_ 2016-05-09 15:17:57 -04:00
locale-util.h locale-util: mark special_glyph() as _const_ 2016-05-09 15:17:57 -04:00
lockfile-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
lockfile-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
log.c basic/log: expose log_dispatch 2017-04-21 13:39:03 -04:00
log.h basic/log: expose log_dispatch 2017-04-21 13:39:03 -04:00
login-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
login-util.h tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
macro.h networkd: add support to configure VLAN on bridge ports 2016-06-10 09:10:41 +02:00
Makefile build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
memfd-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
memfd-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mempool.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mempool.h tree-wide: make more global variables static 2016-02-13 12:28:28 +01:00
meson.build meson: reindent all files with 8 spaces 2017-04-23 21:47:29 -04:00
missing.h Add Geneve netlink properties to missing.h 2017-04-25 09:43:41 +05:30
missing_syscall.h missing: add renameat2() definition for 64bit arm (#5378) 2017-02-17 13:10:09 -05:00
mkdir-label.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mkdir.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mkdir.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount-util.c mount-util: accept that name_to_handle_at() might fail with EPERM (#5499) 2017-03-01 11:35:05 -05:00
mount-util.h Modify mount_propagation_flags_from_string to return a normal int code 2016-12-17 13:57:04 -05:00
MurmurHash2.c MurmurHash: all /* fall through */ comments 2017-01-31 19:35:04 -05:00
MurmurHash2.h build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
nss-util.h nss-util: silence warning about deprecated RES_USE_INET6 2017-01-31 19:55:33 -05:00
ordered-set.c networkd: use an OrderedSet instead of Set to collect link domains 2016-01-26 14:42:03 +01:00
ordered-set.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
parse-util.c fix includes 2017-03-15 13:21:10 +01:00
parse-util.h core: introduce parse_ip_port (#4825) 2016-12-06 12:21:45 +01:00
path-util.c fs-util: unify code we use to check if dirent's d_name is "." or ".." 2017-02-02 00:06:18 +01:00
path-util.h fs-util: unify code we use to check if dirent's d_name is "." or ".." 2017-02-02 00:06:18 +01:00
prioq.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
prioq.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
proc-cmdline.c Fix missing space in comments (#5439) 2017-02-24 18:14:02 +01:00
proc-cmdline.h util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
process-util.c Fix missing space in comments (#5439) 2017-02-24 18:14:02 +01:00
process-util.h util-lib: rework rename_process() to be able to make use of PR_SET_MM_ARG_START 2016-12-14 18:29:30 +01:00
random-util.c basic/random-util: add new header for getrandom() 2017-04-21 12:05:55 -04:00
random-util.h basic: include only what we use 2015-11-30 21:51:03 +01:00
ratelimit.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
ratelimit.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
raw-clone.h seccomp: on s390 the clone() parameters are reversed 2017-02-08 22:21:27 +01:00
refcnt.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
replace-var.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
replace-var.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
rlimit-util.c Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
rlimit-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
rm-rf.c tmpfiles: use safe_glob() 2017-04-27 13:20:30 -04:00
rm-rf.h util-lib: drop unnecessary NULL check 2016-12-07 18:38:41 +01:00
securebits.h build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
selinux-util.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-util.h selinux: always try to load the full selinux db 2016-03-01 20:39:30 -05:00
set.h basic/set: remove some spurious spaces 2016-08-04 23:53:07 -04:00
sigbus.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
sigbus.h tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
signal-util.c tree-wide: add new SIGNAL_VALID() macro-like function that validates signal numbers 2016-04-12 13:43:32 +02:00
signal-util.h tree-wide: add new SIGNAL_VALID() macro-like function that validates signal numbers 2016-04-12 13:43:32 +02:00
siphash24.c tree-wide: adjust fall through comments so that gcc is happy 2017-01-31 14:04:55 -05:00
siphash24.h shared: make sure foo.bar and foobar result in different domain name hashes 2016-01-11 19:39:59 +01:00
smack-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
smack-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket-label.c socket_address_listen: do not rely on errno (2) 2016-03-10 09:24:08 -05:00
socket-util.c socket-util: introduce address_label_valid 2017-02-28 16:53:58 +05:30
socket-util.h socket-util: introduce address_label_valid 2017-02-28 16:53:58 +05:30
sparse-endian.h sparse: avoid clash with __bitwise and __force from 4.10 linux/types.h (#5061) 2017-01-11 10:50:25 +01:00
special.h core: implicitly order units with PrivateTmp= after systemd-tmpfiles-setup.service 2016-12-27 23:25:24 +01:00
stat-util.c util-lib: rework path_check_fstype() and path_is_temporary_fs() to use O_PATH 2016-12-21 19:09:32 +01:00
stat-util.h util-lib: add new path_is_temporary_fs() API 2016-12-20 20:00:09 +01:00
stdio-util.h tree-wide: minor formatting inconsistency cleanups 2016-02-23 14:20:34 -08:00
strbuf.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
strbuf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
string-table.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
string-table.h string-table: make sure DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN() handles NULL strings nicely 2016-06-21 13:20:47 +02:00
string-util.c treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
string-util.h treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
strv.c Revert "basic/strv: allow NULLs to be inserted into strv" 2017-02-21 21:55:44 +01:00
strv.h strv: fix STRV_FOREACH_BACKWARDS() to be a single statement only 2016-10-07 20:14:38 +02:00
strxcpyx.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
strxcpyx.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
syslog-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
syslog-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
terminal-util.c core: reprint the question every 2 sec in ask_char() 2016-11-17 18:16:49 +01:00
terminal-util.h terminal-util: helper macro for highlighting functions 2016-10-17 11:48:12 -04:00
time-util.c time-util: Fix overflow check introduce in commit f977849 (#5216) 2017-02-03 16:13:55 +01:00
time-util.h time-util: refuse formatting/parsing times that we can't store 2017-02-02 20:12:31 +01:00
umask-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unaligned.h util-lib: add accessors for unaligned native endian words 2016-06-06 19:59:09 +02:00
unit-name.c tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
unit-name.h unit-name: remove spurious newline 2016-06-13 18:47:42 +02:00
user-util.c util-lib: add a comment explaining the user name rules we enforce 2016-12-27 18:09:58 +01:00
user-util.h core: do not fail in a container if we can't use setgroups 2016-10-06 11:49:00 +02:00
utf8.c tree-wide: make ++/-- usage consistent WRT spacing 2016-02-22 20:32:04 -08:00
utf8.h Ignore BOM in config files 2016-03-22 18:51:59 -04:00
util.c basic/util: move execute_directory() to separate file 2017-02-11 18:21:06 -05:00
util.h basic/util: move execute_directory() to separate file 2017-02-11 18:21:06 -05:00
verbs.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
verbs.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
virt.c Revert "util: Fine tune running_in_chroot() a bit" (#5506) 2017-03-01 15:22:02 -05:00
virt.h detect-virt: add --private-users switch to check if a userns is active 2016-10-26 20:12:51 -04:00
web-util.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
web-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
xattr-util.c tree-wide: no need to pass excess flags to open()/openat() if O_PATH is passed 2016-03-02 00:42:49 +06:00
xattr-util.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
xml.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
xml.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00