ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/conf.h
(Generate patch)

Comparing gvpe/src/conf.h (file contents):
Revision 1.38 by root, Sun Mar 6 19:40:28 2011 UTC vs.
Revision 1.45 by root, Thu Jul 18 17:35:10 2013 UTC

37#include <openssl/rsa.h> 37#include <openssl/rsa.h>
38 38
39#include "slog.h" 39#include "slog.h"
40#include "global.h" 40#include "global.h"
41 41
42#define DEFAULT_REKEY 3600 42#define DEFAULT_REKEY 3607 // interval between rekeys
43#define DEFAULT_RESEED 3613 // interval between rng reseeds
43#define DEFAULT_KEEPALIVE 60 // one keepalive/minute (it's just 8 bytes...) 44#define DEFAULT_KEEPALIVE 60 // one keepalive/minute (it's just 8 bytes...)
44#define DEFAULT_UDPPORT 655 // same as tinc, conflicts would be rare 45#define DEFAULT_UDPPORT 655 // same as tinc, conflicts would be rare
45#define DEFAULT_MTU 1500 // let's ether-net 46#define DEFAULT_MTU 1500 // let's ether-net
46#define DEFAULT_MAX_RETRY 3600 // retry at least this often 47#define DEFAULT_MAX_RETRY 3600 // retry at least this often
47#define DEFAULT_MAX_TTL 60 // packets expire after this many seconds 48#define DEFAULT_MAX_TTL 60 // packets expire after this many seconds
48#define DEFAULT_MAX_QUEUE 512 // never queue more than this many packets 49#define DEFAULT_MAX_QUEUE 512 // never queue more than this many packets
49 50
50#define DEFAULT_DNS_TIMEOUT_FACTOR 8.F // initial retry timeout multiple 51#define DEFAULT_DNS_TIMEOUT_FACTOR 8.F // initial retry timeout multiple
51#define DEFAULT_DNS_SEND_INTERVAL .01F // minimum send interval 52#define DEFAULT_DNS_SEND_INTERVAL .01F // minimum send interval
52#define DEFAULT_DNS_OVERLAP_FACTOR .5F // RTT * LATENCY_FACTOR == sending rate 53#define DEFAULT_DNS_OVERLAP_FACTOR .5F // RTT * LATENCY_FACTOR == sending rate
53#define DEFAULT_DNS_MAX_OUTSTANDING 100 // max. number of outstanding requests 54#define DEFAULT_DNS_MAX_OUTSTANDING 100 // max. number of outstanding requests
57 PROT_UDPv4 = 0x01, // udp over ipv4 58 PROT_UDPv4 = 0x01, // udp over ipv4
58 PROT_IPv4 = 0x02, // generic ip protocol 59 PROT_IPv4 = 0x02, // generic ip protocol
59 PROT_TCPv4 = 0x04, // tcp over ipv4 (server) 60 PROT_TCPv4 = 0x04, // tcp over ipv4 (server)
60 PROT_ICMPv4 = 0x08, // icmp over ipv4 61 PROT_ICMPv4 = 0x08, // icmp over ipv4
61 PROT_DNSv4 = 0x10, // dns tunnel ipv4 (server) 62 PROT_DNSv4 = 0x10, // dns tunnel ipv4 (server)
63 PROT_ALL = 0x1f
62}; 64};
63 65
64#define PROT_RELIABLE (PROT_TCPv4 | PROT_DNSv4) 66#define PROT_RELIABLE (PROT_TCPv4 | PROT_DNSv4)
65#define PROT_SLOW PROT_DNSv4 67#define PROT_SLOW PROT_DNSv4
66 68
121{ 123{
122 typedef vector<conf_node *> node_vector; 124 typedef vector<conf_node *> node_vector;
123 node_vector nodes; 125 node_vector nodes;
124 conf_node default_node; 126 conf_node default_node;
125 conf_node *thisnode; 127 conf_node *thisnode;
128 char serial[SERIAL_SIZE];
129 char *seed_dev; // the randomd evice to use for seeding
130 double reseed; // the interval between additional seeds
126 int mtu; // the mtu used for outgoing tunnel packets 131 int mtu; // the mtu used for outgoing tunnel packets
127 int nfmark; // the SO_MARK // netfilter mark // fwmark 132 int nfmark; // the SO_MARK // netfilter mark // fwmark
128 double rekey; // rekey interval 133 double rekey; // rekey interval
129 double keepalive; // keepalive probes interval 134 double keepalive; // keepalive probes interval
130 char *ifname; // the interface name (tap0 ...) 135 char *ifname; // the interface name (tap0 ...)
131 bool ifpersist; // should the interface be persistent 136 bool ifpersist; // should the interface be persistent
132 char *prikeyfile; 137 char *prikeyfile;
133 RSA *rsa_key; // our private rsa key 138 RSA *rsa_key; // our private rsa key
134 loglevel llevel; 139 loglevel llevel;
135 u8 ip_proto; // the ip protocol to use 140 u8 ip_proto; // the ip protocol to use
141 uid_t change_uid; // the uid of the user to switch to, or 0
142 gid_t change_gid; // the gid of the user to switch to, or 0
143 char *change_root;// the path to chroot to, "/" == anonymous
136#if ENABLE_ICMP 144#if ENABLE_ICMP
137 u8 icmp_type; // the icmp type for the icmp-protocol 145 u8 icmp_type; // the icmp type for the icmp-protocol
138#endif 146#endif
139 147
140 char *script_if_up; 148 char *script_if_up;
161 169
162 void init (); 170 void init ();
163 void cleanup (); 171 void cleanup ();
164 void clear (); 172 void clear ();
165 173
174 conf_node *find_node (const char *name);
175
166 // create a filename from string, replacing %s by the nodename 176 // create a filename from string, replacing %s by the nodename
167 // and using relative paths under confbase. 177 // and using relative paths under confbase.
168 char *config_filename (const char *name, const char *dflt = 0); 178 char *config_filename (const char *name, const char *dflt = 0);
169 179
170 void print (); 180 void print ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines