xref: /aosp_15_r20/external/libsrtp2/CHANGES (revision 90e502c7aef8d77d0622bb67d75435c6190cfc1a)
1*90e502c7SAndroid Build Coastguard WorkerChangelog
2*90e502c7SAndroid Build Coastguard Worker
3*90e502c7SAndroid Build Coastguard Worker2.2.0-pre (This version)
4*90e502c7SAndroid Build Coastguard Worker
5*90e502c7SAndroid Build Coastguard WorkerMajor changes
6*90e502c7SAndroid Build Coastguard Worker
7*90e502c7SAndroid Build Coastguard WorkerAll code has been reformatted to be consistent. A .clang-format file and format.sh script has been added that can be use to verify and enforce consistent formatting. An automated check on code formatting is now part of travis build.
8*90e502c7SAndroid Build Coastguard Worker
9*90e502c7SAndroid Build Coastguard WorkerOther changes
10*90e502c7SAndroid Build Coastguard Worker
11*90e502c7SAndroid Build Coastguard WorkerPR #409 - Compatibilty with LibreSSL
12*90e502c7SAndroid Build Coastguard Worker
13*90e502c7SAndroid Build Coastguard WorkerPR #406 - Fix unprotect when pktlen < (2*mki_size + tag_len)
14*90e502c7SAndroid Build Coastguard Worker
15*90e502c7SAndroid Build Coastguard WorkerPR #405 - Prevent potential double free
16*90e502c7SAndroid Build Coastguard Worker
17*90e502c7SAndroid Build Coastguard WorkerPR #404 - Add back extern to global variables
18*90e502c7SAndroid Build Coastguard Worker
19*90e502c7SAndroid Build Coastguard WorkerPR #403 - Set gcm IV directly with EVP_CipherInit_ex
20*90e502c7SAndroid Build Coastguard Worker
21*90e502c7SAndroid Build Coastguard WorkerPR #401 - Fix memory access issue in srtp_get_session_keys()
22*90e502c7SAndroid Build Coastguard Worker
23*90e502c7SAndroid Build Coastguard WorkerPR #398 - Fix memory access fixes when invalid profiles where used
24*90e502c7SAndroid Build Coastguard Worker
25*90e502c7SAndroid Build Coastguard WorkerPR #391 - Return NULL when allocating memory of size zero
26*90e502c7SAndroid Build Coastguard Worker
27*90e502c7SAndroid Build Coastguard WorkerPR #390 - Bitvector of length zero is not valid
28*90e502c7SAndroid Build Coastguard Worker
29*90e502c7SAndroid Build Coastguard WorkerPR #385 - Treat warnings as errors on travis builds
30*90e502c7SAndroid Build Coastguard Worker
31*90e502c7SAndroid Build Coastguard WorkerPR #388 - Moved externs from crypto_kernel into its own header
32*90e502c7SAndroid Build Coastguard Worker
33*90e502c7SAndroid Build Coastguard WorkerPR #379 - Fixed several compiler warnings from Firefox builds
34*90e502c7SAndroid Build Coastguard Worker
35*90e502c7SAndroid Build Coastguard WorkerPR #377 - Removed variable init code in rdbx which never gets used
36*90e502c7SAndroid Build Coastguard Worker
37*90e502c7SAndroid Build Coastguard WorkerPR #381 - Added error in case the platform is not detected
38*90e502c7SAndroid Build Coastguard Worker
39*90e502c7SAndroid Build Coastguard WorkerPR #376 - Add coverity scan to travis builds
40*90e502c7SAndroid Build Coastguard Worker
41*90e502c7SAndroid Build Coastguard WorkerPR #374 - Add a big endian build on travis
42*90e502c7SAndroid Build Coastguard Worker
43*90e502c7SAndroid Build Coastguard WorkerPR #373 - Fixed buffer size issue in test/srtp_driver.c
44*90e502c7SAndroid Build Coastguard Worker
45*90e502c7SAndroid Build Coastguard WorkerPR #372 - Make rtp_decoder compile on MinGW
46*90e502c7SAndroid Build Coastguard Worker
47*90e502c7SAndroid Build Coastguard WorkerPR #367 - Rename configure.in to configure.ac
48*90e502c7SAndroid Build Coastguard Worker
49*90e502c7SAndroid Build Coastguard WorkerPR #365 - Replace calls to free() with srtp_crypto_free()
50*90e502c7SAndroid Build Coastguard Worker
51*90e502c7SAndroid Build Coastguard WorkerPR #364 - Add valgrind to travis and fix leaks in tests
52*90e502c7SAndroid Build Coastguard Worker
53*90e502c7SAndroid Build Coastguard WorkerPR #363 - Change smtp_crypto_alloc to initialize memory to zero
54*90e502c7SAndroid Build Coastguard Worker
55*90e502c7SAndroid Build Coastguard WorkerPR #354 - Fix potential leak if cloning of stream fails
56*90e502c7SAndroid Build Coastguard Worker
57*90e502c7SAndroid Build Coastguard WorkerPR #340 - Fix potential leak in srtp_add_stream()
58*90e502c7SAndroid Build Coastguard Worker
59*90e502c7SAndroid Build Coastguard WorkerPR #323 - Fix running test in out of source builds
60*90e502c7SAndroid Build Coastguard Worker
61*90e502c7SAndroid Build Coastguard WorkerIssue #316  - Remove VERSION file
62*90e502c7SAndroid Build Coastguard Worker
63*90e502c7SAndroid Build Coastguard Worker2.1.0
64*90e502c7SAndroid Build Coastguard Worker
65*90e502c7SAndroid Build Coastguard WorkerCompatibility changes
66*90e502c7SAndroid Build Coastguard Worker
67*90e502c7SAndroid Build Coastguard Worker  PR #253 - Cipher type cleanup for AES
68*90e502c7SAndroid Build Coastguard Worker    When libSRTP is compiled with OpenSSL and the AES 256 ICM cipher is used
69*90e502c7SAndroid Build Coastguard Worker    with RTCP an incorrect initialization vector is formed.
70*90e502c7SAndroid Build Coastguard Worker    This change will break backwards compatibility with older versions (1.5,
71*90e502c7SAndroid Build Coastguard Worker    2.0) of libSRTP when using the AES 256 ICM cipher with OpenSSL for RTCP.
72*90e502c7SAndroid Build Coastguard Worker
73*90e502c7SAndroid Build Coastguard Worker  PR #259 - Sequence number incorrectly masked for AES GCM IV
74*90e502c7SAndroid Build Coastguard Worker    The initialization vector for AES GCM encryption was incorrectly formed on
75*90e502c7SAndroid Build Coastguard Worker    little endian machines.
76*90e502c7SAndroid Build Coastguard Worker    This change will break backwards compatibility with older versions (1.5,
77*90e502c7SAndroid Build Coastguard Worker    2.0) of libSRTP when using the AES GCM cipher for RTCP.
78*90e502c7SAndroid Build Coastguard Worker
79*90e502c7SAndroid Build Coastguard Worker  PR #287 - Fix OOB read in key generation for encrypted headers with GCM ciphers
80*90e502c7SAndroid Build Coastguard Worker    Adds padding of GCM salt to the corresponding ICM length used for header
81*90e502c7SAndroid Build Coastguard Worker    encryption.
82*90e502c7SAndroid Build Coastguard Worker    This change will break backwards compatibility with version 2.0 of libSRTP
83*90e502c7SAndroid Build Coastguard Worker    when using the header encryption extension with the AES GCM cipher.
84*90e502c7SAndroid Build Coastguard Worker
85*90e502c7SAndroid Build Coastguard WorkerMajor changes
86*90e502c7SAndroid Build Coastguard Worker
87*90e502c7SAndroid Build Coastguard Worker  PR #204 - OpenSSL performance improvements
88*90e502c7SAndroid Build Coastguard Worker    Changed key expansion to occur once per key instead of once per packet.
89*90e502c7SAndroid Build Coastguard Worker
90*90e502c7SAndroid Build Coastguard Worker  PR #209 - Restore AES-192 under BoringSSL
91*90e502c7SAndroid Build Coastguard Worker    BoringSSL supports AES-192 and is now enabled in libSRTP.
92*90e502c7SAndroid Build Coastguard Worker
93*90e502c7SAndroid Build Coastguard Worker  PR #224 - Master Key Identifiers (MKI) Support patch
94*90e502c7SAndroid Build Coastguard Worker    Adds MKI support with up to 4 keys.
95*90e502c7SAndroid Build Coastguard Worker
96*90e502c7SAndroid Build Coastguard Worker  PR #234 - Report SSRC instead of srtp_stream_t in srtp_event_data_t
97*90e502c7SAndroid Build Coastguard Worker    srtp_stream_t is an opaque type making the event framework almost useless.
98*90e502c7SAndroid Build Coastguard Worker    Now the SSRC is returned instead for use as a key in the public API.
99*90e502c7SAndroid Build Coastguard Worker
100*90e502c7SAndroid Build Coastguard Worker  PR #238 - Configure changes and improvements
101*90e502c7SAndroid Build Coastguard Worker    CFLAGS check more shell neutral, quotation fixes, always generate and
102*90e502c7SAndroid Build Coastguard Worker    install pkg-config file, improved OpenSSL discovery and linking, remove
103*90e502c7SAndroid Build Coastguard Worker    -fPIC flag on Windows, fix shared library generation under Cygwin, replace
104*90e502c7SAndroid Build Coastguard Worker    hardcoded CFLAGS with compiler checks, and regenerate configure after
105*90e502c7SAndroid Build Coastguard Worker    configure.in changes.
106*90e502c7SAndroid Build Coastguard Worker
107*90e502c7SAndroid Build Coastguard Worker  PR #241 & PR #261 - Improved logging API to receive log messages from libSRTP
108*90e502c7SAndroid Build Coastguard Worker    Provides a logging API and the ability to enable logging to stdout and a
109*90e502c7SAndroid Build Coastguard Worker    file, as well as a switch to enable all internal debug modules.
110*90e502c7SAndroid Build Coastguard Worker
111*90e502c7SAndroid Build Coastguard Worker  PR #289 - Added support for set and get the roll-over-counter
112*90e502c7SAndroid Build Coastguard Worker    Adds an API to set and get the ROC in an (S)RTP session.
113*90e502c7SAndroid Build Coastguard Worker
114*90e502c7SAndroid Build Coastguard Worker  PR #304 - Fix (S)RTP and (S)RTCP for big endian machines
115*90e502c7SAndroid Build Coastguard Worker    The structures srtp_hdr_t, srtcp_hdr_t and srtcp_trailer_t were defined
116*90e502c7SAndroid Build Coastguard Worker    incorrectly on big endian systems.
117*90e502c7SAndroid Build Coastguard Worker
118*90e502c7SAndroid Build Coastguard WorkerOther changes
119*90e502c7SAndroid Build Coastguard Worker
120*90e502c7SAndroid Build Coastguard Worker  PR #149 - Don't create a symlink if there is no $(SHAREDLIBVERSION)
121*90e502c7SAndroid Build Coastguard Worker
122*90e502c7SAndroid Build Coastguard Worker  PR #151 - Make srtp_driver compile for MIPS
123*90e502c7SAndroid Build Coastguard Worker
124*90e502c7SAndroid Build Coastguard Worker  PR #160 - Use PKG_PROG_PKG_CONFIG to find correct pkg-config
125*90e502c7SAndroid Build Coastguard Worker
126*90e502c7SAndroid Build Coastguard Worker  PR #167 - Additional RTCP and SRTCP tests
127*90e502c7SAndroid Build Coastguard Worker
128*90e502c7SAndroid Build Coastguard Worker  PR #169 - Identified merge conflict created by commit 6b71fb9
129*90e502c7SAndroid Build Coastguard Worker
130*90e502c7SAndroid Build Coastguard Worker  PR #173 - Avoid error 'possibly undefined macro: AM_PROG_AR'
131*90e502c7SAndroid Build Coastguard Worker
132*90e502c7SAndroid Build Coastguard Worker  PR #174 - Avoid warning 'The macro AC_TRY_LINK is obsolete.'
133*90e502c7SAndroid Build Coastguard Worker
134*90e502c7SAndroid Build Coastguard Worker  PR #175 - Remove 2nd -fPIC
135*90e502c7SAndroid Build Coastguard Worker
136*90e502c7SAndroid Build Coastguard Worker  PR #182 - Add a length check before reading packet data
137*90e502c7SAndroid Build Coastguard Worker
138*90e502c7SAndroid Build Coastguard Worker  PR #191 - On debug, output correct endianness of SSRC
139*90e502c7SAndroid Build Coastguard Worker
140*90e502c7SAndroid Build Coastguard Worker  PR #192 - Replace octet_string_is_eq with a constant-time implementation
141*90e502c7SAndroid Build Coastguard Worker
142*90e502c7SAndroid Build Coastguard Worker  PR #195 - Add missing __cplusplus header guards
143*90e502c7SAndroid Build Coastguard Worker
144*90e502c7SAndroid Build Coastguard Worker  PR #198 - Update sha1_driver.c to avoid memory leaks
145*90e502c7SAndroid Build Coastguard Worker
146*90e502c7SAndroid Build Coastguard Worker  PR #202 - Add an explicit cast to avoid a printf format warning on macOS
147*90e502c7SAndroid Build Coastguard Worker
148*90e502c7SAndroid Build Coastguard Worker  PR #205 - Update Windows build files to Visual Studio 2015
149*90e502c7SAndroid Build Coastguard Worker
150*90e502c7SAndroid Build Coastguard Worker  PR #207 - Fix to install-win.bat syntax, and add installation of x64 libraries
151*90e502c7SAndroid Build Coastguard Worker
152*90e502c7SAndroid Build Coastguard Worker  PR #208 - Make replace_cipher and replace_auth public again
153*90e502c7SAndroid Build Coastguard Worker
154*90e502c7SAndroid Build Coastguard Worker  PR #211 - Changes for OpenSSL 1.1.0 compatibility
155*90e502c7SAndroid Build Coastguard Worker
156*90e502c7SAndroid Build Coastguard Worker  PR #213 - Add cast to `unsigned int` in call to printf in test
157*90e502c7SAndroid Build Coastguard Worker
158*90e502c7SAndroid Build Coastguard Worker  PR #214 - Avoid empty initializer braces
159*90e502c7SAndroid Build Coastguard Worker
160*90e502c7SAndroid Build Coastguard Worker  PR #222 - Fix issue: No consistency when use some srtp_* functions
161*90e502c7SAndroid Build Coastguard Worker
162*90e502c7SAndroid Build Coastguard Worker  PR #231 - Advance version on master in preparation for 2.1 release
163*90e502c7SAndroid Build Coastguard Worker
164*90e502c7SAndroid Build Coastguard Worker  PR #232 - Update Travis, do not build with OpenSSL on OSX
165*90e502c7SAndroid Build Coastguard Worker
166*90e502c7SAndroid Build Coastguard Worker  PR #233 - crypto/replay/rdbx.c: Return type of srtp_index_guess from int to
167*90e502c7SAndroid Build Coastguard Worker    int32_t
168*90e502c7SAndroid Build Coastguard Worker
169*90e502c7SAndroid Build Coastguard Worker  PR #236 - test/rtp_decoder.c: Removed superfluous conditional
170*90e502c7SAndroid Build Coastguard Worker
171*90e502c7SAndroid Build Coastguard Worker  PR #237 - test/rtp_decoder.c: spring cleaning
172*90e502c7SAndroid Build Coastguard Worker
173*90e502c7SAndroid Build Coastguard Worker  PR #239 - octet_string_set_to_zero() delegates to OPENSSL_cleanse() if
174*90e502c7SAndroid Build Coastguard Worker    available, if not it will use srtp_cleanse() to zero memory
175*90e502c7SAndroid Build Coastguard Worker
176*90e502c7SAndroid Build Coastguard Worker  PR #243 - EKT is not really supported yet, remove from install
177*90e502c7SAndroid Build Coastguard Worker
178*90e502c7SAndroid Build Coastguard Worker  PR #244 - Add simple error checking in timing test to avoid false results
179*90e502c7SAndroid Build Coastguard Worker
180*90e502c7SAndroid Build Coastguard Worker  PR #245 - Add missing srtp_cipher_dealloc calls when test fails
181*90e502c7SAndroid Build Coastguard Worker
182*90e502c7SAndroid Build Coastguard Worker  PR #246 - test/rtp_decoder: Add missing conditional
183*90e502c7SAndroid Build Coastguard Worker
184*90e502c7SAndroid Build Coastguard Worker  PR #248 - New README.md that integrates intro, credits and references from
185*90e502c7SAndroid Build Coastguard Worker    /doc/ and is used to generate documentation
186*90e502c7SAndroid Build Coastguard Worker
187*90e502c7SAndroid Build Coastguard Worker  PR #249 - Remove support for generic aesicm from configure.in
188*90e502c7SAndroid Build Coastguard Worker
189*90e502c7SAndroid Build Coastguard Worker  PR #250 - Update README.md, incorrect tag for link
190*90e502c7SAndroid Build Coastguard Worker
191*90e502c7SAndroid Build Coastguard Worker  PR #255 - Cleanup outdated comment related to MKI
192*90e502c7SAndroid Build Coastguard Worker
193*90e502c7SAndroid Build Coastguard Worker  PR #258 - Add AES-GCM to DTLS-SRTP Protection Profiles
194*90e502c7SAndroid Build Coastguard Worker
195*90e502c7SAndroid Build Coastguard Worker  PR #263 - Cleaning up and removing duplicated and outdated code
196*90e502c7SAndroid Build Coastguard Worker
197*90e502c7SAndroid Build Coastguard Worker  PR #265 - Introduction of unit test framework: CUTest
198*90e502c7SAndroid Build Coastguard Worker
199*90e502c7SAndroid Build Coastguard Worker  PR #267 - crypto/kernel/err.c: Include datatypes.h
200*90e502c7SAndroid Build Coastguard Worker
201*90e502c7SAndroid Build Coastguard Worker  PR #272 - Reduce literal constants
202*90e502c7SAndroid Build Coastguard Worker
203*90e502c7SAndroid Build Coastguard Worker  PR #273 - SRTP AEAD SRTCP initialization vector regression tests
204*90e502c7SAndroid Build Coastguard Worker
205*90e502c7SAndroid Build Coastguard Worker  PR #274 - Update Travis build - add ccache
206*90e502c7SAndroid Build Coastguard Worker
207*90e502c7SAndroid Build Coastguard Worker  PR #276 - Reference and docs updates
208*90e502c7SAndroid Build Coastguard Worker
209*90e502c7SAndroid Build Coastguard Worker  PR #278 - Removed crypto/test/auth_driver.c and test/lfsr.c
210*90e502c7SAndroid Build Coastguard Worker
211*90e502c7SAndroid Build Coastguard Worker  PR #279 - Bump copyright year
212*90e502c7SAndroid Build Coastguard Worker
213*90e502c7SAndroid Build Coastguard Worker  PR #283 - Add missing docs in srtp.h
214*90e502c7SAndroid Build Coastguard Worker
215*90e502c7SAndroid Build Coastguard Worker  PR #284 - Add strict-prototypes warning if supported
216*90e502c7SAndroid Build Coastguard Worker
217*90e502c7SAndroid Build Coastguard Worker  PR #291 - Use const char * for srtp_set_debug_module()
218*90e502c7SAndroid Build Coastguard Worker
219*90e502c7SAndroid Build Coastguard Worker  PR #294 - Fix incorrect result of rdb_increment on overflow
220*90e502c7SAndroid Build Coastguard Worker
221*90e502c7SAndroid Build Coastguard Worker  PR #300 - Standalone tests
222*90e502c7SAndroid Build Coastguard Worker
223*90e502c7SAndroid Build Coastguard Worker  PR #301 - Configure fixes
224*90e502c7SAndroid Build Coastguard Worker
225*90e502c7SAndroid Build Coastguard Worker  PR #302 - Fix warning regarding unused variable
226*90e502c7SAndroid Build Coastguard Worker
227*90e502c7SAndroid Build Coastguard Worker  PR #303 - Makefile.in: Add gnu as match for shared lib suffix
228