• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/OpenSSL098-52/src/crypto/evp/

Lines Matching refs:ctx

114 	BIO_B64_CTX *ctx;
116 ctx=(BIO_B64_CTX *)OPENSSL_malloc(sizeof(BIO_B64_CTX));
117 if (ctx == NULL) return(0);
119 ctx->buf_len=0;
120 ctx->tmp_len=0;
121 ctx->tmp_nl=0;
122 ctx->buf_off=0;
123 ctx->cont=1;
124 ctx->start=1;
125 ctx->encode=0;
128 bi->ptr=(char *)ctx;
147 BIO_B64_CTX *ctx;
151 ctx=(BIO_B64_CTX *)b->ptr;
153 if ((ctx == NULL) || (b->next_bio == NULL)) return(0);
157 if (ctx->encode != B64_DECODE)
159 ctx->encode=B64_DECODE;
160 ctx->buf_len=0;
161 ctx->buf_off=0;
162 ctx->tmp_len=0;
163 EVP_DecodeInit(&(ctx->base64));
167 if (ctx->buf_len > 0)
169 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
170 i=ctx->buf_len-ctx->buf_off;
172 OPENSSL_assert(ctx->buf_off+i < (int)sizeof(ctx->buf));
173 memcpy(out,&(ctx->buf[ctx->buf_off]),i);
177 ctx->buf_off+=i;
178 if (ctx->buf_len == ctx->buf_off)
180 ctx->buf_len=0;
181 ctx->buf_off=0;
191 if (ctx->cont <= 0)
194 i=BIO_read(b->next_bio,&(ctx->tmp[ctx->tmp_len]),
195 B64_BLOCK_SIZE-ctx->tmp_len);
204 ctx->cont=i;
206 if(ctx->tmp_len == 0)
216 i+=ctx->tmp_len;
217 ctx->tmp_len = i;
221 if (ctx->start && (BIO_get_flags(b) & BIO_FLAGS_BASE64_NO_NL))
223 /* ctx->start=1; */
224 ctx->tmp_len=0;
226 else if (ctx->start)
228 q=p=(unsigned char *)ctx->tmp;
238 if (ctx->tmp_nl)
241 ctx->tmp_nl=0;
245 k=EVP_DecodeUpdate(&(ctx->base64),
246 (unsigned char *)ctx->buf,
248 if ((k <= 0) && (num == 0) && (ctx->start))
249 EVP_DecodeInit(&ctx->base64);
253 &(ctx->tmp[0]))
256 &(ctx->tmp[0]));
258 ctx->tmp[x]=p[x];
260 EVP_DecodeInit(&ctx->base64);
261 ctx->start=0;
272 if (p == (unsigned char *)&(ctx->tmp[0]))
277 ctx->tmp_nl=1;
278 ctx->tmp_len=0;
285 ctx->tmp[ii]=p[ii];
286 ctx->tmp_len=n;
293 ctx->tmp_len=0;
296 else if ((i < B64_BLOCK_SIZE) && (ctx->cont > 0))
313 z=EVP_DecodeBlock((unsigned char *)ctx->buf,
314 (unsigned char *)ctx->tmp,jj);
317 if (ctx->tmp[jj-1] == '=')
320 if (ctx->tmp[jj-2] == '=')
328 memmove(ctx->tmp, &ctx->tmp[jj], i-jj);
329 ctx->tmp_len=i-jj;
331 ctx->buf_len=0;
334 ctx->buf_len=z;
340 i=EVP_DecodeUpdate(&(ctx->base64),
341 (unsigned char *)ctx->buf,&ctx->buf_len,
342 (unsigned char *)ctx->tmp,i);
343 ctx->tmp_len = 0;
345 ctx->buf_off=0;
349 ctx->buf_len=0;
353 if (ctx->buf_len <= outl)
354 i=ctx->buf_len;
358 memcpy(out,ctx->buf,i);
360 ctx->buf_off=i;
361 if (ctx->buf_off == ctx->buf_len)
363 ctx->buf_len=0;
364 ctx->buf_off=0;
379 BIO_B64_CTX *ctx;
381 ctx=(BIO_B64_CTX *)b->ptr;
384 if (ctx->encode != B64_ENCODE)
386 ctx->encode=B64_ENCODE;
387 ctx->buf_len=0;
388 ctx->buf_off=0;
389 ctx->tmp_len=0;
390 EVP_EncodeInit(&(ctx->base64));
393 OPENSSL_assert(ctx->buf_off < (int)sizeof(ctx->buf));
394 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf));
395 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
396 n=ctx->buf_len-ctx->buf_off;
399 i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n);
406 ctx->buf_off+=i;
407 OPENSSL_assert(ctx->buf_off <= (int)sizeof(ctx->buf));
408 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
412 ctx->buf_off=0;
413 ctx->buf_len=0;
423 if (ctx->tmp_len > 0)
425 OPENSSL_assert(ctx->tmp_len <= 3);
426 n=3-ctx->tmp_len;
430 memcpy(&(ctx->tmp[ctx->tmp_len]),in,n);
431 ctx->tmp_len+=n;
433 if (ctx->tmp_len < 3)
435 ctx->buf_len=EVP_EncodeBlock((unsigned char *)ctx->buf,(unsigned char *)ctx->tmp,ctx->tmp_len);
436 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf));
437 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
440 ctx->tmp_len=0;
446 memcpy(ctx->tmp,in,n);
447 ctx->tmp_len=n;
452 ctx->buf_len=EVP_EncodeBlock((unsigned char *)ctx->buf,(const unsigned char *)in,n);
453 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf));
454 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
460 EVP_EncodeUpdate(&(ctx->base64),
461 (unsigned char *)ctx->buf,&ctx->buf_len,
463 OPENSSL_assert(ctx->buf_len <= (int)sizeof(ctx->buf));
464 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
470 ctx->buf_off=0;
471 n=ctx->buf_len;
474 i=BIO_write(b->next_bio,&(ctx->buf[ctx->buf_off]),n);
482 ctx->buf_off+=i;
483 OPENSSL_assert(ctx->buf_off <= (int)sizeof(ctx->buf));
484 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
486 ctx->buf_len=0;
487 ctx->buf_off=0;
494 BIO_B64_CTX *ctx;
498 ctx=(BIO_B64_CTX *)b->ptr;
503 ctx->cont=1;
504 ctx->start=1;
505 ctx->encode=B64_NONE;
509 if (ctx->cont <= 0)
515 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
516 ret=ctx->buf_len-ctx->buf_off;
517 if ((ret == 0) && (ctx->encode != B64_NONE)
518 && (ctx->base64.num != 0))
524 OPENSSL_assert(ctx->buf_len >= ctx->buf_off);
525 ret=ctx->buf_len-ctx->buf_off;
532 while (ctx->buf_len != ctx->buf_off)
540 if (ctx->tmp_len != 0)
542 ctx->buf_len=EVP_EncodeBlock(
543 (unsigned char *)ctx->buf,
544 (unsigned char *)ctx->tmp,
545 ctx->tmp_len);
546 ctx->buf_off=0;
547 ctx->tmp_len=0;
551 else if (ctx->encode != B64_NONE && ctx->base64.num != 0)
553 ctx->buf_off=0;
554 EVP_EncodeFinal(&(ctx->base64),
555 (unsigned char *)ctx->buf,
556 &(ctx->buf_len));