- import of strongswan-2.7.0
- applied patch for charon
This commit is contained in:
1 parent
52923c9acb
commit
997358a6c4
2043 files changed
+346842
No files matched your search
@@ -0,0 +1 @@
|
||||
pf_key
|
||||
@@ -0,0 +1,49 @@
|
||||
# Makefile for the KLIPS interface utilities
|
||||
# Copyright (C) 1998, 1999 Henry Spencer.
|
||||
# Copyright (C) 1999, 2000, 2001 Richard Guy Briggs
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# RCSID $Id: Makefile,v 1.1 2004/03/15 20:35:28 as Exp $
|
||||
|
||||
FREESWANSRCDIR=../..
|
||||
include ${FREESWANSRCDIR}/Makefile.inc
|
||||
|
||||
PROGRAM:=pf_key
|
||||
EXTRA5MAN=${PROGRAM}.5
|
||||
|
||||
LIBS:=${FREESWANLIB}
|
||||
|
||||
include ../Makefile.program
|
||||
|
||||
#
|
||||
# $Log: Makefile,v $
|
||||
# Revision 1.1 2004/03/15 20:35:28 as
|
||||
# added files from freeswan-2.04-x509-1.5.3
|
||||
#
|
||||
# Revision 1.3 2002/06/02 22:02:14 mcr
|
||||
# changed TOPDIR->FREESWANSRCDIR in all Makefiles.
|
||||
# (note that linux/net/ipsec/Makefile uses TOPDIR because this is the
|
||||
# kernel sense.)
|
||||
#
|
||||
# Revision 1.2 2002/04/26 01:21:26 mcr
|
||||
# while tracking down a missing (not installed) /etc/ipsec.conf,
|
||||
# MCR has decided that it is not okay for each program subdir to have
|
||||
# some subset (determined with -f) of possible files.
|
||||
# Each subdir that defines $PROGRAM, MUST have a PROGRAM.8 file as well as a PROGRAM file.
|
||||
# Optional PROGRAM.5 files have been added to the makefiles.
|
||||
#
|
||||
# Revision 1.1 2002/04/24 07:55:32 mcr
|
||||
# #include patches and Makefiles for post-reorg compilation.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
.TH IPSEC_PF_KEY 5 "29 Jun 2000"
|
||||
.\"
|
||||
.\" RCSID $Id: pf_key.5,v 1.1 2004/03/15 20:35:28 as Exp $
|
||||
.\"
|
||||
.SH NAME
|
||||
ipsec_pf_key \- lists PF_KEY sockets registered with KLIPS
|
||||
.SH SYNOPSIS
|
||||
.B cat
|
||||
.B /proc/net/pf_key
|
||||
.SH DESCRIPTION
|
||||
.I /proc/net/pf_key
|
||||
is a read-only file which lists the presently open PF_KEY sockets on the
|
||||
local system and their parameters.
|
||||
.PP
|
||||
Each line lists one PF_KEY socket.
|
||||
A table entry consists of:
|
||||
.IP + 3
|
||||
sock pointer (sock)
|
||||
.IP +
|
||||
PID of the socket owner (pid)
|
||||
.IP +
|
||||
flag to indicate if the socket is dead (d)
|
||||
.IP +
|
||||
socket wait queue (sleep)
|
||||
.IP +
|
||||
socket pointer (socket)
|
||||
.IP +
|
||||
next socket in chain (next)
|
||||
.IP +
|
||||
previous socket in chain (prev)
|
||||
.IP +
|
||||
last socket error (e)
|
||||
.IP +
|
||||
pointer to destruct routine (destruct)
|
||||
.IP +
|
||||
is this a reused socket (r)
|
||||
.IP +
|
||||
has this socket been zapped (z)
|
||||
.IP +
|
||||
socket family to which this socket belongs (fa)
|
||||
.IP +
|
||||
local port number (n)
|
||||
.IP +
|
||||
protocol version number (p)
|
||||
.IP +
|
||||
Receive queue bytes committed (r)
|
||||
.IP +
|
||||
Transmit queue bytes committed (w)
|
||||
.IP +
|
||||
option memory allocations (o)
|
||||
.IP +
|
||||
size of send buffer in bytes (sndbf)
|
||||
.IP +
|
||||
timestamp in seconds (stamp)
|
||||
.IP +
|
||||
socket flags (Flags)
|
||||
.IP +
|
||||
socket type (Type)
|
||||
.IP +
|
||||
connection state (St)
|
||||
.BR
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
.\".B "sock pid d sleep socket next prev e destruct r z fa n p r w o sndbf stamp Flags Type St"
|
||||
.TP
|
||||
.B c3b8c140 3553 0 c0599818 c05997fc 0 0 0 0 1 0 15 0 2 0 0 0 65535 0.103232 00000000 00000003 01
|
||||
.LP
|
||||
shows that there is one pf_key socket set up that starts at
|
||||
.BR c3b8c140 ,
|
||||
whose owning process has PID
|
||||
.BR 3553 ,
|
||||
the socket is not dead, its wait queue is at
|
||||
.BR c0599818 ,
|
||||
whose owning socket is at
|
||||
.BR c05997fc ,
|
||||
with no other sockets in the chain, no errors, no destructor, it is a
|
||||
reused socket which has not been zapped, from protocol family
|
||||
.BR 15
|
||||
(PF_KEY), local port number
|
||||
.BR 0 ,
|
||||
protocol socket version
|
||||
.BR 2 ,
|
||||
no memory allocated to transmit, receive or option queues, a send buffer
|
||||
of almost
|
||||
.BR 64kB ,
|
||||
a timestamp of
|
||||
.BR 0.103232 ,
|
||||
no flags set, type
|
||||
.BR 3 ,
|
||||
in state
|
||||
.BR 1 .
|
||||
.SH "FILES"
|
||||
/proc/net/pf_key
|
||||
.SH "SEE ALSO"
|
||||
ipsec(8), ipsec_manual(8), ipsec_eroute(5), ipsec_spi(5),
|
||||
ipsec_spigrp(5), ipsec_klipsdebug(5), ipsec_tncfg(8), ipsec_version(5)
|
||||
.SH HISTORY
|
||||
Written for the Linux FreeS/WAN project
|
||||
<http://www.freeswan.org/>
|
||||
by Richard Guy Briggs.
|
||||
.\"
|
||||
.\" $Log: pf_key.5,v $
|
||||
.\" Revision 1.1 2004/03/15 20:35:28 as
|
||||
.\" added files from freeswan-2.04-x509-1.5.3
|
||||
.\"
|
||||
.\" Revision 1.4 2002/04/24 07:35:39 mcr
|
||||
.\" Moved from ./klips/utils/pf_key.5,v
|
||||
.\"
|
||||
.\" Revision 1.3 2001/01/23 23:51:49 rgb
|
||||
.\" Fix outdated references to /proc/net/ipsec_pf_key.
|
||||
.\"
|
||||
.\" Revision 1.2 2000/06/30 18:21:55 rgb
|
||||
.\" Update SEE ALSO sections to include ipsec_version(5) and ipsec_pf_key(5)
|
||||
.\" and correct FILES sections to no longer refer to /dev/ipsec which has
|
||||
.\" been removed since PF_KEY does not use it.
|
||||
.\"
|
||||
.\" Revision 1.1 2000/06/30 06:19:27 rgb
|
||||
.\" manpages for the last two /proc/net/ipsec* files that don't have a
|
||||
.\" corresponding utility.
|
||||
.\"
|
||||
.\"
|
||||
.\"
|
||||
@@ -0,0 +1,73 @@
|
||||
.TH IPSEC_PF_KEY 8 "17 Oct 2001"
|
||||
.\"
|
||||
.\" RCSID $Id: pf_key.8,v 1.2 2005/07/07 19:07:43 as Exp $
|
||||
.\"
|
||||
.SH NAME
|
||||
pf_key \- shows pfkey messages emitted by the kernel
|
||||
.SH SYNOPSIS
|
||||
.B pf_key
|
||||
.B \-\-ah
|
||||
.B \-\-esp
|
||||
.B \-\-ipip
|
||||
.B \-\-ipcomp
|
||||
.B \-\-daemon
|
||||
.I file
|
||||
.BR hmac-md5-96 | hmac-sha1-96
|
||||
.SH DESCRIPTION
|
||||
.B pf_key
|
||||
is a program to open a PF_KEY socket and print all messages that are received
|
||||
from it. With no options, it will register itself to receive key requests for
|
||||
AH, ESP, IPIP and IPCOMP security associations. If given more specific
|
||||
options, then it will listen only to those protocols which are listed.
|
||||
.PP
|
||||
If the messages are recognized, the messages will be decoded.
|
||||
.PP
|
||||
If the option
|
||||
.B \-\-daemon
|
||||
is provided, then after doing the registrations, the program will fork
|
||||
into the background. The provided file will be opened and the process ID of
|
||||
the background process will be written to it. This option is present to
|
||||
present race conditions in regression testing.
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
.\".B "pfkey v.2 msg. type 3 seq=20 len=2 errno=22 satype=3"
|
||||
.SH "FILES"
|
||||
/proc/net/pf_key
|
||||
.SH "SEE ALSO"
|
||||
pf_key(5), ipsec(8), ipsec_manual(8), ipsec_eroute(5), ipsec_spi(5),
|
||||
ipsec_spigrp(5), ipsec_klipsdebug(5), ipsec_tncfg(8), ipsec_version(5)
|
||||
.SH HISTORY
|
||||
Written for the Linux FreeS/WAN project
|
||||
<http://www.freeswan.org/>
|
||||
by Michael Richardson <mcr@freeswan.org>
|
||||
.\"
|
||||
.\" $Log: pf_key.8,v $
|
||||
.\" Revision 1.2 2005/07/07 19:07:43 as
|
||||
.\" fixed man page type
|
||||
.\"
|
||||
.\" Revision 1.1 2004/03/15 20:35:28 as
|
||||
.\" added files from freeswan-2.04-x509-1.5.3
|
||||
.\"
|
||||
.\" Revision 1.4 2002/07/16 02:53:42 mcr
|
||||
.\" added --daemon <pidfile> to "ipsec pf_key" command.
|
||||
.\" this is used in *-trap-* tests to avoid race conditions between
|
||||
.\" registration of PF_KEY listeners and arrival of first test packet.
|
||||
.\"
|
||||
.\" Revision 1.3 2002/04/24 07:35:39 mcr
|
||||
.\" Moved from ./klips/utils/pf_key.8,v
|
||||
.\"
|
||||
.\" Revision 1.2 2001/11/23 07:23:14 mcr
|
||||
.\" pulled up klips2 Makefile and pf_key code.
|
||||
.\"
|
||||
.\" Revision 1.1.2.1 2001/10/23 18:49:12 mcr
|
||||
.\" renamed man page to section 8.
|
||||
.\" added --ah, --esp, --ipcomp and --ipip to control which
|
||||
.\" protocols are printed.
|
||||
.\" incomplete messages which include at least an sadb header are printed.
|
||||
.\"
|
||||
.\" Revision 1.1.2.1 2001/10/17 23:25:37 mcr
|
||||
.\" added "pk_key" program to dump raw kernel pf messages.
|
||||
.\" (program is still skeletal)
|
||||
.\"
|
||||
.\"
|
||||
.\"
|
||||
@@ -0,0 +1,353 @@
|
||||
/*
|
||||
* @(#) pfkey socket manipulator/observer
|
||||
*
|
||||
* Copyright (C) 2001 Richard Guy Briggs <rgb@freeswan.org>
|
||||
* and Michael Richardson <mcr@freeswan.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* RCSID $Id: pf_key.c,v 1.2 2004/04/20 21:23:25 as Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* This program opens a pfkey socket and prints all messages that it sees.
|
||||
*
|
||||
* This can be used to diagnose problems.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <getopt.h>
|
||||
#include <errno.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
#include <freeswan.h>
|
||||
#include <pfkeyv2.h>
|
||||
#include <pfkey.h>
|
||||
|
||||
char *progname;
|
||||
uint32_t pfkey_seq = 0;
|
||||
int pfkey_sock;
|
||||
|
||||
static void
|
||||
Usage(char *progname)
|
||||
{
|
||||
fprintf(stderr, "%s: Usage: %s [--help]\n"
|
||||
"\tby default listens for AH, ESP, IPIP and IPCOMP\n"
|
||||
"\t--daemon <file> fork before printing, stuffing the PID in the file\n"
|
||||
"\t--ah listen for AH messages\n"
|
||||
"\t--esp listen for ESP messages\n"
|
||||
"\t--ipip listen for IPIP messages\n"
|
||||
"\t--ipcomp listen for IPCOMP messages\n",
|
||||
progname, progname);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void
|
||||
pfkey_register(uint8_t satype) {
|
||||
/* for registering SA types that can be negotiated */
|
||||
int error = 0;
|
||||
struct sadb_ext *extensions[SADB_EXT_MAX + 1];
|
||||
struct sadb_msg *pfkey_msg;
|
||||
|
||||
pfkey_extensions_init(extensions);
|
||||
if((error = pfkey_msg_hdr_build(&extensions[0],
|
||||
SADB_REGISTER,
|
||||
satype,
|
||||
0,
|
||||
++pfkey_seq,
|
||||
getpid()))) {
|
||||
fprintf(stderr, "%s: Trouble building message header, error=%d.\n",
|
||||
progname, error);
|
||||
pfkey_extensions_free(extensions);
|
||||
exit(1);
|
||||
}
|
||||
if((error = pfkey_msg_build(&pfkey_msg, extensions, EXT_BITS_IN))) {
|
||||
fprintf(stderr, "%s: Trouble building pfkey message, error=%d.\n",
|
||||
progname, error);
|
||||
pfkey_extensions_free(extensions);
|
||||
pfkey_msg_free(&pfkey_msg);
|
||||
exit(1);
|
||||
}
|
||||
if(write(pfkey_sock, pfkey_msg,
|
||||
pfkey_msg->sadb_msg_len * IPSEC_PFKEYv2_ALIGN) !=
|
||||
(ssize_t)(pfkey_msg->sadb_msg_len * IPSEC_PFKEYv2_ALIGN)) {
|
||||
/* cleanup code here */
|
||||
fprintf(stderr, "%s: Trouble writing to channel PF_KEY.\n", progname);
|
||||
pfkey_extensions_free(extensions);
|
||||
pfkey_msg_free(&pfkey_msg);
|
||||
exit(1);
|
||||
}
|
||||
pfkey_extensions_free(extensions);
|
||||
pfkey_msg_free(&pfkey_msg);
|
||||
}
|
||||
|
||||
int dienow;
|
||||
|
||||
void controlC(int foo)
|
||||
{
|
||||
fflush(stdout);
|
||||
printf("%s: Exiting on signal 15\n", progname);
|
||||
fflush(stderr);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int opt;
|
||||
ssize_t readlen;
|
||||
unsigned char pfkey_buf[256];
|
||||
struct sadb_msg *msg;
|
||||
int fork_after_register;
|
||||
char *pidfilename;
|
||||
|
||||
static int ah_register;
|
||||
static int esp_register;
|
||||
static int ipip_register;
|
||||
static int ipcomp_register;
|
||||
|
||||
static struct option long_options[] =
|
||||
{
|
||||
{"help", no_argument, 0, 'h'},
|
||||
{"daemon", required_argument, 0, 'f'},
|
||||
{"ah", no_argument, &ah_register, 1},
|
||||
{"esp", no_argument, &esp_register, 1},
|
||||
{"ipip", no_argument, &ipip_register, 1},
|
||||
{"ipcomp", no_argument, &ipcomp_register, 1},
|
||||
};
|
||||
|
||||
ah_register = 0;
|
||||
esp_register = 0;
|
||||
ipip_register = 0;
|
||||
ipcomp_register=0;
|
||||
dienow = 0;
|
||||
fork_after_register=0;
|
||||
pidfilename=NULL;
|
||||
|
||||
progname = argv[0];
|
||||
if(strrchr(progname, '/')) {
|
||||
progname=strrchr(progname, '/')+1;
|
||||
}
|
||||
|
||||
while((opt = getopt_long(argc, argv, "hf:",
|
||||
long_options, NULL)) != EOF) {
|
||||
switch(opt) {
|
||||
case 'f':
|
||||
pidfilename=optarg;
|
||||
fork_after_register=1;
|
||||
break;
|
||||
case 'h':
|
||||
Usage(progname);
|
||||
break;
|
||||
case '0':
|
||||
/* it was a long option with a flag */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if((pfkey_sock = socket(PF_KEY, SOCK_RAW, PF_KEY_V2) ) < 0) {
|
||||
fprintf(stderr, "%s: failed to open PF_KEY family socket: %s\n",
|
||||
progname, strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if(ah_register == 0 &&
|
||||
esp_register== 0 &&
|
||||
ipip_register==0 &&
|
||||
ipcomp_register==0) {
|
||||
ah_register=1;
|
||||
esp_register=1;
|
||||
ipip_register=1;
|
||||
ipcomp_register=1;
|
||||
}
|
||||
|
||||
if(ah_register) {
|
||||
pfkey_register(SADB_SATYPE_AH);
|
||||
}
|
||||
if(esp_register) {
|
||||
pfkey_register(SADB_SATYPE_ESP);
|
||||
}
|
||||
if(ipip_register) {
|
||||
pfkey_register(SADB_X_SATYPE_IPIP);
|
||||
}
|
||||
if(ipcomp_register) {
|
||||
pfkey_register(SADB_X_SATYPE_COMP);
|
||||
}
|
||||
|
||||
if(fork_after_register) {
|
||||
/*
|
||||
* to aid in regression testing, we offer to register
|
||||
* everything first, and then we fork. As part of this
|
||||
* we write the PID of the new process to a file
|
||||
* provided.
|
||||
*/
|
||||
int pid;
|
||||
FILE *pidfile;
|
||||
|
||||
fflush(stdout);
|
||||
fflush(stderr);
|
||||
|
||||
pid=fork();
|
||||
if(pid!=0) {
|
||||
/* in parent! */
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if((pidfile=fopen(pidfilename, "w"))==NULL) {
|
||||
perror(pidfilename);
|
||||
} else {
|
||||
fprintf(pidfile, "%d", getpid());
|
||||
fclose(pidfile);
|
||||
}
|
||||
}
|
||||
|
||||
signal(SIGINT, controlC);
|
||||
signal(SIGTERM, controlC);
|
||||
|
||||
while((readlen = read(pfkey_sock, pfkey_buf, sizeof(pfkey_buf))) > 0) {
|
||||
struct sadb_ext *extensions[SADB_EXT_MAX + 1];
|
||||
msg = (struct sadb_msg *)pfkey_buf;
|
||||
|
||||
/* first, see if we got enough for an sadb_msg */
|
||||
if((size_t)readlen < sizeof(struct sadb_msg)) {
|
||||
printf("%s: runt packet of size: %d (<%lu)\n",
|
||||
progname, (int)readlen, (unsigned long)sizeof(struct sadb_msg));
|
||||
continue;
|
||||
}
|
||||
|
||||
/* okay, we got enough for a message, print it out */
|
||||
printf("\npfkey v%d msg. type=%d(%s) seq=%d len=%d pid=%d errno=%d satype=%d(%s)\n",
|
||||
msg->sadb_msg_version,
|
||||
msg->sadb_msg_type,
|
||||
pfkey_v2_sadb_type_string(msg->sadb_msg_type),
|
||||
msg->sadb_msg_seq,
|
||||
msg->sadb_msg_len,
|
||||
msg->sadb_msg_pid,
|
||||
msg->sadb_msg_errno,
|
||||
msg->sadb_msg_satype,
|
||||
satype2name(msg->sadb_msg_satype));
|
||||
|
||||
if((size_t)readlen != msg->sadb_msg_len * IPSEC_PFKEYv2_ALIGN)
|
||||
{
|
||||
printf("%s: packet size read from socket=%d doesn't equal sadb_msg_len %d * %u; message not decoded\n",
|
||||
progname,
|
||||
(int)readlen,
|
||||
msg->sadb_msg_len,
|
||||
(int) IPSEC_PFKEYv2_ALIGN);
|
||||
continue;
|
||||
}
|
||||
|
||||
pfkey_lib_debug = PF_KEY_DEBUG_PARSE_STRUCT;
|
||||
if (pfkey_msg_parse(msg, NULL, extensions, EXT_BITS_OUT)) {
|
||||
printf("%s: unparseable PF_KEY message.\n",
|
||||
progname);
|
||||
} else {
|
||||
printf("%s: parseable PF_KEY message.\n",
|
||||
progname);
|
||||
}
|
||||
}
|
||||
printf("%s: exited normally\n", progname);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* $Log: pf_key.c,v $
|
||||
* Revision 1.2 2004/04/20 21:23:25 as
|
||||
* int cast fix for 64 bit platforms
|
||||
*
|
||||
* Revision 1.1 2004/03/15 20:35:28 as
|
||||
* added files from freeswan-2.04-x509-1.5.3
|
||||
*
|
||||
* Revision 1.15 2003/09/10 00:01:30 mcr
|
||||
* fixes for gcc 3.3 from Matthias Bethke <Matthias.Bethke@gmx.net>
|
||||
*
|
||||
* Revision 1.14 2002/10/09 03:12:05 dhr
|
||||
*
|
||||
* [kenb+dhr] 64-bit fixes
|
||||
*
|
||||
* Revision 1.13 2002/09/20 05:02:15 rgb
|
||||
* Cleaned up pfkey_lib_debug usage.
|
||||
*
|
||||
* Revision 1.12 2002/09/13 23:02:23 rgb
|
||||
* Type fiddling to tame ia64 compiler.
|
||||
* Added text labels to elucidate numeric values presented.
|
||||
*
|
||||
* Revision 1.11 2002/08/26 03:05:25 mcr
|
||||
* duh, pf_key much catch SIGTERM as well as SIGINT...
|
||||
*
|
||||
* Revision 1.10 2002/08/13 19:01:27 mcr
|
||||
* patches from kenb to permit compilation of FreeSWAN on ia64.
|
||||
* des library patched to use proper DES_LONG type for ia64.
|
||||
*
|
||||
* Revision 1.9 2002/07/16 02:53:42 mcr
|
||||
* added --daemon <pidfile> to "ipsec pf_key" command.
|
||||
* this is used in *-trap-* tests to avoid race conditions between
|
||||
* registration of PF_KEY listeners and arrival of first test packet.
|
||||
*
|
||||
* Revision 1.8 2002/06/17 04:32:55 mcr
|
||||
* exit nicely from pf_key when SIGINT (^C) is sent.
|
||||
* This is needed so that the stdout will flush properly.
|
||||
*
|
||||
* Revision 1.7 2002/04/24 07:55:32 mcr
|
||||
* #include patches and Makefiles for post-reorg compilation.
|
||||
*
|
||||
* Revision 1.6 2002/04/24 07:35:39 mcr
|
||||
* Moved from ./klips/utils/pf_key.c,v
|
||||
*
|
||||
* Revision 1.5 2002/03/08 21:44:04 rgb
|
||||
* Update for all GNU-compliant --version strings.
|
||||
*
|
||||
* Revision 1.4 2001/11/27 05:19:06 mcr
|
||||
* added extra newline between packets.
|
||||
* set pfkey_lib_debug to enum rather than just to "1".
|
||||
*
|
||||
* Revision 1.3 2001/11/27 03:35:29 rgb
|
||||
* Added stdlib *again*.
|
||||
*
|
||||
* Revision 1.2 2001/11/23 07:23:14 mcr
|
||||
* pulled up klips2 Makefile and pf_key code.
|
||||
*
|
||||
* Revision 1.1.2.5 2001/10/23 18:49:12 mcr
|
||||
* renamed man page to section 8.
|
||||
* added --ah, --esp, --ipcomp and --ipip to control which
|
||||
* protocols are printed.
|
||||
* incomplete messages which include at least an sadb header are printed.
|
||||
*
|
||||
* Revision 1.1.2.4 2001/10/22 21:50:51 rgb
|
||||
* Added pfkey register for AH, ESP, IPIP and COMP.
|
||||
*
|
||||
* Revision 1.1.2.3 2001/10/21 21:51:06 rgb
|
||||
* Bug fixes to get working.
|
||||
*
|
||||
* Revision 1.1.2.2 2001/10/20 22:45:31 rgb
|
||||
* Added check for exact length and a call to message parser to get some
|
||||
* idea of the contents of each extension.
|
||||
*
|
||||
* Revision 1.1.2.1 2001/10/17 23:25:37 mcr
|
||||
* added "pk_key" program to dump raw kernel pf messages.
|
||||
* (program is still skeletal)
|
||||
*
|
||||
*
|
||||
* Local variables:
|
||||
* c-file-style: "linux"
|
||||
* End:
|
||||
*
|
||||
*/
|
||||
Reference in new issue
Block a user