tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CHANGES (11663B)


      1 Changelog
      2 
      3 2.7.0
      4 
      5 #746 - Fix function signature mismatch for srtp_remove_stream
      6 
      7 #733 - Fix srtp_unprotect_rtcp_mki when RTP auth != RTCP
      8 
      9 2.6.0
     10 
     11 #667 - remove use of pointers to 32bit values
     12 
     13 #666 - Cleaning up cmake and enabled more warnings.
     14 
     15 #665 - start using const on internal arguments
     16 
     17 #662 - Some srtp_driver fixes
     18 
     19 #661 - remove travis reference from README.md
     20 
     21 #660 - meson.build: implement mbedtls support
     22 
     23 #649 - iv length is constant so set only once
     24 
     25 #507 - Add x86 SIMD optimizations to crypto datatypes
     26 
     27 #643 - Add a missing typedef for stream list ctx
     28 
     29 #641 - cmake: Rename TEST_APPS as LIBSRTP_TEST_APPS option
     30 
     31 #640 - cmake: Support configuring as subproject
     32 
     33 2.5.0
     34 
     35 #636 - Make mbedtls hmac less restrictive in line with RFC and library capabilities
     36 
     37 #612 - Allow overriding stream list implementation
     38 
     39 #629 - update min openssl version to 1.1.0
     40 
     41 #602 - Openssl 3 support for EVP MAC
     42 
     43 #628 - Add android build to CI
     44 
     45 #616 - add CIFuzz Github action to workflows
     46 
     47 #621 - Add policy_set_aes_cm_192_xxx symbols to def file
     48 
     49 #617 - Use current directions in stream update test
     50 
     51 #614 - Call `set_aad` and `get_tag` in AEAD performance tests
     52 
     53 #611 - Create alias for srtp2 as libSRTP::srtp2
     54 
     55 #593 - Remove compatibility code for legacy OpenSSL to fix LibreSSL build
     56 
     57 #573 - Export CMake Targets
     58 
     59 #586 - Avoid initializing local char table when converting nibble to hex
     60 
     61 #591 - EVP_CIPHER_CTX_cleanup() is deprecated in OpenSSL 1.1.0
     62 
     63 #589 - Correct null cipher key sizes and be more defensive
     64 
     65 #570 - Include directory should point to 'include' not to 'include/srtp2'
     66 
     67 #551 - Count blocks instead of bytes in AES-ICM limit computation
     68 
     69 #561 - Rtp decoder support ssrc and roc
     70 
     71 #559 - Use a full-length key even with null ciphers
     72 
     73 #558 - Fix set ROC functionality with gcm
     74 
     75 2.4.0
     76 
     77 Major changes
     78 
     79 #529 - Remove EKT files, this was never completed and the draft has since changed.
     80 
     81 #512 - Adds support for Mbedtls as a crypto backend.
     82 
     83 #503 - Support apple silicon build.
     84 
     85 #495 - Adds support for the Meson build system. This is an alternative to Cmake and auto tools.
     86 
     87 Other changes
     88 
     89 #546 - Improve OpenSSL KDF check.
     90 
     91 #542 - Add void to function declarations for EVP_EncryptInit check.
     92 
     93 #531 - Remove dead code.
     94 
     95 #524 - Support running against nss >= 3.52.
     96 
     97 #521 - Remove references to dtls from libsrtp.
     98 
     99 #520 - Use nss based hmac when nss enabled.
    100 
    101 #519 - Move selftest vectors form backends to common files.
    102 
    103 #515 - Extend cmake support.
    104 
    105 #514 - Fix gcc11 warning by defining output length.
    106 
    107 #502 - Remove visual studio build files.
    108 
    109 #501 - cmake: Set the VERSION property of the srtp2 library.
    110 
    111 #500 - Fixed issue #499 with buffer overflow.
    112 
    113 #498 - Feature/additional error checks.
    114 
    115 #496 - Rework check for OPENSSL_cleanse().
    116 
    117 #492 - Avoid non-existing compiler flag -O4.
    118 
    119 #491 - Fix two-byte RTP header extension encryption.
    120 
    121 #478 - Modify cmake to install crypto_types.h instead of cipher_types.h
    122 
    123 2.3.0
    124 
    125 Major changes
    126 
    127 A fuzzer was added to the project based on libFuzzer. This is run as part of Google oss-fuzz, the current status can be found at https://oss-fuzz-build-logs.storage.googleapis.com/index.html#libsrtp . Details available in PR #442 and issue #393.
    128 
    129 CMake support was added as an alternative build system. This was primarily added to replace the Visual Studio project files currently checked in but has been extend to support building on all platforms. Initial PR #449 and #455 but has been support has been continuously improved.
    130 
    131 NSS support for crypto backend was added. This is can be used as an alternative to openssl. Initial PR #413 but there has been numerous improvements.
    132 
    133 Other changes
    134 
    135 PR #474 - Add flag to disable pcap dependency when build test apps.
    136 
    137 PR #472 - Add ci builds for ios and android.
    138 
    139 PR #463 - problem on srtp_aes_icm_openssl_encrypt.
    140 
    141 PR #471 - Allow the pcap file to be read from a physical file.
    142 
    143 PR #457 - Fix docs crypto_policy_* -> srtp_crypto_policy_* .
    144 
    145 PR #452 - crypto/cipher: Reset the EVP_CIPHER_CTX structure before each test.
    146 
    147 PR #444 - Extend rtp_ecoder to support RTCP and multiplexed SSRC's.
    148 
    149 PR #443 - rtp_decoder avoid crash when no packets found.
    150 
    151 PR #429 - Rand for test only.
    152 
    153 PR #421 - Fix GCM IV logging.
    154 
    155 PR #415 - Fixes unaligned trailer access.
    156 
    157 PR #414 - Detect and handle broken "OPENSSL_cleanse".
    158 
    159 2.2.0
    160 
    161 Major changes
    162 
    163 All 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.
    164 
    165 Other changes
    166 
    167 PR #409 - Compatibilty with LibreSSL
    168 
    169 PR #406 - Fix unprotect when pktlen < (2*mki_size + tag_len)
    170 
    171 PR #405 - Prevent potential double free
    172 
    173 PR #404 - Add back extern to global variables
    174 
    175 PR #403 - Set gcm IV directly with EVP_CipherInit_ex
    176 
    177 PR #401 - Fix memory access issue in srtp_get_session_keys()
    178 
    179 PR #398 - Fix memory access fixes when invalid profiles where used
    180 
    181 PR #391 - Return NULL when allocating memory of size zero
    182 
    183 PR #390 - Bitvector of length zero is not valid
    184 
    185 PR #385 - Treat warnings as errors on travis builds
    186 
    187 PR #388 - Moved externs from crypto_kernel into its own header
    188 
    189 PR #379 - Fixed several compiler warnings from Firefox builds
    190 
    191 PR #377 - Removed variable init code in rdbx which never gets used
    192 
    193 PR #381 - Added error in case the platform is not detected
    194 
    195 PR #376 - Add coverity scan to travis builds
    196 
    197 PR #374 - Add a big endian build on travis
    198 
    199 PR #373 - Fixed buffer size issue in test/srtp_driver.c
    200 
    201 PR #372 - Make rtp_decoder compile on MinGW
    202 
    203 PR #367 - Rename configure.in to configure.ac
    204 
    205 PR #365 - Replace calls to free() with srtp_crypto_free()
    206 
    207 PR #364 - Add valgrind to travis and fix leaks in tests
    208 
    209 PR #363 - Change smtp_crypto_alloc to initialize memory to zero
    210 
    211 PR #354 - Fix potential leak if cloning of stream fails
    212 
    213 PR #340 - Fix potential leak in srtp_add_stream()
    214 
    215 PR #323 - Fix running test in out of source builds
    216 
    217 Issue #316  - Remove VERSION file
    218 
    219 2.1.0
    220 
    221 Compatibility changes
    222 
    223   PR #253 - Cipher type cleanup for AES
    224     When libSRTP is compiled with OpenSSL and the AES 256 ICM cipher is used
    225     with RTCP an incorrect initialization vector is formed.
    226     This change will break backwards compatibility with older versions (1.5,
    227     2.0) of libSRTP when using the AES 256 ICM cipher with OpenSSL for RTCP.
    228 
    229   PR #259 - Sequence number incorrectly masked for AES GCM IV
    230     The initialization vector for AES GCM encryption was incorrectly formed on
    231     little endian machines.
    232     This change will break backwards compatibility with older versions (1.5,
    233     2.0) of libSRTP when using the AES GCM cipher for RTCP.
    234 
    235   PR #287 - Fix OOB read in key generation for encrypted headers with GCM ciphers
    236     Adds padding of GCM salt to the corresponding ICM length used for header
    237     encryption.
    238     This change will break backwards compatibility with version 2.0 of libSRTP
    239     when using the header encryption extension with the AES GCM cipher.
    240 
    241 Major changes
    242 
    243   PR #204 - OpenSSL performance improvements
    244     Changed key expansion to occur once per key instead of once per packet.
    245 
    246   PR #209 - Restore AES-192 under BoringSSL
    247     BoringSSL supports AES-192 and is now enabled in libSRTP.
    248 
    249   PR #224 - Master Key Identifiers (MKI) Support patch
    250     Adds MKI support with up to 4 keys.
    251 
    252   PR #234 - Report SSRC instead of srtp_stream_t in srtp_event_data_t
    253     srtp_stream_t is an opaque type making the event framework almost useless.
    254     Now the SSRC is returned instead for use as a key in the public API.
    255 
    256   PR #238 - Configure changes and improvements
    257     CFLAGS check more shell neutral, quotation fixes, always generate and
    258     install pkg-config file, improved OpenSSL discovery and linking, remove
    259     -fPIC flag on Windows, fix shared library generation under Cygwin, replace
    260     hardcoded CFLAGS with compiler checks, and regenerate configure after
    261     configure.in changes.
    262 
    263   PR #241 & PR #261 - Improved logging API to receive log messages from libSRTP
    264     Provides a logging API and the ability to enable logging to stdout and a
    265     file, as well as a switch to enable all internal debug modules.
    266 
    267   PR #289 - Added support for set and get the roll-over-counter
    268     Adds an API to set and get the ROC in an (S)RTP session.
    269 
    270   PR #304 - Fix (S)RTP and (S)RTCP for big endian machines
    271     The structures srtp_hdr_t, srtcp_hdr_t and srtcp_trailer_t were defined
    272     incorrectly on big endian systems.
    273 
    274 Other changes
    275 
    276   PR #149 - Don't create a symlink if there is no $(SHAREDLIBVERSION)
    277 
    278   PR #151 - Make srtp_driver compile for MIPS
    279 
    280   PR #160 - Use PKG_PROG_PKG_CONFIG to find correct pkg-config
    281 
    282   PR #167 - Additional RTCP and SRTCP tests
    283 
    284   PR #169 - Identified merge conflict created by commit 6b71fb9
    285 
    286   PR #173 - Avoid error 'possibly undefined macro: AM_PROG_AR'
    287 
    288   PR #174 - Avoid warning 'The macro AC_TRY_LINK is obsolete.'
    289 
    290   PR #175 - Remove 2nd -fPIC
    291 
    292   PR #182 - Add a length check before reading packet data
    293 
    294   PR #191 - On debug, output correct endianness of SSRC
    295 
    296   PR #192 - Replace octet_string_is_eq with a constant-time implementation
    297 
    298   PR #195 - Add missing __cplusplus header guards
    299 
    300   PR #198 - Update sha1_driver.c to avoid memory leaks
    301 
    302   PR #202 - Add an explicit cast to avoid a printf format warning on macOS
    303 
    304   PR #205 - Update Windows build files to Visual Studio 2015
    305 
    306   PR #207 - Fix to install-win.bat syntax, and add installation of x64 libraries
    307 
    308   PR #208 - Make replace_cipher and replace_auth public again
    309 
    310   PR #211 - Changes for OpenSSL 1.1.0 compatibility
    311 
    312   PR #213 - Add cast to `unsigned int` in call to printf in test
    313 
    314   PR #214 - Avoid empty initializer braces
    315 
    316   PR #222 - Fix issue: No consistency when use some srtp_* functions
    317 
    318   PR #231 - Advance version on master in preparation for 2.1 release
    319 
    320   PR #232 - Update Travis, do not build with OpenSSL on OSX
    321 
    322   PR #233 - crypto/replay/rdbx.c: Return type of srtp_index_guess from int to
    323     int32_t
    324 
    325   PR #236 - test/rtp_decoder.c: Removed superfluous conditional
    326 
    327   PR #237 - test/rtp_decoder.c: spring cleaning
    328 
    329   PR #239 - octet_string_set_to_zero() delegates to OPENSSL_cleanse() if
    330     available, if not it will use srtp_cleanse() to zero memory
    331 
    332   PR #243 - EKT is not really supported yet, remove from install
    333 
    334   PR #244 - Add simple error checking in timing test to avoid false results
    335 
    336   PR #245 - Add missing srtp_cipher_dealloc calls when test fails
    337 
    338   PR #246 - test/rtp_decoder: Add missing conditional
    339 
    340   PR #248 - New README.md that integrates intro, credits and references from
    341     /doc/ and is used to generate documentation
    342 
    343   PR #249 - Remove support for generic aesicm from configure.in
    344 
    345   PR #250 - Update README.md, incorrect tag for link
    346 
    347   PR #255 - Cleanup outdated comment related to MKI
    348 
    349   PR #258 - Add AES-GCM to DTLS-SRTP Protection Profiles
    350 
    351   PR #263 - Cleaning up and removing duplicated and outdated code
    352 
    353   PR #265 - Introduction of unit test framework: CUTest
    354 
    355   PR #267 - crypto/kernel/err.c: Include datatypes.h
    356 
    357   PR #272 - Reduce literal constants
    358 
    359   PR #273 - SRTP AEAD SRTCP initialization vector regression tests
    360 
    361   PR #274 - Update Travis build - add ccache
    362 
    363   PR #276 - Reference and docs updates
    364 
    365   PR #278 - Removed crypto/test/auth_driver.c and test/lfsr.c
    366 
    367   PR #279 - Bump copyright year
    368 
    369   PR #283 - Add missing docs in srtp.h
    370 
    371   PR #284 - Add strict-prototypes warning if supported
    372 
    373   PR #291 - Use const char * for srtp_set_debug_module()
    374 
    375   PR #294 - Fix incorrect result of rdb_increment on overflow
    376 
    377   PR #300 - Standalone tests
    378 
    379   PR #301 - Configure fixes
    380 
    381   PR #302 - Fix warning regarding unused variable
    382 
    383   PR #303 - Makefile.in: Add gnu as match for shared lib suffix