* sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
[glibc.git] / ChangeLog
blob2718e6b0d39e1e9e8e227dafc9b193815046138a
1 2006-05-30  Ulrich Drepper  <drepper@redhat.com>
3         * sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
4         the correct place.
6 2006-05-29  Ulrich Drepper  <drepper@redhat.com>
8         * nscd/nscd.h (struct database_dyn): Add prunelock field.
9         * nscd/cache.c (prune_cache): Take prunelock before starting the
10         work.  Just return in case it is already taken.
11         * nscd/connections.c (dbs): Initialize .prunelock.
13 2006-05-25  Ulrich Drepper  <drepper@redhat.com>
15         * nis/nis_removemember.c (nis_removemember): Avoid unnecessary
16         copying.  No need to allocate new array for group members.  Just
17         move the pointers and update the size.
19         * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
20         Avoid memory leak in case realloc fails.  Simplification for
21         better code generation.
23         Avoid deprecation warning because of libc_hidden_proto for
24         inet6_option_alloc.
25         * inet/inet6_option.c (option_alloc): Renamed from
26         inet6_option_alloc.  Made static.
27         (inet6_option_alloc): Now a simple wrapper around option_alloc.
28         (inet6_option_append): Call option_alloc.
29         * include/netinet/in.h: Remove libc_hidden_proto for
30         inet6_option_alloc.
32         * nis/nis_callback.c (__nis_create_callback): Always call xdr_free
33         for cleanup when cb!=NULL [Coverity CID 233].
35 2006-05-24  Ulrich Drepper  <drepper@redhat.com>
37         [BZ #2693]
38         * inet/Makefile (routines): Add inet6_opt and inet6_rth.
39         * inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
40         inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
41         inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
42         inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
43         and inet6_rth_getaddr.
44         * inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
45         array.
46         * inet/netinet/in.h (struct ip6_mtuinfo): Define.
47         Mark inet6_option_* interfaces as deprecated.
48         Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
49         inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
50         inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
51         inet6_rth_segments, and inet6_rth_getaddr.
52         * inet/inet6_opt.c: New file.
53         * inet/inet6_rth.c: New file.
55         * inet/netinet/icmp6.h: Pretty printing.
57         [BZ #2683]
58         * elf/dl-addr.c (_dl_addr): Don't match undefined references.
60 2006-05-23  Ulrich Drepper  <drepper@redhat.com>
62         * nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
63         doing it all here.  When server does not know the answer do not
64         fail immediate, try parent first.
66         * nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
67         overflow test.
69 2006-05-20  Ulrich Drepper  <drepper@redhat.com>
71         * nis/nis_call.c (__prepare_niscall): New function.  Split out
72         from __do_niscall.
73         * nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
74         and exported.
75         (__follow_path): New function.  Split out from nis_list.
76         * nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
77         _xdr_nis_result.
78         * nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
79         _xdr_nis_result.
80         * nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
81         and __follow_path.
82         * nis/Versions: Export __prepare_niscall, __create_ib_request,
83         __follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
84         from libnsl for version GLIBC_PRIVATE.
85         * nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
86         Remove entry parameter from _nss_nisplus_parse_pwent and
87         _nss_nisplus_parse_grent.
88         * nis/nss_nisplus/nisplus-parser.c: Likewise.
89         * nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
90         again.  Rewrite getpwent handling to not use nis_first_entry and
91         nis_next_entry.  Roll out own niscall handling.
92         * nis/nss_nisplus/nisplus-grp.c: Likewise.
94         * sunrpc/xdr_rec.c: Fix typo in comment.
96 2006-05-19  Ulrich Drepper  <drepper@redhat.com>
98         * nis/nis_call.c (__do_niscall3): Avoid code duplication in error
99         handling.
101         * nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
102         to allocate memory for my_pollfd.  Better initialization of
103         cb_is_running.  Use TEMP_FAILURE_RETRY.
105         * malloc/memusage.sh (memusageso): Add quotes.
106         (memusagestat): Likewise.
107         * debug/xtrace.sh (pcprofileso): Likewise.
108         (pcprofiledump): Likewise.
109         * debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
110         replacement.
111         * malloc/Makefile ($(objpfx)memusage): Likewise.
113         * nis/nis_callback.c (__nis_create_callback): Calls to
114         svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
115         asprintf call fails.
117         * sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
118         no uninitialized memory is passed to sendto.
120 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
122         * nis/nis_callback.c (__nis_create_callback): Use asprinf instead
123         of snprintf+strdup.  Handle OOM.
124         * nis/nis_callback.c (__nis_create_callback): Allocate cb and
125         cb->serv together.  Remove now obsolete free calls.
126         (__nis_destroy_callback): Remove now obsolete free call.
128 2006-05-18  David Woodhouse  <dwmw2@redhat.com>
130         * sysdeps/posix/getaddrinfo.c: Add unique labels to the default
131         RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
132         and ULA respectively). Set precedence for IPv4 address to 10 as
133         defined in RFC3484 for preferring IPv6.
134         * posix/gai.conf: Update to match the new default tables.
136 2006-05-18  Jakub Jelinek  <jakub@redhat.com>
138         * nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
139         returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
140         * nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
141         * nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.
143         * nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
144         Removed.
145         (init_nss_interface): Remove initialization of these variables.
147 2006-05-18  Ulrich Drepper  <drepper@redhat.com>
149         * nis/nis_call.c (rec_dirsearch): Little optimization: pull
150         nis_free_directory forward to avoid duplication.
152 2006-05-17  Ulrich Drepper  <drepper@redhat.com>
154         * nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
155         rec_dirsearch returning NULL.
156         (first_shoot): Handle __nis_finddirectory returning NULL.
157         (__nisfind_server): Fix leak when rec_dirsearch returns NULL.
159         * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
160         IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.
162 2006-05-17  Jakub Jelinek  <jakub@redhat.com>
164         * sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
165         pid changed.
167 2006-05-15  Ulrich Drepper  <drepper@redhat.com>
169         * include/rpc/pmap_prot.h: Mark all functions as hidden.
171         * nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
172         * nscd/nscd_getgr_r.c: Likewise.
174         * include/rpc/pmap_rmt.h: Mark all functions as hidden.
176         * nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
177         * nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.
179         * stdlib/longlong.h (__clz_tab): Mark as hidden.
181         * iconv/gconv_int.h: Mark __gconv_lock as hidden.
183         * include/rpc/key_prot.h: Mark all _internal functions as hidden.
185         * include/rpc/auth.h: Mark xdr_des_block_internal and
186         xdr_opaque_auth_internal as hidden.
188         * sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
189         hidden.
191         * include/rpc/xdr.h: Mark all _internal functions as hidden.
193         * misc/getusershell.c (okshells): Don't use static initializers,
194         do it dynamically.
196         * stdlib/fmtmsg.c (keywords): Change type of len element to
197         uint32_t to not waste space on 64bit machines.
199         * locale/setlocale.c: Change _nl_category_names into a string.
200         Add new _nl_category_name_idxs.  Change all users.
201         * locale/localeinfo.h: Adjust declaration of _nl_category_names.
202         Declare _nl_category_name_idxs.
203         * locale/findlocale.c: Adjust for _nl_category_names change.
204         * locale/loadlocale.c: Likewise.
205         * locale/newlocale.c: Likewise.
206         * intl/dcigettext.c: Likewise.
208         * iconv/gconv_conf.c (add_alias): Move actual alias handling to...
209         (add_alias2): ...here.  New function.
210         (__gconv_read_conf): Simplify builtin alias handling.
211         (builtin_aliases): Convert to string to avoid relocations.
212         * iconv/gconv_builtin.h: Add comment about correct formatting.
214 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
216         * resolv/res_debug.c (loc_ntoa): Make error const.
218 2006-05-14  Andreas Schwab  <schwab@suse.de>
220         * math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.
222 2006-05-12  Jakub Jelinek  <jakub@redhat.com>
224         * sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
225         (__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
226         sizeof (cpu_set_t).
228 2006-05-11  Ulrich Drepper  <drepper@redhat.com>
230         * resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.
232         * include/arpa/nameser.h: Declare _ns_flagdata as hidden.
234         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
235         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.
237         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
238         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.
240         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
241         * include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
242         xdr_cback_data.
244         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
245         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
246         xdr_ypupdate_args.
248         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
249         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.
251         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
252         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.
254         * nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
255         * include/rpcsvc/nis_callback.h: New file.
257         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
258         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.
260         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
261         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
263         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
264         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.
266         * nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
267         * include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.
269         * nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
270         * include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
271         xdr_ypdelete_args.
273         * nis/nis_xdr.h: Mark all functions as hidden.  Remove
274         __BEGIN_DECLS and __END_DECLS, the header is not installed.
276         * nis/nis_error.c: Remove table of strings.  Use position
277         independent mechanism.
278         * nis/nis_error.h: New file.
280 2006-05-11  Jakub Jelinek  <jakub@redhat.com>
282         * locale/programs/ld-time.c (time_finish): If wide era name or
283         format aren't provided, set both wname and wformat to L"".
285 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
287         * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
288         results if the call was succesful.
290         * nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.
292         * nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
293         as hidden.
295 2006-05-10  Jakub Jelinek  <jakub@redhat.com>
297         * misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.
299 2006-05-10  Ulrich Drepper  <drepper@redhat.com>
301         * posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
302         caller makes sure this is not the case.
303         (wordexp): Simplify ifs_white creation.  [Coverity CID 231]
305 2006-05-09  Ulrich Drepper  <drepper@redhat.com>
307         * posix/wordexp.c: Remove numerous NULL pointer tests before FREE
308         calls.
310         * io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
311         [Coverity CID 229, 230]
313         * argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
314         DGETTEXT calls.
315         (hol_help): Likewise.  [Coverity CID 226, 227]
317         * string/argz-replace.c (__argz_replace): Unconditionally call
318         free on SRC.  [Coverity CID 225]
320         * nis/nis_creategroup.c (nis_creategroup): No need to duplicate
321         the return value of __nis_default_owner and __nis_default_group,
322         it has been especially allocated.  [Coverity CID 224]
324         * nis/nis_defaults.c (searchXYX): New functions.  Used by both
325         searchgroup and searchowner.  Significantly simplified.
326         (__nis_default_owner): Remove duplication.  Do not locally copy the
327         string before duplicating it.
328         (__nis_default_group): Likewise.
330         * nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
331         we must clear the variable before calling __nisfind_server.
333         * nis/nis_lookup.c (nis_lookup): Always free memory allocated with
334         nis_getnames.  [Coverity CID 223]
336         * locale/programs/locfile.c (locfile_read): Use alloca instead of
337         xmalloc to allocate local repertoire name.  [Coverity CID 222]
339         * iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
340         allocate memory for the input to add_bytes.  [Coverity CID 221]
342         * posix/wordexp.c (w_addword): Free word if realloc fails and it
343         was allocated here.  [Coverity CID 219, 220]
345         * posix/getconf.c (print_all): Free confstr data after printing.
346         [Coverity CID 218]
348         * sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
349         list allocation fails.  [Coverity CID 215]
351         * nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
352         [Coverity CID 213]
354         * argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
355         string is NULL.  [Coverity CID 212]
356         * argp/Makefile: Add rules to build and run bug-argp1.
357         * argp/bug-argp1.c: New file.
359         * io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
360         end of string.
361         * stdlib/canonicalize.c (__realpath): Likewise.
363         * locale/programs/ld-time.c (time_finish): Don't dereference NULL
364         pointer.  [Coverity CID 206]
366         * elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
367         in statically linked code.
368         * elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
369         statically built code, be prepared to have no link map.
370         [Coverity CID 205]
372         * argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
373         dgettext calls. [Coverity CID 204]
375         * argp/argp-help.c (struct uparams): Remove valid member.  Change
376         the one user.
377         (uparam_names): Reduce size.  Avoid relative relocations.
378         Moved to read-only segment.
379         (fill_in_uparams): Update for new layout.
381         * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
382         assumed to always be != NULL. [Coverity CID 202]
384         * argp/argp-help.c (hol_entry_help): Remove some dead code
385         [Coverity CID 200].
387         * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
388         away a few more unconditional yperr2nss calls.
389         (_nss_nis_getservbyname_r): Likewise.
391 2006-05-06  Ulrich Drepper  <drepper@redhat.com>
393         * sysdeps/generic/ldsodefs.h: Remove support for non-core
394         architectures.
396         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
397         that unused memory passed to sendto is nevertheless initialized.
399         [BZ #2499]
400         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
401         possibly unaligned memory accesses.
403         * include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
404         * resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
405         and __putlong respectively.  Correct buffer overflow check for
406         NS_NOTIFY_OP.
408         * resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.
410         * resolv/res_send.c (res_queriesmatch): Fix typo in comment.
411         (send_dg): Rewrite error handling to be more compact and avoid
412         double recomputation of timeouts.  Pass MSG_NOSIGNAL to send.
414         * include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.
416         * resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
417         instead of ns_get16.
418         (res_queriesmatch): Likewise.  Minor optimization.
420         [BZ #2499]
421         * resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
422         __libc_res_nsend might reallocate the buffer for the answer.  In
423         this case we have to reload the HP pointer.
425 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
427         * stdio-common/vfscanf.c (memory_error): Remove definition.  Add
428         some branch prediction hints.
430         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
431         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
432         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
433         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
434         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
435         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
436         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
437         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
439 2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
441         * sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
442         by a GOT relocation to make Scrt1.o position independent.
443         * sysdeps/s390/s390-64/elf/start.S: Likewise.
445         * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
446         six system call parameters.
447         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
449 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
451         * sunrpc/svcauth_des.c (cache_init): Use calloc instead of
452         malloc&bzero.
454         * sunrpc/svc_udp.c (BZERO): Remove definition.
455         (CALLOC): Define.
456         (svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
458         * sunrpc/des_impl.c: Remove ALT_ECB support.  We never used it.
459         (des_SPtrans): Use uint32_t type.
460         (des_skb): Likewise.
462         * sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
464 2006-05-05  Jakub Jelinek  <jakub@redhat.com>
466         [BZ #2509]
467         * stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
468         on 32-bit arches.
470 2006-05-05  Ulrich Drepper  <drepper@redhat.com>
472         * locale/programs/ld-address.c (address_finish): Fix one more
473         place where the iso639 array might be accessed beyond the limits.
475 2006-05-04  Ulrich Drepper  <drepper@redhat.com>
477         * nis/nis_table.c (nis_list): Avoid clearing res twice before
478         filling it for the first time.
480         * nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
481         Adjust all callers.
482         Free res object content before returning.
484         * sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.
486         * sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
487         client->cl_auth.
489         * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
490         cleanup for initial thread, just the free call on TVP.
492         * nscd/gai.c (__getline): Define.
495 See ChangeLog.16 for earlier changes.