Lines Matching defs:ts

52   struct t_server * ts;
57 if((ts = malloc(sizeof(struct t_server))) == 0)
60 SHA1Init(&ts->ckhash);
62 ts->index = ent->index;
63 ts->n.len = tce->modulus.len;
64 ts->n.data = ts->nbuf;
65 memcpy(ts->n.data, tce->modulus.data, ts->n.len);
68 SHA1Update(&ctxt, ts->n.data, ts->n.len);
71 ts->g.len = tce->generator.len;
72 ts->g.data = ts->gbuf;
73 memcpy(ts->g.data, tce->generator.data, ts->g.len);
76 SHA1Update(&ctxt, ts->g.data, ts->g.len);
82 SHA1Update(&ts->ckhash, buf1, sizeof(buf1));
88 SHA1Update(&ts->ckhash, buf1, sizeof(buf1));
90 ts->v.len = ent->password.len;
91 ts->v.data = ts->vbuf;
92 memcpy(ts->v.data, ent->password.data, ts->v.len);
94 ts->s.len = ent->salt.len;
95 ts->s.data = ts->saltbuf;
96 memcpy(ts->s.data, ent->salt.data, ts->s.len);
98 SHA1Update(&ts->ckhash, ts->s.data, ts->s.len);
100 ts->b.data = ts->bbuf;
101 ts->B.data = ts->Bbuf;
103 SHA1Init(&ts->hash);
104 SHA1Init(&ts->oldhash);
105 SHA1Init(&ts->oldckhash);
107 return ts;
111 t_servergenexp(ts)
112 struct t_server * ts;
116 if(ts->n.len < BLEN)
117 ts->b.len = ts->n.len;
119 ts->b.len = BLEN;
121 t_random(ts->b.data, ts->b.len);
122 b = BigIntegerFromBytes(ts->b.data, ts->b.len);
123 n = BigIntegerFromBytes(ts->n.data, ts->n.len);
124 g = BigIntegerFromBytes(ts->g.data, ts->g.len);
128 v = BigIntegerFromBytes(ts->v.data, ts->v.len);
133 ts->B.len = BigIntegerToBytes(B, ts->B.data);
141 SHA1Update(&ts->oldckhash, ts->B.data, ts->B.len);
143 return &ts->B;
147 t_servergetkey(ts, clientval)
148 struct t_server * ts;
158 SHA1Update(&ts->ckhash, clientval->data, clientval->len);
159 SHA1Update(&ts->ckhash, ts->B.data, ts->B.len);
162 SHA1Update(&ctxt, ts->B.data, ts->B.len);
166 SHA1Update(&ts->oldhash, clientval->data, clientval->len);
167 SHA1Update(&ts->hash, clientval->data, clientval->len);
169 n = BigIntegerFromBytes(ts->n.data, ts->n.len);
170 b = BigIntegerFromBytes(ts->b.data, ts->b.len);
171 v = BigIntegerFromBytes(ts->v.data, ts->v.len);
209 t_sessionkey(ts->session_key, sbuf, slen);
212 SHA1Update(&ts->oldhash, ts->session_key, sizeof(ts->session_key));
213 SHA1Update(&ts->oldckhash, ts->session_key, sizeof(ts->session_key));
214 SHA1Update(&ts->ckhash, ts->session_key, sizeof(ts->session_key));
216 return ts->session_key;
220 t_serververify(ts, resp)
221 struct t_server * ts;
227 SHA1Final(expected, &ts->oldckhash);
230 SHA1Final(ts->session_response, &ts->oldhash);
233 SHA1Final(expected, &ts->ckhash);
236 SHA1Update(&ts->hash, expected, sizeof(expected));
237 SHA1Update(&ts->hash, ts->session_key, sizeof(ts->session_key));
238 SHA1Final(ts->session_response, &ts->hash);
244 t_serverresponse(ts)
245 struct t_server * ts;
247 return ts->session_response;
251 t_serverclose(ts)
252 struct t_server * ts;
254 memset(ts->bbuf, 0, sizeof(ts->bbuf));
255 memset(ts->vbuf, 0, sizeof(ts->vbuf));
256 memset(ts->saltbuf, 0, sizeof(ts->saltbuf));
257 memset(ts->session_key, 0, sizeof(ts->session_key));
258 free(ts);