Deleted Added
full compact
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}