Commit cd17bb19 authored by Matt Caswell's avatar Matt Caswell
Browse files

Prefix custom extension API callback types with SSL_

parent 64350ab5
Loading
Loading
Loading
Loading
+22 −19
Original line number Diff line number Diff line
@@ -12,29 +12,32 @@ custom_ext_add_cb, custom_ext_free_cb, custom_ext_parse_cb

 #include <openssl/ssl.h>

 typedef int (*custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type,
 typedef int (*SSL_custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type,
                                          unsigned int context,
                                          const unsigned char **out,
                                      size_t *outlen, X509 *x, size_t chainidx,
                                      int *al, void *add_arg);
                                          size_t *outlen, X509 *x,
                                          size_t chainidx, int *al,
                                          void *add_arg);

 typedef void (*custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type,
 typedef void (*SSL_custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type,
                                            unsigned int context,
                                            const unsigned char *out,
                                            void *add_arg);

 typedef int (*custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type,
 typedef int (*SSL_custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type,
                                            unsigned int context,
                                            const unsigned char *in,
                                        size_t inlen, X509 *x, size_t chainidx,
                                        int *al, void *parse_arg);
                                            size_t inlen, X509 *x,
                                            size_t chainidx, int *al,
                                            void *parse_arg);

 int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
                            unsigned int context,
                            custom_ext_add_cb_ex add_cb,
                            custom_ext_free_cb_ex free_cb,
                            SSL_custom_ext_add_cb_ex add_cb,
                            SSL_custom_ext_free_cb_ex free_cb,
                            void *add_arg,
                            custom_ext_parse_cb_ex parse_cb, void *parse_arg);
                            SSL_custom_ext_parse_cb_ex parse_cb,
                            void *parse_arg);

 typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type,
                                  const unsigned char **out,
+21 −18
Original line number Diff line number Diff line
@@ -289,20 +289,23 @@ typedef int (*custom_ext_parse_cb) (SSL *s, unsigned int ext_type,
                                    size_t inlen, int *al, void *parse_arg);


typedef int (*custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type,
typedef int (*SSL_custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type,
                                         unsigned int context,
                                         const unsigned char **out,
                                     size_t *outlen, X509 *x, size_t chainidx,
                                         size_t *outlen, X509 *x,
                                         size_t chainidx,
                                         int *al, void *add_arg);

typedef void (*custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type,
typedef void (*SSL_custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type,
                                           unsigned int context,
                                       const unsigned char *out, void *add_arg);
                                           const unsigned char *out,
                                           void *add_arg);

typedef int (*custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type,
typedef int (*SSL_custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type,
                                           unsigned int context,
                                           const unsigned char *in,
                                       size_t inlen, X509 *x, size_t chainidx,
                                           size_t inlen, X509 *x,
                                           size_t chainidx,
                                           int *al, void *parse_arg);

/* Typedef for verification callback */
@@ -800,10 +803,10 @@ __owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type,

__owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
                                  unsigned int context,
                                  custom_ext_add_cb_ex add_cb,
                                  custom_ext_free_cb_ex free_cb,
                                  SSL_custom_ext_add_cb_ex add_cb,
                                  SSL_custom_ext_free_cb_ex free_cb,
                                  void *add_arg,
                                  custom_ext_parse_cb_ex parse_cb,
                                  SSL_custom_ext_parse_cb_ex parse_cb,
                                  void *parse_arg);

__owur int SSL_extension_supported(unsigned int ext_type);
+3 −3
Original line number Diff line number Diff line
@@ -1630,10 +1630,10 @@ typedef struct {
     * part of an SSL_CTX structure.
     */
    uint32_t ext_flags;
    custom_ext_add_cb_ex add_cb;
    custom_ext_free_cb_ex free_cb;
    SSL_custom_ext_add_cb_ex add_cb;
    SSL_custom_ext_free_cb_ex free_cb;
    void *add_arg;
    custom_ext_parse_cb_ex parse_cb;
    SSL_custom_ext_parse_cb_ex parse_cb;
    void *parse_arg;
} custom_ext_method;

+6 −6
Original line number Diff line number Diff line
@@ -303,10 +303,10 @@ int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, unsigned int ext_type)
static int add_custom_ext_intern(SSL_CTX *ctx, int server,
                                 unsigned int ext_type,
                                 unsigned int context,
                                 custom_ext_add_cb_ex add_cb,
                                 custom_ext_free_cb_ex free_cb,
                                 SSL_custom_ext_add_cb_ex add_cb,
                                 SSL_custom_ext_free_cb_ex free_cb,
                                 void *add_arg,
                                 custom_ext_parse_cb_ex parse_cb,
                                 SSL_custom_ext_parse_cb_ex parse_cb,
                                 void *parse_arg)
{
    custom_ext_methods *exts = &ctx->cert->custext;
@@ -442,10 +442,10 @@ int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type,

int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
                           unsigned int context,
                           custom_ext_add_cb_ex add_cb,
                           custom_ext_free_cb_ex free_cb,
                           SSL_custom_ext_add_cb_ex add_cb,
                           SSL_custom_ext_free_cb_ex free_cb,
                           void *add_arg,
                           custom_ext_parse_cb_ex parse_cb, void *parse_arg)
                           SSL_custom_ext_parse_cb_ex parse_cb, void *parse_arg)
{
    return add_custom_ext_intern(ctx, -1, ext_type, context, add_cb, free_cb,
                                 add_arg, parse_cb, parse_arg);