]>
git.proxmox.com Git - libgit2.git/blob - src/netops.h
2 * Copyright (C) the libgit2 contributors. All rights reserved.
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
7 #ifndef INCLUDE_netops_h__
8 #define INCLUDE_netops_h__
17 # include <openssl/ssl.h>
20 typedef struct gitno_ssl
{
28 /* Represents a socket that may or may not be using SSL */
29 typedef struct gitno_socket
{
34 typedef struct gitno_buffer
{
38 int (*recv
)(struct gitno_buffer
*buffer
);
42 /* Flags to gitno_connect */
44 /* Attempt to create an SSL connection. */
45 GITNO_CONNECT_SSL
= 1,
49 * Check if the name in a cert matches the wanted hostname
51 * Check if a pattern from a certificate matches the hostname we
52 * wanted to connect to according to RFC2818 rules (which specifies
53 * HTTP over TLS). Mainly, an asterisk matches anything, but is
54 * limited to a single url component.
56 * Note that this does not set an error message. It expects the user
57 * to provide the message for the user.
59 int gitno__match_host(const char *pattern
, const char *host
);
61 void gitno_buffer_setup_fromstream(git_stream
*st
, gitno_buffer
*buf
, char *data
, size_t len
);
62 void gitno_buffer_setup_callback(gitno_buffer
*buf
, char *data
, size_t len
, int (*recv
)(gitno_buffer
*buf
), void *cb_data
);
63 int gitno_recv(gitno_buffer
*buf
);
65 void gitno_consume(gitno_buffer
*buf
, const char *ptr
);
66 void gitno_consume_n(gitno_buffer
*buf
, size_t cons
);