- Forward keys in hex notation, not as binary data.
This commit is contained in:
parent
3f8f067e8b
commit
ac47586552
1 changed files with 16 additions and 12 deletions
|
|
@ -17,7 +17,7 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
$Id: protocol.c,v 1.28.4.55 2000/11/04 16:39:19 guus Exp $
|
$Id: protocol.c,v 1.28.4.56 2000/11/04 16:54:21 guus Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
@ -1197,7 +1197,7 @@ cp
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update origin's packet key */
|
/* Check correctness of packet key */
|
||||||
|
|
||||||
keylength = strlen(pktkey);
|
keylength = strlen(pktkey);
|
||||||
|
|
||||||
|
|
@ -1209,17 +1209,8 @@ cp
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(from->cipher_pktkey)
|
/* Forward it if necessary */
|
||||||
free(from->cipher_pktkey);
|
|
||||||
|
|
||||||
keylength /= 2;
|
|
||||||
hex2bin(pktkey, pktkey, keylength);
|
|
||||||
pktkey[keylength] = '\0';
|
|
||||||
from->cipher_pktkey = pktkey;
|
|
||||||
|
|
||||||
from->status.validkey = 1;
|
|
||||||
from->status.waitingforkey = 0;
|
|
||||||
|
|
||||||
if(strcmp(to_id, myself->name))
|
if(strcmp(to_id, myself->name))
|
||||||
{
|
{
|
||||||
if(!(to = lookup_id(to_id)))
|
if(!(to = lookup_id(to_id)))
|
||||||
|
|
@ -1232,6 +1223,19 @@ cp
|
||||||
send_ans_key(from, to, pktkey);
|
send_ans_key(from, to, pktkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Update our copy of the origin's packet key */
|
||||||
|
|
||||||
|
if(from->cipher_pktkey)
|
||||||
|
free(from->cipher_pktkey);
|
||||||
|
|
||||||
|
keylength /= 2;
|
||||||
|
hex2bin(pktkey, pktkey, keylength);
|
||||||
|
pktkey[keylength] = '\0';
|
||||||
|
from->cipher_pktkey = pktkey;
|
||||||
|
|
||||||
|
from->status.validkey = 1;
|
||||||
|
from->status.waitingforkey = 0;
|
||||||
|
|
||||||
free(from_id); free(to_id);
|
free(from_id); free(to_id);
|
||||||
cp
|
cp
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue