diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-05-04 06:38:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-05-04 06:38:07 +0000 |
commit | 77dd4c3be8d3acd04190ad54a4585ef2d4108ba2 (patch) | |
tree | b0be03383534addc39fee4f9eabcee4671643fb5 /posix | |
parent | 5631e740ff086e9c978e817509bee9d73bceeff3 (diff) | |
download | glibc-77dd4c3be8d3acd04190ad54a4585ef2d4108ba2.tar glibc-77dd4c3be8d3acd04190ad54a4585ef2d4108ba2.tar.gz glibc-77dd4c3be8d3acd04190ad54a4585ef2d4108ba2.tar.bz2 glibc-77dd4c3be8d3acd04190ad54a4585ef2d4108ba2.zip |
* sysdeps/posix/getaddrinfo.c: Implement configuration file
handling. /etc/gai.conf can contain replacements for the label
and precedence table. Fix byte order of default label and
precedence table.
* posix/gai.conf: New file.
* posix/tst-rfc3484.c: Adjust for changes to getaddrinfo.c.
* posix/tst-rfc3484-2.c: Likewise.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/gai.conf | 40 | ||||
-rw-r--r-- | posix/tst-rfc3484-2.c | 12 | ||||
-rw-r--r-- | posix/tst-rfc3484.c | 12 |
3 files changed, 64 insertions, 0 deletions
diff --git a/posix/gai.conf b/posix/gai.conf new file mode 100644 index 0000000000..5f063f5c3c --- /dev/null +++ b/posix/gai.conf @@ -0,0 +1,40 @@ +# Configuration for getaddrinfo(3). +# +# So far only configuration for the destination address sorting is needed. +# RFC 3484 governs the sorting. But the RFC also says that system +# administrators should be able to overwrite the defaults. This can be +# achieved here. +# +# All lines have an initial identifier specifying the option followed by +# up to two values. Information specified in this file replaces the +# default information. Complete absence of data of one kind causes the +# appropriate default information to be used. The supported commands include: +# +# reload <yes|no> +# If set to yes, each getaddrinfo(3) call will check whether this file +# changed and if necessary reload. This option should not really be +# used. There are possible runtime problems. The default is no. +# +# label <mask> <value> +# Add another rule to the RFC 3484 label table. See section 2.1 in +# RFC 3484. The default is: +# +#label ::1/128 0 +#label ::/0 1 +#label 2002::/16 2 +#label ::/96 3 +#label ::ffff:0:0/96 4 +# +# precedence <mask> <value> +# Add another rule the to RFC 3484 precendence table. See section 2.1 +# and 10.3 in RFC 3484. The default is: +# +#precendence ::1/128 50 +#precendence ::/0 40 +#precendence 2002::/16 30 +#precendence ::/96 20 +#precendence ::ffff:0:0/96 10 +# +# For sites which prefer IPv4 connections change the last line to +# +#precendence ::ffff:0:0/96 100 diff --git a/posix/tst-rfc3484-2.c b/posix/tst-rfc3484-2.c index c25b0c2172..2536da8f87 100644 --- a/posix/tst-rfc3484-2.c +++ b/posix/tst-rfc3484-2.c @@ -45,9 +45,21 @@ service_user *__nss_hosts_database attribute_hidden; #endif +ssize_t +__getline (char **lineptr, size_t *n, FILE *s) +{ + *lineptr = NULL; + *n = 0; + return 0; +} + + static int do_test (void) { + labels = default_labels; + precedence = default_precedence; + struct sockaddr_in so1; so1.sin_family = AF_INET; so1.sin_addr.s_addr = h (0xc0a85f19); diff --git a/posix/tst-rfc3484.c b/posix/tst-rfc3484.c index 8d273aec84..2e74e9737f 100644 --- a/posix/tst-rfc3484.c +++ b/posix/tst-rfc3484.c @@ -64,9 +64,21 @@ static int expected[naddrs] = }; +ssize_t +__getline (char **lineptr, size_t *n, FILE *s) +{ + *lineptr = NULL; + *n = 0; + return 0; +} + + static int do_test (void) { + labels = default_labels; + precedence = default_precedence; + struct sockaddr_in so; so.sin_family = AF_INET; so.sin_addr.s_addr = h (0xc0a85f19); |