View | Details | Raw Unified | Return to bug 276313 | Differences between
and this patch

Collapse All | Expand All

(-)b/multimedia/ffmpeg/Makefile (-14 / +34 lines)
Lines 31-47 NOPRECIOUSMAKEVARS= yes # ARCH Link Here
31
PORTSCOUT=	limit:^6\.
31
PORTSCOUT=	limit:^6\.
32
32
33
# Option CHROMAPRINT disabled, it cannot work and people are baffled.
33
# Option CHROMAPRINT disabled, it cannot work and people are baffled.
34
OPTIONS_DEFINE=	ALSA AMR_NB AMR_WB AOM ARIBB24 ARIBCAPTION ASM ASS BS2B CACA CDIO \
34
OPTIONS_DEFINE=	DOCS ICONV LIBXML2 \
35
		CODEC2 DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE \
35
		OPENVINO POCKETSPHINX SNAPPY \
36
		FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM HARFBUZZ ICONV ILBC \
36
		TENSORFLOW TESSERACT \
37
		JACK JXL KLVANC KVAZAAR LADSPA LAME LCMS2 LENSFUN LIBBLURAY LIBPLACEBO LIBRSVG2 \
37
		ZVBI
38
		LIBXML2 LTO LV2 MODPLUG MYSOFA NETWORK NVENC OPENAL OPENCL OPENGL \
39
		OPENH264 OPENJPEG OPENMPT OPENVINO OPTIMIZED_CFLAGS OPUS POCKETSPHINX \
40
		PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SHADERC SMB SNAPPY \
41
		SNDIO SOXR SPEEX SRT SSH SVTAV1 SVTHEVC SVTVP9 TENSORFLOW \
42
		TESSERACT THEORA TWOLAME UAVS3D V4L VAAPI VAPOURSYNTH VDPAU VIDSTAB \
43
		VMAF VO_AMRWBENC VORBIS VPX VULKAN WEBP X264 X265 \
44
		XAVS2 XCB XVID XVIDEO ZIMG ZMQ ZVBI
45
# intel-media-sdk only for i386/amd64
38
# intel-media-sdk only for i386/amd64
46
OPTIONS_DEFINE_amd64=	MFX VPL
39
OPTIONS_DEFINE_amd64=	MFX VPL
47
OPTIONS_DEFINE_i386=	MFX
40
OPTIONS_DEFINE_i386=	MFX
Lines 86-97 OPTIONS_EXCLUDE+= KLVANC Link Here
86
OPTIONS_EXCLUDE+=	OPENVINO
79
OPTIONS_EXCLUDE+=	OPENVINO
87
.endif
80
.endif
88
81
89
OPTIONS_RADIO=	RTMP SSL
82
OPTIONS_RADIO=		RTMP SSL
90
OPTIONS_RADIO_RTMP=	GCRYPT GMP LIBRTMP
83
OPTIONS_RADIO_RTMP=	GCRYPT GMP LIBRTMP
91
OPTIONS_RADIO_SSL=	GNUTLS MBEDTLS OPENSSL
84
OPTIONS_RADIO_SSL=	GNUTLS MBEDTLS OPENSSL
92
OPTIONS_GROUP=	LICENSE
93
OPTIONS_GROUP_LICENSE=	GPL3 NONFREE
94
85
86
OPTIONS_GROUP=		VIDEO VPROC AUDIO APROC COMBINED \
87
			COMPILE DRIVER NETWORK TRANSPORT RENDER SOUND \
88
			STILLS SUBTITLE LICENSE
89
OPTIONS_GROUP_AUDIO=	OPUS FDK_AAC CODEC2 ILBC SPEEX VORBIS \
90
			AMR_NB AMR_WB VO_AMRWBENC LAME TWOLAME GSM \
91
			GME MODPLUG OPENMPT
92
OPTIONS_GROUP_APROC=	BS2B LADSPA LV2 MYSOFA RUBBERBAND SOXR
93
OPTIONS_GROUP_COMBINED=	UAVS3D DAVS2 XAVS2
94
OPTIONS_GROUP_COMPILE=	ASM DEBUG OPTIMIZED_CFLAGS LTO RTCPU \
95
			OPENCL GLSLANG SHADERC VDPAU
96
OPTIONS_GROUP_DRIVER=	DRM XCB XVIDEO CDIO LIBBLURAY NETWORK SMB SSH V4L DC1394
97
OPTIONS_GROUP_LICENSE=	GPL3 NONFREE
98
OPTIONS_GROUP_RENDER=	CACA FLITE OPENGL SDL VAAPI
99
OPTIONS_GROUP_SOUND=	ALSA JACK OPENAL PULSEAUDIO SNDIO
100
OPTIONS_GROUP_STILLS=	JXL LIBRSVG2 OPENJPEG WEBP
101
OPTIONS_GROUP_SUBTITLE=	ARIBB24 ARIBCAPTION ASS FONTCONFIG FREETYPE FRIBIDI HARFBUZZ
102
OPTIONS_GROUP_TRANSPORT=RABBITMQ RIST KLVANC SRT ZMQ
103
OPTIONS_GROUP_VIDEO=	AOM DAV1D RAV1E SVTAV1 X265 SVTHEVC KVAZAAR SVTVP9 VPX \
104
			X264 XVID OPENH264 THEORA
105
OPTIONS_GROUP_VPROC=	FREI0R LCMS2 LENSFUN LIBPLACEBO VAPOURSYNTH VIDSTAB VMAF VULKAN ZIMG
106
107
AUDIO_DESC=	Audio CoDecs
108
APROC_DESC=	Audio processing
95
ASS_DESC=	Subtitles rendering via libass
109
ASS_DESC=	Subtitles rendering via libass
96
AOM_DESC=	AV1 video encoding/decoding via libaom
110
AOM_DESC=	AV1 video encoding/decoding via libaom
97
ARIBB24_DESC=	ARIB text and caption decoding via libaribb24
111
ARIBB24_DESC=	ARIB text and caption decoding via libaribb24
Lines 99-107 ARIBCAPTION_DESC= ARIB text and caption decoding via libaribcaption Link Here
99
BS2B_DESC=	Bauer Stereophonic-to-Binaural filter
113
BS2B_DESC=	Bauer Stereophonic-to-Binaural filter
100
CHROMAPRINT_DESC=	Audio fingerprinting with chromaprint
114
CHROMAPRINT_DESC=	Audio fingerprinting with chromaprint
101
CODEC2_DESC=	Codec 2 audio encoding/decoding via libcodec2
115
CODEC2_DESC=	Codec 2 audio encoding/decoding via libcodec2
116
COMBINED_DESC=	Audio/Video CoDecs
102
DAV1D_DESC=	AV1 video decoding via libdav1d
117
DAV1D_DESC=	AV1 video decoding via libdav1d
103
DAVS2_DESC=	AVS2 decoding via libdavs2
118
DAVS2_DESC=	AVS2 decoding via libdavs2
104
DC1394_DESC=	IIDC-1394 grabbing using libdc1394
119
DC1394_DESC=	IIDC-1394 grabbing using libdc1394
120
DRIVER_DESC=	Hardware access
105
DRM_DESC=	KMS grabbing using libdrm
121
DRM_DESC=	KMS grabbing using libdrm
106
FDK_AAC_DESC=	AAC audio encoding via Fraunhofer FDK
122
FDK_AAC_DESC=	AAC audio encoding via Fraunhofer FDK
107
FLITE_DESC=	Voice synthesis support via libflite
123
FLITE_DESC=	Voice synthesis support via libflite
Lines 122-127 NVENC_DESC= NVIDIA decoder/encoder with CUDA support Link Here
122
OPENMPT_DESC=	Decoding tracked files via libopenmpt
138
OPENMPT_DESC=	Decoding tracked files via libopenmpt
123
OPENH264_DESC=	H.264 video codec support via OpenH264
139
OPENH264_DESC=	H.264 video codec support via OpenH264
124
OPENVINO_DESC=	OpenVINO as a DNN module backend for DNN based filters like dnn_processing
140
OPENVINO_DESC=	OpenVINO as a DNN module backend for DNN based filters like dnn_processing
141
COMPILE_DESC=	Compile options
125
POCKETSPHINX_DESC=	Automatic Speech Recognition via PocketSphinx
142
POCKETSPHINX_DESC=	Automatic Speech Recognition via PocketSphinx
126
RAV1E_DESC=	AV1 encoding via librav1e
143
RAV1E_DESC=	AV1 encoding via librav1e
127
RABBITMQ_DESC=	AMQP 0-9-1 protocol via RabbitMQ
144
RABBITMQ_DESC=	AMQP 0-9-1 protocol via RabbitMQ
Lines 130-135 RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband Link Here
130
RTCPU_DESC=	Detect CPU capabilities at runtime
147
RTCPU_DESC=	Detect CPU capabilities at runtime
131
RTMP_DESC=	RTMP(T)E protocol support
148
RTMP_DESC=	RTMP(T)E protocol support
132
SHADERC_DESC=	GLSL->SPIRV compilation via libshaderc
149
SHADERC_DESC=	GLSL->SPIRV compilation via libshaderc
150
SOUND_SYSTEM_DESC=	Sound systems
133
SRT_DESC=	Haivision SRT protocol via libsrt
151
SRT_DESC=	Haivision SRT protocol via libsrt
134
SVTAV1_DESC=	AV1 encoding via SVT-AV1
152
SVTAV1_DESC=	AV1 encoding via SVT-AV1
135
SVTHEVC_DESC=	HEVC encoding via SVT-HEVC
153
SVTHEVC_DESC=	HEVC encoding via SVT-HEVC
Lines 141-146 TESSERACT_DESC= Optical Character Recognition via Tesseract Link Here
141
THEORA_DESC=	Encoding support for theora via libtheora
159
THEORA_DESC=	Encoding support for theora via libtheora
142
UAVS3D_DESC=	AVS3 decoding via libuavs3d
160
UAVS3D_DESC=	AVS3 decoding via libuavs3d
143
VAPOURSYNTH_DESC=	VapourSynth demuxer
161
VAPOURSYNTH_DESC=	VapourSynth demuxer
162
VIDEO_DESC=	Video CoDecs
163
VPROC_DESC=	Video processing
144
VIDSTAB_DESC=	Video stabilization filter
164
VIDSTAB_DESC=	Video stabilization filter
145
VMAF_DESC=	VMAF filter via libvmaf
165
VMAF_DESC=	VMAF filter via libvmaf
146
VPL_DESC=	Intel oneVPL (aka Quick Sync Video)
166
VPL_DESC=	Intel oneVPL (aka Quick Sync Video)
(-)b/multimedia/librtmp/Makefile (+1 lines)
Lines 1-5 Link Here
1
PORTNAME=	librtmp
1
PORTNAME=	librtmp
2
PORTVERSION=	2.4.20190330
2
PORTVERSION=	2.4.20190330
3
PORTREVISION=	1
3
CATEGORIES=	multimedia net
4
CATEGORIES=	multimedia net
4
MASTER_SITES=	https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
5
MASTER_SITES=	https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
5
DISTNAME=	rtmpdump-${PORTVERSION}
6
DISTNAME=	rtmpdump-${PORTVERSION}
(-)b/multimedia/librtmp/files/patch-librtmp-dh.h (-10 / +10 lines)
Lines 13-19 Link Here
13
   if (!dh)
13
   if (!dh)
14
     goto failed;
14
     goto failed;
15
 
15
 
16
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
16
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
17
   MP_new(dh->g);
17
   MP_new(dh->g);
18
 
18
 
19
   if (!dh->g)
19
   if (!dh->g)
Lines 26-32 Link Here
26
+    goto failed;
26
+    goto failed;
27
+#endif
27
+#endif
28
+
28
+
29
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
29
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
30
   MP_gethex(dh->p, P1024, res);	/* prime P1024, see dhgroups.h */
30
   MP_gethex(dh->p, P1024, res);	/* prime P1024, see dhgroups.h */
31
+#else
31
+#else
32
+  const BIGNUM *p = DH_get0_p(dh);
32
+  const BIGNUM *p = DH_get0_p(dh);
Lines 38-51 Link Here
38
       goto failed;
38
       goto failed;
39
     }
39
     }
40
 
40
 
41
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
41
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
42
   MP_set_w(dh->g, 2);	/* base 2 */
42
   MP_set_w(dh->g, 2);	/* base 2 */
43
+#else
43
+#else
44
+  MP_set_w(g, 2);	/* base 2 */
44
+  MP_set_w(g, 2);	/* base 2 */
45
+  DH_set0_pqg(dh, p, NULL, g);
45
+  DH_set0_pqg(dh, p, NULL, g);
46
+#endif
46
+#endif
47
 
47
 
48
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
48
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
49
   dh->length = nKeyBits;
49
   dh->length = nKeyBits;
50
+#else
50
+#else
51
+  DH_set_length(dh, nKeyBits);
51
+  DH_set_length(dh, nKeyBits);
Lines 57-70 Link Here
57
       MP_gethex(q1, Q1024, res);
57
       MP_gethex(q1, Q1024, res);
58
       assert(res);
58
       assert(res);
59
 
59
 
60
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
60
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
61
       res = isValidPublicKey(dh->pub_key, dh->p, q1);
61
       res = isValidPublicKey(dh->pub_key, dh->p, q1);
62
+#else
62
+#else
63
+      res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1);
63
+      res = isValidPublicKey(DH_get0_pub_key(dh), DH_get0_p(dh), q1);
64
+#endif
64
+#endif
65
       if (!res)
65
       if (!res)
66
 	{
66
 	{
67
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
67
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
68
 	  MP_free(dh->pub_key);
68
 	  MP_free(dh->pub_key);
69
 	  MP_free(dh->priv_key);
69
 	  MP_free(dh->priv_key);
70
 	  dh->pub_key = dh->priv_key = 0;
70
 	  dh->pub_key = dh->priv_key = 0;
Lines 78-91 Link Here
78
 DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen)
78
 DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen)
79
 {
79
 {
80
   int len;
80
   int len;
81
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
81
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
82
   if (!dh || !dh->pub_key)
82
   if (!dh || !dh->pub_key)
83
+#else
83
+#else
84
+  if (!dh || !DH_get0_pub_key(dh))
84
+  if (!dh || !DH_get0_pub_key(dh))
85
+#endif
85
+#endif
86
     return 0;
86
     return 0;
87
 
87
 
88
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
88
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
89
   len = MP_bytes(dh->pub_key);
89
   len = MP_bytes(dh->pub_key);
90
+#else
90
+#else
91
+  len = MP_bytes(DH_get0_pub_key(dh));
91
+  len = MP_bytes(DH_get0_pub_key(dh));
Lines 94-100 Link Here
94
     return 0;
94
     return 0;
95
 
95
 
96
   memset(pubkey, 0, nPubkeyLen);
96
   memset(pubkey, 0, nPubkeyLen);
97
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
97
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
98
   MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len);
98
   MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len);
99
+#else
99
+#else
100
+  MP_setbin(DH_get0_pub_key(dh), pubkey + (nPubkeyLen - len), len);
100
+  MP_setbin(DH_get0_pub_key(dh), pubkey + (nPubkeyLen - len), len);
Lines 106-112 Link Here
106
   MP_gethex(q1, Q1024, len);
106
   MP_gethex(q1, Q1024, len);
107
   assert(len);
107
   assert(len);
108
 
108
 
109
+#if !defined(USE_OPENSSL) || defined(LIBRESSL_VERSION_NUMBER) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
109
+#if !defined(USE_OPENSSL) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
110
   if (isValidPublicKey(pubkeyBn, dh->p, q1))
110
   if (isValidPublicKey(pubkeyBn, dh->p, q1))
111
+#else
111
+#else
112
+  if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1))
112
+  if (isValidPublicKey(pubkeyBn, DH_get0_p(dh), q1))
(-)b/multimedia/librtmp/files/patch-librtmp-handshake.h (-2 / +2 lines)
Lines 46-52 Link Here
46
-#define HMAC_setup(ctx, key, len)	HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
46
-#define HMAC_setup(ctx, key, len)	HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
47
-#define HMAC_crunch(ctx, buf, len)	HMAC_Update(&ctx, buf, len)
47
-#define HMAC_crunch(ctx, buf, len)	HMAC_Update(&ctx, buf, len)
48
-#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
48
-#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
49
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
49
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L)
50
+#define HMAC_setup(ctx, key, len)	do { \
50
+#define HMAC_setup(ctx, key, len)	do { \
51
+		if (ctx == NULL) \
51
+		if (ctx == NULL) \
52
+			ctx = calloc(1, sizeof(*ctx)); \
52
+			ctx = calloc(1, sizeof(*ctx)); \
Lines 63-69 Link Here
63
+	} while (0)
63
+	} while (0)
64
+#endif
64
+#endif
65
+#define HMAC_crunch(ctx, buf, len)	HMAC_Update(ctx, buf, len)
65
+#define HMAC_crunch(ctx, buf, len)	HMAC_Update(ctx, buf, len)
66
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
66
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L)
67
+#define HMAC_finish(ctx, dig, dlen)	do { \
67
+#define HMAC_finish(ctx, dig, dlen)	do { \
68
+		HMAC_Final(ctx, dig, &dlen); \
68
+		HMAC_Final(ctx, dig, &dlen); \
69
+		HMAC_CTX_cleanup(ctx); \
69
+		HMAC_CTX_cleanup(ctx); \
(-)b/multimedia/librtmp/files/patch-librtmp-hashswf.c (-2 / +2 lines)
Lines 50-56 Link Here
50
-#define HMAC_crunch(ctx, buf, len)	HMAC_Update(&ctx, (unsigned char *)buf, len)
50
-#define HMAC_crunch(ctx, buf, len)	HMAC_Update(&ctx, (unsigned char *)buf, len)
51
-#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(&ctx, (unsigned char *)dig, &dlen);
51
-#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(&ctx, (unsigned char *)dig, &dlen);
52
-#define HMAC_close(ctx)	HMAC_CTX_cleanup(&ctx)
52
-#define HMAC_close(ctx)	HMAC_CTX_cleanup(&ctx)
53
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
53
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L)
54
+#define HMAC_setup(ctx, key, len)	do { \
54
+#define HMAC_setup(ctx, key, len)	do { \
55
+		if (ctx == NULL) \
55
+		if (ctx == NULL) \
56
+			ctx = calloc(1, sizeof(*ctx)); \
56
+			ctx = calloc(1, sizeof(*ctx)); \
Lines 66-72 Link Here
66
+#endif
66
+#endif
67
+#define HMAC_crunch(ctx, buf, len)	HMAC_Update(ctx, (unsigned char *)buf, len)
67
+#define HMAC_crunch(ctx, buf, len)	HMAC_Update(ctx, (unsigned char *)buf, len)
68
+#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(ctx, (unsigned char *)dig, &dlen);
68
+#define HMAC_finish(ctx, dig, dlen)	HMAC_Final(ctx, (unsigned char *)dig, &dlen);
69
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
69
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L)
70
+#define HMAC_close(ctx)	do { \
70
+#define HMAC_close(ctx)	do { \
71
+		HMAC_CTX_cleanup(ctx); \
71
+		HMAC_CTX_cleanup(ctx); \
72
+		free(ctx); \
72
+		free(ctx); \

Return to bug 276313