projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Oops. I did some VERY wrong things with readline(). Fixed now.
[tinc]
/
src
/
protocol.c
diff --git
a/src/protocol.c
b/src/protocol.c
index
1a791a7
..
a46894d
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.6
4 2000/11/22 19:55:50 guus
Exp $
+ $Id: protocol.c,v 1.28.4.6
8 2000/11/30 23:18:21 zarq
Exp $
*/
#include "config.h"
*/
#include "config.h"
@@
-255,8
+255,8
@@
cp
if((cfg = get_config_val(cl->config, config_publickey)))
{
cl->rsa_key = RSA_new();
if((cfg = get_config_val(cl->config, config_publickey)))
{
cl->rsa_key = RSA_new();
- BN_hex2bn(&cl->rsa_key->n, cfg->data.ptr);
-
BN_hex2bn(&cl->rsa_key->e, "FFFF")
;
+ if(read_rsa_public_key(&(cl->rsa_key), cfg->data.ptr) < 0)
+
return -1
;
}
else
{
}
else
{
@@
-575,8
+575,6
@@
cp
if(cl->status.outgoing)
cl->allow_request = ACK;
if(cl->status.outgoing)
cl->allow_request = ACK;
- setup_vpn_connection(cl);
-
x = send_request(cl, "%d", ACK);
cl->status.encryptout = 1;
cp
x = send_request(cl, "%d", ACK);
cl->status.encryptout = 1;
cp
@@
-846,7
+844,7
@@
cp
/* Check if somebody tries to add ourself */
/* Check if somebody tries to add ourself */
- if(!strcmp(n
ew->n
ame, myself->name))
+ if(!strcmp(name, myself->name))
{
syslog(LOG_ERR, _("Warning: got ADD_HOST from %s (%s) for ourself, restarting"), cl->name, cl->hostname);
sighup = 1;
{
syslog(LOG_ERR, _("Warning: got ADD_HOST from %s (%s) for ourself, restarting"), cl->name, cl->hostname);
sighup = 1;
@@
-901,12
+899,6
@@
cp
new->status.active = 1;
new->cipher_pkttype = EVP_bf_cfb();
new->cipher_pktkeylength = cl->cipher_pkttype->key_len + cl->cipher_pkttype->iv_len;
new->status.active = 1;
new->cipher_pkttype = EVP_bf_cfb();
new->cipher_pktkeylength = cl->cipher_pkttype->key_len + cl->cipher_pkttype->iv_len;
-
- /* Okay this is a bit ugly... it would be better to setup UDP sockets dynamically, or
- * perhaps just one UDP socket... but then again, this has benefits too...
- */
-
- setup_vpn_connection(new);
cp
return 0;
}
cp
return 0;
}
@@
-1258,8
+1250,8
@@
cp
from->cipher_pktkey = xstrdup(pktkey);
keylength /= 2;
from->cipher_pktkey = xstrdup(pktkey);
keylength /= 2;
- hex2bin(
pktkey,
pktkey, keylength);
- pktkey[keylength] = '\0';
+ hex2bin(
from->cipher_pktkey, from->cipher_
pktkey, keylength);
+
from->cipher_
pktkey[keylength] = '\0';
from->status.validkey = 1;
from->status.waitingforkey = 0;
from->status.validkey = 1;
from->status.waitingforkey = 0;