Merge branch 'master' of github.com:cyassl/cyassl
This commit is contained in:
commit
ad93bc3510
30
configure.ac
30
configure.ac
@ -985,6 +985,19 @@ fi
|
||||
AM_CONDITIONAL([BUILD_MD4], [test "x$ENABLED_MD4" = "xyes"])
|
||||
|
||||
|
||||
# Web Server Build
|
||||
AC_ARG_ENABLE([webserver],
|
||||
[ --enable-webserver Enable Web Server (default: disabled)],
|
||||
[ ENABLED_WEBSERVER=$enableval ],
|
||||
[ ENABLED_WEBSERVER=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_WEBSERVER" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_WEBSERVER"
|
||||
fi
|
||||
|
||||
|
||||
# PWDBASED
|
||||
AC_ARG_ENABLE([pwdbased],
|
||||
[ --enable-pwdbased Enable PWDBASED (default: disabled)],
|
||||
@ -994,9 +1007,9 @@ AC_ARG_ENABLE([pwdbased],
|
||||
|
||||
if test "$ENABLED_PWDBASED" = "no"
|
||||
then
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "yes"
|
||||
if test "$ENABLED_OPENSSLEXTRA" = "yes" || test "$ENABLED_WEBSERVER" = "yes"
|
||||
then
|
||||
# opensslextra needs pwdbased
|
||||
# opensslextra and webserver needs pwdbased
|
||||
ENABLED_PWDBASED=yes
|
||||
else
|
||||
AM_CFLAGS="$AM_CFLAGS -DNO_PWDBASED"
|
||||
@ -1040,19 +1053,6 @@ fi
|
||||
AM_CONDITIONAL([BUILD_RABBIT], [test "x$ENABLED_RABBIT" = "xyes"])
|
||||
|
||||
|
||||
# Web Server Build
|
||||
AC_ARG_ENABLE([webserver],
|
||||
[ --enable-webserver Enable Web Server (default: disabled)],
|
||||
[ ENABLED_WEBSERVER=$enableval ],
|
||||
[ ENABLED_WEBSERVER=no ]
|
||||
)
|
||||
|
||||
if test "$ENABLED_WEBSERVER" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DHAVE_WEBSERVER"
|
||||
fi
|
||||
|
||||
|
||||
# Filesystem Build
|
||||
AC_ARG_ENABLE([filesystem],
|
||||
[ --enable-filesystem Enable Filesystem support (default: enabled)],
|
||||
|
@ -956,7 +956,7 @@ void bench_eccKeyAgree(void)
|
||||
byte shared[1024];
|
||||
byte sig[1024];
|
||||
byte digest[32];
|
||||
word32 x;
|
||||
word32 x = 0;
|
||||
|
||||
ecc_init(&genKey);
|
||||
ecc_init(&genKey2);
|
||||
@ -998,7 +998,7 @@ void bench_eccKeyAgree(void)
|
||||
|
||||
/* make dummy digest */
|
||||
for (i = 0; i < (int)sizeof(digest); i++)
|
||||
digest[i] = i;
|
||||
digest[i] = (byte)i;
|
||||
|
||||
|
||||
start = current_time(1);
|
||||
|
@ -3210,11 +3210,11 @@ static void DecodeSubjKeyId(byte* input, int sz, DecodedCert* cert)
|
||||
length--;
|
||||
|
||||
if (length == 2) {
|
||||
cert->extKeyUsage = (input[idx] << 8) | input[idx+1];
|
||||
cert->extKeyUsage = (word16)((input[idx] << 8) | input[idx+1]);
|
||||
cert->extKeyUsage >>= unusedBits;
|
||||
}
|
||||
else if (length == 1)
|
||||
cert->extKeyUsage = (input[idx] << 1);
|
||||
cert->extKeyUsage = (word16)(input[idx] << 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -95,9 +95,9 @@ int Base64_Decode(const byte* in, word32 inLen, byte* out, word32* outLen)
|
||||
e3 = (e3 == PAD) ? 0 : base64Decode[e3 - 0x2B];
|
||||
e4 = (e4 == PAD) ? 0 : base64Decode[e4 - 0x2B];
|
||||
|
||||
b1 = (e1 << 2) | (e2 >> 4);
|
||||
b2 = ((e2 & 0xF) << 4) | (e3 >> 2);
|
||||
b3 = ((e3 & 0x3) << 6) | e4;
|
||||
b1 = (byte)((e1 << 2) | (e2 >> 4));
|
||||
b2 = (byte)(((e2 & 0xF) << 4) | (e3 >> 2));
|
||||
b3 = (byte)(((e3 & 0x3) << 6) | e4);
|
||||
|
||||
out[i++] = b1;
|
||||
if (!pad3)
|
||||
@ -251,8 +251,8 @@ static int DoBase64_Encode(const byte* in, word32 inLen, byte* out,
|
||||
|
||||
/* encoded idx */
|
||||
byte e1 = b1 >> 2;
|
||||
byte e2 = ((b1 & 0x3) << 4) | (b2 >> 4);
|
||||
byte e3 = ((b2 & 0xF) << 2) | (b3 >> 6);
|
||||
byte e2 = (byte)(((b1 & 0x3) << 4) | (b2 >> 4));
|
||||
byte e3 = (byte)(((b2 & 0xF) << 2) | (b3 >> 6));
|
||||
byte e4 = b3 & 0x3F;
|
||||
|
||||
/* store */
|
||||
@ -281,8 +281,8 @@ static int DoBase64_Encode(const byte* in, word32 inLen, byte* out,
|
||||
byte b2 = (twoBytes) ? in[j++] : 0;
|
||||
|
||||
byte e1 = b1 >> 2;
|
||||
byte e2 = ((b1 & 0x3) << 4) | (b2 >> 4);
|
||||
byte e3 = (b2 & 0xF) << 2;
|
||||
byte e2 = (byte)(((b1 & 0x3) << 4) | (b2 >> 4));
|
||||
byte e3 = (byte)((b2 & 0xF) << 2);
|
||||
|
||||
ret = CEscape(escaped, e1, out, &i, *outLen, 0);
|
||||
if (ret == 0)
|
||||
@ -375,7 +375,7 @@ int Base16_Decode(const byte* in, word32 inLen, byte* out, word32* outLen)
|
||||
if (b == BAD || b2 == BAD)
|
||||
return ASN_INPUT_E;
|
||||
|
||||
out[outIdx++] = (b << 4) | b2;
|
||||
out[outIdx++] = (byte)((b << 4) | b2);
|
||||
inLen -= 2;
|
||||
}
|
||||
|
||||
|
@ -971,7 +971,8 @@ static int ecc_mulmod(mp_int* k, ecc_point *G, ecc_point *R, mp_int* modulus,
|
||||
mp_int mu;
|
||||
mp_digit mp;
|
||||
unsigned long buf;
|
||||
int first, bitbuf, bitcpy, bitcnt, mode, digidx;
|
||||
int first = 1, bitbuf = 0, bitcpy = 0, bitcnt = 0, mode = 0,
|
||||
digidx = 0;
|
||||
|
||||
if (k == NULL || G == NULL || R == NULL || modulus == NULL)
|
||||
return ECC_BAD_ARG_E;
|
||||
|
@ -2402,7 +2402,7 @@ int mp_add_d(fp_int *a, fp_digit b, fp_int *c)
|
||||
#ifdef HAVE_ECC
|
||||
|
||||
/* chars used in radix conversions */
|
||||
const char *fp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
|
||||
static const char *fp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
|
||||
|
||||
static int fp_read_radix(fp_int *a, const char *str, int radix)
|
||||
{
|
||||
|
@ -3784,7 +3784,7 @@ int ecc_test(void)
|
||||
|
||||
/* test DSA sign hash */
|
||||
for (i = 0; i < (int)sizeof(digest); i++)
|
||||
digest[i] = i;
|
||||
digest[i] = (byte)i;
|
||||
|
||||
x = sizeof(sig);
|
||||
ret = ecc_sign_hash(digest, sizeof(digest), sig, &x, &rng, &userA);
|
||||
|
@ -159,8 +159,8 @@
|
||||
#define crlPemDir "./certs/crl"
|
||||
|
||||
typedef struct tcp_ready {
|
||||
int ready; /* predicate */
|
||||
int port;
|
||||
word16 ready; /* predicate */
|
||||
word16 port;
|
||||
#if defined(_POSIX_THREADS) && !defined(__MINGW32__)
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
@ -282,7 +282,7 @@ static INLINE int mygetopt(int argc, char** argv, const char* optstring)
|
||||
}
|
||||
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
|
||||
static INLINE int PasswordCallBack(char* passwd, int sz, int rw, void* userdata)
|
||||
{
|
||||
@ -558,7 +558,7 @@ static INLINE int tcp_select(SOCKET_T socketfd, int to_sec)
|
||||
#endif /* !CYASSL_MDK_ARM */
|
||||
|
||||
|
||||
static INLINE void tcp_listen(SOCKET_T* sockfd, int* port, int useAnyAddr,
|
||||
static INLINE void tcp_listen(SOCKET_T* sockfd, word16* port, int useAnyAddr,
|
||||
int udp)
|
||||
{
|
||||
SOCKADDR_IN_T addr;
|
||||
@ -620,7 +620,7 @@ static INLINE int udp_read_connect(SOCKET_T sockfd)
|
||||
}
|
||||
|
||||
static INLINE void udp_accept(SOCKET_T* sockfd, SOCKET_T* clientfd,
|
||||
int useAnyAddr, int port, func_args* args)
|
||||
int useAnyAddr, word16 port, func_args* args)
|
||||
{
|
||||
SOCKADDR_IN_T addr;
|
||||
|
||||
@ -671,7 +671,7 @@ static INLINE void udp_accept(SOCKET_T* sockfd, SOCKET_T* clientfd,
|
||||
}
|
||||
|
||||
static INLINE void tcp_accept(SOCKET_T* sockfd, SOCKET_T* clientfd,
|
||||
func_args* args, int port, int useAnyAddr,
|
||||
func_args* args, word16 port, int useAnyAddr,
|
||||
int udp)
|
||||
{
|
||||
SOCKADDR_IN_T client;
|
||||
|
@ -175,7 +175,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
|
||||
int input;
|
||||
int msgSz = (int)strlen(msg);
|
||||
|
||||
int port = yasslPort;
|
||||
word16 port = yasslPort;
|
||||
char* host = (char*)yasslIP;
|
||||
char* domain = (char*)"www.yassl.com";
|
||||
|
||||
@ -293,7 +293,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
|
||||
break;
|
||||
|
||||
case 'p' :
|
||||
port = atoi(myoptarg);
|
||||
port = (word16)atoi(myoptarg);
|
||||
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
|
||||
if (port == 0)
|
||||
err_sys("port number cannot be 0");
|
||||
@ -490,7 +490,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
|
||||
useClientCert = 0;
|
||||
}
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
|
||||
#endif
|
||||
|
||||
|
@ -60,7 +60,7 @@ void echoclient_test(void* args)
|
||||
int sendSz;
|
||||
int argc = 0;
|
||||
char** argv = 0;
|
||||
int port = yasslPort;
|
||||
word16 port = yasslPort;
|
||||
|
||||
((func_args*)args)->return_code = -1; /* error state */
|
||||
|
||||
@ -139,7 +139,7 @@ void echoclient_test(void* args)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
|
||||
#endif
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
#define SVR_COMMAND_SIZE 256
|
||||
|
||||
static void SignalReady(void* args, int port)
|
||||
static void SignalReady(void* args, word16 port)
|
||||
{
|
||||
#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__)
|
||||
/* signal ready to tcp_accept */
|
||||
@ -76,7 +76,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
|
||||
int outCreated = 0;
|
||||
int shutDown = 0;
|
||||
int useAnyAddr = 0;
|
||||
int port = yasslPort;
|
||||
word16 port = yasslPort;
|
||||
int argc = ((func_args*)args)->argc;
|
||||
char** argv = ((func_args*)args)->argv;
|
||||
|
||||
@ -125,7 +125,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
|
||||
ctx = CyaSSL_CTX_new(method);
|
||||
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
|
||||
#endif
|
||||
|
||||
|
@ -153,7 +153,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
||||
int version = SERVER_DEFAULT_VERSION;
|
||||
int doCliCertCheck = 1;
|
||||
int useAnyAddr = 0;
|
||||
int port = yasslPort;
|
||||
word16 port = yasslPort;
|
||||
int usePsk = 0;
|
||||
int doDTLS = 0;
|
||||
int useNtruKey = 0;
|
||||
@ -230,7 +230,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
||||
break;
|
||||
|
||||
case 'p' :
|
||||
port = atoi(myoptarg);
|
||||
port = (word16)atoi(myoptarg);
|
||||
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
|
||||
if (port == 0)
|
||||
err_sys("port number cannot be 0");
|
||||
@ -374,7 +374,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
||||
if (fewerPackets)
|
||||
CyaSSL_CTX_set_group_messages(ctx);
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
|
||||
#endif
|
||||
|
||||
|
@ -231,7 +231,7 @@ static INLINE void c24to32(const word24 u24, word32* u32)
|
||||
/* convert opaque to 16 bit integer */
|
||||
static INLINE void ato16(const byte* c, word16* u16)
|
||||
{
|
||||
*u16 = (c[0] << 8) | (c[1]);
|
||||
*u16 = (word16) ((c[0] << 8) | (c[1]));
|
||||
}
|
||||
|
||||
|
||||
@ -367,7 +367,7 @@ int InitSSL_Ctx(CYASSL_CTX* ctx, CYASSL_METHOD* method)
|
||||
ctx->eccTempKeySz = ECDHE_SIZE;
|
||||
#endif
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
ctx->passwd_cb = 0;
|
||||
ctx->userdata = 0;
|
||||
#endif /* OPENSSL_EXTRA */
|
||||
@ -2817,7 +2817,7 @@ static int GetRecordHeader(CYASSL* ssl, const byte* input, word32* inOutIdx,
|
||||
#endif
|
||||
|
||||
/* verify record type here as well */
|
||||
switch ((enum ContentType)rh->type) {
|
||||
switch (rh->type) {
|
||||
case handshake:
|
||||
case change_cipher_spec:
|
||||
case application_data:
|
||||
@ -4710,7 +4710,7 @@ static int DoAlert(CYASSL* ssl, byte* input, word32* inOutIdx, int* type)
|
||||
RECORD_HEADER_SZ, 2 + RECORD_HEADER_SZ, ssl->heap);
|
||||
#endif
|
||||
level = input[(*inOutIdx)++];
|
||||
code = (int)input[(*inOutIdx)++];
|
||||
code = input[(*inOutIdx)++];
|
||||
ssl->alert_history.last_rx.code = code;
|
||||
ssl->alert_history.last_rx.level = level;
|
||||
*type = code;
|
||||
@ -4911,7 +4911,7 @@ int ProcessReply(CYASSL* ssl)
|
||||
ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx++];
|
||||
b1 =
|
||||
ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx++];
|
||||
ssl->curSize = ((b0 & 0x7f) << 8) | b1;
|
||||
ssl->curSize = (word16)(((b0 & 0x7f) << 8) | b1);
|
||||
}
|
||||
else {
|
||||
ssl->options.processReply = getRecordLayerHeader;
|
||||
|
@ -94,13 +94,10 @@ static int xstat2err(int stat)
|
||||
switch (stat) {
|
||||
case CERT_GOOD:
|
||||
return 0;
|
||||
break;
|
||||
case CERT_REVOKED:
|
||||
return OCSP_CERT_REVOKED;
|
||||
break;
|
||||
default:
|
||||
return OCSP_CERT_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1142,7 +1142,7 @@ static int ProcessSessionTicket(const byte* input, int* sslBytes,
|
||||
input += TICKET_HINT_LEN; /* skip over hint */
|
||||
*sslBytes -= TICKET_HINT_LEN;
|
||||
|
||||
len = (input[0] << 8) | input[1];
|
||||
len = (word16)((input[0] << 8) | input[1]);
|
||||
input += LENGTH_SZ;
|
||||
*sslBytes -= LENGTH_SZ;
|
||||
|
||||
@ -1236,8 +1236,10 @@ static int ProcessServerHello(const byte* input, int* sslBytes,
|
||||
doResume = 1;
|
||||
|
||||
if (session->ticketID && doResume) {
|
||||
/* use ticketID to retrieve from session */
|
||||
/* use ticketID to retrieve from session, prefer over sessionID */
|
||||
XMEMCPY(session->sslServer->arrays->sessionID,session->ticketID,ID_LEN);
|
||||
session->sslServer->options.haveSessionId = 1; /* may not have
|
||||
actual sessionID */
|
||||
}
|
||||
|
||||
if (doResume ) {
|
||||
@ -1349,7 +1351,7 @@ static int ProcessClientHello(const byte* input, int* sslBytes,
|
||||
SetError(CLIENT_HELLO_INPUT_STR, error, session, FATAL_ERROR_STATE);
|
||||
return -1;
|
||||
}
|
||||
len = (input[0] << 8) | input[1];
|
||||
len = (word16)((input[0] << 8) | input[1]);
|
||||
input += SUITE_LEN;
|
||||
*sslBytes -= SUITE_LEN;
|
||||
/* make sure can read suites + comp len */
|
||||
@ -1382,7 +1384,7 @@ static int ProcessClientHello(const byte* input, int* sslBytes,
|
||||
SetError(CLIENT_HELLO_INPUT_STR, error, session, FATAL_ERROR_STATE);
|
||||
return -1;
|
||||
}
|
||||
len = (input[0] << 8) | input[1];
|
||||
len = (word16)((input[0] << 8) | input[1]);
|
||||
input += SUITE_LEN;
|
||||
*sslBytes -= SUITE_LEN;
|
||||
/* make sure can read through all extensions */
|
||||
@ -1400,7 +1402,7 @@ static int ProcessClientHello(const byte* input, int* sslBytes,
|
||||
input += EXT_TYPE_SZ;
|
||||
*sslBytes -= EXT_TYPE_SZ;
|
||||
|
||||
extLen = (input[0] << 8) | input[1];
|
||||
extLen = (word16)((input[0] << 8) | input[1]);
|
||||
input += LENGTH_SZ;
|
||||
*sslBytes -= LENGTH_SZ;
|
||||
|
||||
@ -1700,8 +1702,8 @@ static SnifferSession* CreateSession(IpInfo* ipInfo, TcpInfo* tcpInfo,
|
||||
InitSession(session);
|
||||
session->server = ipInfo->dst;
|
||||
session->client = ipInfo->src;
|
||||
session->srvPort = tcpInfo->dstPort;
|
||||
session->cliPort = tcpInfo->srcPort;
|
||||
session->srvPort = (word16)tcpInfo->dstPort;
|
||||
session->cliPort = (word16)tcpInfo->srcPort;
|
||||
session->cliSeqStart = tcpInfo->sequence;
|
||||
session->cliExpected = 1; /* relative */
|
||||
session->lastUsed= time(NULL);
|
||||
@ -1781,7 +1783,7 @@ static int DoOldHello(SnifferSession* session, const byte* sslFrame,
|
||||
}
|
||||
|
||||
ret = ProcessOldClientHello(session->sslServer, input, &idx, *sslBytes,
|
||||
*rhSize);
|
||||
(word16)*rhSize);
|
||||
if (ret < 0 && ret != MATCH_SUITE_ERROR) {
|
||||
SetError(BAD_OLD_CLIENT_STR, error, session, FATAL_ERROR_STATE);
|
||||
return -1;
|
||||
|
@ -1193,7 +1193,7 @@ int CyaSSL_KeyPemToDer(const unsigned char* pem, int pemSz, unsigned char* buff,
|
||||
info.consumed = 0;
|
||||
der.buffer = NULL;
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
|
||||
if (pass) {
|
||||
info.ctx = CyaSSL_CTX_new(CyaSSLv23_client_method());
|
||||
if (info.ctx == NULL)
|
||||
@ -1829,7 +1829,7 @@ int CyaSSL_Init(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(OPENSSL_EXTRA) && !defined(NO_PWDBASED)
|
||||
#if (defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)) && !defined(NO_PWDBASED)
|
||||
if (pkcs8Enc) {
|
||||
int passwordSz;
|
||||
char password[80];
|
||||
|
@ -948,7 +948,7 @@ static int test_CyaSSL_read_write(void)
|
||||
FreeTcpReady(&ready);
|
||||
|
||||
return test_result;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user