New upstream version 23.2.1+dfsg1
This commit is contained in:
parent
cdc9a9fc87
commit
b14f9eae6d
1017 changed files with 37232 additions and 11111 deletions
|
|
@ -34,9 +34,9 @@ typedef mbedtls_md_context_t *HMAC_CTX;
|
|||
#define HMAC_setup(ctx, key, len) ctx = malloc(sizeof(mbedtls_md_context_t)); mbedtls_md_init(ctx); \
|
||||
mbedtls_md_setup(ctx, mbedtls_md_info_from_type(MBEDTLS_MD_SHA256), 1); \
|
||||
mbedtls_md_hmac_starts(ctx, (const unsigned char *)key, len)
|
||||
#define HMAC_crunch(ctx, buf, len) mbedtls_md_hmac_update(ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; mbedtls_md_hmac_finish(ctx, dig)
|
||||
#define HMAC_close(ctx) mbedtls_md_free(ctx); free(ctx); ctx = NULL
|
||||
#define HMAC_crunch(ctx, buf, len) mbedtls_md_hmac_update(ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig) mbedtls_md_hmac_finish(ctx, dig)
|
||||
#define HMAC_close(ctx) mbedtls_md_free(ctx); free(ctx); ctx = NULL
|
||||
|
||||
typedef mbedtls_arc4_context* RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(mbedtls_arc4_context)); mbedtls_arc4_init(*h)
|
||||
|
|
@ -54,7 +54,7 @@ typedef mbedtls_arc4_context* RC4_handle;
|
|||
#define HMAC_CTX sha2_context
|
||||
#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
|
||||
#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
|
||||
#define HMAC_finish(ctx, dig) sha2_hmac_finish(&ctx, dig)
|
||||
|
||||
typedef arc4_context * RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(arc4_context))
|
||||
|
|
@ -73,7 +73,7 @@ typedef arc4_context * RC4_handle;
|
|||
#define HMAC_CTX struct hmac_sha256_ctx
|
||||
#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
|
||||
#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
#define HMAC_finish(ctx, dig) hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
#define HMAC_close(ctx)
|
||||
|
||||
typedef struct arcfour_ctx* RC4_handle;
|
||||
|
|
@ -92,7 +92,7 @@ typedef struct arcfour_ctx* RC4_handle;
|
|||
#endif
|
||||
#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
|
||||
#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
|
||||
#define HMAC_finish(ctx, dig, len) HMAC_Final(&ctx, dig, &len); HMAC_CTX_cleanup(&ctx)
|
||||
|
||||
typedef RC4_KEY * RC4_handle;
|
||||
#define RC4_alloc(h) *h = malloc(sizeof(RC4_KEY))
|
||||
|
|
@ -139,7 +139,9 @@ static void InitRC4Encryption
|
|||
uint8_t * pubKeyOut, RC4_handle *rc4keyIn, RC4_handle *rc4keyOut)
|
||||
{
|
||||
uint8_t digest[SHA256_DIGEST_LENGTH];
|
||||
#if !(defined(USE_MBEDTLS) || defined(USE_POLARSSL) || defined(USE_GNUTLS))
|
||||
unsigned int digestLen = 0;
|
||||
#endif
|
||||
HMAC_CTX ctx;
|
||||
|
||||
RC4_alloc(rc4keyIn);
|
||||
|
|
@ -147,7 +149,11 @@ static void InitRC4Encryption
|
|||
|
||||
HMAC_setup(ctx, secretKey, 128);
|
||||
HMAC_crunch(ctx, pubKeyIn, 128);
|
||||
#if defined(USE_MBEDTLS) || defined(USE_POLARSSL) || defined(USE_GNUTLS)
|
||||
HMAC_finish(ctx, digest);
|
||||
#else
|
||||
HMAC_finish(ctx, digest, digestLen);
|
||||
#endif
|
||||
|
||||
RTMP_Log(RTMP_LOGDEBUG, "RC4 Out Key: ");
|
||||
RTMP_LogHex(RTMP_LOGDEBUG, digest, 16);
|
||||
|
|
@ -156,7 +162,11 @@ static void InitRC4Encryption
|
|||
|
||||
HMAC_setup(ctx, secretKey, 128);
|
||||
HMAC_crunch(ctx, pubKeyOut, 128);
|
||||
#if defined(USE_MBEDTLS) || defined(USE_POLARSSL) || defined(USE_GNUTLS)
|
||||
HMAC_finish(ctx, digest);
|
||||
#else
|
||||
HMAC_finish(ctx, digest, digestLen);
|
||||
#endif
|
||||
|
||||
RTMP_Log(RTMP_LOGDEBUG, "RC4 In Key: ");
|
||||
RTMP_LogHex(RTMP_LOGDEBUG, digest, 16);
|
||||
|
|
@ -303,7 +313,13 @@ HMACsha256(const uint8_t *message, size_t messageLen, const uint8_t *key,
|
|||
|
||||
HMAC_setup(ctx, key, keylen);
|
||||
HMAC_crunch(ctx, message, messageLen);
|
||||
|
||||
#if defined(USE_MBEDTLS) || defined(USE_POLARSSL) || defined(USE_GNUTLS)
|
||||
digestLen = SHA256_DIGEST_LENGTH;
|
||||
HMAC_finish(ctx, digest);
|
||||
#else
|
||||
HMAC_finish(ctx, digest, digestLen);
|
||||
#endif
|
||||
|
||||
assert(digestLen == 32);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ typedef mbedtls_md_context_t *HMAC_CTX;
|
|||
#define HMAC_setup(ctx, key, len) ctx = malloc(sizeof(mbedtls_md_context_t)); mbedtls_md_init(ctx); \
|
||||
mbedtls_md_setup(ctx, mbedtls_md_info_from_type(MBEDTLS_MD_SHA256), 1); \
|
||||
mbedtls_md_hmac_starts(ctx, (const unsigned char *)key, len)
|
||||
#define HMAC_crunch(ctx, buf, len) mbedtls_md_hmac_update(ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; mbedtls_md_hmac_finish(ctx, dig)
|
||||
#define HMAC_close(ctx) free(ctx); mbedtls_md_free(ctx); ctx = NULL
|
||||
#define HMAC_crunch(ctx, buf, len) mbedtls_md_hmac_update(ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig) mbedtls_md_hmac_finish(ctx, dig)
|
||||
#define HMAC_close(ctx) free(ctx); mbedtls_md_free(ctx); ctx = NULL
|
||||
|
||||
#elif defined(USE_POLARSSL)
|
||||
#include <polarssl/sha2.h>
|
||||
|
|
@ -51,7 +51,7 @@ typedef mbedtls_md_context_t *HMAC_CTX;
|
|||
#define HMAC_CTX sha2_context
|
||||
#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
|
||||
#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
|
||||
#define HMAC_finish(ctx, dig) sha2_hmac_finish(&ctx, dig)
|
||||
#define HMAC_close(ctx)
|
||||
|
||||
#elif defined(USE_GNUTLS)
|
||||
|
|
@ -63,7 +63,7 @@ typedef mbedtls_md_context_t *HMAC_CTX;
|
|||
#define HMAC_CTX struct hmac_sha256_ctx
|
||||
#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
|
||||
#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
|
||||
#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
#define HMAC_finish(ctx, dig) hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
|
||||
#define HMAC_close(ctx)
|
||||
|
||||
#else /* USE_OPENSSL */
|
||||
|
|
@ -73,7 +73,7 @@ typedef mbedtls_md_context_t *HMAC_CTX;
|
|||
#include <openssl/rc4.h>
|
||||
#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, (unsigned char *)key, len, EVP_sha256(), 0)
|
||||
#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, (unsigned char *)buf, len)
|
||||
#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, (unsigned char *)dig, &dlen);
|
||||
#define HMAC_finish(ctx, dig, len) HMAC_Final(&ctx, (unsigned char *)dig, &len);
|
||||
#define HMAC_close(ctx) HMAC_CTX_cleanup(&ctx)
|
||||
#endif
|
||||
|
||||
|
|
@ -658,7 +658,11 @@ RTMP_HashSWF(const char *url, unsigned int *size, unsigned char *hash,
|
|||
|
||||
if (!in.first)
|
||||
{
|
||||
#if defined(USE_MBEDTLS) || defined(USE_POLARSSL) || defined(USE_GNUTLS)
|
||||
HMAC_finish(in.ctx, hash);
|
||||
#else
|
||||
HMAC_finish(in.ctx, hash, hlen);
|
||||
#endif
|
||||
*size = in.size;
|
||||
|
||||
fprintf(f, "date: %s\n", date);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,10 @@
|
|||
|
||||
#include <util/platform.h>
|
||||
|
||||
#if !defined(MSG_NOSIGNAL)
|
||||
#define MSG_NOSIGNAL 0
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO
|
||||
|
||||
#ifdef __APPLE__
|
||||
|
|
@ -242,8 +246,10 @@ int
|
|||
RTMPPacket_Alloc(RTMPPacket *p, uint32_t nSize)
|
||||
{
|
||||
char *ptr;
|
||||
#if ARCH_BITS == 32
|
||||
if (nSize > SIZE_MAX - RTMP_MAX_HEADER_SIZE)
|
||||
return FALSE;
|
||||
#endif
|
||||
|
||||
ptr = calloc(1, nSize + RTMP_MAX_HEADER_SIZE);
|
||||
if (!ptr)
|
||||
|
|
@ -928,6 +934,11 @@ RTMP_Connect0(RTMP *r, struct sockaddr * service, socklen_t addrlen)
|
|||
|
||||
if (r->m_sb.sb_socket != INVALID_SOCKET)
|
||||
{
|
||||
#ifndef _WIN32
|
||||
#ifdef SO_NOSIGPIPE
|
||||
setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_NOSIGPIPE, &(int){ 1 }, sizeof(int));
|
||||
#endif
|
||||
#endif
|
||||
if(r->m_bindIP.addrLen)
|
||||
{
|
||||
if (bind(r->m_sb.sb_socket, (const struct sockaddr *)&r->m_bindIP.addr, r->m_bindIP.addrLen) < 0)
|
||||
|
|
@ -4587,7 +4598,7 @@ RTMPSockBuf_Fill(RTMPSockBuf *sb)
|
|||
else
|
||||
#endif
|
||||
{
|
||||
nBytes = recv(sb->sb_socket, sb->sb_start + sb->sb_size, nBytes, 0);
|
||||
nBytes = recv(sb->sb_socket, sb->sb_start + sb->sb_size, nBytes, MSG_NOSIGNAL);
|
||||
}
|
||||
if (nBytes > 0)
|
||||
{
|
||||
|
|
@ -4640,7 +4651,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len)
|
|||
else
|
||||
#endif
|
||||
{
|
||||
rc = send(sb->sb_socket, buf, len, 0);
|
||||
rc = send(sb->sb_socket, buf, len, MSG_NOSIGNAL);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -381,6 +381,7 @@ extern "C"
|
|||
void RTMP_Init(RTMP *r);
|
||||
void RTMP_Close(RTMP *r);
|
||||
RTMP *RTMP_Alloc(void);
|
||||
void RTMP_TLS_Free();
|
||||
void RTMP_Free(RTMP *r);
|
||||
void RTMP_EnableWrite(RTMP *r);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue