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

Comparing gvpe/src/connection.h (file contents):
Revision 1.31 by pcg, Thu Aug 7 17:30:28 2008 UTC vs.
Revision 1.36 by root, Sun Mar 6 19:40:28 2011 UTC

1/* 1/*
2 connection.h -- header for connection.C 2 connection.h -- header for connection.C
3 Copyright (C) 2003-2005 Marc Lehmann <gvpe@schmorp.de> 3 Copyright (C) 2003-2008 Marc Lehmann <gvpe@schmorp.de>
4 4
5 This file is part of GVPE. 5 This file is part of GVPE.
6 6
7 GVPE is free software; you can redistribute it and/or modify 7 GVPE is free software; you can redistribute it and/or modify it
8 it under the terms of the GNU General Public License as published by 8 under the terms of the GNU General Public License as published by the
9 the Free Software Foundation; either version 2 of the License, or 9 Free Software Foundation; either version 3 of the License, or (at your
10 (at your option) any later version. 10 option) any later version.
11 11
12 This program is distributed in the hope that it will be useful, 12 This program is distributed in the hope that it will be useful, but
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
15 GNU General Public License for more details. 15 Public License for more details.
16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License along
18 along with gvpe; if not, write to the Free Software 18 with this program; if not, see <http://www.gnu.org/licenses/>.
19 Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19
20 Additional permission under GNU GPL version 3 section 7
21
22 If you modify this Program, or any covered work, by linking or
23 combining it with the OpenSSL project's OpenSSL library (or a modified
24 version of that library), containing parts covered by the terms of the
25 OpenSSL or SSLeay licenses, the licensors of this Program grant you
26 additional permission to convey the resulting work. Corresponding
27 Source for a non-source form of such a combination shall include the
28 source code for the parts of OpenSSL used as well as that of the
29 covered work.
20*/ 30*/
21 31
22#ifndef GVPE_CONNECTION_H__ 32#ifndef GVPE_CONNECTION_H__
23#define GVPE_CONNECTION_H__ 33#define GVPE_CONNECTION_H__
24 34
142 152
143 sockinfo si; // the current(!) destination ip to send packets to 153 sockinfo si; // the current(!) destination ip to send packets to
144 int retry_cnt; 154 int retry_cnt;
145 155
146 tstamp last_activity; // time of last packet received 156 tstamp last_activity; // time of last packet received
147 tstamp last_establish_attempt; 157 tstamp last_establish_attempt;
158 //tstamp last_si_change; // time we last changed the socket address
148 159
149 u32 oseqno; 160 u32 oseqno;
150 sliding_window iseqno; 161 sliding_window iseqno;
151 162
152 u8 protocol; 163 u8 protocol;
153 u8 features; 164 u8 features;
165 bool is_direct; // current connection (si) is direct?
154 166
155 pkt_queue data_queue, vpn_queue; 167 pkt_queue data_queue, vpn_queue;
156 168
157 crypto_ctx *octx, *ictx; 169 crypto_ctx *octx, *ictx;
158 170
159#if ENABLE_DNS 171#if ENABLE_DNS
160 struct dns_connection *dns; 172 struct dns_connection *dns;
161
162 void dnsv4_reset_connection ();
163#endif 173#endif
164 174
165 enum conf_node::connectmode connectmode; 175 enum conf_node::connectmode connectmode;
166 u8 prot_minor; // minor number of other side 176 u8 prot_minor; // minor number of other side
167 177
192 void send_vpn_packet (vpn_packet *pkt, const sockinfo &si, int tos = 0); 202 void send_vpn_packet (vpn_packet *pkt, const sockinfo &si, int tos = 0);
193 203
194 void script_init_env (const char *ext); 204 void script_init_env (const char *ext);
195 void script_init_connect_env (); 205 void script_init_connect_env ();
196 const char *script_node_up (); 206 const char *script_node_up ();
207 const char *script_node_change ();
197 const char *script_node_down (); 208 const char *script_node_down ();
198 209
199 void dump_status (); 210 void dump_status ();
200 211
201 connection (struct vpn *vpn, conf_node *conf); 212 connection (struct vpn *vpn, conf_node *conf);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines