projects
/
tinc
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3b9802a
)
- Enforce correct order of authentication requests
author
Guus Sliepen
<guus@tinc-vpn.org>
Sun, 29 Oct 2000 01:08:09 +0000
(
01:08
+0000)
committer
Guus Sliepen
<guus@tinc-vpn.org>
Sun, 29 Oct 2000 01:08:09 +0000
(
01:08
+0000)
src/protocol.c
patch
|
blob
|
history
diff --git
a/src/protocol.c
b/src/protocol.c
index
1bb3734
..
89e89fa
100644
(file)
--- a/
src/protocol.c
+++ b/
src/protocol.c
@@
-17,7
+17,7
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: protocol.c,v 1.28.4.4
8 2000/10/29 00:24:31
guus Exp $
+ $Id: protocol.c,v 1.28.4.4
9 2000/10/29 01:08:09
guus Exp $
*/
#include "config.h"
*/
#include "config.h"
@@
-111,6
+111,12
@@
cp
request_name[request], cl->name, cl->hostname);
}
request_name[request], cl->name, cl->hostname);
}
+ if((cl->allow_request != ALL) && (cl->allow_request != request))
+ {
+ syslog(LOG_ERR, _("Unauthorized request from %s (%s)"), cl->name, cl->hostname);
+ return -1;
+ }
+
if(request_handlers[request](cl))
/* Something went wrong. Probably scriptkiddies. Terminate. */
{
if(request_handlers[request](cl))
/* Something went wrong. Probably scriptkiddies. Terminate. */
{
@@
-435,7
+441,8
@@
cp
int send_ack(conn_list_t *cl)
{
cp
int send_ack(conn_list_t *cl)
{
cp
- cl->allow_request = ACK;
+ if(cl->status.outgoing)
+ cl->allow_request = ACK;
cp
return send_request(cl, "%d", ACK);
}
cp
return send_request(cl, "%d", ACK);
}