Lines Matching defs:fbp
142 fb64_init(register struct fb *fbp)
144 memset((void *)fbp, 0, sizeof(*fbp));
145 fbp->state[0] = fbp->state[1] = FAILED;
146 fbp->fb_feed[0] = IAC;
147 fbp->fb_feed[1] = SB;
148 fbp->fb_feed[2] = TELOPT_ENCRYPT;
149 fbp->fb_feed[3] = ENCRYPT_IS;
173 fb64_start(struct fb *fbp, int dir, int server)
186 state = fbp->state[dir-1];
192 state = fbp->state[dir-1];
198 if (!VALIDKEY(fbp->krbdes_key)) {
199 fbp->need_start = 1;
209 des_new_random_key(&fbp->temp_feed);
210 des_ecb_encrypt(&fbp->temp_feed, &fbp->temp_feed,
211 fbp->krbdes_sched, 1);
212 p = fbp->fb_feed + 3;
217 if ((*p++ = fbp->temp_feed[x]) == IAC)
222 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]);
223 telnet_net_write(fbp->fb_feed, p - fbp->fb_feed);
228 return(fbp->state[dir-1] = state);
249 fb64_is(unsigned char *data, int cnt, struct fb *fbp)
252 register int state = fbp->state[DIR_DECRYPT-1];
272 fb64_stream_iv((void *)data, &fbp->streams[DIR_DECRYPT-1]);
274 p = fbp->fb_feed + 3;
280 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]);
281 telnet_net_write(fbp->fb_feed, p - fbp->fb_feed);
283 state = fbp->state[DIR_DECRYPT-1] = IN_PROGRESS;
299 p = fbp->fb_feed + 3;
305 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]);
306 telnet_net_write(fbp->fb_feed, p - fbp->fb_feed);
310 return(fbp->state[DIR_DECRYPT-1] = state);
331 fb64_reply(unsigned char *data, int cnt, struct fb *fbp)
333 register int state = fbp->state[DIR_ENCRYPT-1];
340 fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]);
348 memset(fbp->temp_feed, 0, sizeof(Block));
349 fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]);
364 return(fbp->state[DIR_ENCRYPT-1] = state);
380 fb64_session(Session_Key *key, int server, struct fb *fbp)
389 memmove((void *)fbp->krbdes_key, (void *)key->data, sizeof(Block));
391 fb64_stream_key(&fbp->krbdes_key, &fbp->streams[DIR_ENCRYPT-1]);
392 fb64_stream_key(&fbp->krbdes_key, &fbp->streams[DIR_DECRYPT-1]);
394 if (fbp->once == 0) {
395 des_init_random_number_generator(&fbp->krbdes_key);
396 fbp->once = 1;
398 des_key_sched(&fbp->krbdes_key, fbp->krbdes_sched);
403 if (fbp->need_start) {
404 fbp->need_start = 0;
405 fb64_start(fbp, DIR_ENCRYPT, server);
426 fb64_keyid(int dir, unsigned char *kp, int *lenp, struct fb *fbp)
428 register int state = fbp->state[dir-1];
440 return(fbp->state[dir-1] = state);