Deleted Added
full compact
test-policy.c (62583) test-policy.c (78064)
1/* $FreeBSD: head/lib/libipsec/test-policy.c 62583 2000-07-04 16:22:05Z itojun $ */
2/* $KAME: test-policy.c,v 1.13 2000/05/07 05:25:03 itojun Exp $ */
1/* $FreeBSD: head/lib/libipsec/test-policy.c 78064 2001-06-11 12:39:29Z ume $ */
2/* $KAME: test-policy.c,v 1.14 2000/12/27 11:38:11 sakane Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:

--- 30 unchanged lines hidden (view full) ---

41
42#include <stdio.h>
43#include <stdlib.h>
44#include <unistd.h>
45#include <string.h>
46#include <errno.h>
47#include <err.h>
48
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:

--- 30 unchanged lines hidden (view full) ---

41
42#include <stdio.h>
43#include <stdlib.h>
44#include <unistd.h>
45#include <string.h>
46#include <errno.h>
47#include <err.h>
48
49#include "libpfkey.h"
50
49struct req_t {
50 int result; /* expected result; 0:ok 1:ng */
51 char *str;
52} reqs[] = {
53{ 0, "out ipsec" },
54{ 1, "must_error" },
55{ 1, "in ipsec must_error" },
56{ 1, "out ipsec esp/must_error" },

--- 49 unchanged lines hidden (view full) ---

106 int result;
107
108 printf("TEST1\n");
109 for (i = 0; i < sizeof(reqs)/sizeof(reqs[0]); i++) {
110 printf("#%d [%s]\n", i + 1, reqs[i].str);
111
112 result = test1sub1(&reqs[i]);
113 if (result == 0 && reqs[i].result == 1) {
51struct req_t {
52 int result; /* expected result; 0:ok 1:ng */
53 char *str;
54} reqs[] = {
55{ 0, "out ipsec" },
56{ 1, "must_error" },
57{ 1, "in ipsec must_error" },
58{ 1, "out ipsec esp/must_error" },

--- 49 unchanged lines hidden (view full) ---

108 int result;
109
110 printf("TEST1\n");
111 for (i = 0; i < sizeof(reqs)/sizeof(reqs[0]); i++) {
112 printf("#%d [%s]\n", i + 1, reqs[i].str);
113
114 result = test1sub1(&reqs[i]);
115 if (result == 0 && reqs[i].result == 1) {
114 errx(1, "ERROR: expecting failure.\n");
116 warnx("ERROR: expecting failure.\n");
115 } else if (result == 1 && reqs[i].result == 0) {
117 } else if (result == 1 && reqs[i].result == 0) {
116 errx(1, "ERROR: expecting success.\n");
118 warnx("ERROR: expecting success.\n");
117 }
118 }
119
120 return 0;
121}
122
123int
124test1sub1(req)

--- 115 unchanged lines hidden (view full) ---

240 if ((so = pfkey_open()) < 0)
241 errx(1, "ERROR: %s\n", ipsec_strerror());
242
243 printf("spdflush()\n");
244 if (pfkey_send_spdflush(so) < 0)
245 errx(1, "ERROR: %s\n", ipsec_strerror());
246 m = pfkey_recv(so);
247 free(m);
119 }
120 }
121
122 return 0;
123}
124
125int
126test1sub1(req)

--- 115 unchanged lines hidden (view full) ---

242 if ((so = pfkey_open()) < 0)
243 errx(1, "ERROR: %s\n", ipsec_strerror());
244
245 printf("spdflush()\n");
246 if (pfkey_send_spdflush(so) < 0)
247 errx(1, "ERROR: %s\n", ipsec_strerror());
248 m = pfkey_recv(so);
249 free(m);
248
250
251#if 0
249 printf("spdsetidx()\n");
250 if (pfkey_send_spdsetidx(so, (struct sockaddr *)addr, 128,
251 (struct sockaddr *)addr, 128,
252 255, sp1, splen1, 0) < 0)
253 errx(1, "ERROR: %s\n", ipsec_strerror());
254 m = pfkey_recv(so);
255 free(m);
256
257 printf("spdupdate()\n");
258 if (pfkey_send_spdupdate(so, (struct sockaddr *)addr, 128,
259 (struct sockaddr *)addr, 128,
260 255, sp2, splen2, 0) < 0)
261 errx(1, "ERROR: %s\n", ipsec_strerror());
262 m = pfkey_recv(so);
263 free(m);
264
252 printf("spdsetidx()\n");
253 if (pfkey_send_spdsetidx(so, (struct sockaddr *)addr, 128,
254 (struct sockaddr *)addr, 128,
255 255, sp1, splen1, 0) < 0)
256 errx(1, "ERROR: %s\n", ipsec_strerror());
257 m = pfkey_recv(so);
258 free(m);
259
260 printf("spdupdate()\n");
261 if (pfkey_send_spdupdate(so, (struct sockaddr *)addr, 128,
262 (struct sockaddr *)addr, 128,
263 255, sp2, splen2, 0) < 0)
264 errx(1, "ERROR: %s\n", ipsec_strerror());
265 m = pfkey_recv(so);
266 free(m);
267
268 sleep(4);
269
265 printf("spddelete()\n");
266 if (pfkey_send_spddelete(so, (struct sockaddr *)addr, 128,
267 (struct sockaddr *)addr, 128,
268 255, sp1, splen1, 0) < 0)
269 errx(1, "ERROR: %s\n", ipsec_strerror());
270 m = pfkey_recv(so);
271 free(m);
272

--- 5 unchanged lines hidden (view full) ---

278 spid = test2sub(so);
279
280 printf("spdget(%u)\n", spid);
281 if (pfkey_send_spdget(so, spid) < 0)
282 errx(1, "ERROR: %s\n", ipsec_strerror());
283 m = pfkey_recv(so);
284 free(m);
285
270 printf("spddelete()\n");
271 if (pfkey_send_spddelete(so, (struct sockaddr *)addr, 128,
272 (struct sockaddr *)addr, 128,
273 255, sp1, splen1, 0) < 0)
274 errx(1, "ERROR: %s\n", ipsec_strerror());
275 m = pfkey_recv(so);
276 free(m);
277

--- 5 unchanged lines hidden (view full) ---

283 spid = test2sub(so);
284
285 printf("spdget(%u)\n", spid);
286 if (pfkey_send_spdget(so, spid) < 0)
287 errx(1, "ERROR: %s\n", ipsec_strerror());
288 m = pfkey_recv(so);
289 free(m);
290
291 sleep(4);
292
286 printf("spddelete2()\n");
287 if (pfkey_send_spddelete2(so, spid) < 0)
288 errx(1, "ERROR: %s\n", ipsec_strerror());
289 m = pfkey_recv(so);
290 free(m);
293 printf("spddelete2()\n");
294 if (pfkey_send_spddelete2(so, spid) < 0)
295 errx(1, "ERROR: %s\n", ipsec_strerror());
296 m = pfkey_recv(so);
297 free(m);
298#endif
291
299
300 printf("spdadd() with lifetime's 10(s)\n");
301 if (pfkey_send_spdadd2(so, (struct sockaddr *)addr, 128,
302 (struct sockaddr *)addr, 128,
303 255, 0, 10, sp2, splen2, 0) < 0)
304 errx(1, "ERROR: %s\n", ipsec_strerror());
305 spid = test2sub(so);
306
307#if 0
292 /* expecting failure */
293 printf("spdupdate()\n");
294 if (pfkey_send_spdupdate(so, (struct sockaddr *)addr, 128,
295 (struct sockaddr *)addr, 128,
296 255, sp2, splen2, 0) == 0) {
308 /* expecting failure */
309 printf("spdupdate()\n");
310 if (pfkey_send_spdupdate(so, (struct sockaddr *)addr, 128,
311 (struct sockaddr *)addr, 128,
312 255, sp2, splen2, 0) == 0) {
297 errx(1, "ERROR: expecting failure.\n");
313 warnx("ERROR: expecting failure.\n");
298 }
314 }
315#endif
299
300 return 0;
301}
302
303int
304test2sub(so)
305 int so;
306{
307 struct sadb_msg *msg;
308 caddr_t mhp[SADB_EXT_MAX + 1];
309
310 if ((msg = pfkey_recv(so)) == NULL)
311 errx(1, "ERROR: pfkey_recv failure.\n");
312 if (pfkey_align(msg, mhp) < 0)
313 errx(1, "ERROR: pfkey_align failure.\n");
314
315 return ((struct sadb_x_policy *)mhp[SADB_X_EXT_POLICY])->sadb_x_policy_id;
316}
317
316
317 return 0;
318}
319
320int
321test2sub(so)
322 int so;
323{
324 struct sadb_msg *msg;
325 caddr_t mhp[SADB_EXT_MAX + 1];
326
327 if ((msg = pfkey_recv(so)) == NULL)
328 errx(1, "ERROR: pfkey_recv failure.\n");
329 if (pfkey_align(msg, mhp) < 0)
330 errx(1, "ERROR: pfkey_align failure.\n");
331
332 return ((struct sadb_x_policy *)mhp[SADB_X_EXT_POLICY])->sadb_x_policy_id;
333}
334