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