summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-06-24 14:28:38 (UTC)
committer Michael Krelin <hacker@klever.net>2007-06-24 14:28:38 (UTC)
commit5999c7b9517e52918046cbd846a35de451de6383 (patch) (unidiff)
tree4854b2c8cd68f1dc61d97ca38462eccf59babaaf
parent2f03e7af2a72c49c20fe9a8d5c4953cfc65e6520 (diff)
downloadlibopkele-5999c7b9517e52918046cbd846a35de451de6383.zip
libopkele-5999c7b9517e52918046cbd846a35de451de6383.tar.gz
libopkele-5999c7b9517e52918046cbd846a35de451de6383.tar.bz2
yet another signature bugfix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--lib/server.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/server.cc b/lib/server.cc
index 8db97be..b1c5c3a 100644
--- a/lib/server.cc
+++ b/lib/server.cc
@@ -33,13 +33,13 @@ namespace opkele {
33 else 33 else
34 dh->g = util::dec_to_bignum(data::_default_g); 34 dh->g = util::dec_to_bignum(data::_default_g);
35 if(!DH_generate_key(dh)) 35 if(!DH_generate_key(dh))
36 throw exception_openssl(OPKELE_CP_ "failed to DH_generate_key()"); 36 throw exception_openssl(OPKELE_CP_ "failed to DH_generate_key()");
37 vector<unsigned char> ck(DH_size(dh)+1); 37 vector<unsigned char> ck(DH_size(dh)+1);
38 unsigned char *ckptr = &(ck.front())+1; 38 unsigned char *ckptr = &(ck.front())+1;
39 int cklen = DH_compute_key(&(ck.front()),c_pub,dh); 39 int cklen = DH_compute_key(ckptr,c_pub,dh);
40 if(cklen<0) 40 if(cklen<0)
41 throw exception_openssl(OPKELE_CP_ "failed to DH_compute_key()"); 41 throw exception_openssl(OPKELE_CP_ "failed to DH_compute_key()");
42 if(cklen && (*ckptr)&0x80) { 42 if(cklen && (*ckptr)&0x80) {
43 (*(--ckptr)) = 0; ++cklen; 43 (*(--ckptr)) = 0; ++cklen;
44 } 44 }
45 SHA1(ckptr,cklen,key_sha1); 45 SHA1(ckptr,cklen,key_sha1);