Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.95 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. --- /tmp/removed123.txt 2011-08-03 19:41:27.985825602 +0200
  2. +++ /tmp/added123.txt   2011-08-03 19:41:28.015840602 +0200
  3. @@ -1,32 +1,33 @@
  4. --- a/ssl.c
  5. -  char envname[64];
  6. -  if (verify_get_subject(&subject, cert))
  7. -#if 0 /* print some debugging info */
  8. +++ b/ssl.c
  9. +  subject = verify_get_subject(cert);
  10. +  if (!subject)
  11. +  /* enforce character class restrictions in common name */
  12. +  verify_free_subject (subject);
  13. +  tls_clear_error();
  14. +++ b/ssl_verify_backend.h
  15. + * The returned string must be freed with \c verify_free_subject()
  16. + * @return             a string containing the subject
  17. + */
  18. +char *verify_get_subject (X509 *cert);
  19. +
  20. +/*
  21. + * Free a subjectnumber string as returned by \c verify_get_subject()
  22. + *
  23. + * @param subject      The subject to be freed.
  24. +void verify_free_subject (char *subject);
  25. + * The returned string must be freed with \c verify_free_serial()
  26. +++ b/ssl_verify_openssl.c
  27. +char *
  28. +verify_get_subject (X509 *cert)
  29.    {
  30. -    struct gc_arena gc = gc_new ();
  31. -    msg (M_INFO, "LOCAL OPT[%d]: %s", cert_depth, opt->local_options);
  32. -    msg (M_INFO, "X509[%d]: %s", cert_depth, subject);
  33. -    msg (M_INFO, "SHA1[%d]: %s", cert_depth, format_hex(cert->sha1_hash, SHA_DIGEST_LENGTH, 0, &gc));
  34. -    gc_free (&gc);
  35. +  return X509_NAME_oneline (X509_get_subject_name (cert), NULL, 0);
  36.    }
  37. -#endif
  38.  
  39. -  OPENSSL_free (subject);
  40. -  ERR_clear_error ();
  41. --- a/ssl_verify_backend.h
  42. - * Memory for subject is allocated in the process, and must be freed.
  43. - * @param subject      Pointer to memory to be allocated for the subject
  44. - * @return             \c 1 on failure, \c 0 on success
  45. -bool verify_get_subject (char **subject, x509_cert_t *cert);
  46. - * The returened string must be freed with \c verify_free_serial()
  47. --- a/ssl_verify_openssl.c
  48. -int
  49. -verify_get_subject (char **subject, X509 *cert)
  50. +void
  51. +verify_free_subject (char *subject)
  52.  {
  53. -  *subject = X509_NAME_oneline (X509_get_subject_name (cert), NULL, 0);
  54. -  if (!*subject)
  55. -      return 1;
  56. -
  57. -  return 0;
  58. +  if (subject)
  59. +    OPENSSL_free(subject);
  60.  }
  61.  
  62. +