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 |