blob: fec2fe2da0e7c2ca451f8ed2f66493e0d0062da8 [file] [log] [blame]
Cullen Jennings235513a2005-09-21 22:51:36 +00001Changelog
2
Paul E. Jonesc9d60a62017-06-14 17:07:51 -040032.2.0-pre (This version)
4
5No code changes yet merged into master for this release.
6
Geir Istad558fa522017-03-25 01:39:01 +010072.1.0
jfiguse806a662015-03-11 10:02:12 -04008
Geir Istad9c724bf2017-04-03 08:39:36 +02009Compatibility changes
jfiguse806a662015-03-11 10:02:12 -040010
Geir Istad336636a2017-04-06 14:52:45 +020011 PR #253 - Cipher type cleanup for AES
Geir Istadc5630a12017-04-09 19:35:07 +020012 When libSRTP is compiled with OpenSSL and the AES 256 ICM cipher is used
13 with RTCP an incorrect initialization vector is formed.
Geir Istad336636a2017-04-06 14:52:45 +020014 This change will break backwards compatibility with older versions (1.5,
15 2.0) of libSRTP when using the AES 256 ICM cipher with OpenSSL for RTCP.
16
Geir Istad9c724bf2017-04-03 08:39:36 +020017 PR #259 - Sequence number incorrectly masked for AES GCM IV
Geir Istadc5630a12017-04-09 19:35:07 +020018 The initialization vector for AES GCM encryption was incorrectly formed on
Geir Istad558fa522017-03-25 01:39:01 +010019 little endian machines.
20 This change will break backwards compatibility with older versions (1.5,
21 2.0) of libSRTP when using the AES GCM cipher for RTCP.
jfigus385e6752015-02-19 08:30:36 -050022
Geir Istad737d35f2017-04-03 20:09:21 +020023 PR #287 - Fix OOB read in key generation for encrypted headers with GCM ciphers
24 Adds padding of GCM salt to the corresponding ICM length used for header
25 encryption.
26 This change will break backwards compatibility with version 2.0 of libSRTP
27 when using the header encryption extension with the AES GCM cipher.
28
Geir Istad9c724bf2017-04-03 08:39:36 +020029Major changes
jfigus385e6752015-02-19 08:30:36 -050030
Geir Istad9c724bf2017-04-03 08:39:36 +020031 PR #204 - OpenSSL performance improvements
32 Changed key expansion to occur once per key instead of once per packet.
33
34 PR #209 - Restore AES-192 under BoringSSL
Geir Istadc5630a12017-04-09 19:35:07 +020035 BoringSSL supports AES-192 and is now enabled in libSRTP.
Geir Istad9c724bf2017-04-03 08:39:36 +020036
37 PR #224 - Master Key Identifiers (MKI) Support patch
Geir Istad558fa522017-03-25 01:39:01 +010038 Adds MKI support with up to 4 keys.
jfigus385e6752015-02-19 08:30:36 -050039
Geir Istad9c724bf2017-04-03 08:39:36 +020040 PR #234 - Report SSRC instead of srtp_stream_t in srtp_event_data_t
Geir Istadc5630a12017-04-09 19:35:07 +020041 srtp_stream_t is an opaque type making the event framework almost useless.
42 Now the SSRC is returned instead for use as a key in the public API.
jfigus385e6752015-02-19 08:30:36 -050043
Geir Istad9c724bf2017-04-03 08:39:36 +020044 PR #238 - Configure changes and improvements
45 CFLAGS check more shell neutral, quotation fixes, always generate and
46 install pkg-config file, improved OpenSSL discovery and linking, remove
47 -fPIC flag on Windows, fix shared library generation under Cygwin, replace
Geir Istadc5630a12017-04-09 19:35:07 +020048 hardcoded CFLAGS with compiler checks, and regenerate configure after
Geir Istad9c724bf2017-04-03 08:39:36 +020049 configure.in changes.
jfigus385e6752015-02-19 08:30:36 -050050
Geir Istad9c724bf2017-04-03 08:39:36 +020051 PR #241 & PR #261 - Improved logging API to receive log messages from libSRTP
Geir Istadc5630a12017-04-09 19:35:07 +020052 Provides a logging API and the ability to enable logging to stdout and a
53 file, as well as a switch to enable all internal debug modules.
Geir Istad9c724bf2017-04-03 08:39:36 +020054
Geir Istadef72f4e2017-05-20 14:56:36 +020055 PR #289 - Added support for set and get the roll-over-counter
56 Adds an API to set and get the ROC in an (S)RTP session.
57
58 PR #304 - Fix (S)RTP and (S)RTCP for big endian machines
59 The structures srtp_hdr_t, srtcp_hdr_t and srtcp_trailer_t were defined
60 incorrectly on big endian systems.
61
Geir Istad9c724bf2017-04-03 08:39:36 +020062Other changes
63
64 PR #149 - Don't create a symlink if there is no $(SHAREDLIBVERSION)
65
66 PR #151 - Make srtp_driver compile for MIPS
67
68 PR #160 - Use PKG_PROG_PKG_CONFIG to find correct pkg-config
69
70 PR #167 - Additional RTCP and SRTCP tests
71
72 PR #169 - Identified merge conflict created by commit 6b71fb9
73
74 PR #173 - Avoid error 'possibly undefined macro: AM_PROG_AR'
75
76 PR #174 - Avoid warning 'The macro AC_TRY_LINK is obsolete.'
77
78 PR #175 - Remove 2nd -fPIC
79
80 PR #182 - Add a length check before reading packet data
81
82 PR #191 - On debug, output correct endianness of SSRC
83
84 PR #192 - Replace octet_string_is_eq with a constant-time implementation
85
86 PR #195 - Add missing __cplusplus header guards
87
88 PR #198 - Update sha1_driver.c to avoid memory leaks
89
90 PR #202 - Add an explicit cast to avoid a printf format warning on macOS
91
92 PR #205 - Update Windows build files to Visual Studio 2015
93
94 PR #207 - Fix to install-win.bat syntax, and add installation of x64 libraries
95
96 PR #208 - Make replace_cipher and replace_auth public again
97
98 PR #211 - Changes for OpenSSL 1.1.0 compatibility
99
100 PR #213 - Add cast to `unsigned int` in call to printf in test
101
102 PR #214 - Avoid empty initializer braces
103
104 PR #222 - Fix issue: No consistency when use some srtp_* functions
105
106 PR #231 - Advance version on master in preparation for 2.1 release
107
108 PR #232 - Update Travis, do not build with OpenSSL on OSX
109
110 PR #233 - crypto/replay/rdbx.c: Return type of srtp_index_guess from int to
111 int32_t
112
113 PR #236 - test/rtp_decoder.c: Removed superfluous conditional
114
115 PR #237 - test/rtp_decoder.c: spring cleaning
116
117 PR #239 - octet_string_set_to_zero() delegates to OPENSSL_cleanse() if
118 available, if not it will use srtp_cleanse() to zero memory
119
120 PR #243 - EKT is not really supported yet, remove from install
121
122 PR #244 - Add simple error checking in timing test to avoid false results
123
124 PR #245 - Add missing srtp_cipher_dealloc calls when test fails
125
126 PR #246 - test/rtp_decoder: Add missing conditional
127
128 PR #248 - New README.md that integrates intro, credits and references from
129 /doc/ and is used to generate documentation
130
131 PR #249 - Remove support for generic aesicm from configure.in
132
133 PR #250 - Update README.md, incorrect tag for link
134
Geir Istad9c724bf2017-04-03 08:39:36 +0200135 PR #255 - Cleanup outdated comment related to MKI
136
137 PR #258 - Add AES-GCM to DTLS-SRTP Protection Profiles
138
139 PR #263 - Cleaning up and removing duplicated and outdated code
140
141 PR #265 - Introduction of unit test framework: CUTest
142
143 PR #267 - crypto/kernel/err.c: Include datatypes.h
144
145 PR #272 - Reduce literal constants
146
147 PR #273 - SRTP AEAD SRTCP initialization vector regression tests
148
149 PR #274 - Update Travis build - add ccache
150
151 PR #276 - Reference and docs updates
152
153 PR #278 - Removed crypto/test/auth_driver.c and test/lfsr.c
154
155 PR #279 - Bump copyright year
156
157 PR #283 - Add missing docs in srtp.h
Geir Istadfbc1bfd2017-04-09 19:37:21 +0200158
159 PR #284 - Add strict-prototypes warning if supported
Geir Istadef72f4e2017-05-20 14:56:36 +0200160
161 PR #291 - Use const char * for srtp_set_debug_module()
162
163 PR #294 - Fix incorrect result of rdb_increment on overflow
164
165 PR #300 - Standalone tests
166
167 PR #301 - Configure fixes
168
169 PR #302 - Fix warning regarding unused variable
170
Paul E. Jonesc9d60a62017-06-14 17:07:51 -0400171 PR #303 - Makefile.in: Add gnu as match for shared lib suffix