/home/tomh/openhip/hip-0.5/src/protocol/hip_ipsec.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#include <asm/types.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <sys/types.h>
#include <openssl/crypto.h>
#include <openssl/bn.h>
#include <openssl/dsa.h>
#include <openssl/dh.h>
#include <openssl/sha.h>
#include <openssl/rand.h>
#include <linux/pfkeyv2.h>
#include <hip/hip_types.h>
#include <hip/hip_proto.h>
#include <hip/hip_globals.h>
#include <hip/hip_funcs.h>

Classes

struct  pfkey_buffer_entry

Defines

#define IPSEC_PFKEYv2_ALIGN   (sizeof(uint64_t) / sizeof(uint8_t))
#define PFKEY_ALIGN8(a)   (1 + (((a) - 1) | (8 - 1)))
#define S_PFK_PROCESS   "the Linux kernel"
#define SADB_GETSEQ   24
#define SADB_GETLSI   25
#define SADB_READDRESS   26
#define SADB_HIP_ACQUIRE   27
#define SADB_HIP_ADD   28
#define SADB_MAX   29

Functions

int pfkey_send_hip_x1 (int, u_int, u_int, u_int, struct sockaddr *, struct sockaddr *, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int, caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int32_t, u_int32_t, u_int32_t, u_int32_t, u_int8_t, u_int16_t, u_int16_t, struct sockaddr *, u_int16_t)
int pfkey_send_rea (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int, u_int, u_int, u_int32_t)
int pfkey_send_spdadd (int so, struct sockaddr *src, u_int prefs, struct sockaddr *dst, u_int prefd, u_int proto, caddr_t policy, int policylen, u_int32_t seq)
int pfkey_send_spddelete (int so, struct sockaddr *src, u_int prefs, struct sockaddr *dst, u_int prefd, u_int proto, caddr_t policy, int policylen, u_int32_t seq)
int pfkey_send_delete (int so, u_int satype, u_int mode, struct sockaddr *src, struct sockaddr *dst, u_int32_t spi)
int pfkey_send_register (int so, u_int satype)
int pfkey_send_getspi (int so, u_int satype, u_int mode, struct sockaddr *src, struct sockaddr *dst, u_int32_t min, u_int32_t max, u_int32_t reqid, u_int32_t seq)
int pfkey_send_get (int so, u_int satype, u_int mode, struct sockaddr *src, struct sockaddr *dst, u_int32_t spi)
const char * ipsec_strerror (void)
int ipsec_get_policylen (caddr_t policy)
caddr_t ipsec_set_policy (char *msg, int msglen)
int check_pfkey_response (int expected_type, __u32 seqno)
void hip_handle_acquire (struct sockaddr *src, struct sockaddr *dst)
int hip_convert_lsi_to_peer (struct sockaddr *lsi, hip_hit *hitp, struct sockaddr *src, struct sockaddr *dst)
void hip_handle_expire (__u32 spi)
void hip_add_pfkey_buffer (char *data, int len)
__u32 get_next_spi (hip_assoc *hip_a)
int sadb_register (int satype)
int sadb_add (struct sockaddr *src, struct sockaddr *dst, struct sockaddr *inner_src, struct sockaddr *inner_dst, hip_assoc *hip_a, __u32 spi, int direction)
int sadb_readdress (struct sockaddr *src, struct sockaddr *dst, hip_assoc *hip_a, __u32 spi)
int sadb_delete (hip_assoc *hip_a, struct sockaddr *src, struct sockaddr *dst, __u32 spi)
int sadb_add_policy (hip_assoc *hip_a, struct sockaddr *out_src, struct sockaddr *out_dst, struct sockaddr *in_src, struct sockaddr *in_dst, int direction)
int sadb_delete_policy (struct sockaddr *src, struct sockaddr *dst, int direction)
int check_last_used (hip_assoc *hip_a, int incoming, struct timeval *now)
int sadb_lsi (struct sockaddr *ip, struct sockaddr *lsi4, struct sockaddr *lsi6)
int delete_associations (hip_assoc *hip_a, __u32 old_spi_in, __u32 old_spi_out)
int flush_hip_associations ()
int parse_acquire (char *data, struct sockaddr *src, struct sockaddr *dst)
int parse_expire (char *data, __u32 *spi)
void pfkey_packet_type (int type, char *r)
int check_pfkey_response_header (char *buff, int expected_type, __u32 seqno)
void hip_handle_pfkey (char *buff)
void hip_check_pfkey_buffer ()

Variables

static struct pfkey_buffer_entrypfkey_buffer
int __ipsec_errcode

Define Documentation

#define IPSEC_PFKEYv2_ALIGN   (sizeof(uint64_t) / sizeof(uint8_t))

#define PFKEY_ALIGN8 (  )     (1 + (((a) - 1) | (8 - 1)))

#define S_PFK_PROCESS   "the Linux kernel"

#define SADB_GETLSI   25

#define SADB_GETSEQ   24

#define SADB_HIP_ACQUIRE   27

#define SADB_HIP_ADD   28

#define SADB_MAX   29

#define SADB_READDRESS   26


Function Documentation

int check_last_used ( hip_assoc hip_a,
int  incoming,
struct timeval *  now 
)

int check_pfkey_response ( int  expected_type,
__u32  seqno 
)

int check_pfkey_response_header ( char *  buff,
int  expected_type,
__u32  seqno 
)

int delete_associations ( hip_assoc hip_a,
__u32  old_spi_in,
__u32  old_spi_out 
)

int flush_hip_associations (  ) 

__u32 get_next_spi ( hip_assoc hip_a  ) 

void hip_add_pfkey_buffer ( char *  data,
int  len 
)

void hip_check_pfkey_buffer (  ) 

int hip_convert_lsi_to_peer ( struct sockaddr *  lsi,
hip_hit hitp,
struct sockaddr *  src,
struct sockaddr *  dst 
)

void hip_handle_acquire ( struct sockaddr *  src,
struct sockaddr *  dst 
)

void hip_handle_expire ( __u32  spi  ) 

void hip_handle_pfkey ( char *  buff  ) 

int ipsec_get_policylen ( caddr_t  policy  ) 

caddr_t ipsec_set_policy ( char *  msg,
int  msglen 
)

const char* ipsec_strerror ( void   ) 

int parse_acquire ( char *  data,
struct sockaddr *  src,
struct sockaddr *  dst 
)

int parse_expire ( char *  data,
__u32 spi 
)

void pfkey_packet_type ( int  type,
char *  r 
)

int pfkey_send_delete ( int  so,
u_int  satype,
u_int  mode,
struct sockaddr *  src,
struct sockaddr *  dst,
u_int32_t  spi 
)

int pfkey_send_get ( int  so,
u_int  satype,
u_int  mode,
struct sockaddr *  src,
struct sockaddr *  dst,
u_int32_t  spi 
)

int pfkey_send_getspi ( int  so,
u_int  satype,
u_int  mode,
struct sockaddr *  src,
struct sockaddr *  dst,
u_int32_t  min,
u_int32_t  max,
u_int32_t  reqid,
u_int32_t  seq 
)

int pfkey_send_hip_x1 ( int  ,
u_int  ,
u_int  ,
u_int  ,
struct sockaddr *  ,
struct sockaddr *  ,
struct sockaddr *  ,
struct sockaddr *  ,
u_int32_t  ,
u_int32_t  ,
u_int  ,
caddr_t  ,
u_int  ,
u_int  ,
u_int  ,
u_int  ,
u_int  ,
u_int32_t  ,
u_int32_t  ,
u_int32_t  ,
u_int32_t  ,
u_int32_t  ,
u_int8_t  ,
u_int16_t  ,
u_int16_t  ,
struct sockaddr *  ,
u_int16_t   
)

int pfkey_send_rea ( int  ,
u_int  ,
u_int  ,
struct sockaddr *  ,
struct sockaddr *  ,
u_int32_t  ,
u_int  ,
u_int  ,
u_int  ,
u_int32_t   
)

int pfkey_send_register ( int  so,
u_int  satype 
)

int pfkey_send_spdadd ( int  so,
struct sockaddr *  src,
u_int  prefs,
struct sockaddr *  dst,
u_int  prefd,
u_int  proto,
caddr_t  policy,
int  policylen,
u_int32_t  seq 
)

int pfkey_send_spddelete ( int  so,
struct sockaddr *  src,
u_int  prefs,
struct sockaddr *  dst,
u_int  prefd,
u_int  proto,
caddr_t  policy,
int  policylen,
u_int32_t  seq 
)

int sadb_add ( struct sockaddr *  src,
struct sockaddr *  dst,
struct sockaddr *  inner_src,
struct sockaddr *  inner_dst,
hip_assoc hip_a,
__u32  spi,
int  direction 
)

int sadb_add_policy ( hip_assoc hip_a,
struct sockaddr *  out_src,
struct sockaddr *  out_dst,
struct sockaddr *  in_src,
struct sockaddr *  in_dst,
int  direction 
)

int sadb_delete ( hip_assoc hip_a,
struct sockaddr *  src,
struct sockaddr *  dst,
__u32  spi 
)

int sadb_delete_policy ( struct sockaddr *  src,
struct sockaddr *  dst,
int  direction 
)

int sadb_lsi ( struct sockaddr *  ip,
struct sockaddr *  lsi4,
struct sockaddr *  lsi6 
)

int sadb_readdress ( struct sockaddr *  src,
struct sockaddr *  dst,
hip_assoc hip_a,
__u32  spi 
)

int sadb_register ( int  satype  ) 


Variable Documentation

int __ipsec_errcode

struct pfkey_buffer_entry * pfkey_buffer [static]


Generated on Mon Oct 22 11:43:44 2007 for OpenHIP by  doxygen 1.5.1