Home | History | Annotate | Line # | Download | only in apps
      1  1.1.1.2  christos /*
      2  1.1.1.2  christos  * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
      3      1.1  christos  *
      4  1.1.1.2  christos  * Licensed under the OpenSSL license (the "License").  You may not use
      5  1.1.1.2  christos  * this file except in compliance with the License.  You can obtain a copy
      6  1.1.1.2  christos  * in the file LICENSE in the source distribution or at
      7  1.1.1.2  christos  * https://www.openssl.org/source/license.html
      8      1.1  christos  */
      9  1.1.1.2  christos 
     10      1.1  christos #include <openssl/opensslconf.h>
     11      1.1  christos 
     12  1.1.1.2  christos #include <openssl/ssl.h>
     13      1.1  christos 
     14  1.1.1.2  christos #define PORT            "4433"
     15  1.1.1.2  christos #define PROTOCOL        "tcp"
     16      1.1  christos 
     17  1.1.1.2  christos typedef int (*do_server_cb)(int s, int stype, int prot, unsigned char *context);
     18  1.1.1.2  christos int do_server(int *accept_sock, const char *host, const char *port,
     19  1.1.1.2  christos               int family, int type, int protocol, do_server_cb cb,
     20  1.1.1.2  christos               unsigned char *context, int naccept, BIO *bio_s_out);
     21      1.1  christos 
     22  1.1.1.2  christos int verify_callback(int ok, X509_STORE_CTX *ctx);
     23      1.1  christos 
     24      1.1  christos int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file);
     25      1.1  christos int set_cert_key_stuff(SSL_CTX *ctx, X509 *cert, EVP_PKEY *key,
     26      1.1  christos                        STACK_OF(X509) *chain, int build_chain);
     27      1.1  christos int ssl_print_sigalgs(BIO *out, SSL *s);
     28      1.1  christos int ssl_print_point_formats(BIO *out, SSL *s);
     29  1.1.1.2  christos int ssl_print_groups(BIO *out, SSL *s, int noshared);
     30      1.1  christos int ssl_print_tmp_key(BIO *out, SSL *s);
     31  1.1.1.2  christos int init_client(int *sock, const char *host, const char *port,
     32  1.1.1.2  christos                 const char *bindhost, const char *bindport,
     33  1.1.1.2  christos                 int family, int type, int protocol);
     34      1.1  christos int should_retry(int i);
     35      1.1  christos 
     36  1.1.1.2  christos long bio_dump_callback(BIO *bio, int cmd, const char *argp,
     37  1.1.1.2  christos                        int argi, long argl, long ret);
     38  1.1.1.2  christos 
     39  1.1.1.2  christos void apps_ssl_info_callback(const SSL *s, int where, int ret);
     40  1.1.1.2  christos void msg_cb(int write_p, int version, int content_type, const void *buf,
     41  1.1.1.2  christos             size_t len, SSL *ssl, void *arg);
     42  1.1.1.2  christos void tlsext_cb(SSL *s, int client_server, int type, const unsigned char *data,
     43  1.1.1.2  christos                int len, void *arg);
     44  1.1.1.2  christos 
     45  1.1.1.2  christos int generate_cookie_callback(SSL *ssl, unsigned char *cookie,
     46  1.1.1.2  christos                              unsigned int *cookie_len);
     47  1.1.1.2  christos int verify_cookie_callback(SSL *ssl, const unsigned char *cookie,
     48  1.1.1.2  christos                            unsigned int cookie_len);
     49  1.1.1.2  christos 
     50  1.1.1.2  christos #ifdef __VMS                     /* 31 char symbol name limit */
     51  1.1.1.2  christos # define generate_stateless_cookie_callback      generate_stateless_cookie_cb
     52  1.1.1.2  christos # define verify_stateless_cookie_callback        verify_stateless_cookie_cb
     53  1.1.1.2  christos #endif
     54  1.1.1.2  christos 
     55  1.1.1.2  christos int generate_stateless_cookie_callback(SSL *ssl, unsigned char *cookie,
     56  1.1.1.2  christos                                        size_t *cookie_len);
     57  1.1.1.2  christos int verify_stateless_cookie_callback(SSL *ssl, const unsigned char *cookie,
     58  1.1.1.2  christos                                      size_t cookie_len);
     59      1.1  christos 
     60      1.1  christos typedef struct ssl_excert_st SSL_EXCERT;
     61      1.1  christos 
     62      1.1  christos void ssl_ctx_set_excert(SSL_CTX *ctx, SSL_EXCERT *exc);
     63      1.1  christos void ssl_excert_free(SSL_EXCERT *exc);
     64  1.1.1.2  christos int args_excert(int option, SSL_EXCERT **pexc);
     65  1.1.1.2  christos int load_excert(SSL_EXCERT **pexc);
     66  1.1.1.2  christos void print_verify_detail(SSL *s, BIO *bio);
     67  1.1.1.2  christos void print_ssl_summary(SSL *s);
     68  1.1.1.2  christos int config_ctx(SSL_CONF_CTX *cctx, STACK_OF(OPENSSL_STRING) *str, SSL_CTX *ctx);
     69      1.1  christos int ssl_ctx_add_crls(SSL_CTX *ctx, STACK_OF(X509_CRL) *crls,
     70      1.1  christos                      int crl_download);
     71      1.1  christos int ssl_load_stores(SSL_CTX *ctx, const char *vfyCApath,
     72      1.1  christos                     const char *vfyCAfile, const char *chCApath,
     73      1.1  christos                     const char *chCAfile, STACK_OF(X509_CRL) *crls,
     74      1.1  christos                     int crl_download);
     75  1.1.1.2  christos void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose);
     76  1.1.1.2  christos int set_keylog_file(SSL_CTX *ctx, const char *keylog_file);
     77  1.1.1.2  christos void print_ca_names(BIO *bio, SSL *s);
     78