ypxfr_misc.c (16132) | ypxfr_misc.c (19181) |
---|---|
1/* 2 * Copyright (c) 1995 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * | 1/* 2 * Copyright (c) 1995 3 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * |
32 * $Id: ypxfr_misc.c,v 1.8 1996/06/02 05:12:00 wpaul Exp $ | 32 * $Id: ypxfr_misc.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $ |
33 */ | 33 */ |
34#include <stdio.h> 35#include <string.h> |
|
34#include <stdlib.h> 35#include <unistd.h> 36#include <sys/param.h> 37#include <rpc/rpc.h> 38#include <rpcsvc/yp.h> 39struct dom_binding {}; 40#include <rpcsvc/ypclnt.h> 41#include "ypxfr_extern.h" 42 43#ifndef lint | 36#include <stdlib.h> 37#include <unistd.h> 38#include <sys/param.h> 39#include <rpc/rpc.h> 40#include <rpcsvc/yp.h> 41struct dom_binding {}; 42#include <rpcsvc/ypclnt.h> 43#include "ypxfr_extern.h" 44 45#ifndef lint |
44static const char rcsid[] = "$Id: ypxfr_misc.c,v 1.8 1996/06/02 05:12:00 wpaul Exp $"; | 46static const char rcsid[] = "$Id: ypxfr_misc.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $"; |
45#endif 46 47char *ypxfrerr_string(code) 48 ypxfrstat code; 49{ 50 switch(code) { 51 case YPXFR_SUCC: 52 return ("Map successfully transfered"); --- 199 unchanged lines hidden (view full) --- 252 yp_errno = YPXFR_YPERR; 253 break; 254 } 255 return(0); 256 } 257 return(resp->ordernum); 258 } 259} | 47#endif 48 49char *ypxfrerr_string(code) 50 ypxfrstat code; 51{ 52 switch(code) { 53 case YPXFR_SUCC: 54 return ("Map successfully transfered"); --- 199 unchanged lines hidden (view full) --- 254 yp_errno = YPXFR_YPERR; 255 break; 256 } 257 return(0); 258 } 259 return(resp->ordernum); 260 } 261} |
262 263int ypxfr_match(server, domain, map, key, keylen) 264 char *server; 265 char *domain; 266 char *map; 267 char *key; 268 unsigned long keylen; 269{ 270 ypreq_key ypkey; 271 ypresp_val *ypval; 272 CLIENT *clnt; 273 static char buf[YPMAXRECORD + 2]; 274 275 bzero((char *)buf, sizeof(buf)); 276 277 if ((clnt = clnt_create(server, YPPROG,YPVERS,"udp")) == NULL) { 278 yp_error("failed to create UDP handle: %s", 279 clnt_spcreateerror(server)); 280 return(0); 281 } 282 283 ypkey.domain = domain; 284 ypkey.map = map; 285 ypkey.key.keydat_len = keylen; 286 ypkey.key.keydat_val = key; 287 288 if ((ypval = ypproc_match_2(&ypkey, clnt)) == NULL) { 289 clnt_destroy(clnt); 290 yp_error("%s: %s", server, 291 clnt_sperror(clnt,"YPPROC_MATCH failed")); 292 return(0); 293 } 294 295 clnt_destroy(clnt); 296 297 if (ypval->stat != YP_TRUE) { 298 xdr_free(xdr_ypresp_val, (char *)ypval); 299 return(0); 300 } 301 302 xdr_free(xdr_ypresp_val, (char *)ypval); 303 304 return(1); 305} |
|