1. 21 11月, 2015 8 次提交
  2. 10 11月, 2015 1 次提交
  3. 31 10月, 2015 1 次提交
  4. 30 10月, 2015 3 次提交
  5. 13 10月, 2015 1 次提交
    • M
      Centralise loading default apps config file · a0a82324
      Matt Caswell 提交于
      Loading the config file after processing command line options can
      cause problems, e.g. where an engine provides new ciphers/digests
      these are not then recoginised on the command line. Move the
      default config file loading to before the command line option
      processing. Whilst we're doing this we might as well centralise
      this instead of doing it individually for each application. Finally
      if we do it before the OpenSSL_add_ssl_algorithms() call then
      ciphersuites provided by an engine (e.g. GOST) can be available to
      the apps.
      
      RT#4085
      RT#4086
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      a0a82324
  6. 11 10月, 2015 1 次提交
  7. 28 9月, 2015 1 次提交
  8. 25 9月, 2015 1 次提交
    • M
      Add support for -no-CApath and -no-CAfile options · 2b6bcb70
      Matt Caswell 提交于
      For those command line options that take the verification options
      -CApath and -CAfile, if those options are absent then the default path or
      file is used instead. It is not currently possible to specify *no* path or
      file at all. This change adds the options -no-CApath and -no-CAfile to
      specify that the default locations should not be used to all relevant
      applications.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      2b6bcb70
  9. 23 9月, 2015 2 次提交
  10. 20 9月, 2015 2 次提交
  11. 11 9月, 2015 1 次提交
  12. 06 9月, 2015 1 次提交
    • R
      Change the treatment of stdin and stdout to allow binary data · a60994df
      Richard Levitte 提交于
      If the output to stdout or the input from stdin is meant to be binary,
      it's deeply unsetting to get the occasional LF converted to CRLF or
      the other way around.  If someone happens to forget to redirect stdin
      or stdout, they will get gibberish anyway, line ending conversion will
      not change that.
      
      Therefore, let's not have dup_bio_* decide unilaterally what mode the
      BIO derived from stdin and stdout, and rather let the app decide by
      declaring the intended format.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      a60994df
  13. 05 8月, 2015 1 次提交
  14. 31 7月, 2015 1 次提交
  15. 16 6月, 2015 1 次提交
    • R
      RT2547: Tighten perms on generated privkey files · 3b061a00
      Rich Salz 提交于
      When generating a private key, try to make the output file be readable
      only by the owner.  Put it in CHANGES file since it might be noticeable.
      
      Add "int private" flag to apps that write private keys, and check that it's
      set whenever we do write a private key.  Checked via assert so that this
      bug (security-related) gets fixed.  Thanks to Viktor for help in tracing
      the code-paths where private keys are written.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      3b061a00
  16. 10 6月, 2015 2 次提交
  17. 03 6月, 2015 1 次提交
    • R
      Standardize handling of #ifdef'd options. · 9c3bcfa0
      Rich Salz 提交于
      Here are the "rules" for handling flags that depend on #ifdef:
      
      - Do not ifdef the enum.  Only ifdef the OPTIONS table.  All ifdef'd
        entries appear at the end; by convention "engine" is last.  This
        ensures that at run-time, the flag will never be recognized/allowed.
        The next two bullets entries are for silencing compiler warnings:
      - In the while/switch parsing statement, use #ifdef for the body to
        disable it; leave the "case OPT_xxx:" and "break" statements outside
        the ifdef/ifndef.  See ciphers.c for example.
      - If there are multiple options controlled by a single guard, OPT_FOO,
        OPT_BAR, etc., put a an #ifdef around the set, and then do "#else"
        and a series of case labels and a break. See OPENSSL_NO_AES in cms.c
        for example.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      9c3bcfa0
  18. 29 5月, 2015 1 次提交
  19. 23 5月, 2015 1 次提交
  20. 22 5月, 2015 1 次提交
  21. 19 5月, 2015 1 次提交
  22. 16 5月, 2015 1 次提交
    • M
      Server side version negotiation rewrite · 32ec4153
      Matt Caswell 提交于
      This commit changes the way that we do server side protocol version
      negotiation. Previously we had a whole set of code that had an "up front"
      state machine dedicated to the negotiating the protocol version. This adds
      significant complexity to the state machine. Historically the justification
      for doing this was the support of SSLv2 which works quite differently to
      SSLv3+. However, we have now removed support for SSLv2 so there is little
      reason to maintain this complexity.
      
      The one slight difficulty is that, although we no longer support SSLv2, we
      do still support an SSLv3+ ClientHello in an SSLv2 backward compatible
      ClientHello format. This is generally only used by legacy clients. This
      commit adds support within the SSLv3 code for these legacy format
      ClientHellos.
      
      Server side version negotiation now works in much the same was as DTLS,
      i.e. we introduce the concept of TLS_ANY_VERSION. If s->version is set to
      that then when a ClientHello is received it will work out the most
      appropriate version to respond with. Also, SSLv23_method and
      SSLv23_server_method have been replaced with TLS_method and
      TLS_server_method respectively. The old SSLv23* names still exist as
      macros pointing at the new name, although they are deprecated.
      
      Subsequent commits will look at client side version negotiation, as well of
      removal of the old s23* code.
      Reviewed-by: NKurt Roeckx <kurt@openssl.org>
      32ec4153
  23. 15 5月, 2015 1 次提交
  24. 13 5月, 2015 1 次提交
  25. 07 5月, 2015 1 次提交
  26. 06 5月, 2015 2 次提交
    • G
      Initialize potentially uninitialized local variables · 4c9b0a03
      Gunnar Kudrjavets 提交于
      Compiling OpenSSL code with MSVC and /W4 results in a number of warnings.
      One category of warnings is particularly interesting - C4701 (potentially
      uninitialized local variable 'name' used). This warning pretty much means
      that there's a code path which results in uninitialized variables being used
      or returned. Depending on compiler, its options, OS, values in registers
      and/or stack, the results can be nondeterministic. Cases like this are very
      hard to debug so it's rational to fix these issues.
      
      This patch contains a set of trivial fixes for all the C4701 warnings (just
      initializing variables to 0 or NULL or appropriate error code) to make sure
      that deterministic values will be returned from all the execution paths.
      
      RT#3835
      Signed-off-by: NMatt Caswell <matt@openssl.org>
      
      Matt's note: All of these appear to be bogus warnings, i.e. there isn't
      actually a code path where an unitialised variable could be used - its just
      that the compiler hasn't been able to figure that out from the logic. So
      this commit is just about silencing spurious warnings.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      4c9b0a03
    • M
      Fix s_server version specific methods · 4407d070
      Matt Caswell 提交于
      A copy&paste error as a result of the big apps cleanup broke the version
      specific methods in s_server.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      4407d070
  27. 05 5月, 2015 1 次提交
    • R
      Use safer sizeof variant in malloc · b4faea50
      Rich Salz 提交于
      For a local variable:
              TYPE *p;
      Allocations like this are "risky":
              p = OPENSSL_malloc(sizeof(TYPE));
      if the type of p changes, and the malloc call isn't updated, you
      could get memory corruption.  Instead do this:
              p = OPENSSL_malloc(sizeof(*p));
      Also fixed a few memset() calls that I noticed while doing this.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      b4faea50