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

Comparing gvpe/src/util.h (file contents):
Revision 1.13 by pcg, Thu Mar 3 16:54:34 2005 UTC vs.
Revision 1.19 by pcg, Tue Jun 21 08:34:47 2005 UTC

16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details. 17 GNU General Public License for more details.
18 18
19 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
20 along with gvpe; if not, write to the Free Software 20 along with gvpe; if not, write to the Free Software
21 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22*/ 22*/
23 23
24#ifndef UTIL_H__ 24#ifndef UTIL_H__
25#define UTIL_H__ 25#define UTIL_H__
26 26
30 30
31#include "slog.h" 31#include "slog.h"
32#include "iom.h" 32#include "iom.h"
33 33
34/* 34/*
35 * check for an existing vped for this net, and write pid to pidfile 35 * check for an existing gvpe for this net, and write pid to pidfile
36 */ 36 */
37extern int write_pidfile (void); 37extern int write_pidfile (void);
38 38
39/* 39/*
40 * kill older vped 40 * kill older gvpe
41 */ 41 */
42extern int kill_other (int signal); 42extern int kill_other (int signal);
43 43
44/* 44/*
45 * Detach from current terminal, write pidfile, kill parent 45 * Detach from current terminal, write pidfile, kill parent
71 71
72 bool recv_ok (u32 seqno) 72 bool recv_ok (u32 seqno)
73 { 73 {
74 if (seqno <= seq - WINDOWSIZE) 74 if (seqno <= seq - WINDOWSIZE)
75 slog (L_ERR, _("received duplicate or outdated packet (received %08lx, expected %08lx)\n" 75 slog (L_ERR, _("received duplicate or outdated packet (received %08lx, expected %08lx)\n"
76 "possible replay attack, or just massive packet reordering"), seqno, seq + 1);//D 76 "possible replay attack, or just massive packet reordering"), seqno, seq + 1);
77 else if (seqno > seq + WINDOWSIZE) 77 else if (seqno > seq + WINDOWSIZE * 4)
78 slog (L_ERR, _("received duplicate or out-of-sync packet (received %08lx, expected %08lx)\n" 78 slog (L_ERR, _("received duplicate or out-of-sync packet (received %08lx, expected %08lx)\n"
79 "possible replay attack, or just massive packet loss"), seqno, seq + 1);//D 79 "possible replay attack, or just massive packet loss"), seqno, seq + 1);
80 else 80 else
81 { 81 {
82 while (seqno > seq) 82 while (seqno > seq)
83 { 83 {
84 seq++; 84 seq++;
93 u32 s = seqno % WINDOWSIZE; 93 u32 s = seqno % WINDOWSIZE;
94 u32 *cell = v + (s >> 5); 94 u32 *cell = v + (s >> 5);
95 u32 mask = 1 << (s & 31); 95 u32 mask = 1 << (s & 31);
96 96
97 if (*cell & mask) 97 if (*cell & mask)
98 {
99 slog (L_ERR, _("received duplicate packet (received %08lx, expected %08lx)\n" 98 slog (L_ERR, _("received duplicate packet (received %08lx, expected %08lx)\n"
100 "possible replay attack, or just packet duplication"), seqno, seq + 1);//D 99 "possible replay attack, or just packet duplication"), seqno, seq + 1);
101 return false;
102 }
103 else 100 else
104 { 101 {
105 *cell |= mask; 102 *cell |= mask;
106 return true; 103 return true;
107 } 104 }
108 } 105 }
106
107 return false;
109 } 108 }
110}; 109};
111 110
112typedef callback0<const char *> run_script_cb; 111typedef callback0<const char *> run_script_cb;
113 112
114// run a shell script (or actually an external program). 113// run a shell script (or actually an external program).
115void run_script (const run_script_cb &cb, bool wait); 114bool run_script (const run_script_cb &cb, bool wait);
116 115
117#if ENABLE_HTTP_PROXY 116#if ENABLE_HTTP_PROXY
118u8 *base64_encode (const u8 *data, unsigned int len); 117u8 *base64_encode (const u8 *data, unsigned int len);
119#endif 118#endif
120 119

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines