Lines Matching refs:fbp
137 fb64_init(struct fb *fbp) in fb64_init() argument
139 memset((void *)fbp, 0, sizeof(*fbp)); in fb64_init()
140 fbp->state[0] = fbp->state[1] = FAILED; in fb64_init()
141 fbp->fb_feed[0] = IAC; in fb64_init()
142 fbp->fb_feed[1] = SB; in fb64_init()
143 fbp->fb_feed[2] = TELOPT_ENCRYPT; in fb64_init()
144 fbp->fb_feed[3] = ENCRYPT_IS; in fb64_init()
168 fb64_start(struct fb *fbp, int dir, int server __unused) in fb64_start() argument
181 state = fbp->state[dir-1]; in fb64_start()
187 state = fbp->state[dir-1]; in fb64_start()
193 if (!VALIDKEY(fbp->krbdes_key)) { in fb64_start()
194 fbp->need_start = 1; in fb64_start()
204 DES_random_key((Block *)fbp->temp_feed); in fb64_start()
205 DES_ecb_encrypt((Block *)fbp->temp_feed, (Block *)fbp->temp_feed, in fb64_start()
206 &fbp->krbdes_sched, 1); in fb64_start()
207 p = fbp->fb_feed + 3; in fb64_start()
212 if ((*p++ = fbp->temp_feed[x]) == IAC) in fb64_start()
217 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); in fb64_start()
218 net_write(fbp->fb_feed, p - fbp->fb_feed); in fb64_start()
223 return(fbp->state[dir-1] = state); in fb64_start()
245 fb64_is(unsigned char *data, int cnt, struct fb *fbp) in fb64_is() argument
248 int state = fbp->state[DIR_DECRYPT-1]; in fb64_is()
268 fb64_stream_iv((void *)data, &fbp->streams[DIR_DECRYPT-1]); in fb64_is()
270 p = fbp->fb_feed + 3; in fb64_is()
276 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); in fb64_is()
277 net_write(fbp->fb_feed, p - fbp->fb_feed); in fb64_is()
279 state = fbp->state[DIR_DECRYPT-1] = IN_PROGRESS; in fb64_is()
295 p = fbp->fb_feed + 3; in fb64_is()
301 printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); in fb64_is()
302 net_write(fbp->fb_feed, p - fbp->fb_feed); in fb64_is()
306 return(fbp->state[DIR_DECRYPT-1] = state); in fb64_is()
328 fb64_reply(unsigned char *data, int cnt, struct fb *fbp) in fb64_reply() argument
330 int state = fbp->state[DIR_ENCRYPT-1]; in fb64_reply()
337 fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]); in fb64_reply()
345 memset(fbp->temp_feed, 0, sizeof(Block)); in fb64_reply()
346 fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]); in fb64_reply()
361 return(fbp->state[DIR_ENCRYPT-1] = state); in fb64_reply()
377 fb64_session(Session_Key *key, int server, struct fb *fbp) in fb64_session() argument
385 memmove((void *)fbp->krbdes_key, (void *)key->data, sizeof(Block)); in fb64_session()
387 fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_ENCRYPT-1]); in fb64_session()
388 fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_DECRYPT-1]); in fb64_session()
390 DES_key_sched((Block *)fbp->krbdes_key, &fbp->krbdes_sched); in fb64_session()
396 if (fbp->need_start) { in fb64_session()
397 fbp->need_start = 0; in fb64_session()
398 fb64_start(fbp, DIR_ENCRYPT, server); in fb64_session()
419 fb64_keyid(int dir, unsigned char *kp, int *lenp, struct fb *fbp) in fb64_keyid() argument
421 int state = fbp->state[dir-1]; in fb64_keyid()
433 return(fbp->state[dir-1] = state); in fb64_keyid()