~mdw
/
tripe
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Put timer information into the entropy pool when packets are received
[tripe]
/
peer.c
diff --git
a/peer.c
b/peer.c
index
83123d1
..
31aa1e2
100644
(file)
--- a/
peer.c
+++ b/
peer.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: peer.c,v 1.
1 2001/02/03 20:26:37
mdw Exp $
+ * $Id: peer.c,v 1.
2 2001/02/03 22:40:29
mdw Exp $
*
* Communication with the peer
*
*
* Communication with the peer
*
@@
-29,6
+29,10
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: peer.c,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: peer.c,v $
+ * Revision 1.2 2001/02/03 22:40:29 mdw
+ * Put timer information into the entropy pool when packets are received
+ * and on similar events. Reseed the generator on the interval timer.
+ *
* Revision 1.1 2001/02/03 20:26:37 mdw
* Initial checkin.
*
* Revision 1.1 2001/02/03 20:26:37 mdw
* Initial checkin.
*
@@
-67,6
+71,7
@@
static void p_read(int fd, unsigned mode, void *v)
/* --- Read the data --- */
/* --- Read the data --- */
+ TIMER;
sz = sizeof(addr);
n = recvfrom(fd, buf_i, sizeof(buf_i), 0, &a.sa, &sz);
if (n < 0) {
sz = sizeof(addr);
n = recvfrom(fd, buf_i, sizeof(buf_i), 0, &a.sa, &sz);
if (n < 0) {
@@
-77,11
+82,7
@@
static void p_read(int fd, unsigned mode, void *v)
/* --- Find the appropriate peer --- */
assert(a.sa.sa_family == AF_INET);
/* --- Find the appropriate peer --- */
assert(a.sa.sa_family == AF_INET);
- T( trace(T_PEER, "packet from %s:%u",
- inet_ntoa(a.sin.sin_addr), (unsigned)ntohs(a.sin.sin_port)); )
for (p = peers; p; p = p->next) {
for (p = peers; p; p = p->next) {
- T( trace(T_PEER, "trying %s:%u",
- inet_ntoa(p->peer.sin.sin_addr), (unsigned)ntohs(p->peer.sin.sin_port)); )
if (p->peer.sin.sin_addr.s_addr == a.sin.sin_addr.s_addr &&
p->peer.sin.sin_port == a.sin.sin_port)
goto found;
if (p->peer.sin.sin_addr.s_addr == a.sin.sin_addr.s_addr &&
p->peer.sin.sin_port == a.sin.sin_port)
goto found;
@@
-181,6
+182,7
@@
void p_txend(peer *p)
void p_tun(peer *p, buf *b)
{
buf *bb = p_txstart(p, MSG_PACKET);
void p_tun(peer *p, buf *b)
{
buf *bb = p_txstart(p, MSG_PACKET);
+ TIMER;
if (ks_encrypt(&p->ks, b, bb))
kx_start(&p->kx);
if (BCUR(bb) > BBASE(bb))
if (ks_encrypt(&p->ks, b, bb))
kx_start(&p->kx);
if (BCUR(bb) > BBASE(bb))