Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package re for openSUSE:Factory checked in at 2026-06-17 16:27:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/re (Old) and /work/SRC/openSUSE:Factory/.re.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "re" Wed Jun 17 16:27:57 2026 rev:22 rq:1360033 version:4.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/re/re.changes 2026-05-29 18:11:40.185794713 +0200 +++ /work/SRC/openSUSE:Factory/.re.new.1981/re.changes 2026-06-17 16:29:20.186672548 +0200 @@ -1,0 +2,7 @@ +Wed Jun 17 12:28:55 UTC 2026 - Martin Hauke <[email protected]> + +- Update to version 4.9.0 + * tls: remove deprecated TLS_METHOD_xxx. + * ci related changes. + +------------------------------------------------------------------- Old: ---- re-4.8.1.tar.gz New: ---- re-4.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ re.spec ++++++ --- /var/tmp/diff_new_pack.fcckDB/_old 2026-06-17 16:29:20.778697196 +0200 +++ /var/tmp/diff_new_pack.fcckDB/_new 2026-06-17 16:29:20.782697362 +0200 @@ -17,10 +17,10 @@ # -%global sover 42 +%global sover 43 %global libname lib%{name}%{sover} Name: re -Version: 4.8.1 +Version: 4.9.0 Release: 0 Summary: Library for real-time communications with async I/O support License: BSD-3-Clause ++++++ re-4.8.1.tar.gz -> re-4.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/.github/workflows/android.yml new/re-4.9.0/.github/workflows/android.yml --- old/re-4.8.1/.github/workflows/android.yml 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/.github/workflows/android.yml 2026-06-17 08:22:18.000000000 +0200 @@ -27,7 +27,7 @@ sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - - uses: actions/cache@v4 + - uses: actions/cache@v5 id: openssl with: path: openssl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/.github/workflows/cmake_win.yml new/re-4.9.0/.github/workflows/cmake_win.yml --- old/re-4.8.1/.github/workflows/cmake_win.yml 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/.github/workflows/cmake_win.yml 2026-06-17 08:22:18.000000000 +0200 @@ -39,18 +39,6 @@ c11_threads: "ON" } - { - name: "Windows Debug 32-bit", - os: windows-2022, - environment_script: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsamd64_x86.bat", - generators: "Ninja", - build: "Debug", - openssl: false, - disable_openssl: "ON", - choco: "--x86", - testing: true, - c11_threads: "OFF" # missing vcruntime library - } - - { name: "Windows Debug ARM64", os: windows-2022, environment_script: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsamd64_arm64.bat", @@ -68,7 +56,7 @@ - name: Install OpenSSL if: ${{ matrix.config.openssl }} run: | - choco install --no-progress ${{ matrix.config.choco }} openssl --version 3.6.2 + choco install --no-progress ${{ matrix.config.choco }} openssl - name: Build shell: cmd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/.github/workflows/codeql.yml new/re-4.9.0/.github/workflows/codeql.yml --- old/re-4.8.1/.github/workflows/codeql.yml 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/.github/workflows/codeql.yml 2026-06-17 08:22:18.000000000 +0200 @@ -21,7 +21,7 @@ uses: actions/checkout@v5 - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: cpp queries: security-extended @@ -34,5 +34,5 @@ cmake -B build && cmake --build build - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/.github/workflows/coverage.yml new/re-4.9.0/.github/workflows/coverage.yml --- old/re-4.8.1/.github/workflows/coverage.yml 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/.github/workflows/coverage.yml 2026-06-17 08:22:18.000000000 +0200 @@ -57,7 +57,7 @@ run: | zip -r coverage.zip html - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: coverage path: coverage.zip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/.github/workflows/mingw.yml new/re-4.9.0/.github/workflows/mingw.yml --- old/re-4.8.1/.github/workflows/mingw.yml 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/.github/workflows/mingw.yml 2026-06-17 08:22:18.000000000 +0200 @@ -38,7 +38,7 @@ with: path: baresip-win32/re - - uses: actions/cache@v4 + - uses: actions/cache@v5 id: openssl with: path: baresip-win32/openssl @@ -56,7 +56,7 @@ run: | cd baresip-win32 && make retest - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: retest-exe path: baresip-win32/re/build/test/retest.exe diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/CHANGELOG.md new/re-4.9.0/CHANGELOG.md --- old/re-4.8.1/CHANGELOG.md 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/CHANGELOG.md 2026-06-17 08:22:18.000000000 +0200 @@ -5,17 +5,31 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v4.9.0 - 2026-06-17 + +### What's Changed +* ci: bump actions/upload-artifact to fix node warning by @alfredh in https://github.com/baresip/re/pull/1586 +* ci: bump actions/cache to version 5 by @alfredh in https://github.com/baresip/re/pull/1587 +* ci/codeql: bump codeql-action to version 4 to avoid Node.js warning by @alfredh in https://github.com/baresip/re/pull/1590 +* tls: remove deprecated TLS_METHOD_xxx by @alfredh in https://github.com/baresip/re/pull/1589 +* ci: update windows job by @alfredh in https://github.com/baresip/re/pull/1592 +* fmt/time: win32 use LocalTime for fmt_timestamp by @wcqedison in https://github.com/baresip/re/pull/1593 + +### New Contributors +* @wcqedison made their first contribution in https://github.com/baresip/re/pull/1593 + +**Full Changelog**: https://github.com/baresip/re/compare/v4.8.1...v4.9.0 ## v4.8.1 - 2026-05-28 Security and Bugfix Release -## What's Changed +### What's Changed * fmt/pl: add pl_strip_html() by @sreimers in https://github.com/baresip/re/pull/1575 * sys/fs: add getpwuid fallback for fs_gethome by @sreimers in https://github.com/baresip/re/pull/1580 * tls: remove unused include rsa.h by @alfredh in https://github.com/baresip/re/pull/1581 * ice: check source address of incoming application packets by @alfredh in https://github.com/baresip/re/pull/1583 * websock: Fix integer overflow in websock_decode() masked frame check by @TristanInSec in https://github.com/baresip/re/pull/1584 -## New Contributors +### New Contributors * @TristanInSec made their first contribution in https://github.com/baresip/re/pull/1584 **Full Changelog**: https://github.com/baresip/re/compare/v4.8.0...v4.8.1 @@ -23,7 +37,7 @@ ## v4.8.0 - 2026-05-13 -## What's Changed +### What's Changed * ci/cmake_win: fix choco openssl by @sreimers in https://github.com/baresip/re/pull/1563 * test,sipreg: enable outbound testing by @alfredh in https://github.com/baresip/re/pull/1553 * ci/windows: roll back choco openssl version 3.6.2 by @alfredh in https://github.com/baresip/re/pull/1566 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/CMakeLists.txt new/re-4.9.0/CMakeLists.txt --- old/re-4.8.1/CMakeLists.txt 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/CMakeLists.txt 2026-06-17 08:22:18.000000000 +0200 @@ -14,13 +14,13 @@ cmake_minimum_required(VERSION 3.18...4.0) project(re - VERSION 4.8.1 + VERSION 4.9.0 LANGUAGES C HOMEPAGE_URL https://github.com/baresip/re DESCRIPTION "Generic library for real-time communications" ) -set(PROJECT_SOVERSION 42) # bump if ABI breaks +set(PROJECT_SOVERSION 43) # bump if ABI breaks # Pre-release identifier, comment out on a release # Increment for breaking changes (dev2, dev3...) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/include/re_tls.h new/re-4.9.0/include/re_tls.h --- old/re-4.8.1/include/re_tls.h 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/include/re_tls.h 2026-06-17 08:22:18.000000000 +0200 @@ -13,10 +13,7 @@ /** Defines the TLS method */ enum tls_method { TLS_METHOD_TLS, - TLS_METHOD_SSLV23, /* deprecated - fallback to TLS_METHOD_TLS */ TLS_METHOD_DTLS, /* DTLS 1.0 and 1.2 */ - TLS_METHOD_DTLSV1, /* deprecated - fallback to TLS_METHOD_DTLS */ - TLS_METHOD_DTLSV1_2, /* deprecated - fallback to TLS_METHOD_DTLS */ }; enum tls_fingerprint { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/mk/Doxyfile new/re-4.9.0/mk/Doxyfile --- old/re-4.8.1/mk/Doxyfile 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/mk/Doxyfile 2026-06-17 08:22:18.000000000 +0200 @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = libre -PROJECT_NUMBER = 4.8.1 +PROJECT_NUMBER = 4.9.0 OUTPUT_DIRECTORY = ../re-dox CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/src/fmt/time.c new/re-4.9.0/src/fmt/time.c --- old/re-4.8.1/src/fmt/time.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/src/fmt/time.c 2026-06-17 08:22:18.000000000 +0200 @@ -110,7 +110,7 @@ #ifdef WIN32 SYSTEMTIME st; - GetSystemTime(&st); + GetLocalTime(&st); h = st.wHour; m = st.wMinute; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/src/http/client.c new/re-4.9.0/src/http/client.c --- old/re-4.8.1/src/http/client.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/src/http/client.c 2026-06-17 08:22:18.000000000 +0200 @@ -1016,7 +1016,7 @@ goto out; #ifdef USE_TLS - err = tls_alloc(&cli->tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&cli->tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/src/http/server.c new/re-4.9.0/src/http/server.c --- old/re-4.8.1/src/http/server.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/src/http/server.c 2026-06-17 08:22:18.000000000 +0200 @@ -462,7 +462,7 @@ return err; #ifdef USE_TLS - err = tls_alloc(&sock->tls, TLS_METHOD_SSLV23, cert, NULL); + err = tls_alloc(&sock->tls, TLS_METHOD_TLS, cert, NULL); #else err = EPROTONOSUPPORT; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/src/tls/openssl/tls.c new/re-4.9.0/src/tls/openssl/tls.c --- old/re-4.8.1/src/tls/openssl/tls.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/src/tls/openssl/tls.c 2026-06-17 08:22:18.000000000 +0200 @@ -216,14 +216,11 @@ switch (method) { case TLS_METHOD_TLS: - case TLS_METHOD_SSLV23: ctx = SSL_CTX_new(TLS_method()); min_proto = TLS1_2_VERSION; break; case TLS_METHOD_DTLS: - case TLS_METHOD_DTLSV1: - case TLS_METHOD_DTLSV1_2: ctx = SSL_CTX_new(DTLS_method()); break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/combo/dtls_turn.c new/re-4.9.0/test/combo/dtls_turn.c --- old/re-4.8.1/test/combo/dtls_turn.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/combo/dtls_turn.c 2026-06-17 08:22:18.000000000 +0200 @@ -301,7 +301,7 @@ /* allocate DTLS */ ag->dtls_active = dtls_active; - err = tls_alloc(&ag->tls, TLS_METHOD_DTLSV1, NULL, NULL); + err = tls_alloc(&ag->tls, TLS_METHOD_DTLS, NULL, NULL); if (err) goto out; @@ -405,7 +405,7 @@ struct agent *a = NULL, *b = NULL; int err = 0; - if (!have_dtls_support(TLS_METHOD_DTLSV1)) { + if (!have_dtls_support(TLS_METHOD_DTLS)) { re_fprintf(stderr, "skip DTLS/TURN test\n"); return ESKIPPED; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/dtls.c new/re-4.9.0/test/dtls.c --- old/re-4.8.1/test/dtls.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/dtls.c 2026-06-17 08:22:18.000000000 +0200 @@ -321,18 +321,18 @@ /* NOTE: DTLS v1.0 should be available on all * supported platforms. */ - if (!have_dtls_support(TLS_METHOD_DTLSV1)) { + if (!have_dtls_support(TLS_METHOD_DTLS)) { (void)re_printf("skip DTLS 1.0 tests\n"); return ESKIPPED; } else { - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, false, NULL, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, false, NULL, "127.0.0.1"); if (err) return err; if (test_ipv6_supported()) { - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, false, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, false, NULL, "::1"); TEST_ERR(err); } @@ -347,24 +347,24 @@ { int err = 0; - if (!have_dtls_support(TLS_METHOD_DTLSV1)) { + if (!have_dtls_support(TLS_METHOD_DTLS)) { (void)re_printf("skip DTLS tests\n"); return ESKIPPED; } - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, true, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, true, "SRTP_AES128_CM_SHA1_80", "127.0.0.1"); TEST_ERR(err); - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, true, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, true, "SRTP_AES128_CM_SHA1_32", "127.0.0.1"); TEST_ERR(err); - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, true, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, true, "SRTP_AEAD_AES_128_GCM", "127.0.0.1"); TEST_ERR(err); - err = test_dtls_srtp_base(TLS_METHOD_DTLSV1, true, + err = test_dtls_srtp_base(TLS_METHOD_DTLS, true, "SRTP_AEAD_AES_256_GCM", "127.0.0.1"); TEST_ERR(err); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/http.c new/re-4.9.0/test/http.c --- old/re-4.8.1/test/http.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/http.c 2026-06-17 08:22:18.000000000 +0200 @@ -728,7 +728,7 @@ TEST_EQUALS(2, mem_nrefs(tls_cli)); /* Allocate new TLS Context */ - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); TEST_ERR(err); TEST_NOT_EQUALS(tls, tls_cli); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/mock/sipsrv.c new/re-4.9.0/test/mock/sipsrv.c --- old/re-4.8.1/test/mock/sipsrv.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/mock/sipsrv.c 2026-06-17 08:22:18.000000000 +0200 @@ -117,7 +117,7 @@ goto out; #ifdef USE_TLS - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/rtmp.c new/re-4.9.0/test/rtmp.c --- old/re-4.8.1/test/rtmp.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/rtmp.c 2026-06-17 08:22:18.000000000 +0200 @@ -675,7 +675,7 @@ re_snprintf(path, sizeof(path), "%s/server-ecdsa.pem", test_datapath()); - err = tls_alloc(&ep->tls, TLS_METHOD_SSLV23, + err = tls_alloc(&ep->tls, TLS_METHOD_TLS, is_client ? NULL : path, NULL); if (err) goto out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/sip.c new/re-4.9.0/test/sip.c --- old/re-4.8.1/test/sip.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/sip.c 2026-06-17 08:22:18.000000000 +0200 @@ -809,7 +809,7 @@ err = sa_set_str(&laddr, "127.0.0.1", 0); TEST_ERR(err); - err = tls_alloc(&stt->tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&stt->tls, TLS_METHOD_TLS, NULL, NULL); TEST_ERR(err); (void)re_snprintf(cafile, sizeof(cafile), "%s/server-ecdsa.pem", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/sipreg.c new/re-4.9.0/test/sipreg.c --- old/re-4.8.1/test/sipreg.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/sipreg.c 2026-06-17 08:22:18.000000000 +0200 @@ -66,7 +66,7 @@ #ifdef USE_TLS /* TLS-context for client -- no certificate needed */ - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/re-4.8.1/test/tls.c new/re-4.9.0/test/tls.c --- old/re-4.8.1/test/tls.c 2026-05-28 17:00:02.000000000 +0200 +++ new/re-4.9.0/test/tls.c 2026-06-17 08:22:18.000000000 +0200 @@ -196,7 +196,7 @@ if (err) goto out; - err = tls_alloc(&tt.tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tt.tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; @@ -348,7 +348,7 @@ uint8_t fp[32]; int err; - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; @@ -380,7 +380,7 @@ struct mbuf *mb = NULL; int err; - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; @@ -421,7 +421,7 @@ const char *cafile_wrong = "/some/path/to/wrong/file.crt"; const char *capath_wrong = "/some/path/to/nothing"; - err = tls_alloc(&tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; @@ -462,7 +462,7 @@ if (err) goto out; - err = tls_alloc(&tt.tls, TLS_METHOD_SSLV23, NULL, NULL); + err = tls_alloc(&tt.tls, TLS_METHOD_TLS, NULL, NULL); if (err) goto out; @@ -585,12 +585,12 @@ /* UAC global not matching cert (test checks that it is not used) */ re_snprintf(path, sizeof(path), "%s/client.pem", dp); - err = tls_alloc(&tt.tls, TLS_METHOD_SSLV23, path, NULL); + err = tls_alloc(&tt.tls, TLS_METHOD_TLS, path, NULL); TEST_ERR(err); /* UAS cert + intermediate CA */ re_snprintf(path, sizeof(path), "%s/sni/server-interm.pem", dp); - err = tls_alloc(&tt.tls2, TLS_METHOD_SSLV23, path, NULL); + err = tls_alloc(&tt.tls2, TLS_METHOD_TLS, path, NULL); TEST_ERR(err); /* set root CA at UAC and UAS */
