with obj->do_servers after first_shoot.
2007-04-05 Jakub Jelinek <jakub@redhat.com>
* nis/nis_call.c (__nisfind_server): Replace (*dir)->do_servers
with obj->do_servers after first_shoot.
2006-12-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ttyname.c: Include termios.h.
(ttyname): Use tcgetattr instead of isatty, don't set errno to ENOTTY.
* sysdeps/unix/sysv/linux/ttyname_r.c: Include termios.h.
(__ttyname_r): Use tcgetattr instead of isatty, don't set errno to
ENOTTY.
* io/Makefile: Add rules to build and run tst-ttyname_r test.
* io/tst-ttyname_r.c: New test.
components which lack them.
* nis/nis_subr.c (nis_getnames): Make sure that we always return
at least one entry consisting of the parameter concatenated with
the domain.
Ulrich Drepper <drepper@redhat.com>
* nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
short cut if only one name component is stripped away.
(rec_dirsearch) [HIGHER_NAME]: Correctly size ndomain array.
(first_shoot): Add search_parent_first parameter. Only if it is set
search parent server first.
If directory for table found through cold start cache is not the same
as referenced in the cache, don't use it.
(__nisfind_server): Take additional parameter. Pass it on to
first_shoot.
(__prepare_niscall): Adjust __nisfind_server call.
* nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
* nis/nis_table.c: Adjust __nisfind_server call.
* nis/nis_lookup.c: Likewise.
(nis_lookup): Don't loop endlessly if name is reduced to ".".
Avoid memory leak in case realloc fails. Simplification for
better code generation.
Avoid deprecation warning because of libc_hidden_proto for
inet6_option_alloc.
* inet/inet6_option.c (option_alloc): Renamed from
inet6_option_alloc. Made static.
(inet6_option_alloc): New a simple wrapper around option_alloc.
(inet6_option_append): Call option_alloc.
* include/netinet/in.h: Remove libc_hidden_proto for
inet6_option_alloc.
from __do_niscall.
* nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
and exported.
(__follow_path): New function. Split out from nis_list.
* nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
_xdr_nis_result.
* nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
_xdr_nis_result.
* nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
and __follow_path.
* nis/Versions: Export __prepare_niscall, __create_ib_request,
__follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
from libnsl for version GLIBC_PRIVATE.
* nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
Remove entry parameter from _nss_nisplus_parse_pwent and
_nss_nisplus_parse_grent.
* nis/nss_nisplus/nisplus-parser.c: Likewise.
* nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
again. Rewrite getpwent handling to not use nis_first_entry and
nis_next_entry. Roll out own niscall handling.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
* sunrpc/xdr_rec.c: Fix typo in comment.
2006-05-18 David Woodhouse <dwmw2@redhat.com>
[Coverity CID 229, 230]
* argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
DGETTEXT calls.
(hol_help): Likewise. [Coverity CID 226, 227]
* string/argz-replace.c (__argz_replace): Unconditionally call
free on SRC. [Coverity CID 225]
* nis/nis_creategroup.c (nis_creategroup): No need to duplicate
the return value of __nis_default_owner and __nis_default_group,
it has been especially allocated. [Coverity CID 224]
searchgroup and searchowner. Significantly simplified.
(__nis_default_owner): Remove duplication. Do not locally copy the
string before duplicating it.
(__nis_default_group): Likewise.
* nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
we must clear the variable before calling __nisfind_server.
* nis/nis_lookup.c (nis_lookup): Always free memory allocated with
nis_getnames. [Coverity CID 223]
* locale/programs/locfile.c (locfile_read): Use alloca instead of
xmalloc to allocate local repertoire name. [Coverity CID 222]
* iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
allocate memory for the input to add_bytes. [Coverity CID 221]
was allocated here. [Coverity CID 219, 220]
was allocated here. [Coverity CID 219]
* posix/getconf.c (print_all): Free confstr data after printing.
[Coverity CID 218]
* sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
list allocation fails. [Coverity CID 215]
* nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
[Coverity CID 213]
* argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
string is NULL. [Coverity CID 212]
* argp/Makefile: Add rules to build and run bug-argp1.
* argp/bug-argp1.c: New file.
* io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
end of string.
* stdlib/canonicalize.c (__realpath): Likewise.
* locale/programs/ld-time.c (time_finish): Don't dereference NULL
pointer. [Coverity CID 206]
* elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
in statically linked code.
* elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
statically built code, be prepared to have no link map.
[Coverity CID 205]
* argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
dgettext calls. [Coverity CID 204]
* argp/argp-help.c (struct uparams): Remove valid member. Change
the one user.
(uparam_names): Reduce size. Avoid relative relocations.
Moved to read-only segment.
(fill_in_uparams): Update for new layout.
* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
assumed to always be != NULL. [Coverity CID 202]
* argp/argp-help.c (hol_entry_help): Remove some dead code
[Coverity CID 200].
* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
away a few more unconditional yperr2nss calls.
(_nss_nis_getservbyname_r): Likewise.
2006-05-05 Jakub Jelinek <jakub@redhat.com>
[BZ #2509]
* stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
on 32-bit arches.
2006-05-05 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-address.c (address_finish): Fix one more
place where the iso639 array might be access beyond the limits.
parameter.
(_nss_nisplus_parse_pwent_chk): New prototype.
* nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
Add entry parameter. Use it for column value in all accesses.
Move checks for well-formed reply to...
(_nss_nisplus_parse_pwent_chk): ...here. New function.
* nis/nss_nisplus/nisplus-pwd.c: Support SETENT_BATCH_READ option.
variable.
* nis/nss-nis.h: Define response_t and intern_t. Declare _nis_saveit.
* nis/nss_nis/nis-pwd.c: Remove response_t and intern_t definition.
(saveit): Renamed to _nis_saveit. Take parameter which is pointer
to the intern_t object. Change all users.
* nis/nss_nis/nis-grp.c: Remove response_t, intern_t, and saveit
definition. Use _nis_saveit instead of saveit.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-initgroups.c: Likewise.
(internal_setgrent): Adjust for buffer handling.
(internal_getgrent_r): Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss: Document SETENT_BATCH_READ.
* nis/libnsl.h: Define NSS_FLAG_SETENT_BATCH_READ.
* nis/nss_nis/nis-service.c (saveit): Don't add NUL byte if the
string is already NUL terminated.
(internal_nis_endservent): No need to return anything. Change callers.
(internal_nis_setservent): One more initialization.
* nis/nss_nis/nis-pwd.c: Support SETENT_BATCH_READ option.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss-default.c (init): Rewrite parser to get the variables
Minor cleanups. NUL terminate name string.
* nis/Versions: No need to export _nss_nisplus_parse_grent,
_nss_nisplus_parse_pwent, and _nss_nisplus_parse_spent.
after the loop [Coverity CID 187].
* nis/nis_getservlist.c (nis_getservlist): Also free lookup result
in error case [Coverity CID 189].
* nis/nis_getservlist.c (nis_getservlist): One more free call
needed [Coverity CID 190].
invalid length [Coverity CID 106].
* nss/nss_files/files-key.c (search): Close stream before
successful return [Coverity CID 107].
* io/fts.c (fts_open): Don't allocate parent if *argv==NULL
[Coverity CID 108].
* sunrpc/rpc_cout.c (inline_struct): Free sizestr after use
[Coverity CID 110, 109].
* sunrpc/rpc_scan.c (docppline): Free file string if it is not
going to be used [Coverity CID 111].
* sysdeps/unix/sysv/linux/getsourcefilter.c (getsourcefilter): Free
memory if socket level value cannot be retrieved [Coverity CID 112].
* nis/nis_clone_dir.c (nis_clone_directory): Free all memory in
error case [Coverity CID 114].
* nis/nis_clone_res.c (nis_clone_result): Free all memory in the
error cases [Coverity CID 115].
* sunrpc/rpc_parse.c (get_definition): Free defp if tok ==
TOK_EOF [Coverity CID 116].
* sysdeps/unix/sysv/linux/setsourcefilter.c (setsourcefilter): Free
memory if socket level value cannot be retrieved [Coverity CID 117].
* elf/cache.c (save_cache): Initialize pad to avoid writing
uninitialized data to disk.
* elf/cache.c (save_cache): Free file_entries_new [Coverity CID 118].
* intl/finddomain.c (_nl_find_domain): Avoid strdup of expand
locale name, use strdupa. Remove free call [Coverity CID 119].
* sunrpc/rpc_main.c (generate_guard): Avoid extra allocation and
the resulting leak [Coverity CID 121].
* sunrpc/rpc_main.c (mkfile_output): Free all allocated memory
[Coverity CID 122].
* sunrpc/rpc_main.c (h_output): Free guard after we are done
[Coverity CID 123].
* sunrpc/svc_udp.c (cache_set): Free victim if newbuf allocation
fails [Coverity CID 126].
* sunrpc/svc_udp.c (svcudp_enablecache): Free memory in error
cases [Coverity CID 127].
* nis/nis_table.c (__create_ib_request): Free ibreq in case strdup
fails [Coverity CID 128].
* nis/nis_getservlist.c (nis_getservlist): Free all memory in case
of an error [Coverity CID 130, 129].
* nis/nis_print_group_entry.c (nis_print_group_entry): If
nis_lookup call failed, return. Free lookup result in error
cases [Coverity CID 131].
* nis/nis_removemember.c (nis_removemember): Free all memory in
error cases [Coverity CID 132].
* nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
Always free lookup result [Coverity CID 134].
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r):
Always free lookup result [Coverity CID 135].
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
Always free lookup result [Coverity CID 136].
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
Before retrying, free old result [Coverity CID 137].
* nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
Free res in case UID is zero [Coverity CID 138].
* nis/ypclnt.c (yp_update): Always free master string
[Coverity CID 140].
* nis/nis_creategroup.c (nis_creategroup): Free all memory in
error cases [Coverity CID 143, 142, 141].
* nis/nss_nis/nis-publickey.c (_nss_nis_getpublickey): Free result
if yp_match call succeeded [Coverity CID 155].
* nis/nss_nis/nis-publickey.c (_nss_nis_getsecretkey): Free string
allocated in yp_match at all times [Coverity CID 157, 156].
* nscd/nscd.c (write_pid): Close stream also if writing failed
[Coverity CID 165].
* nis/nis_table.c (nis_add_entry): Move test for NULL parameter
ahead of first use [Coverity CID 167].
* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Move test
for NULL parameter ahead of first use [Coverity CID 168].
* intl/finddomain.c (_nl_find_domain): We never return NULL if we
found the locale [Coverity CID 169].
* inet/getnameinfo.c (getnameinfo): __getservbyport_r does not set
herrno [Coverity CID 178].
* nis/nis_checkpoint.c (nis_checkpoint): Don't access and returned
freed object [Coverity CID 182].
->clnt cannot be != NULL.
(__do_niscall): No need to use __nisbind_destroy, __nisbind_next
did it.
(__nisbind_connect): use_auth is already TRUE, otherwise we would
not be here.
* nis/nis_lookup.c (nis_lookup): Remove unnecessary
__nisbind_destroy calls. __nisbind_next does all that.
there is an overflow.
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_setnetgrent):
Rewrite to use snprintf.
* nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
Likewise.
Renamed from _nss_create_tablename. Export from file (but not DSO).
(pwd_tablename_val): Renamed from tablename_val, mark hidden.
(pwd_tablename_len): Renamed from tablename_len, mark hidden.
Change all users.
* nis/nss_nisplus/nisplus-spwd.c (_nss_create_tablename): Removed.
Use _nss_pwd_create_tablename now. Use pwd_tablename_val and
pwd_tablename_len. Remove unnecessary variables, general cleanup.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
(setup): Remove FUNC_NAME and ALL arguments, assume they are always
"setnetgrent" and 1.
(endnetgrent_hook): New function.
(internal_endnetgrent): Use it.
(__internal_setnetgrent_reuse): Use it. Adjust setup caller.
If status is NSS_STATUS_SUCCESS, yet action is continue, call
endnetgrent hook.
(internal_getnetgrent_r): Use __nss_lookup_function rather than
setup. Recompute getfct pointer after successful
__internal_setnetgrent_reuse. Don't use __nss_next.
(innetgr): Use __nss_lookup_function instead of __nss_lookup.
Adjust setup caller.
* nss/nss_files/files-netgrp.c (_nss_files_endnetgrent): Always clear
data_size and cursor. Add libnss_files_hidden_proto and
libnss_files_hidden_def.
(_nss_files_setnetgrent): Call _nss_files_endnetgrent on failure.
* nis/nss_nis/nis-netgrp.c (internal_endnetgrent): Always clear
data_size and cursor.
(_nss_nis_setnetgrent): Don't call internal_endnetgrent.
(_nss_nis_getnetgrent_r): Remove result->cursor == NULL handling.
* nis/nss_nisplus/nisplus-netgrp.c (internal_endnetgrent): Always clear
data_size and position.
(_nss_nisplus_setnetgrent): Don't call internal_endnetgrent.
2005-09-09 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (netgroup_keys): Call endnetgrent.
(main): Call mtrace.
* nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): We don't
need locking for the stream. Use feof_unlocked.
2005-09-09 Jakub Jelinek <jakub@redhat.com>
2005-08-10 Sergio Gelato <Sergio.Gelato@astro.su.se>
[BZ #1188]
* nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Change assert check
from (len > 0) to (len >= 0).
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nis/nis_xdr.c (_xdr_nis_result): Fix type of res variable.
Reported by Thomas Schwinge.
2005-08-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_leaf_of_r): Handle buflen == 0 correctly.
2005-08-16 Ulrich Drepper <drepper@redhat.com>
* nss/getent.c (more_help): Use open_memstream instead of handling
memory allocation ourselves.
2005-08-16 Jay Fenlason <fenlason@redhat.com>
* nss/getent.c (parse_options): change the -s option to support
{database}:{search} to override /etc/resolv.conf for only the
specified database.
* intl/dcigettext.c (_nl_find_msg): Add a cast.
* nis/nis_clone_dir.c (nis_clone_directory): Use char * for ADDR.
* nis/nis_clone_obj.c (nis_clone_object): Likewise.
* nis/nis_clone_res.c (nis_clone_result): Likewise.
* resolv/nss_dns/dns-network.c (getanswer_r): Use const unsigned char *
for END_OF_MESSAGE and CP.
* resolv/res_send.c (send_dg): Add else branch for case impossible
unless `poll' is buggy.
* crypt/crypt_util.c (__setkey_r): Add a cast.
* locale/programs/linereader.c (get_toplvl_escape): Use size_t for
NBYTES, and unsigned char * for BYTES.
* locale/programs/charmap.c (charmap_new_char): Use size_t and
unsighed char * for NBYTES, BYTES parameters.
* sysdeps/generic/dl-hash.h (_dl_elf_hash): Take const char * argument
and cast it.
* sysdeps/i386/i686/dl-hash.h (_dl_elf_hash): Likewise.
* sunrpc/create_xid.c (_create_xid): Don't use unsigned long for RES.
* sunrpc/svcauth_des.c (_svcauth_des): Fix cast type.
* sunrpc/auth_des.c (authdes_create): Don't use u_char for PKEY_DATA.
(authdes_marshal): Don't use unsigned int for LEN.
* sunrpc/xdr.c (xdr_hyper): Don't use unsigned long for T2.
(xdr_u_hyper): Likewise.
(xdr_u_short): Don't use u_long for L.
* sunrpc/xdr_intXX_t.c (xdr_int64_t): Don't use uint32_t for T2.
* inet/rexec.c (rexec_af): Use socklen_t.
* sunrpc/key_call.c (getkeyserv_handle): Likewise.
* sunrpc/rtime.c (rtime): Likewise.
* resolv/res_send.c (send_vc, send_dg): Likewise.
* nis/nis_callback.c (__nis_create_callback): Likewise.
* sysdeps/generic/libc-start.c: Use unsigned int for nthreads ptr.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.
* libio/libio.h (_IO_BE): Add parenthesis around EXPR.
* intl/dcigettext.c (INTVARDEF, INTUSE): Macros removed.
(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
* intl/bindtextdom.c (INTUSE): Macro removed.
(_nl_default_dirname): Use libc_hidden_proto.
(set_binding_values): Don't use INTUSE.
* include/libintl.h (_libc_intl_domainname_internal): Decl removed.
(_libc_intl_domainname): Use libc_hidden_proto.
* posix/regex_internal.h (gettext): Remove INTUSE on it.
* locale/SYS_libc.c (_libc_intl_domainname): Use libc_hidden_data_def
rather than INTDEF.
* include/libintl.h (_): Don't use *_internal name.
* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Use int32_t,
not uint32_t.
* locale/lc-ctype.c (_nl_postload_ctype): Likewise for assignments.
* iconv/gconv_open.c (__gconv_open): Remove useless cast.
[BZ #721]
* sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
of [RESOLVE_MAP].
* sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.h
(elf_machine_rel, elf_machine_rel_relative): Removed.
* sysdeps/powerpc/powerpc64/dl-machine.h
(elf_machine_rel, elf_machine_rel_relative): Removed.
2005-02-03 Alexandre Oliva <aoliva@redhat.com>
[BZ #721]
* elf/dynamic-link.h: Don't declare nested auto functions that are
not going to be defined.
2004-07-23 Jakub Jelinek <jakub@redhat.com>
[BZ #284]
* include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.
2005-02-16 Roland McGrath <roland@redhat.com>
2004-12-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
not libnsl_hidden_proto.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
and restore r2 around call to fn.
Update.
2004-12-08 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r):
Add check if the value is not an empty string. [BZ #305]
2004-11-30 Andreas Schwab <schwab@suse.de>
* nis/ypclnt.c (ypprot_err): Remove unused entries.
2004-11-30 Paolo Bonzini <bonzini@gnu.org>
* posix/regexec.c (check_dst_limits_calc_pos_1): Check for
bkref_idx == -1, and don't recurse in that case.
2004-11-15 Jakub Jelinek <jakub@redhat.com>
* posix/bug-regex24.c: Include string.h.
* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
and out2 to out. Remove out label. Formatting.
2004-11-15 Ulrich Drepper <drepper@redhat.com>
* include/stdio.h: Do not mark __libc_message as noreturn.
* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
fool gcc. Include <stdbool.h>.
* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
(__libc_message): Fix typo.
2004-09-11 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-grp.c: Check that buflen is greater zero
before writing data into the buffer with negative offset.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c Likewise.
* nscd/connections.c: Implement r/o sharing of nscd's cache with client
processes via shared memory.
* nscd/nscd-client.h: Likewise.
* nscd/nscd.h: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/nscd_getgr_r.c: Likewise.
* nscd/nscd_getpw_r.c: Likewise.
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd.conf: Add new config parameters.
* nscd/Makefile (aux): Add nscd_helper.
* nscd/nscd_helper.c: New file.
* nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
* nscd/hstcache.c: Simplify a lot. We cache only the request itself,
no derived information.
* connections.c (nscd_init): Fix bug in testing size of the persistent.
* nis/Makefile (aux): Add nis_hash.
* nis/nis_hash.c: New file. Split out from nis_util.c.
* nis/nis_util.c: Move __nis_hash code in separate file.
* csu/tst-atomic.c: Improve atomic_increment_val test which would
not have found a ppc bug.
2004-08-19 Ulrich Drepper <drepper@redhat.com>
* nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
Initialize mysize with limits only if latter is >= 0. Use mysize
in malloc call.
* nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
__netgrent object passed in instead of global variables.
Optimize.
* nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
in struct __netgrent object passed in instead of global variables.
* inet/netgroup.h (struct __netgrent): Add service_user field.
Move cursor in anonymous union, add new field location to that
union.
* inet/getnetgrent_r.c: Extensive rewrite to really enable
concurrent uset of set/get/endnetgrent and innetgr.
2004-07-19 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
allocate memory for large temporary variables with alloca.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility
code must have version GLIBC_2.0. Patch by Dwayne McConnell.
2004-05-25 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so.
* sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES]
(__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction.
(__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction.
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved
implementation from w_sqrt.c.
* sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved
implementation from w_sqrtf.c.
* sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation
using inline __ieee754_sqrt().
* sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation
using inline __ieee754_sqrtf().
* sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include
<sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
* sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define
PPC_FEATURE_* independent of __ASSEMBLER__.
2004-05-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h
include.
(aio_start_notify_thread): Define if not defined.
(notify_func_wrapper): Use it.
* sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h
include.
(aio_create_helper_thread): Define if not defined.
(__aio_create_helper_thread): New function.
(__aio_enqueue_request): Use aio_create_helper_thread.
* nis/ypclnt.c (ypall_data, ypall_foreach): Remove.
(struct ypresp_all_data): New type.
(__xdr_ypresp_all): Change second argument to
struct ypresp_all_data *. Replace ypall_foreach and
ypall_data with objp->foreach and objp->data.
(yp_all): Remove status variable, add data. Replace
all uses of status with data.status. Initialize data.foreach
and data.data instead of ypall_foreach and ypall_data.
2004-05-24 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit
in l_flags_1, not in l_flags.
* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling.
* sysdeps/generic/ifreq.c (__ifreq): Fix memory handling.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that
realloc cannot fail.
* nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot
be expanded.
* nis/nis_table.c: Clean up memory handling.
* nis/nis_subr.c (nis_getnames): Clean up memory handling.
* nis/nis_removemember.c (nis_removemember): Add comment
explaining use of realloc.
2004-04-02 Jakub Jelinek <jakub@redhat.com>
* nis/nss: Add SERVICES_AUTHORITATIVE.
* nis/nss-nis.h (NSS_FLAG_SET, NSS_FLAG_NETID_AUTHORITATIVE,
NSS_FLAG_SERVICES_AUTHORITATIVE): Define.
(_nis_default_nss_flags, _nis_check_default_nss): New decls.
(_nis_default_nss): New inline.
* nis/nss-nis.c: Include ctype.h, stdio.h and stdio_ext.h.
(_nis_default_nss_flags, default_nss): New variables.
(_nis_check_default_nss): New function.
* nis/nss_nis/nis-initgroups.c: Don't include stdio.h and
stdio_ext.h.
(check_default_nss, default_nss): Move to nss-nis.c.
(init): Removed.
(_nss_nis_initgroups_dyn): Use _nis_default_nss ().
* nis/nss_nis/nis-services.c (_nss_nis_getservbyname_r): If
NSS_FLAG_SERVICES_AUTHORITATIVE and services.byservicename lookup
fails, return immediately.
2004-03-30 Jakub Jelinek <jakub@redhat.com>
* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol
== NULL, try name/tcp and name/udp first before falling back into
the sequential scanning. Use services.byname database for
sequential scanning.
(_nss_nis_getservbyport_r): Likewise. Just allocate sizeof (int) * 3
chars for integer.
* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Convert
proto to host by order for snprintf.
* nss/getent.c (services_keys): Don't implement lookups with
missing protocol using getservent loop, just pass NULL.
2004-03-30 Ulrich Drepper <drepper@redhat.com>
* nis/nss_nis/nis-initgroups.c: Implement getting the information
from the netid.byname map if the system administrator allows this.
* grp/initgroups.c (initgroups): Limit the initial allocation to 64
entries to not allocate too much on systems with really high limits.
2004-03-30 Jakub Jelinek <jakub@redhat.com>
* nis/nss_nis/nis-service.c (struct search_t): New type.
(dosearch): New function.
(_nss_nis_getservbyname_r): Use it. Call yp_get_default_domain
unconditionally.
(_nss_nis_getservbyport_r): Likewise.
* nis/nss_nis/nis-rpc.c (saveit): Improve memory. No need to
allocate multiple blocks.
(internal_nis_endrpcent): Adjust accordingly.
* nis/nss_nis/nis-proto.c (saveit): Improve memory. No need to
allocate multiple blocks.
(internal_nis_endprotoent): Adjust accordingly.
* nis/nss_nis/nis-initgroups.c (saveit): Improve memory. No need
to allocate multiple blocks.
(_nss_nis_initgroups_dyn): Adjust accordingly.
* nis/nss_nis/nis-ethers.c (saveit): Improve memory. No need to
allocate multiple blocks.
(internal_nis_endetherent): Adjust accordingly.
* nis/nss_nis/nis-service.c (saveit): Improve memory. No need to
allocate multiple blocks.
(internal_nis_endservent): Adjust accordingly.
of duplicated code from __yp_bind.
(__yp_bind_file): New, binding dir code from __yp_bind.
(__yp_bind_client_create): New, ypbind code from __yp_bind.
(__ypclnt_call): New, make NIS query.
(do_ypcall): At first use cached data, then try data from
binding directory, after this ask ypbind for a working ypserv.
Based on a patch from Jeff Bastian <jmbastia@ti.com> and
Chris Barrera <cbarrera@ti.com>
2003-09-01 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-spwd.c (getspnam_plususer): Return
NSS_STATUS_SUCCESS if entry was found.
(getspent_next_file): Store user in blacklist after entry
was found, use innetgr.
2003-09-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset
computation for TCB_AT_TP. Support l_firstbyte_offset != 0 for
DTV_AT_TP, optimize.
2003-06-07 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-grp.c: Remove unused nis_first variable
(getgrent_next_file) Don't store group name to early in blacklist.
* nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Save strlen result
and use memcpy instead of strcpy.
2003-06-28 Ulrich Drepper <drepper@redhat.com>
* nis/nss_compat/compat-grp.c: Optimize several little things. Use
stream unlocked.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
2003-06-27 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-initgroups.c: Don't use our own NIS/NIS+
functions, dlopen corresponding NSS module instead.
* nis/ypclnt.c (__yp_bind): Expect ypdb parameter to always we !=
NULL. Remove code made redundant by this assumption.
(__yp_unbind): Add call to free. Adjust all callers.
2003-04-23 Ulrich Drepper <drepper@redhat.com>
* grp/initgroups.c (getgrouplist): Don't copy too much into the
user buffer if more groups are found than fit into it.
* nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Use
extend_alloca.
2003-01-19 Ulrich Drepper <drepper@redhat.com>
* nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of
_nss_nis_setspent. Work around the different prototypes.
* nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use
internal_nis_endrpcent.
(internal_nis_endrpcent): Change return type to void. Change callers.
* nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of
_nss_nis_setpwent. Work around the different prototypes.
* nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body
of the function to...
(internal_nis_endprotoent): ... here. New function.
(internal_nis_setprotoent): Use internal_nis_endprotoent.
* nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of
_nss_nis_setnetent. Work around the different prototypes.
* nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body
of the function to...
(internal_nis_endnetgrent): ... here. New function.
(_nss_nis_setnetgrent): Use internal_nis_endnetgrent.