1. 09 Sep, 2021 1 commit
  2. 22 Dec, 2020 2 commits
  3. 27 Nov, 2020 2 commits
  4. 11 Oct, 2020 1 commit
  5. 07 Feb, 2020 1 commit
  6. 26 Jan, 2020 1 commit
    • credential: change git_cred to git_credential · 3f54ba8b
      We avoid abbreviations where possible; rename git_cred to
      git_credential.
      
      In addition, we have standardized on a trailing `_t` for enum types,
      instead of using "type" in the name.  So `git_credtype_t` has become
      `git_credential_t` and its members have become `GIT_CREDENTIAL` instead
      of `GIT_CREDTYPE`.
      
      Finally, the source and header files have been renamed to `credential`
      instead of `cred`.
      
      Keep previous name and values as deprecated, and include the new header
      files from the previous ones.
      Edward Thomson committed
  7. 13 Dec, 2019 1 commit
  8. 20 Nov, 2019 1 commit
  9. 16 Nov, 2019 1 commit
  10. 13 Sep, 2019 1 commit
  11. 10 Jun, 2019 1 commit
    • net: rename gitno_connection_data to git_net_url · c6ab183e
      "Connection data" is an imprecise and largely incorrect name; these
      structures are actually parsed URLs.  Provide a parser that takes a URL
      string and produces a URL structure (if it is valid).
      
      Separate the HTTP redirect handling logic from URL parsing, keeping a
      `gitno_connection_data_handle_redirect` whose only job is redirect
      handling logic and does not parse URLs itself.
      Edward Thomson committed
  12. 16 Apr, 2019 1 commit
  13. 22 Jan, 2019 1 commit
  14. 21 Nov, 2018 1 commit
    • transport: allow cred/cert callbacks to return GIT_PASSTHROUGH · a2e6e0ea
      Allow credential and certificate checking callbacks to return
      GIT_PASSTHROUGH, indicating that they do not want to act.
      Introduce this to support in both the http and ssh callbacks.
      Additionally, enable the same mechanism for certificate validation.
      
      This is most useful to disambiguate any meaning in the publicly exposed
      credential and certificate functions (`git_transport_smart_credentials`
      and `git_transport_smart_certificate_check`) but it may be more
      generally useful for callers to be able to defer back to libgit2.
      Edward Thomson committed
  15. 10 Jun, 2018 1 commit
  16. 27 Mar, 2018 2 commits
    • transports: ssh: replace deprecated function `libssh2_session_startup` · 874ce161
      The function `libssh2_session_startup` has been deprecated since libssh2
      version 1.2.8 in favor of `libssh2_session_handshake` introduced in the
      same version. libssh2 1.2.8 was released in April 2011, so it is already
      seven years old. It is available in Debian Wheezy, Ubuntu Trusty and
      CentOS 7.4, so the most important and conservative distros already have
      it available. As such, it seems safe to just use the new function.
      Patrick Steinhardt committed
    • transports: ssh: disconnect session before freeing it · 2785cc8e
      The function `ssh_stream_free` takes over the responsibility of closing
      channels and streams just before freeing their memory, but it does not
      do so for the session. In fact, we never disconnect the session
      ourselves at all, as libssh2 will not do so itself upon freeing the
      structure. Quoting the documentation of `libssh2_session_free`:
      
          > Frees all resources associated with a session instance. Typically
          > called after libssh2_session_disconnect_ex,
      
      The missing disconnect probably stems from a misunderstanding what it
      actually does. As we are already closing the TCP socket ourselves, the
      assumption was that no additional disconnect is required. But calling
      `libssh2_session_disconnect` will notify the server that we are cleanly
      closing the connection, such that the server can free his own resources.
      
      Add a call to `libssh2_session_disconnect` to fix that issue.
      
      [1]: https://www.libssh2.org/libssh2_session_free.html
      Patrick Steinhardt committed
  17. 19 Mar, 2018 2 commits
  18. 23 Oct, 2017 1 commit
  19. 20 Oct, 2017 1 commit
  20. 03 Jul, 2017 1 commit
    • Make sure to always include "common.h" first · 0c7f49dd
      Next to including several files, our "common.h" header also declares
      various macros which are then used throughout the project. As such, we
      have to make sure to always include this file first in all
      implementation files. Otherwise, we might encounter problems or even
      silent behavioural differences due to macros or defines not being
      defined as they should be. So in fact, our header and implementation
      files should make sure to always include "common.h" first.
      
      This commit does so by establishing a common include pattern. Header
      files inside of "src" will now always include "common.h" as its first
      other file, separated by a newline from all the other includes to make
      it stand out as special. There are two cases for the implementation
      files. If they do have a matching header file, they will always include
      this one first, leading to "common.h" being transitively included as
      first file. If they do not have a matching header file, they instead
      include "common.h" as first file themselves.
      
      This fixes the outlined problems and will become our standard practice
      for header and source files inside of the "src/" from now on.
      Patrick Steinhardt committed
  21. 02 May, 2017 2 commits
  22. 29 Dec, 2016 1 commit
  23. 03 Mar, 2016 1 commit
    • ssh: initialize libssh2 · 22f3d3aa
      We should have been doing this, but it initializes itself upon first
      use, which works as long as nobody's doing concurrent network
      operations. Initialize it on our init to make sure it's not getting
      initialized concurrently.
      Carlos Martín Nieto committed
  24. 28 Dec, 2015 1 commit
  25. 26 Dec, 2015 1 commit
  26. 22 Dec, 2015 1 commit
  27. 14 Aug, 2015 1 commit
  28. 03 Aug, 2015 1 commit
  29. 10 Jul, 2015 1 commit
  30. 09 Jun, 2015 1 commit
  31. 02 Jun, 2015 1 commit
  32. 27 May, 2015 2 commits
  33. 20 May, 2015 2 commits