summaryrefslogtreecommitdiff
path: root/include/git2/sys/transport.h
Commit message (Collapse)AuthorAgeFilesLines
* Make enum in includes C90 compliant by removing trailing comma.Peter Pettersson2021-11-151-2/+2
|
* docs: fix some missing includes that cause Docurium to error outEtienne Samson2021-05-271-0/+1
|
* credential: change git_cred to git_credentialethomson/credtypeEdward Thomson2020-01-261-2/+2
| | | | | | | | | | | | | | | | 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.
* indexer: use git_indexer_progress throughoutEdward Thomson2019-02-221-2/+2
| | | | | Update internal usage of `git_transfer_progress` to `git_indexer_progreses`.
* docs: minor changesEtienne Samson2019-01-301-12/+21
|
* transport: enhance documentationEtienne Samson2019-01-281-57/+88
|
* Introduce GIT_CALLBACK macro to enforce cdeclEdward Thomson2019-01-171-19/+19
| | | | | | | | | Since we now always build the library with cdecl calling conventions, our callbacks should be decorated as such so that users will not be able to provide callbacks defined with other calling conventions. The `GIT_CALLBACK` macro will inject the `__cdecl` attribute as appropriate.
* transport: see if cert/cred callbacks exist before calling themEdward Thomson2018-11-151-2/+8
| | | | | | | Custom transports may want to ask libgit2 to invoke a configured credential or certificate callback; however they likely do not know if a callback was actually configured. Return a sentinal value (GIT_PASSTHROUGH) if there is no callback configured instead of crashing.
* transport: provide a getter for the proxy optionscmn/transport-get-proxyCarlos Martín Nieto2017-04-171-0/+10
| | | | | | | | As with the callbacks, third-party implementations of smart subtransports cannot reach into the opaque struct and thus cannot know what options the user set. Add a getter for these options to copy the proxy options into something external implementors can use.
* proxy: ask the user for credentials if necessaryCarlos Martín Nieto2016-04-191-1/+3
|
* Fix build for custom transport usersLeo Yang2015-10-301-0/+1
| | | | | We should explicitly include the declaration of git_strarray from "include/git2/sys/transport.h"
* Tell the git_transport about the custom_headersMatt Burke2015-09-081-0/+5
|
* transport: provide a way to get the callbacksCarlos Martín Nieto2015-08-191-0/+22
| | | | | | | | libgit2 implementations of smart subtransports can simply reach through the structure, but external implementors cannot. Add these two functions as a way for the smart subtransports to get the callbacks as set by the user.
* remote: move the transport ctor to the callbacksCarlos Martín Nieto2015-05-131-20/+0
| | | | | | | Instead of having it set in a different place from every other callback, put it the main structure. This removes some state from the remote and makes it behave more like clone, where the constructors are passed via the options.
* Remove the callbacks struct from the remoteCarlos Martín Nieto2015-05-131-1/+1
| | | | | | | | | | | | | | Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
* Add a custom param to git_smart_subtransport_definitionLeo Yang2015-03-181-4/+12
| | | | | The smart transport has already take the payload param. For the sub transport a payload param is useful for the implementer.
* doc: add documentation to all the public structs and enumscmn/doc-allCarlos Martín Nieto2014-12-061-3/+16
| | | | | | | | | | This makes them show up in the reference, even if the text itself isn't the most descriptive. These have been found with grep -Przon '\n\ntypedef struct.*?\{' -- include grep -Przon '\n\ntypedef enum.*?\{' -- include
* Spelling fixesWill Stamper2014-12-041-1/+1
|
* net: remove support for outright ignoring certificatesCarlos Martín Nieto2014-09-161-3/+0
| | | | | | | | | | This option make it easy to ignore anything about the server we're connecting to, which is bad security practice. This was necessary as we didn't use to expose detailed information about the certificate, but now that we do, we should get rid of this. If the user wants to ignore everything, they can still provide a callback which ignores all the information passed.
* Provide a callback for certificate validationCarlos Martín Nieto2014-09-161-0/+1
| | | | | | | | | If the certificate validation fails (or always in the case of ssh), let the user decide whether to allow the connection. The data structure passed to the user is the native certificate information from the underlying implementation, namely OpenSSL or WinHTTP.
* Custom transport: minor cleanupsEdward Thomson2014-08-141-0/+354
* Move the transport registration mechanisms into a new header under 'sys/' because this is advanced stuff. * Remove the 'priority' argument from the registration as it adds unnecessary complexity. (Since transports cannot decline to operate, only the highest priority transport is ever executed.) Users who require per-priority transports can implement that in their custom transport themselves. * Simplify registration further by taking a scheme (eg "http") instead of a prefix (eg "http://").