/home/tomh/openhip/hip-0.5/src/include/hip/hip_funcs.h File Reference

#include <asm/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <openssl/bn.h>
#include <openssl/hmac.h>
#include <openssl/rsa.h>
#include <time.h>

Go to the source code of this file.

Defines

#define DBG(x)   x
#define TDIFF(a, b)   ((a).tv_sec - (b).tv_sec)
#define SA2IP(x)
#define SALEN(x)
#define SAIPLEN(x)   (((struct sockaddr*)x)->sa_family==AF_INET) ? 4 : 16
#define SA(x)   ((struct sockaddr*)x)
#define yesno(x)   x ? "yes" : "no"
#define YLIFE(x)   ((float)x-(float)64)/(float)8
#define IS_LSI32(a)   ((a & 0xFF) == 0x01)
#define IS_HIT(x)
#define SA2IP6(x)   ( &((struct sockaddr_in6*)x)->sin6_addr )
#define IS_LSI(a)
#define VALID_FAM(a)
#define hton64(i)   __hton64( i )
#define ntoh64(i)   __hton64( i )

Functions

int hip_send_I1 (hip_hit *hit, hip_assoc *hip_a, int pos)
int hip_send_R1 (struct sockaddr *src, struct sockaddr *dst, hip_hit *hiti, hi_node *hi, __u16 dst_port, int use_udp)
int hip_generate_R1 (__u8 *data, hi_node *hi, hipcookie *cookie, dh_cache_entry *dh_entry)
int hip_send_I2 (hip_assoc *hip_a)
int hip_send_R2 (hip_assoc *hip_a)
int hip_send_update (hip_assoc *hip_a, struct sockaddr *newaddr, struct sockaddr *dstaddr, int use_udp)
int hip_send_close (hip_assoc *hip_a, int send_ack)
int hip_send_notify (hip_assoc *hip_a, int code, __u8 *data, int data_len)
int hip_send (__u8 *data, int len, struct sockaddr *src, struct sockaddr *dst, hip_assoc *hip_a, int retransmit, __u16 dst_port, int use_udp)
int hip_retransmit (hip_assoc *hip_a, __u8 *data, int len, struct sockaddr *src, struct sockaddr *dst)
void * udp_hip_keepalive (void *arg)
int build_tlv_hostid_len (hi_node *hi, int use_hi_name)
int build_tlv_hostid (__u8 *data, hi_node *hi, int use_hi_name)
int build_tlv_reg_info (__u8 *data, int location)
int build_tlv_reg_req (__u8 *data, int location, int lifetime1, int reg_type1)
int build_tlv_reg_resp (__u8 *data, int location, int lifetime1, int reg_type1)
int build_tlv_reg_failed (__u8 *data, int location, int fail_type1, int fail_reg_type1)
int build_rekey (hip_assoc *hip_a)
int hip_parse_hdr (__u8 *data, int len, struct sockaddr *src, struct sockaddr *dst, __u16 family, hiphdr **hdr, int use_udp)
int hip_handle_I1 (__u8 *data, hip_assoc *hip_a, struct sockaddr *src, struct sockaddr *dst, __u16 *dst_port, int use_udp)
int hip_handle_R1 (__u8 *data, hip_assoc *hip_a, struct sockaddr *src, __u16 *dst_port, int use_udp)
int hip_handle_I2 (__u8 *data, hip_assoc *hip_a, struct sockaddr *src, struct sockaddr *dst, __u16 *dst_port, int use_udp)
int hip_handle_R2 (__u8 *data, hip_assoc *hip_a, __u16 *dst_port, int use_udp)
int hip_handle_update (__u8 *data, hip_assoc *hip_a, struct sockaddr *src, __u16 *dst_port, int use_udp)
int hip_handle_close (__u8 *data, hip_assoc *hip_a, __u16 *dst_port, int use_udp)
int hip_handle_notify (__u8 *buff, hip_assoc *hip_a, __u16 *dst_port, int use_udp)
int hip_finish_rekey (hip_assoc *hip_a, int rebuild, int use_udp)
int hip_handle_BOS (__u8 *data, struct sockaddr *src)
int hip_handle_CER (__u8 *data, hip_assoc *hip_a)
int rebuild_sa (hip_assoc *hip_a, struct sockaddr *newaddr, __u32 newspi, int in, int peer, int use_udp)
void handle_reg_info ()
void handle_reg_request (char *data, int location)
__u32 get_next_spi (hip_assoc *hip_a)
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_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_register (int satype)
int check_last_used (hip_assoc *hip_a, int direction, 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)
void hip_handle_pfkey (char *buff)
void hip_check_pfkey_buffer ()
void update_lsi_mapping (struct sockaddr *dst, struct sockaddr *lsi, hip_hit hit)
int set_secret_key (unsigned char *key, hip_assoc *hip_a)
unsigned char * get_key (hip_assoc *hip_a, int type, int peer)
void compute_keys (hip_assoc *hip_a)
int compute_keymat (hip_assoc *hip_a)
int draw_keys (hip_assoc *hip_a, int draw_hip_keys, int keymat_index)
int auth_key_len (int suite_id)
int enc_key_len (int suite_id)
int enc_iv_len (int suite_id)
int add_addresses_from_dns (char *name, hi_node *hi)
int read_identities_file (char *filename, int mine)
int save_identities_file (int)
int read_conf_file (char *)
int read_reg_file (void)
__u16 conf_transforms_to_mask ()
hi_nodecreate_new_hi_node ()
void append_hi_node (hi_node **head, hi_node *append)
int add_peer_hit (hip_hit peer_hit, struct sockaddr *peer_addr)
hi_nodefind_host_identity (hi_node *hi_head, hip_hit *hitr)
int key_data_to_hi (const __u8 *data, __u8 alg, int hi_length, __u8 di_type, int di_length, hi_node **hi_p, int max_length)
hi_nodeget_preferred_hi (hi_node *node)
int get_addr_from_list (sockaddr_list *list, int family, struct sockaddr *addr)
hip_associnit_hip_assoc (hi_node *my_host_id, hip_hit *peer_hit)
void replace_hip_assoc (hip_assoc *a_old, hip_assoc *a_new)
int free_hip_assoc (hip_assoc *hip_a)
void free_hi_node (hi_node *hi)
void clear_retransmissions (hip_assoc *hip_a)
void set_state (hip_assoc *hip_a, int state)
hip_hithit_lookup (struct sockaddr *)
hi_nodelsi_lookup (struct sockaddr *lsi)
__u32 lsi_name_lookup (char *name, int name_len)
sockaddr * get_hip_dns_server ()
__u32 receive_hip_dns_response (unsigned char *buff, int len)
hi_nodehi_lookup (const hip_hit hit, hi_node *node)
int hits_equal (const hip_hit hit1, const hip_hit hit2)
void print_cookie (hipcookie *cookie)
int str_to_addr (__u8 *data, struct sockaddr *addr)
int addr_to_str (struct sockaddr *addr, __u8 *data, int len)
int hex_to_bin (char *src, char *dst, int dst_len)
int solve_puzzle (hipcookie *cookie, __u64 *solution, hip_hit *hit_i, hip_hit *hit_r)
int validate_solution (const hipcookie *cookie_r, const hipcookie *cookie_i, hip_hit *hit_i, hip_hit *hit_r, __u64 solution)
int hi_to_hit (hi_node *hi, hip_hit hit)
int validate_hit (hip_hit hit, hi_node *hi)
void print_hex (void *data, int len)
void print_binary (void *data, int len)
int compare_bits (const char *s1, int s1_len, const char *s2, int s2_len, int numbits)
int compare_hits (hip_hit a, hip_hit b)
int compare_hits2 (void const *s1, void const *s2)
int maxof (int num_args,...)
int hip_header_offset (const __u8 *data)
int udp_header_offset (const __u8 *data)
__u16 checksum_udp_packet (__u8 *data, struct sockaddr *src, struct sockaddr *dst)
void hip_packet_type (int type, char *r)
void print_usage (void)
__u16 checksum_packet (__u8 *data, struct sockaddr *src, struct sockaddr *dst)
__u16 checksum_magic (const hip_hit *i, const hip_hit *r)
int tlv_length_to_parameter_length (int length)
int eight_byte_align (int length)
hip_assocfind_hip_association (struct sockaddr *src, struct sockaddr *dst, hiphdr *hiph)
hip_assocfind_hip_association2 (hiphdr *hiph)
hip_assocfind_hip_association3 (struct sockaddr *src, struct sockaddr *dst)
void * binsert (const void *ky, const void *bs, size_t nel, size_t width, int(*compar)(const void *, const void *))
void log_registration (hip_reg *hip_r, int a)
void print_reg_table (hip_reg *hip_r)
int delete_reg_table (hip_reg key, hip_reg *hip_r)
int insert_reg_table (hip_reg key, hip_reg *hip_r)
returnedsearch_reg_table (hip_reg p, hip_reg *hip_r, returned *ret)
void cb (int p, int n, void *arg)
int init_log ()
void fflush_log ()
void log_ (int level, char *fmt,...)
char * logaddr (struct sockaddr *addr)
void logdsa (DSA *dsa)
void logrsa (RSA *rsa)
void logdh (DH *dh)
void logbn (BIGNUM *bn)
int bn2bin_safe (const BIGNUM *a, unsigned char *to, int len)
void log_hipa_fromto (int level, char *msg, hip_assoc *hip_a, __u8 from, __u8 to)
void log_hipopts ()
void hip_sleep (int seconds)
void hip_writelock ()
void hip_exit (int signal)
void hit_to_sockaddr (struct sockaddr_in6 *sockad, hip_hit hit)
int hip_netlink_open ()
int get_my_addresses ()
int select_preferred_address ()
int is_my_address (struct sockaddr *addr)
int hip_handle_netlink (char *data, int length)
int add_address_to_iface (struct sockaddr *addr, int plen, int if_index)
int devname_to_index (char *dev, __u64 *mac)
sockaddr_listadd_address_to_list (sockaddr_list **list, struct sockaddr *addr, int ifi)
void delete_address_from_list (sockaddr_list **list, struct sockaddr *addr, int ifi)
void delete_address_entry_from_list (sockaddr_list **list, sockaddr_list *entry)
void make_address_active (sockaddr_list *item)
int update_peer_list_address (const hip_hit peer_hit, struct sockaddr *old_addr, struct sockaddr *new_addr)
void init_all_R1_caches ()
void init_R1_cache (hi_node *hi)
hipcookiegenerate_cookie ()
void replace_next_R1 ()
int compute_R1_cache_index (hip_hit *hiti, __u8 current)
int calculate_r1_length (hi_node *hi)
void init_dh_cache ()
dh_cache_entrynew_dh_cache_entry (__u8 group_id)
dh_cache_entryget_dh_entry (__u8 group_id, int new)
void unuse_dh_entry (DH *dh)
void expire_old_dh_entries ()
int hip_status_open ()
void hip_handle_status_request (__u8 *buff, int len, struct sockaddr *addr)
int hip_dht_lookup_hit (struct sockaddr *lsi, hip_hit *hit, int retry)
int hip_dht_lookup_address (hip_hit *hit, struct sockaddr *addr, int retry)
int hip_dht_publish (hip_hit *hit, struct sockaddr *addr, int retry)
int hip_dht_select_server (struct sockaddr *addr)
int add_addresses_from_dht (hi_node *hi, int retry)
void publish_my_hits ()
static __inline __u64 __hton64 (__u64 i)


Define Documentation

#define DBG (  )     x

#define hton64 (  )     __hton64( i )

#define IS_HIT (  ) 

Value:

( (ntohl(((struct in6_addr*)x)->s6_addr32[0]) & 0xFFFFFFF0L) \
                        == HIT_PREFIX_SHA1_32BITS )

#define IS_LSI (  ) 

Value:

( (((struct sockaddr*)a)->sa_family == AF_INET) ? \
                   (IS_LSI32(((struct sockaddr_in*)a)->sin_addr.s_addr)) : \
                   (IS_HIT( &((struct sockaddr_in6*)a)->sin6_addr) )     )

#define IS_LSI32 (  )     ((a & 0xFF) == 0x01)

#define ntoh64 (  )     __hton64( i )

#define SA (  )     ((struct sockaddr*)x)

#define SA2IP (  ) 

Value:

(((struct sockaddr*)x)->sa_family==AF_INET) ? \
        (void*)&((struct sockaddr_in*)x)->sin_addr : \
        (void*)&((struct sockaddr_in6*)x)->sin6_addr

#define SA2IP6 (  )     ( &((struct sockaddr_in6*)x)->sin6_addr )

#define SAIPLEN (  )     (((struct sockaddr*)x)->sa_family==AF_INET) ? 4 : 16

#define SALEN (  ) 

Value:

(((struct sockaddr*)x)->sa_family==AF_INET) ? \
        sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6)

#define TDIFF ( a,
 )     ((a).tv_sec - (b).tv_sec)

#define VALID_FAM (  ) 

Value:

( (((struct sockaddr*)a)->sa_family == AF_INET) || \
                       (((struct sockaddr*)a)->sa_family == AF_INET6) )

#define yesno (  )     x ? "yes" : "no"

#define YLIFE (  )     ((float)x-(float)64)/(float)8


Function Documentation

static __inline __u64 __hton64 ( __u64  i  )  [static]

int add_address_to_iface ( struct sockaddr *  addr,
int  plen,
int  if_index 
)

sockaddr_list* add_address_to_list ( sockaddr_list **  list,
struct sockaddr *  addr,
int  ifi 
)

int add_addresses_from_dht ( hi_node hi,
int  retry 
)

int add_addresses_from_dns ( char *  name,
hi_node hi 
)

int add_peer_hit ( hip_hit  peer_hit,
struct sockaddr *  peer_addr 
)

int addr_to_str ( struct sockaddr *  addr,
__u8 data,
int  len 
)

void append_hi_node ( hi_node **  head,
hi_node append 
)

int auth_key_len ( int  suite_id  ) 

void* binsert ( const void *  ky,
const void *  bs,
size_t  nel,
size_t  width,
int(*)(const void *, const void *)  compar 
)

int bn2bin_safe ( const BIGNUM *  a,
unsigned char *  to,
int  len 
)

int build_rekey ( hip_assoc hip_a  ) 

int build_tlv_hostid ( __u8 data,
hi_node hi,
int  use_hi_name 
)

int build_tlv_hostid_len ( hi_node hi,
int  use_hi_name 
)

int build_tlv_reg_failed ( __u8 data,
int  location,
int  fail_type1,
int  fail_reg_type1 
)

int build_tlv_reg_info ( __u8 data,
int  location 
)

int build_tlv_reg_req ( __u8 data,
int  location,
int  lifetime1,
int  reg_type1 
)

int build_tlv_reg_resp ( __u8 data,
int  location,
int  lifetime1,
int  reg_type1 
)

int calculate_r1_length ( hi_node hi  ) 

void cb ( int  p,
int  n,
void *  arg 
)

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

__u16 checksum_magic ( const hip_hit i,
const hip_hit r 
)

__u16 checksum_packet ( __u8 data,
struct sockaddr *  src,
struct sockaddr *  dst 
)

__u16 checksum_udp_packet ( __u8 data,
struct sockaddr *  src,
struct sockaddr *  dst 
)

void clear_retransmissions ( hip_assoc hip_a  ) 

int compare_bits ( const char *  s1,
int  s1_len,
const char *  s2,
int  s2_len,
int  numbits 
)

int compare_hits ( hip_hit  a,
hip_hit  b 
)

int compare_hits2 ( void const *  s1,
void const *  s2 
)

int compute_keymat ( hip_assoc hip_a  ) 

void compute_keys ( hip_assoc hip_a  ) 

int compute_R1_cache_index ( hip_hit hiti,
__u8  current 
)

__u16 conf_transforms_to_mask (  ) 

hi_node* create_new_hi_node (  ) 

void delete_address_entry_from_list ( sockaddr_list **  list,
sockaddr_list entry 
)

void delete_address_from_list ( sockaddr_list **  list,
struct sockaddr *  addr,
int  ifi 
)

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

int delete_reg_table ( hip_reg  key,
hip_reg hip_r 
)

int devname_to_index ( char *  dev,
__u64 mac 
)

int draw_keys ( hip_assoc hip_a,
int  draw_hip_keys,
int  keymat_index 
)

int eight_byte_align ( int  length  ) 

int enc_iv_len ( int  suite_id  ) 

int enc_key_len ( int  suite_id  ) 

void expire_old_dh_entries (  ) 

void fflush_log (  ) 

hip_assoc* find_hip_association ( struct sockaddr *  src,
struct sockaddr *  dst,
hiphdr hiph 
)

hip_assoc* find_hip_association2 ( hiphdr hiph  ) 

hip_assoc* find_hip_association3 ( struct sockaddr *  src,
struct sockaddr *  dst 
)

hi_node* find_host_identity ( hi_node hi_head,
hip_hit hitr 
)

int flush_hip_associations (  ) 

void free_hi_node ( hi_node hi  ) 

int free_hip_assoc ( hip_assoc hip_a  ) 

hipcookie* generate_cookie (  ) 

int get_addr_from_list ( sockaddr_list list,
int  family,
struct sockaddr *  addr 
)

dh_cache_entry* get_dh_entry ( __u8  group_id,
int  new 
)

struct sockaddr* get_hip_dns_server (  ) 

unsigned char* get_key ( hip_assoc hip_a,
int  type,
int  peer 
)

int get_my_addresses (  ) 

__u32 get_next_spi ( hip_assoc hip_a  ) 

hi_node* get_preferred_hi ( hi_node node  ) 

void handle_reg_info (  ) 

void handle_reg_request ( char *  data,
int  location 
)

static int hex_to_bin ( char *  src,
char *  dst,
int  dst_len 
)

hi_node* hi_lookup ( const hip_hit  hit,
hi_node node 
)

int hi_to_hit ( hi_node hi,
hip_hit  hit 
)

void hip_check_pfkey_buffer (  ) 

int hip_dht_lookup_address ( hip_hit hit,
struct sockaddr *  addr,
int  retry 
)

int hip_dht_lookup_hit ( struct sockaddr *  lsi,
hip_hit hit,
int  retry 
)

int hip_dht_publish ( hip_hit hit,
struct sockaddr *  addr,
int  retry 
)

int hip_dht_select_server ( struct sockaddr *  addr  ) 

void hip_exit ( int  signal  ) 

int hip_finish_rekey ( hip_assoc hip_a,
int  rebuild,
int  use_udp 
)

int hip_generate_R1 ( __u8 data,
hi_node hi,
hipcookie cookie,
dh_cache_entry dh_entry 
)

int hip_handle_BOS ( __u8 data,
struct sockaddr *  src 
)

int hip_handle_CER ( __u8 data,
hip_assoc hip_a 
)

int hip_handle_close ( __u8 data,
hip_assoc hip_a,
__u16 dst_port,
int  use_udp 
)

int hip_handle_I1 ( __u8 data,
hip_assoc hip_a,
struct sockaddr *  src,
struct sockaddr *  dst,
__u16 dst_port,
int  use_udp 
)

int hip_handle_I2 ( __u8 data,
hip_assoc hip_a,
struct sockaddr *  src,
struct sockaddr *  dst,
__u16 dst_port,
int  use_udp 
)

int hip_handle_netlink ( char *  data,
int  length 
)

int hip_handle_notify ( __u8 buff,
hip_assoc hip_a,
__u16 dst_port,
int  use_udp 
)

void hip_handle_pfkey ( char *  buff  ) 

int hip_handle_R1 ( __u8 data,
hip_assoc hip_a,
struct sockaddr *  src,
__u16 dst_port,
int  use_udp 
)

int hip_handle_R2 ( __u8 data,
hip_assoc hip_a,
__u16 dst_port,
int  use_udp 
)

void hip_handle_status_request ( __u8 buff,
int  len,
struct sockaddr *  addr 
)

int hip_handle_update ( __u8 data,
hip_assoc hip_a,
struct sockaddr *  src,
__u16 dst_port,
int  use_udp 
)

int hip_header_offset ( const __u8 data  ) 

int hip_netlink_open (  ) 

void hip_packet_type ( int  type,
char *  r 
)

int hip_parse_hdr ( __u8 data,
int  len,
struct sockaddr *  src,
struct sockaddr *  dst,
__u16  family,
hiphdr **  hdr,
int  use_udp 
)

int hip_retransmit ( hip_assoc hip_a,
__u8 data,
int  len,
struct sockaddr *  src,
struct sockaddr *  dst 
)

int hip_send ( __u8 data,
int  len,
struct sockaddr *  src,
struct sockaddr *  dst,
hip_assoc hip_a,
int  retransmit,
__u16  dst_port,
int  use_udp 
)

int hip_send_close ( hip_assoc hip_a,
int  send_ack 
)

int hip_send_I1 ( hip_hit hit,
hip_assoc hip_a,
int  pos 
)

int hip_send_I2 ( hip_assoc hip_a  ) 

int hip_send_notify ( hip_assoc hip_a,
int  code,
__u8 data,
int  data_len 
)

int hip_send_R1 ( struct sockaddr *  src,
struct sockaddr *  dst,
hip_hit hiti,
hi_node hi,
__u16  dst_port,
int  use_udp 
)

int hip_send_R2 ( hip_assoc hip_a  ) 

int hip_send_update ( hip_assoc hip_a,
struct sockaddr *  newaddr,
struct sockaddr *  dstaddr,
int  use_udp 
)

void hip_sleep ( int  seconds  ) 

int hip_status_open (  ) 

void hip_writelock (  ) 

hip_hit* hit_lookup ( struct sockaddr *   ) 

void hit_to_sockaddr ( struct sockaddr_in6 *  sockad,
hip_hit  hit 
)

int hits_equal ( const hip_hit  hit1,
const hip_hit  hit2 
)

void init_all_R1_caches (  ) 

void init_dh_cache (  ) 

hip_assoc* init_hip_assoc ( hi_node my_host_id,
hip_hit peer_hit 
)

int init_log (  ) 

void init_R1_cache ( hi_node hi  ) 

int insert_reg_table ( hip_reg  key,
hip_reg hip_r 
)

int is_my_address ( struct sockaddr *  addr  ) 

int key_data_to_hi ( const __u8 data,
__u8  alg,
int  hi_length,
__u8  di_type,
int  di_length,
hi_node **  hi_p,
int  max_length 
)

void log_ ( int  level,
char *  fmt,
  ... 
)

void log_hipa_fromto ( int  level,
char *  msg,
hip_assoc hip_a,
__u8  from,
__u8  to 
)

void log_hipopts (  ) 

void log_registration ( hip_reg hip_r,
int  a 
)

char* logaddr ( struct sockaddr *  addr  ) 

void logbn ( BIGNUM *  bn  ) 

void logdh ( DH *  dh  ) 

void logdsa ( DSA *  dsa  ) 

void logrsa ( RSA *  rsa  ) 

hi_node* lsi_lookup ( struct sockaddr *  lsi  ) 

__u32 lsi_name_lookup ( char *  name,
int  name_len 
)

void make_address_active ( sockaddr_list item  ) 

int maxof ( int  num_args,
  ... 
)

dh_cache_entry* new_dh_cache_entry ( __u8  group_id  ) 

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 
)

void print_binary ( void *  data,
int  len 
)

void print_cookie ( hipcookie cookie  ) 

void print_hex ( void *  data,
int  len 
)

void print_reg_table ( hip_reg hip_r  ) 

void print_usage ( void   ) 

void publish_my_hits (  ) 

int read_conf_file ( char *   ) 

int read_identities_file ( char *  filename,
int  mine 
)

int read_reg_file ( void   ) 

int rebuild_sa ( hip_assoc hip_a,
struct sockaddr *  newaddr,
__u32  newspi,
int  in,
int  peer,
int  use_udp 
)

__u32 receive_hip_dns_response ( unsigned char *  buff,
int  len 
)

void replace_hip_assoc ( hip_assoc a_old,
hip_assoc a_new 
)

void replace_next_R1 (  ) 

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  ) 

int save_identities_file ( int   ) 

returned* search_reg_table ( hip_reg  p,
hip_reg hip_r,
returned ret 
)

int select_preferred_address (  ) 

int set_secret_key ( unsigned char *  key,
hip_assoc hip_a 
)

void set_state ( hip_assoc hip_a,
int  state 
)

int solve_puzzle ( hipcookie cookie,
__u64 solution,
hip_hit hit_i,
hip_hit hit_r 
)

int str_to_addr ( __u8 data,
struct sockaddr *  addr 
)

int tlv_length_to_parameter_length ( int  length  ) 

int udp_header_offset ( const __u8 data  ) 

void* udp_hip_keepalive ( void *  arg  ) 

void unuse_dh_entry ( DH *  dh  ) 

void update_lsi_mapping ( struct sockaddr *  dst,
struct sockaddr *  lsi,
hip_hit  hit 
)

int update_peer_list_address ( const hip_hit  peer_hit,
struct sockaddr *  old_addr,
struct sockaddr *  new_addr 
)

int validate_hit ( hip_hit  hit,
hi_node hi 
)

int validate_solution ( const hipcookie cookie_r,
const hipcookie cookie_i,
hip_hit hit_i,
hip_hit hit_r,
__u64  solution 
)


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