mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Update.
2003-04-17 Ulrich Drepper <drepper@redhat.com> * nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry contacting nscd if NOT_USENSCD_NAME > 0. * nss/nsswitch.c (__nss_disable_nscd): New function. * nss/nsswitch.h: Declare it. * nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd. * nscd/nscd.c (main): Call __nss_disable_nscd.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
2003-04-17 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry
|
||||||
|
contacting nscd if NOT_USENSCD_NAME > 0.
|
||||||
|
* nss/nsswitch.c (__nss_disable_nscd): New function.
|
||||||
|
* nss/nsswitch.h: Declare it.
|
||||||
|
* nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd.
|
||||||
|
* nscd/nscd.c (main): Call __nss_disable_nscd.
|
||||||
|
|
||||||
2003-04-16 Ulrich Drepper <drepper@redhat.com>
|
2003-04-16 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* stdio-common/perror.c (perror): We don't need to set the offset
|
* stdio-common/perror.c (perror): We don't need to set the offset
|
||||||
|
@ -14,6 +14,8 @@ escape_char /
|
|||||||
% Charset: KOI8-U
|
% Charset: KOI8-U
|
||||||
% Distribution and use is free, also
|
% Distribution and use is free, also
|
||||||
% for commercial purposes.
|
% for commercial purposes.
|
||||||
|
%
|
||||||
|
% Some collate fixes by Valentyn Solomko vesna@slovnyk.org
|
||||||
|
|
||||||
LC_IDENTIFICATION
|
LC_IDENTIFICATION
|
||||||
title "Ukrainian locale for Ukraine"
|
title "Ukrainian locale for Ukraine"
|
||||||
@ -25,8 +27,8 @@ tel ""
|
|||||||
fax ""
|
fax ""
|
||||||
language "Ukrainian"
|
language "Ukrainian"
|
||||||
territory "Ukraine"
|
territory "Ukraine"
|
||||||
revision "1.0"
|
revision "1.3"
|
||||||
date "2000-06-29"
|
date "2003-01-31"
|
||||||
%
|
%
|
||||||
category "uk_UA:2000";LC_IDENTIFICATION
|
category "uk_UA:2000";LC_IDENTIFICATION
|
||||||
category "uk_UA:2000";LC_CTYPE
|
category "uk_UA:2000";LC_CTYPE
|
||||||
@ -47,19 +49,30 @@ copy "i18n"
|
|||||||
END LC_CTYPE
|
END LC_CTYPE
|
||||||
|
|
||||||
LC_COLLATE
|
LC_COLLATE
|
||||||
|
|
||||||
copy "iso14651_t1"
|
copy "iso14651_t1"
|
||||||
|
|
||||||
% iso14651_t1 is missing Ukrainian ghe
|
% iso14651_t1 is missing Ukrainian ghe
|
||||||
collating-symbol <UKR-GHE>
|
collating-symbol <UKR-GHE>
|
||||||
|
|
||||||
reorder-after <CYR-GZHE>
|
reorder-after <CYR-GHE>
|
||||||
<UKR-GHE>
|
<UKR-GHE>
|
||||||
|
|
||||||
reorder-after <U0453>
|
reorder-after <U0433>
|
||||||
<U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
|
% <U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
|
||||||
|
<U0491> <CYR-GHE>;<UKR-GHE>;<MIN>;IGNORE
|
||||||
|
|
||||||
reorder-after <U0403>
|
reorder-after <U0438>
|
||||||
<U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
|
% <U0456> <UKR-I>;<BAS>;<MIN>;IGNORE
|
||||||
|
<U0456> <CYR-I>;<UKR-I>;<MIN>;IGNORE
|
||||||
|
|
||||||
|
reorder-after <U0413>
|
||||||
|
% <U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
|
||||||
|
<U0490> <CYR-GHE>;<UKR-GHE>;<CAP>;IGNORE
|
||||||
|
|
||||||
|
reorder-after <U0418>
|
||||||
|
% <U0406> <UKR-I>;<BAS>;<CAP>;IGNORE
|
||||||
|
<U0406> <CYR-I>;<UKR-I>;<CAP>;IGNORE
|
||||||
|
|
||||||
reorder-end
|
reorder-end
|
||||||
END LC_COLLATE
|
END LC_COLLATE
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
|
|
||||||
#include "dbg_log.h"
|
#include "dbg_log.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "../nss/nsswitch.h"
|
||||||
#include <device-nrs.h>
|
#include <device-nrs.h>
|
||||||
|
|
||||||
/* Get libc version number. */
|
/* Get libc version number. */
|
||||||
@ -213,6 +214,9 @@ main (int argc, char **argv)
|
|||||||
/* Cleanup files created by a previous `bind'. */
|
/* Cleanup files created by a previous `bind'. */
|
||||||
unlink (_PATH_NSCDSOCKET);
|
unlink (_PATH_NSCDSOCKET);
|
||||||
|
|
||||||
|
/* Make sure we do not get recursive calls. */
|
||||||
|
__nss_disable_nscd ();
|
||||||
|
|
||||||
/* Init databases. */
|
/* Init databases. */
|
||||||
nscd_init (conffile);
|
nscd_init (conffile);
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ libc {
|
|||||||
}
|
}
|
||||||
GLIBC_PRIVATE {
|
GLIBC_PRIVATE {
|
||||||
_nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
|
_nss_files_parse_grent; _nss_files_parse_pwent; _nss_files_parse_spent;
|
||||||
|
__nss_disable_nscd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_NSCD
|
#ifdef USE_NSCD
|
||||||
if (NOT_USENSCD_NAME && ++NOT_USENSCD_NAME > NSS_NSCD_RETRY)
|
if (NOT_USENSCD_NAME > 0 && ++NOT_USENSCD_NAME > NSS_NSCD_RETRY)
|
||||||
NOT_USENSCD_NAME = 0;
|
NOT_USENSCD_NAME = 0;
|
||||||
|
|
||||||
if (!NOT_USENSCD_NAME)
|
if (!NOT_USENSCD_NAME)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996,1997,1998,1999,2001,2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1996-1999,2001,2002,2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -39,6 +39,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "nsswitch.h"
|
#include "nsswitch.h"
|
||||||
|
#include "../nscd/nscd_proto.h"
|
||||||
|
|
||||||
/* Prototypes for the local functions. */
|
/* Prototypes for the local functions. */
|
||||||
static name_database *nss_parse_file (const char *fname) internal_function;
|
static name_database *nss_parse_file (const char *fname) internal_function;
|
||||||
@ -696,6 +697,17 @@ nss_new_service (name_database *database, const char *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Called by nscd and nscd alone. */
|
||||||
|
void
|
||||||
|
__nss_disable_nscd (void)
|
||||||
|
{
|
||||||
|
/* Disable all uses of NSCD. */
|
||||||
|
__nss_not_use_nscd_passwd = -1;
|
||||||
|
__nss_not_use_nscd_group = -1;
|
||||||
|
__nss_not_use_nscd_hosts = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Free all resources if necessary. */
|
/* Free all resources if necessary. */
|
||||||
libc_freeres_fn (free_mem)
|
libc_freeres_fn (free_mem)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996,1997,1998,1999,2001,2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1996-1999,2001,2002,2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -101,14 +101,15 @@ typedef struct name_database
|
|||||||
If there is no configuration for this database in the file,
|
If there is no configuration for this database in the file,
|
||||||
parse a service list from DEFCONFIG and use that. More
|
parse a service list from DEFCONFIG and use that. More
|
||||||
than one function can use the database. */
|
than one function can use the database. */
|
||||||
int __nss_database_lookup (const char *database, const char *alternative_name,
|
extern int __nss_database_lookup (const char *database,
|
||||||
const char *defconfig, service_user **ni);
|
const char *alternative_name,
|
||||||
|
const char *defconfig, service_user **ni);
|
||||||
libc_hidden_proto (__nss_database_lookup)
|
libc_hidden_proto (__nss_database_lookup)
|
||||||
|
|
||||||
/* Put first function with name FCT_NAME for SERVICE in FCTP. The
|
/* Put first function with name FCT_NAME for SERVICE in FCTP. The
|
||||||
position is remembered in NI. The function returns a value < 0 if
|
position is remembered in NI. The function returns a value < 0 if
|
||||||
an error occurred or no such function exists. */
|
an error occurred or no such function exists. */
|
||||||
int __nss_lookup (service_user **ni, const char *fct_name, void **fctp);
|
extern int __nss_lookup (service_user **ni, const char *fct_name, void **fctp);
|
||||||
|
|
||||||
/* Determine the next step in the lookup process according to the
|
/* Determine the next step in the lookup process according to the
|
||||||
result STATUS of the call to the last function returned by
|
result STATUS of the call to the last function returned by
|
||||||
@ -123,13 +124,17 @@ int __nss_lookup (service_user **ni, const char *fct_name, void **fctp);
|
|||||||
services. In other words, only if all four lookup results have
|
services. In other words, only if all four lookup results have
|
||||||
the action RETURN associated the lookup process stops before the
|
the action RETURN associated the lookup process stops before the
|
||||||
natural end. */
|
natural end. */
|
||||||
int __nss_next (service_user **ni, const char *fct_name, void **fctp,
|
extern int __nss_next (service_user **ni, const char *fct_name, void **fctp,
|
||||||
int status, int all_values);
|
int status, int all_values);
|
||||||
libc_hidden_proto (__nss_next)
|
libc_hidden_proto (__nss_next)
|
||||||
|
|
||||||
/* Search for the service described in NI for a function named FCT_NAME
|
/* Search for the service described in NI for a function named FCT_NAME
|
||||||
and return a pointer to this function if successful. */
|
and return a pointer to this function if successful. */
|
||||||
void *__nss_lookup_function (service_user *ni, const char *fct_name);
|
extern void *__nss_lookup_function (service_user *ni, const char *fct_name);
|
||||||
|
|
||||||
|
|
||||||
|
/* Called by NSCD to disable recursive calls. */
|
||||||
|
extern void __nss_disable_nscd (void);
|
||||||
|
|
||||||
|
|
||||||
typedef int (*db_lookup_function) (service_user **, const char *, void **)
|
typedef int (*db_lookup_function) (service_user **, const char *, void **)
|
||||||
|
Reference in New Issue
Block a user