<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/glibc.git/include/ifaddrs.h, branch master</title>
<subtitle>GNU C Library
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/glibc.git/atom?h=master</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/'/>
<updated>2023-08-11T08:10:16Z</updated>
<entry>
<title>nscd: Do not rebuild getaddrinfo (bug 30709)</title>
<updated>2023-08-11T08:10:16Z</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2023-08-11T08:10:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=039ff51ac7e02db1cfc0c23e38ac7bfbb00221d1'/>
<id>urn:sha1:039ff51ac7e02db1cfc0c23e38ac7bfbb00221d1</id>
<content type='text'>
The nscd daemon caches hosts data from NSS modules verbatim, without
filtering protocol families or sorting them (otherwise separate caches
would be needed for certain ai_flags combinations).  The cache
implementation is complete separate from the getaddrinfo code.  This
means that rebuilding getaddrinfo is not needed.  The only function
actually used is __bump_nl_timestamp from check_pf.c, and this change
moves it into nscd/connections.c.

Tested on x86_64-linux-gnu with -fexceptions, built with
build-many-glibcs.py.  I also backported this patch into a distribution
that still supports nscd and verified manually that caching still works.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
</content>
</entry>
<entry>
<title>hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition</title>
<updated>2017-09-27T23:05:18Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2017-09-27T22:19:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=4009ddc69225d571772aaea597615a0c032e14ab'/>
<id>urn:sha1:4009ddc69225d571772aaea597615a0c032e14ab</id>
<content type='text'>
from `freeaddrinfo'.

`getifaddrs' and `freeifaddrs' are not in POSIX, they should not be
exposed along `freeaddrinfo' (through `__check_pf') which is POSIX.

	* include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
	and use libc_hidden_def on them.
	* inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
	them.
	* sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
	* inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
	instead of getifaddrs and freeifaddrs.
</content>
</entry>
<entry>
<title>Installed header hygiene (BZ#20366): Test of installed headers.</title>
<updated>2016-09-23T12:43:56Z</updated>
<author>
<name>Zack Weinberg</name>
<email>zackw@panix.com</email>
</author>
<published>2016-08-24T01:19:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=4775578486c8ee2aa09b402eb272eb932e7e0691'/>
<id>urn:sha1:4775578486c8ee2aa09b402eb272eb932e7e0691</id>
<content type='text'>
This adds a test to ensure that the problems fixed in the last several
patches do not recur.  Each directory checks the headers that it
installs for two properties: first, each header must be compilable in
isolation, as both C and C++, under a representative combination of
language and library conformance levels; second, there is a blacklist
of identifiers that may not appear in any installed header, currently
consisting of the legacy BSD typedefs.  (There is an exemption for the
headers that define those typedefs, and for the RPC headers.  It may be
necessary to make this more sophisticated if we add more stuff to the
blacklist in the future.)

In order for this test to work correctly, every wrapper header
that actually defines something must guard those definitions with
 #ifndef _ISOMAC.  This is the existing mechanism used by the conform/
tests to tell wrapper headers not to define anything that the public
header wouldn't, and not to use anything from libc-symbols.h.  conform/
only cares for headers that we need to check for standards conformance,
whereas this test applies to *every* header.  (Headers in include/ that
are either installed directly, or are internal-use-only and do *not*
correspond to any installed header, are not affected.)

	* scripts/check-installed-headers.sh: New script.
	* Rules: In each directory that defines header files to be installed,
	run check-installed-headers.sh on them as a special test.
	* Makefile: Likewise for the headers installed at top level.

	* include/aliases.h, include/alloca.h, include/argz.h
	* include/arpa/nameser.h, include/arpa/nameser_compat.h
	* include/elf.h, include/envz.h, include/err.h
	* include/execinfo.h, include/fpu_control.h, include/getopt.h
	* include/gshadow.h, include/ifaddrs.h, include/libintl.h
	* include/link.h, include/malloc.h, include/mcheck.h
	* include/mntent.h, include/netinet/ether.h
	* include/nss.h, include/obstack.h, include/printf.h
	* include/pty.h, include/resolv.h, include/rpc/auth.h
	* include/rpc/auth_des.h, include/rpc/auth_unix.h
	* include/rpc/clnt.h, include/rpc/des_crypt.h
	* include/rpc/key_prot.h, include/rpc/netdb.h
	* include/rpc/pmap_clnt.h, include/rpc/pmap_prot.h
	* include/rpc/pmap_rmt.h, include/rpc/rpc.h
	* include/rpc/rpc_msg.h, include/rpc/svc.h
	* include/rpc/svc_auth.h, include/rpc/xdr.h
	* include/rpcsvc/nis_callback.h, include/rpcsvc/nislib.h
	* include/rpcsvc/yp.h, include/rpcsvc/ypclnt.h
	* include/rpcsvc/ypupd.h, include/shadow.h
	* include/stdio_ext.h, include/sys/epoll.h
	* include/sys/file.h, include/sys/gmon.h, include/sys/ioctl.h
	* include/sys/prctl.h, include/sys/profil.h
	* include/sys/statfs.h, include/sys/sysctl.h
	* include/sys/sysinfo.h, include/ttyent.h, include/utmp.h
	* sysdeps/arm/nacl/include/bits/setjmp.h
	* sysdeps/mips/include/sys/asm.h
	* sysdeps/unix/sysv/linux/include/sys/sysinfo.h
	* sysdeps/unix/sysv/linux/include/sys/timex.h
	* sysdeps/x86/fpu/include/bits/fenv.h:
	Add #ifndef _ISOMAC guard around internal declarations.
	Add multiple-inclusion guard if not already present.
</content>
</entry>
<entry>
<title>Remove IS_IN_nscd</title>
<updated>2014-11-24T06:11:44Z</updated>
<author>
<name>Siddhesh Poyarekar</name>
<email>siddhesh@redhat.com</email>
</author>
<published>2014-11-20T07:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=85f36372aa9b7c4f8e1ebb6a3bf2c0785a019612'/>
<id>urn:sha1:85f36372aa9b7c4f8e1ebb6a3bf2c0785a019612</id>
<content type='text'>
Replace with IS_IN (nscd).  Generated code unchanged on x86_64.

	* include/ifaddrs.h: Use IS_IN.
	* inet/check_pf.c: Likewise.
	* sysdeps/unix/sysv/linux/check_pf.c: Likewise.
	* nscd/Makefile (CPPFLAGS-nscd): Remove IS_IN_nscd.
</content>
</entry>
<entry>
<title>Cache network interface information</title>
<updated>2011-10-31T05:51:16Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@gmail.com</email>
</author>
<published>2011-10-31T05:51:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=3a2c02424d9824f5cdea4ebd32ff929b2b1f49c6'/>
<id>urn:sha1:3a2c02424d9824f5cdea4ebd32ff929b2b1f49c6</id>
<content type='text'>
Whenever getaddrinfo needed network interface information it used the
netlink interface to read the information every single time.  The
problem is that this information can change at any time.

The patch implements monitoring of the network interfaces through
nscd.  If no change is detected the previously read information can
be reused (which is the norm).  This timestamp information is also
made available to other processes using the shared memory segment
between nscd and those processes.
</content>
</entry>
<entry>
<title>* include/ifaddrs.h: Remove in6ai_temporary.</title>
<updated>2007-11-14T06:58:35Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@redhat.com</email>
</author>
<published>2007-11-14T06:58:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=773e79b3162dff01e080cb152ff77945244f5a17'/>
<id>urn:sha1:773e79b3162dff01e080cb152ff77945244f5a17</id>
<content type='text'>
	(struct in6addrinfo): Add index element.
	Declare __check_native.
	* inet/Makefile (aux): Add check_native.
	* sysdeps/unix/sysv/linux/check_native.c: New file.
	* sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
	IFA_F_TEMPORARY.  Pass back ifa_index.
	* sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
	(rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
	call __check_native if necessary.
	(getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
	to sort addresses.  Pass information about the results.
	* posix/tst-rfc3484.c: Adjust for addition of index field and change
	of rfc3484_sort interface.
	* posix/tst-rfc3484-2.c: Likewise.
</content>
</entry>
<entry>
<title>(struct in6addrinfo): Add prefixlen field.</title>
<updated>2007-11-12T23:55:15Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@redhat.com</email>
</author>
<published>2007-11-12T23:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=c1600ce36dc0c58185ec67327316d02639da628b'/>
<id>urn:sha1:c1600ce36dc0c58185ec67327316d02639da628b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* sysdeps/posix/getaddrinfo.c (rfc3484_sort): Implement rule 4,</title>
<updated>2006-09-24T17:14:11Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@redhat.com</email>
</author>
<published>2006-09-24T17:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=457b559e2ec7bd66c6da9e99d27f0d1723da4874'/>
<id>urn:sha1:457b559e2ec7bd66c6da9e99d27f0d1723da4874</id>
<content type='text'>
	home addresses.
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Recognize
	IFA_F_HOMEADDRESS flag for interfaces.
	* include/ifaddrs.h (struct in6addrinfo): Define
	in6ai_homeaddress.
</content>
</entry>
<entry>
<title>* include/ifaddrs.h: Get uint32_t definition.</title>
<updated>2006-04-20T06:27:35Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@redhat.com</email>
</author>
<published>2006-04-20T06:27:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=86e054490143ce2d4695cc3456190a2e57792808'/>
<id>urn:sha1:86e054490143ce2d4695cc3456190a2e57792808</id>
<content type='text'>
	* posix/tst-rfc3484.c: Update fake __check_pf implementation.
	* posix/tst-rfc3484-2.c: Likewise.
</content>
</entry>
<entry>
<title>* include/ifaddrs.h: Define struct in6addrinfo.</title>
<updated>2006-04-16T21:34:32Z</updated>
<author>
<name>Ulrich Drepper</name>
<email>drepper@redhat.com</email>
</author>
<published>2006-04-16T21:34:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/glibc.git/commit/?id=3af48b5b3106e1bb1de4efcabb86cd1fafdff8af'/>
<id>urn:sha1:3af48b5b3106e1bb1de4efcabb86cd1fafdff8af</id>
<content type='text'>
	Add two more parameters to __check_pf.
	* sysdeps/unix/sysv/linux/check_pf.c: When using the netlink
	interface, determine whether IPv6 addresses are deprecated or
	temporary.  Create array of those addresses.
	* inet/check_pf.c: Always tell caller there are no depracated
	and temporary addresses.
	* sysdeps/posix/getaddrinfo.c: Pretty printing.
	(struct sort_result): Add source_addr_flags field.
	(rfc3484_sort): Implement rule 3 and 7.
	(in6aicmp): New function.
	(getaddrinfo): Call __check_pf also when we need info about IPv6
	source addresses.  When creating array for sorting addresses,
	look up deprecated and temporary addresses returned by __check_pf
	and add flag if necessary.
</content>
</entry>
</feed>
