return ret;
}
-#ifndef OPENSSL_NO_OCSP
+#if !defined(OPENSSL_NO_OCSP) && !defined(OPENSSL_NO_SOCK)
static int load_cert_crl_http(const char *url, X509 **pcert, X509_CRL **pcrl)
{
char *host = NULL, *port = NULL, *path = NULL;
BIO *cert;
if (format == FORMAT_HTTP) {
-#ifndef OPENSSL_NO_OCSP
+#if !defined(OPENSSL_NO_OCSP) && !defined(OPENSSL_NO_SOCK)
load_cert_crl_http(file, &x, NULL);
#endif
return x;
BIO *in = NULL;
if (format == FORMAT_HTTP) {
-#ifndef OPENSSL_NO_OCSP
+#if !defined(OPENSSL_NO_OCSP) && !defined(OPENSSL_NO_SOCK)
load_cert_crl_http(infile, NULL, &x);
#endif
return x;
static BIO *init_responder(const char *port);
static int do_responder(OCSP_REQUEST **preq, BIO **pcbio, BIO *acbio);
static int send_ocsp_response(BIO *cbio, OCSP_RESPONSE *resp);
+
+# ifndef OPENSSL_NO_SOCK
static OCSP_RESPONSE *query_responder(BIO *cbio, const char *host,
const char *path,
const STACK_OF(CONF_VALUE) *headers,
OCSP_REQUEST *req, int req_timeout);
+# endif
typedef enum OPTION_choice {
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
int noCAfile = 0, noCApath = 0;
int accept_count = -1, add_nonce = 1, noverify = 0, use_ssl = -1;
int vpmtouched = 0, badsig = 0, i, ignore_err = 0, nmin = 0, ndays = -1;
- int req_text = 0, resp_text = 0, req_timeout = -1, ret = 1;
+ int req_text = 0, resp_text = 0, ret = 1;
+#ifndef OPENSSL_NO_SOCK
+ int req_timeout = -1;
+#endif
long nsec = MAX_VALIDITY_PERIOD, maxage = -1;
unsigned long sign_flags = 0, verify_flags = 0, rflags = 0;
OPTION_CHOICE o;
outfile = opt_arg();
break;
case OPT_TIMEOUT:
+#ifndef OPENSSL_NO_SOCK
req_timeout = atoi(opt_arg());
+#endif
break;
case OPT_URL:
OPENSSL_free(thost);
return 1;
}
+# ifndef OPENSSL_NO_SOCK
static OCSP_RESPONSE *query_responder(BIO *cbio, const char *host,
const char *path,
const STACK_OF(CONF_VALUE) *headers,
SSL_CTX_free(ctx);
return resp;
}
+# endif
#endif
int verify_quiet = 0;
int verify_error = X509_V_OK;
int verify_return_error = 0;
+#ifndef OPENSSL_NO_SOCK
static unsigned char cookie_secret[COOKIE_SECRET_LENGTH];
static int cookie_initialized = 0;
+#endif
static const char *lookup(int val, const STRINT_PAIR* list, const char* def)
{
(void)BIO_flush(bio);
}
+#ifndef OPENSSL_NO_SOCK
int generate_cookie_callback(SSL *ssl, unsigned char *cookie,
unsigned int *cookie_len)
{
return 0;
}
+#endif
/*
* Example of extended certificate handling. Where the standard support of
#include <errno.h>
#include <openssl/e_os2.h>
+#ifndef OPENSSL_NO_SOCK
+
/*
* With IPv6, it looks like Digital has mixed up the proper order of
* recursive header file inclusion, resulting in the compiler complaining
OCSP_RESPONSE_free(rsp);
return 1;
}
+
+#endif
#include <openssl/e_os2.h>
+#ifndef OPENSSL_NO_SOCK
+
/*
* With IPv6, it looks like Digital has mixed up the proper order of
* recursive header file inclusion, resulting in the compiler complaining
}
first = NULL;
}
+
+#endif
#include <string.h>
#include <errno.h>
#include <signal.h>
+#include <openssl/opensslconf.h>
/*
* With IPv6, it looks like Digital has mixed up the proper order of
#include <stdlib.h>
#include <string.h>
+#include <openssl/opensslconf.h>
+
+#ifndef OPENSSL_NO_SOCK
+
#define USE_SOCKETS
#include "apps.h"
#include <openssl/x509.h>
return serverCon;
}
+#endif /* OPENSSL_NO_SOCK */
ENGINE_cleanup();
#endif
CRYPTO_cleanup_all_ex_data();
+#ifndef OPENSSL_NO_SOCK
BIO_sock_cleanup();
+#endif
EVP_cleanup();
OBJ_cleanup();
base_inited = 0;
__owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c);
# endif
+# ifndef OPENSSL_NO_SOCK
int DTLSv1_listen(SSL *s, BIO_ADDR *client);
+# endif
# ifndef OPENSSL_NO_CT
#define LISTEN_SUCCESS 2
#define LISTEN_SEND_VERIFY_REQUEST 1
-
+#ifndef OPENSSL_NO_SOCK
int DTLSv1_listen(SSL *s, BIO_ADDR *client)
{
int next, n, ret = 0, clearpkt = 0;
}
return ret;
}
+#endif
static int dtls1_set_handshake_header(SSL *s, int htype, unsigned long len)
{
#endif
#include "e_os.h"
+#ifndef OPENSSL_NO_SOCK
+
/* Just a ClientHello without a cookie */
static const unsigned char clienthello_nocookie[] = {
0x16, /* Handshake */
}
};
-#define COOKIE_LEN 20
+# define COOKIE_LEN 20
static int cookie_gen(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len)
{
return 1;
}
+#endif
int main(void)
{
+#ifndef OPENSSL_NO_SOCK
SSL_CTX *ctx = NULL;
SSL *ssl = NULL;
BIO *outbio = NULL;
SSL_CTX_free(ctx);
BIO_free(inbio);
OPENSSL_free(peer);
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+# ifndef OPENSSL_NO_CRYPTO_MDEBUG
CRYPTO_mem_leaks_fp(stderr);
-#endif
+# endif
return success ? 0 : 1;
+#else
+ printf("DTLSv1_listen() is not supported by this build - skipping\n");
+ return 0;
+#endif
}
-
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
my $proxy = TLSProxy::Proxy->new(
\&certstatus_filter,
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
my $proxy = TLSProxy::Proxy->new(
\&extension_filter,
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
sub checkmessages($$$$$$);
plan skip_all => "dh is not supported by this OpenSSL build"
if disabled("dh");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
my $proxy = TLSProxy::Proxy->new(
\&ske_0_p_filter,
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
my $proxy = TLSProxy::Proxy->new(
\&vers_tolerance_filter,
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
sub checkmessages($$$$$);
SKIP: {
skip "No IPv4 available on this machine", 1
- unless have_IPv4();
+ unless !disabled("sock") && have_IPv4();
ok(run(test([@ssltest, "-ipv4", @extra])),
'test TLS via IPv4');
}
SKIP: {
skip "No IPv6 available on this machine", 1
- unless have_IPv6();
+ unless !disabled("sock") && have_IPv6();
ok(run(test([@ssltest, "-ipv6", @extra])),
'test TLS via IPv6');
}
plan skip_all => "$test_name needs the dynamic engine feature enabled"
if disabled("engine") || disabled("dynamic-engine");
+plan skip_all => "$test_name needs the sock feature enabled"
+ if disabled("sock");
+
$ENV{OPENSSL_ia32cap} = '~0x200000200000000';
my $proxy = TLSProxy::Proxy->new(
CAfile = *(++argv);
} else if (strcmp(*argv, "-bio_pair") == 0) {
bio_type = BIO_PAIR;
- } else if (strcmp(*argv, "-ipv4") == 0) {
+ }
+#ifndef OPENSSL_NO_SOCK
+ else if (strcmp(*argv, "-ipv4") == 0) {
bio_type = BIO_IPV4;
} else if (strcmp(*argv, "-ipv6") == 0) {
bio_type = BIO_IPV6;
- } else if (strcmp(*argv, "-f") == 0) {
+ }
+#endif
+ else if (strcmp(*argv, "-f") == 0) {
force = 1;
} else if (strcmp(*argv, "-time") == 0) {
print_time = 1;
case BIO_PAIR:
ret = doit_biopair(s_ssl, c_ssl, bytes, &s_time, &c_time);
break;
+#ifndef OPENSSL_NO_SOCK
case BIO_IPV4:
ret = doit_localhost(s_ssl, c_ssl, BIO_FAMILY_IPV4,
bytes, &s_time, &c_time);
ret = doit_localhost(s_ssl, c_ssl, BIO_FAMILY_IPV6,
bytes, &s_time, &c_time);
break;
+#else
+ case BIO_IPV4:
+ case BIO_IPV6:
+ ret = 1;
+ goto err;
+#endif
}
if (ret) break;
}
EXIT(ret);
}
+#ifndef OPENSSL_NO_SOCK
int doit_localhost(SSL *s_ssl, SSL *c_ssl, int family, long count,
clock_t *s_time, clock_t *c_time)
{
if (verbose)
print_details(c_ssl, "DONE via TCP connect: ");
-#ifndef OPENSSL_NO_NEXTPROTONEG
+# ifndef OPENSSL_NO_NEXTPROTONEG
if (verify_npn(c_ssl, s_ssl) < 0) {
ret = 1;
goto end;
}
-#endif
+# endif
if (verify_serverinfo() < 0) {
fprintf(stderr, "Server info verify error\n");
ret = 1;
return ret;
}
+#endif
int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,
clock_t *s_time, clock_t *c_time)