Skip to content

Commit

Permalink
release v2.8.0 (#552)
Browse files Browse the repository at this point in the history
* Update README.md (#503)

* thread: fix win32 thrd_create return values (#506)

* cmake: bump min. version 3.10 (#504)

* cmake: add USE_JBUF option (#507)

* tcp: add tcp_send_queued to check queue used

* http: add http_client_set_bufsize_max / http_client_get_bufsize_max

* http, httpauth, websock: support large req body and add body handler

Support large req body.
Allow set body handler.
Use type mbuf for body parameter.

* http/client: fix possible null pointer dereference

Reported-by: Coverity Scan

* ci/windows: test choco install no-progress (#510)

* bitv: remove deprecated module (#513)

* types,fmt: use re_restrict (#514)

Adds `__restrict` macro for WIN32

* sip: refer out of dialog (#508)

* sip: add UAS authentication

* sip: improve err handling for UAS auth

Fixes also a clang analyzer warning "call argument uninitialized".

* readme: update supported versions

* sipsess/update: bugfix (#516)

* sipsess: fix UPDATE issues

In modify.c:sipsess_update() sess->req containing the original INVITE
request was overwritten with the UPDATE request which could lead to a
multitude of problems.

Now, an UPDATE is sent by allocating a sipsess_request and sending it is
handled separately from re-INVITEs.

* sipsess: UPDATE improvements

Remove unused parameters from sipsess_update and correct conditional
checks in sipsess_modify.

* sip/auth: fix mem_zalloc return check (#518)

* ci/clang-analyze: use clang 14

* Update media fixes (#515)

* sipsess: call answer handler for each SDP answer (#2074)

* dns: add dnsc_getaddrinfo_enabled

* http: query getaddrinfo enabled in http_client_set_config

* tmr: Added a method to obtain a realtime clock time point.

Realtime clock time is useful for calculating NTP time points for
RTCP SRs. Applications may use this function to associate RTP
timestamps of sent RTP packets with realtime clock time points,
so that this association is subsequently used to calculate NTP time
points in RTCP SRs.

* rtp: Synchronize NTP and RTP timestamps in RTCP SR.

Obtain the wallclock time once and convert it to both NTP and RTP timestamps
instead of obtaining the current time twice, separated with a mutex lock.
This improves media synchronization quality.

Also, when no RTP packets have been sent and no reference timestamps are
available, generate RR instead of SR to avoid sending bogus timestamps
in the SR.

* rtp: Add realtime timestamps to rtp_send and rtcp_sess_tx_rtp methods.

The realtime timestamps allow the application to specify the time point
that corresponds to the RTP timestamp on the media presentation timeline.
This can be called "capture time", for whatever definition of "capturing"
the application has.

This timestamp is further used to calculate the NTP/RTP timestamps that
are sent in RTCP SR and used on the receiver to synchronize different
media streams from the sender. Having the timestamp provided by the
application allows for a more precise correspondence between NTP and RTP
timestamps, even if the media is sent non-monotonically and out-of-order.

* conf: check if returned size is larger than buffer

* udp: remove very old iOS hack

* tcp: remove very old iOS hack

* cmake,debian: Use CMake for debian packages (#522)

* crc32: add re wrapper (#526)

* ci: convert valgrind to cmake (#529)

* ci: convert valgrind to cmake

* valgrind: use cmake build

* valgrind: minor fixes

* valgrind: build rem with cmake

* coverage: enable verbose retest

* ci: convert ssl build to cmake (#530)

* ci: convert fedora to cmake (#531)

* ci: convert coverage to cmake (#532)

* ci: migrate to cmake (#533)

* ci: migrate to cmake

* run scan-build-14 twice

* cmake: add LINKLIBS and make backtrace and zlib optional (#534)

* cmake: add LINKLIBS and make backtrace and zlib optional

* fix darwin libs

* shim: use try_into_u16_from_size instead generic helper

fixes #520

* atomic,convert: check C11 compatibility

* pcp: fix cppcheck warning

src/pcp/request.c:115:13: warning: Possible null pointer dereference: msg [nullPointer]
 if (err || msg->hdr.result != PCP_SUCCESS ) {
            ^
src/pcp/request.c:141:29: note: Calling function 'completed', 3rd argument 'NULL' value is 0
  completed(req, ETIMEDOUT, NULL);
                            ^
src/pcp/request.c:115:13: note: Null pointer dereference
 if (err || msg->hdr.result != PCP_SUCCESS ) {
            ^

* fmt/print: fix cppcheck overflow

```
src/fmt/print.c:77:15: error: Pointer arithmetic overflow; 'buf' buffer size is 64 [ctuPointerArith]
 char c, *p = buf + NUM_SIZE - 1;
              ^
src/fmt/print.c:272:20: note: Calling function local_itoa, 1st argument is uninitialized
   len = local_itoa(num, (sn < 0) ? -sn : sn, base,
                   ^
src/fmt/print.c:77:15: note: Using argument buf
 char c, *p = buf + NUM_SIZE - 1;
```

* tls: remove SHA1 fingerprint (deprecated)

* telev: add telev_is_empty()

* telev: make parameter const and add NULL pointer check

* debian: release build

* sipreg: avoid sending un-REGISTER periodically

A periodic un-REGISTER should be done only if `fbregint` (fallback SIP server
registration interval) was set.

* cmake,mk: bump the tentative next release with pre-release identifier

* sipsess/update: Add Contact header to UPDATE

UPDATEs are now sent with Contact header which is mandatory according to
RFC 3311.

* cmake: fix shared API soversion (aligned with make)

* cmake/pkgconfig: fix name

* releasae v2.8.0 (#551)

Co-authored-by: Alfred E. Heggestad <[email protected]>
Co-authored-by: Sebastian Reimers <[email protected]>
Co-authored-by: Franz Auernigg <[email protected]>
Co-authored-by: Maximilian Fridrich <[email protected]>
Co-authored-by: Andrey Semashev <[email protected]>
  • Loading branch information
6 people authored Oct 1, 2022
1 parent b668e39 commit ea6b6e3
Show file tree
Hide file tree
Showing 74 changed files with 1,000 additions and 580 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/abi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ jobs:

- name: make shared lib
run: |
make -C old libre.so
cmake -S old -B old/build && cmake --build old/build
- name: make current shared lib
run: make -C current libre.so
run: |
cmake -S current -B current/build && cmake --build current/build
- name: abidiff compare
id: abidiff
Expand Down
17 changes: 3 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
compiler: [gcc, clang]
os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04, macos-11, macos-12]
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12]
exclude:
- os: macos-11
compiler: gcc
Expand All @@ -37,19 +37,10 @@ jobs:
echo "OS: ${{ matrix.os }}"
echo "--- ${{ matrix.compiler }} DEBUG VERSION ---"
${{ matrix.compiler }} - --version
echo "--- make info ---"
make info
- name: test re.mk
run: make -C mk -f test.mk

- name: make
run: make EXTRA_CFLAGS=-Werror CCACHE=
- name: cmake
run: |
make cmake
cmake --install build --prefix dist
cmake -B build && cmake --build build
- uses: sreimers/[email protected]
with:
Expand All @@ -68,7 +59,5 @@ jobs:
- name: retest
run: |
cd ..
rm re/libre.so || true
rm re/libre.dylib || true
make -C rem librem.a
cmake -S rem -B rem/build && cmake --build rem/build
cd retest && make && ./retest -r
3 changes: 1 addition & 2 deletions .github/workflows/c99.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,4 @@ jobs:

- name: make
run: |
make info EXTRA_CFLAGS="-Werror" CC_C11= CCACHE=
make EXTRA_CFLAGS="-Werror" CC_C11= CCACHE=
cmake -DCMAKE_C_STANDARD=99 -DCMAKE_C_FLAGS="-Werror" -B build && cmake --build build
8 changes: 4 additions & 4 deletions .github/workflows/clang-analyze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
- name: Install clang-tools
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main"
sudo apt-get update && sudo apt-get install -y clang-tools-13
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main"
sudo apt-get update && sudo apt-get install -y clang-tools-14
- name: make
run: |
make info EXTRA_CFLAGS="-Werror" CCACHE=
scan-build-13 --status-bugs make EXTRA_CFLAGS="-Werror" CCACHE=
scan-build-14 cmake -B build
scan-build-14 --status-bugs cmake --build build -j
2 changes: 1 addition & 1 deletion .github/workflows/cmake_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:

- name: Install deps
run: |
choco install openssl
choco install --no-progress openssl
- name: Build
shell: cmd
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ jobs:
languages: cpp
queries: security-extended

- run: make
- run: |
cmake -B build && cmake --build build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

- name: make
run: |
make EXTRA_CFLAGS="--coverage" CCACHE=
cmake -B build -DCMAKE_C_FLAGS="--coverage" && cmake --build build -j
- uses: sreimers/[email protected]
with:
Expand All @@ -36,16 +36,14 @@ jobs:
- name: retest
run: |
cd ..
rm re/libre.so || true
rm re/libre.dylib || true
make -C rem librem.a
cmake -S rem -B rem/build && cmake --build rem/build
cd retest; cmake -B build -DCMAKE_EXE_LINKER_FLAGS="--coverage" && \
cmake --build build -j && ./build/retest -a
cmake --build build -j && ./build/retest -v -a
- name: gcov
run: |
cd ../re
gcov build-x86_64/**/*.o
gcov build/**/*.o
- name: install gcovr
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/fedora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ jobs:
- uses: actions/checkout@v2
- name: install devel tools
run: |
yum -y install gcc clang make openssl-devel
yum -y install gcc clang cmake make openssl-devel zlib-devel
- name: make info
run: |
echo "OS: ${{ matrix.os }}"
echo "--- ${{ matrix.compiler }} DEBUG VERSION ---"
${{ matrix.compiler }} - --version
echo "--- make info ---"
make info
cmake --version
- name: make
run: make EXTRA_CFLAGS=-Werror CCACHE=
run: |
cmake -B build -DCMAKE_C_FLAGS="-Werror" && cmake --build build -j
2 changes: 1 addition & 1 deletion .github/workflows/ssl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ jobs:
wget "https://github.com/baresip/ci/releases/download/v0.1/assets.tar.gz"
tar -xf assets.tar.gz
- name: make
run: make EXTRA_CFLAGS="-Iassets/${{ matrix.ssl }}/include -Werror" EXTRA_LFLAGS="-Lassets/${{ matrix.ssl }}" CCACHE=;
run: cmake -B build -DCMAKE_C_FLAGS="-Iassets/${{ matrix.ssl }}/include -Werror" -DCMAKE_EXE_LINKER_FLAGS="-Lassets/${{ matrix.ssl }}" && cmake --build build -j
11 changes: 5 additions & 6 deletions .github/workflows/valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ jobs:
sudo apt-get update && sudo apt-get install -y libssl-dev valgrind
- name: make
run: make EXTRA_CFLAGS=-Werror CCACHE=
run: |
cmake -B build && cmake --build build -j
- uses: sreimers/[email protected]
with:
Expand All @@ -33,9 +34,7 @@ jobs:
- name: retest
run: |
cd ..
rm re/libre.so || true
rm re/libre.dylib || true
make -C rem librem.a
cmake -S rem -B rem/build && cmake --build rem/build
cd retest
make
valgrind --leak-check=full --show-reachable=yes --error-exitcode=42 ./retest -r
cmake -B build && cmake --build build -j
valgrind --leak-check=full --show-reachable=yes --error-exitcode=42 ./build/retest -r
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

---

## [v2.8.0] - 2022-10-01

* Update README.md by @alfredh in https://github.com/baresip/re/pull/503
* thread: fix win32 thrd\_create return values by @sreimers in https://github.com/baresip/re/pull/506
* cmake: bump min. version 3.10 by @sreimers in https://github.com/baresip/re/pull/504
* cmake: add USE\_JBUF option by @alfredh in https://github.com/baresip/re/pull/507
* http/https requests with large body by @fAuernigg in https://github.com/baresip/re/pull/485
* http/client: fix possible null pointer dereference by @sreimers in https://github.com/baresip/re/pull/509
* ci: test choco install no-progress by @alfredh in https://github.com/baresip/re/pull/510
* bitv: remove deprecated module by @alfredh in https://github.com/baresip/re/pull/513
* types,fmt: use re\_restrict by @sreimers in https://github.com/baresip/re/pull/514
* refer out of dialog by @cspiel1 in https://github.com/baresip/re/pull/508
* UPDATE bugfix by @maximilianfridrich in https://github.com/baresip/re/pull/516
* sip/auth: fix mem\_zalloc return check by @sreimers in https://github.com/baresip/re/pull/518
* Update media fixes by @cspiel1 in https://github.com/baresip/re/pull/515
* dns, http: add dnsc\_getaddrinfo\_enabled. prevent reset of getaddrinfo enabled by @fAuernigg in https://github.com/baresip/re/pull/519
* rtp: Improve media synchronization by @Lastique in https://github.com/baresip/re/pull/418
* conf: check if returned size is larger than buffer by @alfredh in https://github.com/baresip/re/pull/523
* udp: remove very old iOS hack by @alfredh in https://github.com/baresip/re/pull/524
* tcp: remove very old iOS hack by @alfredh in https://github.com/baresip/re/pull/525
* Use CMake for debian packages by @sreimers in https://github.com/baresip/re/pull/522
* crc32: add re wrapper by @alfredh in https://github.com/baresip/re/pull/526
* ci: convert valgrind to cmake by @alfredh in https://github.com/baresip/re/pull/529
* ci: convert ssl build to cmake by @alfredh in https://github.com/baresip/re/pull/530
* ci: convert fedora to cmake by @alfredh in https://github.com/baresip/re/pull/531
* ci: convert coverage to cmake by @alfredh in https://github.com/baresip/re/pull/532
* ci: migrate to cmake by @alfredh in https://github.com/baresip/re/pull/533
* cmake: add LINKLIBS and make backtrace and zlib optional by @sreimers in https://github.com/baresip/re/pull/534
* C99 compatibility by @sreimers in https://github.com/baresip/re/pull/536
* pcp: fix cppcheck warning by @alfredh in https://github.com/baresip/re/pull/540
* fmt/print: fix cppcheck overflow warning by @sreimers in https://github.com/baresip/re/pull/542
* tls: remove SHA1 fingerprint (deprecated) by @alfredh in https://github.com/baresip/re/pull/527
* send DTMF via hidden call by @cspiel1 in https://github.com/baresip/re/pull/537
* sipreg: avoid sending un-REGISTER periodically by @cspiel1 in https://github.com/baresip/re/pull/543
* cmake,mk: bump the tentative next release with pre-release identifier by @sreimers in https://github.com/baresip/re/pull/546
* sipsess/update: Add Contact header to UPDATE by @maximilianfridrich in https://github.com/baresip/re/pull/545
* cmake: fix shared API soversion (aligned with make) by @sreimers in https://github.com/baresip/re/pull/549

---

## [v2.7.0] - 2022-09-01

* async: add re_thread_async by @sreimers in https://github.com/baresip/re/pull/462
Expand Down
Loading

0 comments on commit ea6b6e3

Please sign in to comment.