[rtmpdump] [PATCH] fix build with polarssl-1.3.x
Howard Chu
hyc at highlandsun.com
Thu May 1 17:04:01 CEST 2014
hasufell wrote:
> From: hasufell <hasufell at gentoo.org>
> Date: Sat, 29 Mar 2014 13:21:12 +0100
> Subject: [PATCH] fix build with polarssl-1.3.x
A version-dependent patch like this ought to be ifdef'd based on the actual
version numbers.
> ---
> librtmp/dh.h | 2 +-
> librtmp/handshake.h | 11 ++++++-----
> librtmp/hashswf.c | 10 +++++-----
> librtmp/rtmp_sys.h | 6 ++----
> 4 files changed, 14 insertions(+), 15 deletions(-)
>
> --- a/librtmp/dh.h
> +++ b/librtmp/dh.h
> @@ -72,7 +72,7 @@ static int MDH_generate_key(MDH *dh)
> static int MDH_compute_key(uint8_t *secret, size_t len, MP_t pub, MDH *dh)
> {
> MP_set(&dh->ctx.GY, pub);
> - dhm_calc_secret(&dh->ctx, secret, &len);
> + dhm_calc_secret(&dh->ctx, secret, &len, NULL, NULL);
> return 0;
> }
>
> --- a/librtmp/handshake.h
> +++ b/librtmp/handshake.h
> @@ -25,15 +25,16 @@
> /* This file is #included in rtmp.c, it is not meant to be compiled alone */
>
> #ifdef USE_POLARSSL
> -#include <polarssl/sha2.h>
> +#include <polarssl/compat-1.2.h>
> +#include <polarssl/sha256.h>
> #include <polarssl/arc4.h>
> #ifndef SHA256_DIGEST_LENGTH
> #define SHA256_DIGEST_LENGTH 32
> #endif
> -#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_CTX sha256_context
> +#define HMAC_setup(ctx, key, len) sha256_hmac_starts(&ctx, (unsigned char *)key, len, 0)
> +#define HMAC_crunch(ctx, buf, len) sha256_hmac_update(&ctx, buf, len)
> +#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha256_hmac_finish(&ctx, dig)
>
> typedef arc4_context * RC4_handle;
> #define RC4_alloc(h) *h = malloc(sizeof(arc4_context))
> --- a/librtmp/hashswf.c
> +++ b/librtmp/hashswf.c
> @@ -32,14 +32,14 @@
>
> #ifdef CRYPTO
> #ifdef USE_POLARSSL
> -#include <polarssl/sha2.h>
> +#include <polarssl/sha256.h>
> #ifndef SHA256_DIGEST_LENGTH
> #define SHA256_DIGEST_LENGTH 32
> #endif
> -#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_CTX sha256_context
> +#define HMAC_setup(ctx, key, len) sha256_hmac_starts(&ctx, (unsigned char *)key, len, 0)
> +#define HMAC_crunch(ctx, buf, len) sha256_hmac_update(&ctx, buf, len)
> +#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha256_hmac_finish(&ctx, dig)
> #define HMAC_close(ctx)
> #elif defined(USE_GNUTLS)
> #include <nettle/hmac.h>
> --- a/librtmp/rtmp_sys.h
> +++ b/librtmp/rtmp_sys.h
> @@ -79,7 +79,7 @@ typedef struct tls_ctx {
> } tls_ctx;
> typedef struct tls_server_ctx {
> havege_state *hs;
> - x509_cert cert;
> + x509_crt cert;
> rsa_context key;
> ssl_session ssn;
> const char *dhm_P, *dhm_G;
> @@ -89,14 +89,12 @@ typedef struct tls_server_ctx {
> #define TLS_client(ctx,s) s = malloc(sizeof(ssl_context)); ssl_init(s);\
> ssl_set_endpoint(s, SSL_IS_CLIENT); ssl_set_authmode(s, SSL_VERIFY_NONE);\
> ssl_set_rng(s, havege_random, &ctx->hs);\
> - ssl_set_ciphersuites(s, ssl_default_ciphersuites);\
> SSL_SET_SESSION(s, 1, 600, &ctx->ssn)
> #define TLS_server(ctx,s) s = malloc(sizeof(ssl_context)); ssl_init(s);\
> ssl_set_endpoint(s, SSL_IS_SERVER); ssl_set_authmode(s, SSL_VERIFY_NONE);\
> ssl_set_rng(s, havege_random, ((tls_server_ctx*)ctx)->hs);\
> - ssl_set_ciphersuites(s, ssl_default_ciphersuites);\
> SSL_SET_SESSION(s, 1, 600, &((tls_server_ctx*)ctx)->ssn);\
> - ssl_set_own_cert(s, &((tls_server_ctx*)ctx)->cert, &((tls_server_ctx*)ctx)->key);\
> + ssl_set_own_cert_rsa(s, &((tls_server_ctx*)ctx)->cert, &((tls_server_ctx*)ctx)->key);\
> ssl_set_dh_param(s, ((tls_server_ctx*)ctx)->dhm_P, ((tls_server_ctx*)ctx)->dhm_G)
> #define TLS_setfd(s,fd) ssl_set_bio(s, net_recv, &fd, net_send, &fd)
> #define TLS_connect(s) ssl_handshake(s)
> _______________________________________________
> rtmpdump mailing list
> rtmpdump at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/rtmpdump
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
More information about the rtmpdump
mailing list