News and announcements

Version 2.2.0 published with ROHCv2 profiles

Written for rohc by Didier Barvaux on 2018-04-25

The major version 2.2.0 of the ROHC library was just released.

This release introduces the ROHCv2 IP-only, IP/ESP and IP/UDP profiles.

== About the ROHC library ==

The ROHC library provides an easy and robust way for applications to reduce their bandwidth usage on network links with limited capacity or expensive costs. Headers of network packets are compressed with the ROHC protocol and algorithms.

The ROHC protocol is very efficient for compressing VoIP streams that use RTP as transport protocol. ROHC is also suitable for compressing IP-only (IPv4 or IPv6) flows, UDP flows and many others.

The library is published as Opensource under the license GNU LGPL version 2.1 or later.

See https://rohc-lib.org/ and https://rohc-lib.org/presentation/rohc-protocol/ for more details.

== Release notes & changelogs ==

The 2.2.0 release includes:
* support for the ROHCv2 IP-only, IP/ESP and IP/UDP profiles,
* interoperability: improve conformance to ROHC standards:
   * RFC3095: handle the IR D flag of IP-only, UDP, ESP, and UDP-Lite profiles
   * RFC3843: add support for Static Chain Termination
* preliminary Wireshark dissector in Lua
* bug fixes:
  * TCP profile: do not skip MSN 65535 at compressor
  * Robustness of decompressor for TCP profile:
      * Context Replication: check whether base context does exist before using it
      * avoid assertion at decompressor with malformed TCP options:
         * length of TCP options is not a multiple of 32-bit words
         * large TCP options > 40 bytes
      * handle length-changing generic TCP options
   * kernel:
      * fix 64-bit division
      * fix nonnull warnings
      * fix test application/script for Linux kernel module
   * sniffer:
      * handle packet timing so that context re-use works correctly
      * detect layer-3 protocol from Ethernet protocol type
* Q&A:
   * fix compilation error when using gcc-7
   * decrease code complexity
   * fix some spelling mistakes detected by codespell

== Compatibility with previous releases ==

From a ROHC protocol point of view, the 2.2.0 release is not compatible with previous releases if you use one of the ROHCv1 IP-only, ESP, UDP-Lite or UDP profiles. This is due to interoperability fixes (see changelog). In general, mixing major versions for compressor and decompressor is not recommended.

The library API is compatible with versions 2.0.x and 2.1.x. Some headers/types/functions were however added or modified for ROHCv2. See https://rohc-lib.org/wiki/doku.php?id=library-migration for more details.

== Acknowledgements ==

Many thanks to people that reported/fixed bugs:
* Developing Solutions for helping Viveris Technologies adding the ROHCv2 profiles.
* Selvaganesan Murugesan and Developing Solutions for the D flag conformance problem.
* Developing Solutions for the lack of the Static Chain Termination feature for conformance and interoperability.
* Mikhail Gruzdev for Linux kernel fixes.
* Bi-Ruei Chiu for GCC-7 fixes.
* AFL fuzzer software for the TCP robustness fixes.

== Download ==

The source archive is available for download [1]. A sha256 checksum and a GPG signature are provided, be sure to check them [2].

[1] download files: https://rohc-lib.org/support/download/#supported-releases
[2] check files: https://rohc-lib.org/support/download/#verify-downloaded-files

== Installation instructions & API documentation ==

The instructions to install the library and use it are available [3]. The API documentation is available in HTML [4] and man pages [5].

[3] Tutorial: https://rohc-lib.org/presentation/getting-started/
[4] API documentation (HTML): https://rohc-lib.org/support/documentation/API/rohc-doc-2.2.0/
[5] API documentation (man): https://rohc-lib.org/support/documentation/API/rohc-man-2.2.0/

== Feedback ==

Any feedback on the 2.2.0 release will be appreciated. You may use the mailing list to ask questions [6] and the bug tracker to report problems [7].

[6] mailing list: https://rohc-lib.org/support/mailing-list/
[7] bug tracker: https://rohc-lib.org/developer/bugtracker/

Major version 2.0.0 published

Written for rohc by Didier Barvaux on 2016-08-27

The major version 2.0.0 of the ROHC library was just released.

This release is quite large:
* it is the result of 2 years of work,
* more than 50 KLOC were modified,
* a third of the changes were related to the TCP profile,
* 66 problems were detected (and fixed) with AFL fuzzing (58 for the TCP profile alone),
* 47 warnings were detected (and fixed) by static analysis (Coverity Scan).

== About the ROHC library ==

The ROHC library provides an easy and robust way for applications to reduce their bandwidth usage on network links with limited capacity or expensive costs. Headers of network packets are compressed with the ROHC protocol and algorithms.

The ROHC protocol is very efficient for compressing VoIP streams that use RTP as transport protocol. ROHC is also suitable for compressing IP-only (IPv4 or IPv6) flows, UDP flows and many others.

The library is published as Opensource under the license GNU LGPL version 2.1 or later.

See https://rohc-lib.org/ and https://rohc-lib.org/presentation/rohc-protocol/ for more details.

== Release notes & changelogs ==

The 2.0.0 release:
* makes the TCP profile more compliant and robust (TCP profile is now ready for production),
* makes the library more robust in general (with the help of AFL fuzzer and public PCAP captures),
* removes the compatibility with the old deprecated public API,
* adds a Python binding,
* improves Linux kernel support,
* improves CPU performances.

There are also many many bugs fixes (34 are listed in the bugtracker, but many more were fixed, especially on the TCP profile). See the release notes and the changelog [1] for more details.

[1] changelog: https://github.com/didier-barvaux/rohc/blob/rohc-2.0.0/ChangeLog

== Compatibility with previous releases ==

The 2.0.0 release might not be compatible with previous 1.y.x releases for the ROHC protocol. Mixing major versions for compressor and decompressor is not recommended. This is especially true for the TCP profile that was largely reworked.

There is also an library API breakage. The 1.7.x releases introduced a new API and deprecated the old one. The old API is now gone: * If your application builds with the latest 1.7.x release without raising any deprecation warnings, upgrading to 2.0.0 is possible without additional work.
* If your application still use some functions deprecated in the 1.7.x releases, ensure to fix them
   before upgrading. See the migration guide [2] for hints.
* If you still use the very old 1.6.x releases, consider using the latest 1.7.x release as an
   intermediate step before upgrading to 2.0.0. See the migration guide [2] for hints.

[2] migration guide: https://rohc-lib.org/wiki/doku.php?id=library-migration

== Acknowledgements ==

Many thanks to people that reported/fixed bugs:
* Klaus Warnke for his bug reports and fixes on the TCP profile,
* Steven Brown for his fix that reduces librohc.so size,
* Simon Paillard for small fixes on documentation and copyright,
* Jozsef Dudas,
* Mohammad Abyan Abdullah.

== Download ==

The source archive is available for download [3]. A sha256 checksum and a GPG signature are provided, be sure to check them [4].

[3] download files: https://rohc-lib.org/support/download/#supported-releases
[4] check files: https://rohc-lib.org/support/download/#verify-downloaded-files

== Installation instructions & API documentation ==

The instructions to install the library and use it are available [5]. The API documentation is available in HTML [6] and man pages [7].

[5] Tutorial: https://rohc-lib.org/presentation/getting-started/
[6] API documentation (HTML): https://rohc-lib.org/support/documentation/API/rohc-doc-2.0.0/
[7] API documentation (man): https://rohc-lib.org/support/documentation/API/rohc-man-2.0.0/

== Feedback ==

Any feedback on the 2.0.0 release will be appreciated. You may use the mailing list to ask questions [8] and the bug tracker to report problems [9].

[8] mailing list: https://rohc-lib.org/support/mailing-list/
[9] bug tracker: https://rohc-lib.org/developer/bugtracker/

Python binding available!

Written for rohc by Didier Barvaux on 2016-01-11

Hi all,

I'm pleased to announce you that the ROHC library now got one Python binding!

It was pushed to master a few minutes ago [0]. Feedback is of course welcome.

* The Python extension is based on Swig [1].
* It supports both Python 2 and Python 3 thanks to the 'future' Python
   module [2].
* A short example is available in sources [3].
* All non-regression tests runs fine with the pure-Python
   implementation of the non-regression test [4].
* It is a bit slow when compared with the pure C implementation, but it
   makes prototyping applications so much easier.
* There are instructions for building, installing and testing the
   Python extension on the wiki [5].
* There are also some info in the README and INSTALL files in sources.

Regards,
Didier

[0] https://github.com/didier-barvaux/rohc/commit/796da05c2f329efd0cb2b09ec65aa1380e1399a0
[1] http://www.swig.org/
[2] http://python-future.org/
[3] https://github.com/didier-barvaux/rohc/blob/master/contrib/python/example.py
[4] https://github.com/didier-barvaux/rohc/blob/master/contrib/python/test_non_regression.py
[5] https://rohc-lib.org/wiki/doku.php#python_binding

Valid SSL certificate for the website

Written for rohc by Didier Barvaux on 2014-08-31

The https://rohc-lib.org/ website now provides a valid SSL certificate! It is signed by Gandi SAS [https://gandi.net/].

I also configured the web server to use HTTP Strict Transport Security (HSTS) [https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security]. So, after one first visit in HTTPS, your browser will remember to always visit the website in HTTPS next times.

New website for the ROHC library!

Written for rohc by Didier Barvaux on 2014-02-23

I'm very pleased to announce that a new shiny web site is available for the project!

The URL doesn't change, but the web site looks better and gives much more information than the previous one.

So, have a look at http://rohc-lib.org/ and don't hesitate to send your feedback (broken links, mis-spelling, missing information...) on the project mailing list.

Didier

15 of 26 results