From 800d775e426b9c0af63f711b79b09bf540c97456 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 29 Aug 1997 21:01:47 +0000 Subject: Update. 1997-08-29 21:45 Ulrich Drepper * sunrpc/auth_des.c: New file. Copied from former secure_rpc add-on. * sunrpc/authdes_prot.c: New file. Likewise. * sunrpc/des.h: New file. Likewise. * sunrpc/des_crypt.c: New file. Likewise. * sunrpc/des_soft.c: New file. Likewise. * sunrpc/key_call.c: New file. Likewise. * sunrpc/key_prot.c: New file. Likewise. * sunrpc/netname.c: New file. Likewise. * sunrpc/openchild.c: New file. Likewise. * sunrpc/rtime.c: New file. Likewise. * sunrpc/svc_auth.c: New file. Likewise. * sunrpc/svcauth_des.c: New file. Likewise. * sunrpc/xcrypt.c: New file. Likewise. * sunrpc/rpc/auth.h: New file. Likewise. * sunrpc/rpc/auth_des.h: New file. Likewise. * sunrpc/rpc/des_crypt.h: New file. Likewise. * sunrpc/rpc/key_prot.h: New file. Likewise. * sunrpc/rpcsvc/key_prot.x: New file. Likewise. * sysdeps/generic/svc_auth.h: Removed. * sysdeps/generic/rpc/auth.h: Removed. * sysdeps/generic/rpc/auth_des.h: Removed. * sysdeps/stub/des_impl.c: New file. Stub version for DES. * sunrpc/Makefile (rpcsvc): Add keyprot.x. (headers): Add des_crypt.h and key_prot.h. (routines): Add auth_des, authdes_prot, des_crypt, des_impl, des_soft, key_call, key_prot, netname, openchild, rtime, svcauth_des, xcrypt. (distribute): Add des.h. * db2/Makefile: Add all headers and other files to distribute. (others): Add db_printlog. * sysdeps/mach/hurd/Dist: Add net/* headers. * sysdeps/mach/hurd/mips/Dist: New file. * sysdeps/powerpc/Dist: Add fe_nomask.c and t_sqrt.c. * sysdeps/sparc/Dist: Add sys/trap.h. * sysdeps/sparc/sparc32/Dist: Remove sys/trap.h. * sysdeps/sparc/sparc32/sparcv8/Dist: New file. * sysdeps/unix/sysv/linux/mips/Dist: Add sgidefs.h. * sysdeps/unix/sysv/linux/sparc/Dist: Add sys/trap.h. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove sys/trap.h. Add previously missing assembler files for PPC. * sysdeps/powerpc/add_n.s: New file. * sysdeps/powerpc/addmul_1.s: New file. * sysdeps/powerpc/lshift.s: New file. * sysdeps/powerpc/memset.s: New file. * sysdeps/powerpc/mul_1.s: New file. * sysdeps/powerpc/rshift.s: New file. * sysdeps/powerpc/strchr.s: New file. * sysdeps/powerpc/strcmp.s: New file. * sysdeps/powerpc/sub_n.s: New file. * sysdeps/powerpc/submul_1.s: New file. 1997-08-28 18:42 Thorsten Kukuk * nis/nis_server.c: Rewritten to fix a lot of bugs. 1997-08-28 Andreas Schwab * md5-crypt/Makefile (LDFLAGS-md5crypt.so, libmd5crypt-map): New variables. in NLSPATH environment variable. Patch by HJ Lu . --- nis/nis_server.c | 81 +++++++++++++------------------------------------------- 1 file changed, 19 insertions(+), 62 deletions(-) (limited to 'nis/nis_server.c') diff --git a/nis/nis_server.c b/nis/nis_server.c index 5274a3bfc4..0df608a153 100644 --- a/nis/nis_server.c +++ b/nis/nis_server.c @@ -19,7 +19,6 @@ #include #include -#include #include "nis_intern.h" nis_error @@ -29,42 +28,21 @@ nis_servstate (const nis_server *serv, const nis_tag *tags, nis_taglist taglist; nis_taglist tagres; + *result = 0; tagres.tags.tags_len = 0; tagres.tags.tags_val = NULL; - *result = NULL; taglist.tags.tags_len = numtags; taglist.tags.tags_val = (nis_tag *) tags; if (serv == NULL) - { - if (__do_niscall (NULL, NIS_SERVSTATE, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &tagres, 0) != RPC_SUCCESS) - return NIS_RPCERROR; - } - else - { - if (__do_niscall2 (serv, 1, NIS_SERVSTATE, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &tagres, 0) != RPC_SUCCESS) - return NIS_RPCERROR; - } - if (tagres.tags.tags_len > 0) - { - u_long i; - - result = malloc (sizeof (nis_tag *) * tagres.tags.tags_len); - if (result == NULL) - return NIS_NOMEMORY; - for (i = 0; i < tagres.tags.tags_len; ++i) - { - result[i] = malloc (sizeof (nis_tag)); - if (result[i] == NULL) - return NIS_NOMEMORY; - result[i]->tag_val = strdup (tagres.tags.tags_val[i].tag_val); - result[i]->tag_type = tagres.tags.tags_val[i].tag_type; - } - } + return NIS_BADOBJECT; + + if (__do_niscall2 (serv, 1, NIS_SERVSTATE, (xdrproc_t) xdr_nis_taglist, + (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, + (caddr_t) &tagres, 0) != RPC_SUCCESS) + return NIS_RPCERROR; + + *result = tagres.tags.tags_val; return NIS_SUCCESS; } @@ -76,42 +54,21 @@ nis_stats (const nis_server *serv, const nis_tag *tags, nis_taglist taglist; nis_taglist tagres; + *result = NULL; tagres.tags.tags_len = 0; tagres.tags.tags_val = NULL; - *result = NULL; taglist.tags.tags_len = numtags; taglist.tags.tags_val = (nis_tag *) tags; if (serv == NULL) - { - if (__do_niscall (NULL, NIS_STATUS, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &tagres, 0) != RPC_SUCCESS) - return NIS_RPCERROR; - } - else - { - if (__do_niscall2 (serv, 1, NIS_STATUS, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, - (caddr_t) &tagres, 0) != RPC_SUCCESS) - return NIS_RPCERROR; - } - if (tagres.tags.tags_len > 0) - { - u_long i; - - result = malloc (sizeof (nis_tag *) * tagres.tags.tags_len); - if (result == NULL) - return NIS_NOMEMORY; - for (i = 0; i < tagres.tags.tags_len; ++i) - { - result[i] = malloc (sizeof (nis_tag)); - if (result[i] == NULL) - return NIS_NOMEMORY; - result[i]->tag_val = strdup (tagres.tags.tags_val[i].tag_val); - result[i]->tag_type = tagres.tags.tags_val[i].tag_type; - } - } + return NIS_BADOBJECT; + + if (__do_niscall2 (serv, 1, NIS_STATUS, (xdrproc_t) xdr_nis_taglist, + (caddr_t) &taglist, (xdrproc_t) xdr_nis_taglist, + (caddr_t) &tagres, 0) != RPC_SUCCESS) + return NIS_RPCERROR; + + *result = tagres.tags.tags_val; return NIS_SUCCESS; } @@ -122,6 +79,6 @@ nis_freetags (nis_tag *tags, const int numtags) int i; for (i = 0; i < numtags; ++i) - free (tags->tag_val); + free (tags[i].tag_val); free (tags); } -- cgit v1.2.3