From 8f7b11a6ab760365b865059efebff6aa2e18a3eb Mon Sep 17 00:00:00 2001 From: hyc Date: Thu, 25 Mar 2010 07:21:52 +0000 Subject: [PATCH] Fix #undef CRYPTO case git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@402 400ebc74-4327-4243-bc38-086b20814532 --- librtmp/rtmp.c | 19 ++++++++++++++++++- rtmpgw.c | 4 ++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c index 79f5c6f..96a316a 100644 --- a/librtmp/rtmp.c +++ b/librtmp/rtmp.c @@ -37,12 +37,12 @@ #include #include #endif +TLS_CTX RTMP_TLS_ctx; #endif #define RTMP_SIG_SIZE 1536 #define RTMP_LARGE_HEADER_SIZE 12 -TLS_CTX RTMP_TLS_ctx; static const int packetSize[] = { 12, 8, 4, 1 }; bool RTMP_ctrlC; @@ -195,6 +195,7 @@ RTMP_LibVersion() void RTMP_TLS_Init() { +#ifdef CRYPTO #ifdef USE_GNUTLS gnutls_global_init(); RTMP_TLS_ctx = malloc(sizeof(struct tls_ctx)); @@ -210,13 +211,16 @@ RTMP_TLS_Init() SSL_CTX_set_options(RTMP_TLS_ctx, SSL_OP_ALL); SSL_CTX_set_default_verify_paths(RTMP_TLS_ctx); #endif +#endif } void RTMP_Init(RTMP *r) { +#ifdef CRYPTO if (!RTMP_TLS_ctx) RTMP_TLS_Init(); +#endif memset(r, 0, sizeof(RTMP)); r->m_sb.sb_socket = -1; @@ -474,6 +478,7 @@ RTMP_Connect1(RTMP *r, RTMPPacket *cp) { if (r->Link.protocol & RTMP_FEATURE_SSL) { +#ifdef CRYPTO TLS_client(RTMP_TLS_ctx, r->m_sb.sb_ssl); TLS_setfd(r->m_sb.sb_ssl, r->m_sb.sb_socket); if (TLS_connect(r->m_sb.sb_ssl) < 0) @@ -482,6 +487,12 @@ RTMP_Connect1(RTMP *r, RTMPPacket *cp) RTMP_Close(r); return false; } +#else + RTMP_Log(RTMP_LOGERROR, "%s, no CRYPTO support", __FUNCTION__); + RTMP_Close(r); + return false; + +#endif } if (r->Link.protocol & RTMP_FEATURE_HTTP) { @@ -2866,11 +2877,13 @@ RTMPSockBuf_Fill(RTMPSockBuf *sb) while (1) { nBytes = sizeof(sb->sb_buf) - sb->sb_size - (sb->sb_start - sb->sb_buf); +#ifdef CRYPTO if (sb->sb_ssl) { nBytes = TLS_read(sb->sb_ssl, sb->sb_start + sb->sb_size, nBytes); } else +#endif { nBytes = recv(sb->sb_socket, sb->sb_start + sb->sb_size, nBytes, 0); } @@ -2907,11 +2920,13 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) fwrite(buf, 1, len, netstackdump); #endif +#ifdef CRYPTO if (sb->sb_ssl) { rc = TLS_write(sb->sb_ssl, buf, len); } else +#endif { rc = send(sb->sb_socket, buf, len, 0); } @@ -2921,12 +2936,14 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len) int RTMPSockBuf_Close(RTMPSockBuf *sb) { +#ifdef CRYPTO if (sb->sb_ssl) { TLS_shutdown(sb->sb_ssl); TLS_close(sb->sb_ssl); sb->sb_ssl = NULL; } +#endif return closesocket(sb->sb_socket); } diff --git a/rtmpgw.c b/rtmpgw.c index ddee68d..d549133 100644 --- a/rtmpgw.c +++ b/rtmpgw.c @@ -104,7 +104,9 @@ typedef struct uint32_t dStartOffset; uint32_t dStopOffset; +#ifdef CRYPTO unsigned char hash[HASHLEN]; +#endif } RTMP_REQUEST; #define STR2AVAL(av,str) av.av_val = str; av.av_len = strlen(av.av_val) @@ -515,11 +517,13 @@ void processTCPrequest(STREAMING_SERVER * server, // server socket and state (ou if (req.swfVfy) { +#ifdef CRYPTO if (RTMP_HashSWF(req.swfUrl.av_val, &req.swfSize, req.hash, req.swfAge) == 0) { req.swfHash.av_val = (char *)req.hash; req.swfHash.av_len = HASHLEN; } +#endif } // after validation of the http request send response header -- 2.40.0