diff options
author | DJ Delorie <dj@redhat.com> | 2020-11-09 22:09:34 -0500 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2020-12-04 17:16:32 -0500 |
commit | f4f3b09111e9fa38fd485979a3e40b6cfa6a757d (patch) | |
tree | f2743a776f31b86ebebc9f145dd1305bade66eef /sunrpc/publickey.c | |
parent | 6eceded941bb6dcc097291757e2aef5cd7212133 (diff) | |
download | glibc-f4f3b09111e9fa38fd485979a3e40b6cfa6a757d.tar.gz glibc-f4f3b09111e9fa38fd485979a3e40b6cfa6a757d.tar.xz glibc-f4f3b09111e9fa38fd485979a3e40b6cfa6a757d.zip |
nsswitch: use new internal API (callers)
Stitch new ABI and types throughout all NSS callers. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Diffstat (limited to 'sunrpc/publickey.c')
-rw-r--r-- | sunrpc/publickey.c | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/sunrpc/publickey.c b/sunrpc/publickey.c index 2fa0252d5b..63866ef900 100644 --- a/sunrpc/publickey.c +++ b/sunrpc/publickey.c @@ -34,9 +34,7 @@ typedef int (*secret_function) (const char *, char *, const char *, int *); int getpublickey (const char *name, char *key) { - static service_user *startp; - static public_function start_fct; - service_user *nip; + nss_action_list nip; union { public_function f; @@ -45,22 +43,7 @@ getpublickey (const char *name, char *key) enum nss_status status = NSS_STATUS_UNAVAIL; int no_more; - if (startp == NULL) - { - no_more = __nss_publickey_lookup2 (&nip, "getpublickey", NULL, &fct.ptr); - if (no_more) - startp = (service_user *) -1; - else - { - startp = nip; - start_fct = fct.f; - } - } - else - { - fct.f = start_fct; - no_more = (nip = startp) == (service_user *) -1; - } + no_more = __nss_publickey_lookup2 (&nip, "getpublickey", NULL, &fct.ptr); while (! no_more) { @@ -77,9 +60,7 @@ libc_hidden_nolink_sunrpc (getpublickey, GLIBC_2_0) int getsecretkey (const char *name, char *key, const char *passwd) { - static service_user *startp; - static secret_function start_fct; - service_user *nip; + nss_action_list nip; union { secret_function f; @@ -88,22 +69,7 @@ getsecretkey (const char *name, char *key, const char *passwd) enum nss_status status = NSS_STATUS_UNAVAIL; int no_more; - if (startp == NULL) - { - no_more = __nss_publickey_lookup2 (&nip, "getsecretkey", NULL, &fct.ptr); - if (no_more) - startp = (service_user *) -1; - else - { - startp = nip; - start_fct = fct.f; - } - } - else - { - fct.f = start_fct; - no_more = (nip = startp) == (service_user *) -1; - } + no_more = __nss_publickey_lookup2 (&nip, "getsecretkey", NULL, &fct.ptr); while (! no_more) { |