Lines Matching refs:ctx
114 BIO_B64_CTX *ctx; in b64_new() local
116 ctx=(BIO_B64_CTX *)OPENSSL_malloc(sizeof(BIO_B64_CTX)); in b64_new()
117 if (ctx == NULL) return(0); in b64_new()
119 ctx->buf_len=0; in b64_new()
120 ctx->tmp_len=0; in b64_new()
121 ctx->tmp_nl=0; in b64_new()
122 ctx->buf_off=0; in b64_new()
123 ctx->cont=1; in b64_new()
124 ctx->start=1; in b64_new()
125 ctx->encode=0; in b64_new()
128 bi->ptr=(char *)ctx; in b64_new()
146 BIO_B64_CTX *ctx; in b64_read() local
150 ctx=(BIO_B64_CTX *)b->ptr; in b64_read()
152 if ((ctx == NULL) || (b->next_bio == NULL)) return(0); in b64_read()
154 if (ctx->encode != B64_DECODE) in b64_read()
156 ctx->encode=B64_DECODE; in b64_read()
157 ctx->buf_len=0; in b64_read()
158 ctx->buf_off=0; in b64_read()
159 ctx->tmp_len=0; in b64_read()
160 EVP_DecodeInit(&(ctx->base64)); in b64_read()
164 if (ctx->buf_len > 0) in b64_read()
166 i=ctx->buf_len-ctx->buf_off; in b64_read()
168 OPENSSL_assert(ctx->buf_off+i < (int)sizeof(ctx->buf)); in b64_read()
169 memcpy(out,&(ctx->buf[ctx->buf_off]),i); in b64_read()
173 ctx->buf_off+=i; in b64_read()
174 if (ctx->buf_len == ctx->buf_off) in b64_read()
176 ctx->buf_len=0; in b64_read()
177 ctx->buf_off=0; in b64_read()
188 if (ctx->cont <= 0) in b64_read()
191 i=BIO_read(b->next_bio,&(ctx->tmp[ctx->tmp_len]), in b64_read()
192 B64_BLOCK_SIZE-ctx->tmp_len); in b64_read()
201 ctx->cont=i; in b64_read()
203 if(ctx->tmp_len == 0) in b64_read()
213 i+=ctx->tmp_len; in b64_read()
214 ctx->tmp_len = i; in b64_read()
218 if (ctx->start && (BIO_get_flags(b) & BIO_FLAGS_BASE64_NO_NL)) in b64_read()
221 ctx->tmp_len=0; in b64_read()
223 else if (ctx->start) in b64_read()
225 q=p=(unsigned char *)ctx->tmp; in b64_read()
234 if (ctx->tmp_nl) in b64_read()
237 ctx->tmp_nl=0; in b64_read()
241 k=EVP_DecodeUpdate(&(ctx->base64), in b64_read()
242 (unsigned char *)ctx->buf, in b64_read()
244 if ((k <= 0) && (num == 0) && (ctx->start)) in b64_read()
245 EVP_DecodeInit(&ctx->base64); in b64_read()
249 &(ctx->tmp[0])) in b64_read()
252 &(ctx->tmp[0])); in b64_read()
254 ctx->tmp[x]=p[x]; in b64_read()
256 EVP_DecodeInit(&ctx->base64); in b64_read()
257 ctx->start=0; in b64_read()
268 if (p == (unsigned char *)&(ctx->tmp[0])) in b64_read()
273 ctx->tmp_nl=1; in b64_read()
274 ctx->tmp_len=0; in b64_read()
281 ctx->tmp[ii]=p[ii]; in b64_read()
282 ctx->tmp_len=n; in b64_read()
288 ctx->tmp_len=0; in b64_read()
293 else if ((i < B64_BLOCK_SIZE) && (ctx->cont > 0)) in b64_read()
301 z=EVP_DecodeBlock((unsigned char *)ctx->buf, in b64_read()
302 (unsigned char *)ctx->tmp,jj); in b64_read()
305 if (ctx->tmp[jj-1] == '=') in b64_read()
308 if (ctx->tmp[jj-2] == '=') in b64_read()
316 memcpy((unsigned char *)ctx->tmp, in b64_read()
317 (unsigned char *)&(ctx->tmp[jj]),i-jj); in b64_read()
318 ctx->tmp_len=i-jj; in b64_read()
320 ctx->buf_len=0; in b64_read()
323 ctx->buf_len=z; in b64_read()
331 i=EVP_DecodeUpdate(&(ctx->base64), in b64_read()
332 (unsigned char *)ctx->buf,&ctx->buf_len, in b64_read()
333 (unsigned char *)ctx->tmp,i); in b64_read()
334 ctx->tmp_len = 0; in b64_read()
336 ctx->buf_off=0; in b64_read()
340 ctx->buf_len=0; in b64_read()
344 if (ctx->buf_len <= outl) in b64_read()
345 i=ctx->buf_len; in b64_read()
349 memcpy(out,ctx->buf,i); in b64_read()
351 ctx->buf_off=i; in b64_read()
352 if (ctx->buf_off == ctx->buf_len) in b64_read()
354 ctx->buf_len=0; in b64_read()
355 ctx->buf_off=0; in b64_read()
368 BIO_B64_CTX *ctx; in b64_write() local
370 ctx=(BIO_B64_CTX *)b->ptr; in b64_write()
373 if (ctx->encode != B64_ENCODE) in b64_write()
375 ctx->encode=B64_ENCODE; in b64_write()
376 ctx->buf_len=0; in b64_write()
377 ctx->buf_off=0; in b64_write()
378 ctx->tmp_len=0; in b64_write()
379 EVP_EncodeInit(&(ctx->base64)); in b64_write()
382 n=ctx->buf_len-ctx->buf_off; in b64_write()
385 i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n); in b64_write()
391 ctx->buf_off+=i; in b64_write()
395 ctx->buf_off=0; in b64_write()
396 ctx->buf_len=0; in b64_write()
406 if (ctx->tmp_len > 0) in b64_write()
408 n=3-ctx->tmp_len; in b64_write()
412 memcpy(&(ctx->tmp[ctx->tmp_len]),in,n); in b64_write()
413 ctx->tmp_len+=n; in b64_write()
414 if (ctx->tmp_len < 3) in b64_write()
416 ctx->buf_len=EVP_EncodeBlock( in b64_write()
417 (unsigned char *)ctx->buf, in b64_write()
418 (unsigned char *)ctx->tmp, in b64_write()
419 ctx->tmp_len); in b64_write()
422 ctx->tmp_len=0; in b64_write()
428 memcpy(&(ctx->tmp[0]),in,n); in b64_write()
429 ctx->tmp_len=n; in b64_write()
433 ctx->buf_len=EVP_EncodeBlock( in b64_write()
434 (unsigned char *)ctx->buf, in b64_write()
440 EVP_EncodeUpdate(&(ctx->base64), in b64_write()
441 (unsigned char *)ctx->buf,&ctx->buf_len, in b64_write()
447 ctx->buf_off=0; in b64_write()
448 n=ctx->buf_len; in b64_write()
451 i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n); in b64_write()
458 ctx->buf_off+=i; in b64_write()
460 ctx->buf_len=0; in b64_write()
461 ctx->buf_off=0; in b64_write()
468 BIO_B64_CTX *ctx; in b64_ctrl() local
472 ctx=(BIO_B64_CTX *)b->ptr; in b64_ctrl()
477 ctx->cont=1; in b64_ctrl()
478 ctx->start=1; in b64_ctrl()
479 ctx->encode=B64_NONE; in b64_ctrl()
483 if (ctx->cont <= 0) in b64_ctrl()
489 ret=ctx->buf_len-ctx->buf_off; in b64_ctrl()
490 if ((ret == 0) && (ctx->encode != B64_NONE) in b64_ctrl()
491 && (ctx->base64.num != 0)) in b64_ctrl()
497 ret=ctx->buf_len-ctx->buf_off; in b64_ctrl()
504 while (ctx->buf_len != ctx->buf_off) in b64_ctrl()
512 if (ctx->tmp_len != 0) in b64_ctrl()
514 ctx->buf_len=EVP_EncodeBlock( in b64_ctrl()
515 (unsigned char *)ctx->buf, in b64_ctrl()
516 (unsigned char *)ctx->tmp, in b64_ctrl()
517 ctx->tmp_len); in b64_ctrl()
518 ctx->buf_off=0; in b64_ctrl()
519 ctx->tmp_len=0; in b64_ctrl()
523 else if (ctx->encode != B64_NONE && ctx->base64.num != 0) in b64_ctrl()
525 ctx->buf_off=0; in b64_ctrl()
526 EVP_EncodeFinal(&(ctx->base64), in b64_ctrl()
527 (unsigned char *)ctx->buf, in b64_ctrl()
528 &(ctx->buf_len)); in b64_ctrl()