Sanity check length of random_vector.
-* Sun Jun 12 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1
+* Tue Jun 14 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1
- Add missing newline to backtrace macro.
- Don't send CDN for each session when shutting down tunnels (this is
implicit).
- Add missing newline to backtrace macro.
- Don't send CDN for each session when shutting down tunnels (this is
implicit).
still_busy(). Reject new tunnels/sessions while in the process of
shutting down.
- Clarify usage of shutdown signals in documentation.
still_busy(). Reject new tunnels/sessions while in the process of
shutting down.
- Clarify usage of shutdown signals in documentation.
+- Always initialise PRNG.
+- Sanity check length of random_vector.
* Sun Jun 5 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
- Add IPv6 support from Jonathan McDowell.
* Sun Jun 5 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
- Add IPv6 support from Jonathan McDowell.
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
-char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.109 2005/06/12 06:10:29 bodea Exp $";
+char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.110 2005/06/14 03:36:23 bodea Exp $";
#include <arpa/inet.h>
#include <assert.h>
#include <arpa/inet.h>
#include <assert.h>
return;
// close previous source, if any
return;
// close previous source, if any
- if (rand_fd >= 0) close(rand_fd);
+ if (rand_fd >= 0)
+ close(rand_fd);
path, strerror(errno));
}
}
path, strerror(errno));
}
}
-
- // no source: seed prng
- {
- unsigned seed = time_now ^ getpid();
- LOG(4, 0, 0, "Seeding the pseudo random generator: %u\n", seed);
- srand(seed);
- }
}
// fill buffer with random data
}
// fill buffer with random data
strerror(errno));
// fall back to rand()
strerror(errno));
// fall back to rand()
case 36: // Random Vector
LOG(4, s, t, " Random Vector received. Enabled AVP Hiding.\n");
memset(session[s].random_vector, 0, sizeof(session[s].random_vector));
case 36: // Random Vector
LOG(4, s, t, " Random Vector received. Enabled AVP Hiding.\n");
memset(session[s].random_vector, 0, sizeof(session[s].random_vector));
+ if (n > sizeof(session[s].random_vector))
+ n = sizeof(session[s].random_vector);
memcpy(session[s].random_vector, b, n);
session[s].random_vector_length = n;
break;
memcpy(session[s].random_vector, b, n);
session[s].random_vector_length = n;
break;
+ // seed prng
+ {
+ unsigned seed = time_now ^ getpid();
+ LOG(4, 0, 0, "Seeding the pseudo random generator: %u\n", seed);
+ srand(seed);
+ }
+
signal(SIGHUP, sighup_handler);
signal(SIGCHLD, sigchild_handler);
signal(SIGTERM, shutdown_handler);
signal(SIGHUP, sighup_handler);
signal(SIGCHLD, sigchild_handler);
signal(SIGTERM, shutdown_handler);
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
-* Sun Jun 12 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1-1
+* Tue Jun 14 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.1-1
- 2.1.1 release, see /usr/share/doc/l2tpns-2.1.1/Changes
- 2.1.1 release, see /usr/share/doc/l2tpns-2.1.1/Changes