From 49a2cd806c73cff1ab6a712a996c7f7d4e1f32c0 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Tue, 9 Oct 2001 19:30:30 +0000 Subject: [PATCH] Started implementing doc/CONNECTIVITY. --- src/node.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ src/vertex.h | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 src/node.h create mode 100644 src/vertex.h diff --git a/src/node.h b/src/node.h new file mode 100644 index 00000000..815b793f --- /dev/null +++ b/src/node.h @@ -0,0 +1,47 @@ +/* + node.h -- header for node.c + Copyright (C) 2001 Guus Sliepen , + 2001 Ivo Timmermans + + 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. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id: node.h,v 1.1.2.1 2001/10/09 19:30:30 guus Exp $ +*/ + +typedef struct node_t { + char *name; /* name of this connection */ + int protocol_version; /* used protocol */ + long int options; /* options turned on for this connection */ + + ipv4_t address; /* his real (internet) ip to send UDP packets to */ + short unsigned int port; /* port number of UDP connection */ + char *hostname; /* the hostname of its real ip */ + + status_bits_t status; /* status info */ + + EVP_CIPHER *cipher_pkttype; /* Cipher type for UDP packets */ + char *cipher_pktkey; /* Cipher key and iv */ + int cipher_pktkeylength; /* Cipher key and iv length*/ + + list_t *queue; /* Queue for packets awaiting to be encrypted */ + + struct node_t *nexthop; /* nearest meta-hop from us to him */ + struct node_t *prevhop; /* nearest meta-hop from him to us */ + struct node_t *via; /* next hop for UDP packets */ + + avl_tree_t *subnet_tree; /* Pointer to a tree of subnets belonging to this node */ + + struct config_t *config; /* Pointer to configuration tree belonging to this node */ +} node_t; diff --git a/src/vertex.h b/src/vertex.h new file mode 100644 index 00000000..b5504d56 --- /dev/null +++ b/src/vertex.h @@ -0,0 +1,41 @@ +/* + vertex.h -- header for vertex.c + Copyright (C) 2001 Guus Sliepen , + 2001 Ivo Timmermans + + 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. + + 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + $Id: vertex.h,v 1.1.2.1 2001/10/09 19:30:30 guus Exp $ +*/ + +typedef struct vertex_t { + struct halfconnection_t *from; + struct halfconnection_t *to; + long int options; /* options turned on for this connection */ +} vertex_t; + +typedef struct halfconnection_t { + struct node_t *node; + + ipv4_t address; /* his real (internet) ip to send UDP packets to */ + short unsigned int port; /* port number of UDP connection */ + char *hostname; /* the hostname of its real ip */ + + RSA *rsa_key; + EVP_CIPHER_CTX *ctx; + char *metakey; + char *pktkey; + char *challenge; +} halfconnection_t; -- 2.20.1