Eric Schirra
ecf5b3826f
- Update to 0.2.18 * Features - Merge group announce portion of new groupchats implementation @JFreegman (#2230) - Allow overriding mono_time in tox_new. @iphydf (#2206) - Store announcements @zugz (#2147) - Add support for custom random number generator. @iphydf (#2190) - Merge moderation portion of new groupchats codebase @JFreegman (#2169) - Add support for overriding network functions. @iphydf (#2177) - Merge onion_announce changes from new groupchats fork @JFreegman (#2164) * Performance improvements - Make time move a lot faster in fuzzing runs. @iphydf (#2193) * Bug Fixes - remove the assert because buffer can be larger than UINT16_MAX. @zoff99 (#2299) - Don't allow onion paths to be built from real friends. @iphydf (#2287) - Fix potential array out-of-bounds in DHT onion path building. @iphydf (#2282) - Allow onion paths to be built from more random nodes. @iphydf (#2283) - Really fix overrun added in e49a477 @zugz (#2273) - Add missing return on error @JFreegman (#2272) - Fixed leak and overrun added in e49a477 @zugz (#2266) - Format IP as string again in error log. @iphydf (#2257) - Fix a stack overflow triggered by small DHT packets. @iphydf (#2255) - Don't crash if RNG init failed. @iphydf (#2246) - fix typo in git command in INSTALL.md @zugz (#2225) - Correct calculation of packet sent time @zugz (#2195) - Eliminate memory leak in toxav. @iphydf (#2155) - Allow port range in DHT_bootstrap.c. @iphydf (#2143) * Documentation - Add information regarding git submodules, cmp to INSTALL.md @Tha14 (#2201) - Put all the tox public api into a fake "tox" namespace. @iphydf (#2153) * Maintenance (Grunt tasks) - Release 0.2.18 @robinlinden (#2300) - Downgrade C++ version to 17 @JFreegman (#2275) - Upgrade to C++20 in CMake build. @iphydf (#2263) - Add initial ESP32 docker build. @iphydf (#2243) - Add MISRA-2012 check using cppcheck's misra addon. @iphydf (#2251) - Support producing shared libraries on Windows @robinlinden (#2204) - Add dependabot config. @iphydf (#2236) - Fix path to fuzzer binaries in clusterfuzz build. @iphydf (#2228) - Add uint8_t version of bin_pack for numbers. @iphydf (#2223) - Clone submodules in clusterfuzzlite Dockerfile. @iphydf (#2210) - Remove valgrind build. @iphydf (#2208) - Add third_party to toxcore-sources docker image. @iphydf (#2189) - Use "master" as the branch in toktok-fuzzer. @iphydf (#2173) - Enable memory sanitizer build. @iphydf (#2163) - Update the Appveyor build to VS2019 to work around conan issues @robinlinden (#2159) - Be even more explicit about integer range bounds. @iphydf (#2145) - Add testing/Dockerfile to the CI build. @iphydf (#2146) * Maintenance (Code cleanup) - remove unused field last_seen from Onion_Friend @zugz (#2297) - Avoid goto in msi.c. @iphydf (#2281) - Replace a series of if statements with a switch. @iphydf (#2233) - remove populate_path_nodes_tcp @zugz (#2250) - Use static_assert instead of assert where possible. @iphydf (#2242) - Make *_free and kill_* functions nullable. @iphydf (#2238) - Remove layers in the cmake build. @iphydf (#2229) - Add Network object parameter for addr_resolve. @iphydf (#2217) - Remove unused random_testing program. @iphydf (#2213) - Remove all uses of TOX_*_MAX_SIZE macros. @iphydf (#2214) - Add include for assert.h for the fuzzing build. @iphydf (#2224) - Move definitions of tox_private.h functions to tox_private.c. @iphydf (#2211) - Expand CONST_FUNCTION and remove the macro. @iphydf (#2212) - Mark Mono_Time const where possible. @iphydf (#2199) - Avoid name clash between struct field and function. @iphydf (#2202) - Add more null checks in tox_new. @iphydf (#2200) - Make addr_resolve a private function. @iphydf (#2188) - Use _Static_assert in gcc/clang. @iphydf (#2186) - improve CMakeLists.txt structure @sudden6 (#2101) - Expose struct Tox to internal code. @iphydf (#2158) - Reduce scope of array-typed variables where possible. @iphydf (#2167) - Reduce scope of variables as requested by cimple. @iphydf (#2166) - Avoid memset on structs. @iphydf (#2149) - Split the huge TCP client packet handler. @iphydf (#2157) - Sync doc comments between .h and .c files. @iphydf (#2156) - Move all the group.h structs into group.c. @iphydf (#2150) - Minor cleanups in TCP_connection.c. @iphydf (#2144) - Count re-adding an existing bootstrap node as success. @iphydf (#2142) - Disable LAN discovery in TCP-only mode. @iphydf (#2141) - Add assertion for decrypted data length. @iphydf (#2140) * Maintenance (Dependencies) - Use upstream cmp directly instead of our fork. @iphydf (#2240) * Maintenance (Refactoring) - Move crypto utilities from util to crypto_core. @iphydf (#2284) - Avoid static_cast in Fuzz_System functions. @iphydf (#2277) - Protect array unpacking against invalid lengths. @iphydf (#2261) - Rename announce functions into their own namespace. @iphydf (#2258) - Use a struct for the ip_ntoa buffer. @iphydf (#2248) - Allow NULL logger; make it no-op in NDEBUG. @iphydf (#2244) - Rename bin_pack/unpack functions the same as cmp funcs. @iphydf (#2219) - Use cmp instead of msgpack-c for events packing. @iphydf (#2175) * Maintenance (Tests) - Improve test hermeticity by using local TCP relay. @iphydf (#2280) - Add a Null_System used in toxsave_harness. @iphydf (#2289) - enable additional sanitizers for fuzzing @sudden6 (#2288) - Enable fuzzing for TCP. @iphydf (#2279) - Don't abort fuzz test when tox_new fails. @iphydf (#2285) - Improve error messages in toxav_basic_test. @iphydf (#2270) - Add more functionality to the bootstrap fuzz harness. @iphydf (#2234) - Improve stability of forwarding_test. @iphydf (#2249) - Add fuzzer support functions for internal toxcore objects. @iphydf (#2232) - Add DHT and tox_events fuzz tests to the cmake build. @iphydf (#2187) - Remove save_load_test from autotools build. @iphydf (#2196) - Enable more tests for msan. @iphydf (#2183) - Add some support functions to make writing fuzzers easier. @iphydf (#2184) - Improve stability of tox_many_tcp_test. @iphydf (#2182) - try to save the fuzzed save file again @sudden6 (#2176) - Add fuzzer tests to the bazel build. @iphydf (#2170) - Improve the stability of the save_load test @robinlinden (#2160) - Speed up toxav_many_test by using fake mono_time. @iphydf (#2154) - Changes from 0.2.17 * Performance improvements - Refactor onion_client.c do_friends() to reduce network traffic @JFreegman (#2078) - fix issue with friend finding taking too long after disconnects. @JFreegman (#2092) * Bug Fixes - Report failure to DHT bootstrap back to the client. @iphydf (#2104) - Null function pointer dereference. @iphydf (#2094) - out-of-memory condition by corrupted save file @sudden6 (#2084) - toxsave memory leak while loading groups @sudden6 (#2064) * Documentation - Clean up doxygen comments to be more doxygen-like. @iphydf (#2136) * Maintenance (Grunt tasks) - Enable a bunch more warnings in GCC builds. @iphydf (#2122) - remove cpufeatures.c @sudden6 (#2100) - remove DHT_test.c since it's unused @sudden6 (#2098) - Add a .clang-format that mostly agrees with astyle. @iphydf (#2075) - Make coverity scan a nightly job. @iphydf (#2074) - Simplify and speed up windows builds using docker image. @iphydf (#2072) - Fix build-args in win32/win64 docker build. @iphydf (#2073) - Add docker image builds for windows cross compiler. @iphydf (#2070) * Maintenance (Code cleanup) - Add explicit callback setters for MSI callbacks. @iphydf (#2134) - Split util.c out of the network library. @iphydf (#2131) - Remove redundant () around return expression. @iphydf (#2130) - Move test-only functions into tests. @iphydf (#2135) - Remove redundant Messenger and DHT tests. @iphydf (#2133) - Remove EAGAIN from the list of ignored errors. @iphydf (#2127) - Remove port from Broadcast_Info. @iphydf (#2126) - Don't reference local variables in macro bodies. @iphydf (#2125) - Remove some more implicit bool conversions. @iphydf (#2123) - Log at ERROR level when connect() fails. @iphydf (#2115) - Remove all boolean-int conversions. @iphydf (#2120) - Remove more boolean conversions (and a bugfix). @iphydf (#2116) - Comply with strict include ordering. @iphydf (#2117) - Avoid creating invalid enum values. @iphydf (#2114) - Remove superfluous parentheses on the rhs of assignments. @iphydf (#2113) - Change valid status of onion friend to bool. @iphydf (#2105) - Remove more implicit bool conversions. @iphydf (#2103) - Mark all local non-pointers as const where possible. @iphydf (#2102) - Reduce name shadowing; remove ptr-to-bool conversions. @iphydf (#2099) - Remove implicit conversions from uint32_t to bool. @iphydf (#2097) - Return boolean constants, not ints from bool functions. @iphydf (#2096) - Remove any disallowed casts. @iphydf (#2093) - Avoid casting function pointers. @iphydf (#2091) - Enable most cppcheck warnings as errors. @iphydf (#2086) - Remove all implicit bool conversions in if-conditions. @iphydf (#2088) - Remove unused execution trace library. @iphydf (#2079) * Maintenance (Refactoring) - Move tox_new_log to auto_test_support. @iphydf (#2090) * Maintenance (Tests) - Add unit test for create/handle request packets. @iphydf (#2128) - Add mallocfail and proxy test to our coverage runs. @iphydf (#2108) - Add test coverage docker build for local tests. @iphydf (#2106) - Changes from 0.2.16 * Features - Improve how we share TCP relays with friends @JFreegman (#2047) - add DHT queries to private API @JFreegman (#1935) - add bash-completion for tox-bootstrapd @nurupo (#2007) - Add unpacker functions for events structures. @iphydf (#1996) - Add binary packing functions for tox events. @iphydf (#1993) - Add async event handling (callbacks) code. @iphydf (#1952) * Performance improvements - Take advantage of fast networks for file transfers @zugz (#1668) - Reduce minimal encoding size of packed events. @iphydf (#2024) * Bug Fixes - properly deallocate frozen peers @sudden6 (#2058) - Fix return type of functions returning uint64_t. @iphydf (#2052) - file transfer bug introduced in commit 2073d02 @JFreegman (#2041) - remove bogus asserts in fuzzer harness @sudden6 (#2031) - syntax error introduced in 8bf3799 @sudden6 (#2028) - add continous fuzzing @sudden6 (#2027) - Coverty scan @nurupo (#2018) - shared toxcore autotools build failing @nurupo (#2015) - Conan build link failures @robinlinden (#2011) * Documentation - Add libmsgpack dependency in INSTALL.md @cryptogospod (#2016) * Maintenance (Grunt tasks) - Simplify and speed up nacl build using toxchat/nacl. @iphydf (#2069) - Add BUILD file for websockify. @iphydf (#2036) - fine tune fuzzing settings @sudden6 (#2035) - update the list of CMake options & Windows Docker build deps @nurupo (#2032) - expand fuzzing to toxsave @sudden6 (#2030) - Fix implicit declaration warning in fuzz build @robinlinden (#2026) - add continous fuzzing to our CI @sudden6 (#2025) - Set up an Android CI job @robinlinden (#1992) - Disable non-null attributes by default. @iphydf (#2021) - Silence clang compile warnings causing circle-ci/asan to fail @JFreegman (#2019) - Coverty scan @nurupo (#2018) - get skeletons out of the closet @nurupo (#2008) - shared toxcore autotools build failing @nurupo (#2015) - Remove duplicate source file in autotools build. @iphydf (#2010) - Add an undefined behaviour/integer sanitizer build. @iphydf (#2001) - Speed up cmake builds with UNITY_BUILD. @iphydf (#1999) - Add an easy way to run autotools and circleci builds locally. @iphydf (#1982) - Update readme header @robinlinden (#1979) * Maintenance (Code cleanup) - Enable tokstyle's -Wlarge-struct-params. @iphydf (#2053) - Avoid implicit bool conversions in logical operators. @iphydf (#2055) - Avoid implicit boolean and floating point conversions in decls. @iphydf (#2056) - Apply stronger type checks and fix errors. @iphydf (#2049) - Avoid implicit pointer-to-bool conversion in if in toxav. @iphydf (#2046) - Add some more error path logging to TCP server code. @iphydf (#2033) - Add wrapper library for msgpack pack functions @JFreegman (#2023) - Don't use VLAs for huge allocations. @iphydf (#2013) - Split tox_unpack into two smaller libs @JFreegman (#2022) - get skeletons out of the closet @nurupo (#2008) - Add more nonnull and nullable annotations. @iphydf (#2006) - Add nonnull annotations to function definitions. @iphydf (#2002) - Make LAN discovery thread-safe without data races. @iphydf (#1988) - Comply with new cimple callback rules. @iphydf (#1987) - Split msi callback array into 1 member per callback @robinlinden (#1985) * Maintenance (Refactoring) - Compare pointers in if conditions to nullptr. @iphydf (#2043) - Add a bit more logging; change WARNING to ERROR. @iphydf (#2039) * Maintenance (Tests) - Add a profiling script and Dockerfile. @iphydf (#2066) OBS-URL: https://build.opensuse.org/request/show/985135 OBS-URL: https://build.opensuse.org/package/show/server:messaging/c-toxcore?expand=0&rev=37
180 lines
5.9 KiB
RPMSpec
180 lines
5.9 KiB
RPMSpec
#
|
|
# spec file for package c-toxcore
|
|
#
|
|
# Copyright (c) 2022 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
|
|
%define _soversion 2
|
|
Name: c-toxcore
|
|
Version: 0.2.18
|
|
Release: 0
|
|
Summary: Secure decentralized instant messaging application
|
|
License: GPL-3.0-only
|
|
Group: Productivity/Networking/Instant Messenger
|
|
URL: https://tox.chat/
|
|
Source0: https://github.com/TokTok/c-toxcore/archive/v%{version}.tar.gz#./%{name}-%{version}.tar.gz
|
|
Source1: %{name}.tmpfiles.d
|
|
# Dont't find right key at this time. :(
|
|
#Source2: https://github.com/TokTok/c-toxcore/releases/download/v%%{version}/%%{name}-%%{version}.tar.gz.asc
|
|
Source3: %{name}.keyring
|
|
Source10: https://github.com/camgunz/cmp/archive/v20/cmp-v20.tar.gz
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: libconfig-devel
|
|
BuildRequires: libopus-devel
|
|
BuildRequires: libsodium-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: libvpx-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: pkgconfig(msgpack)
|
|
BuildRequires: pkgconfig(systemd)
|
|
Requires(pre): shadow
|
|
%{?systemd_requires}
|
|
|
|
%description
|
|
Project Tox, also known as Tox, is a FOSS instant messaging
|
|
application aimed to replace Skype.
|
|
With the rise of government monitoring programs,
|
|
Tox provides an easy to use application that allows you to connect
|
|
with friends and family without anyone else listening in.
|
|
While other big-name services require you to pay for features,
|
|
Tox is totally free and comes without advertising
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{name} = %{version}
|
|
Requires: libtoxcore%{_soversion} = %{version}
|
|
|
|
%description devel
|
|
Development libraries and headers needed to build software using %{name}.
|
|
|
|
%package daemon
|
|
Summary: Bootstrap-daemon for toxcore
|
|
Group: Productivity/Networking/Instant Messenger
|
|
|
|
%description daemon
|
|
Bootstrap-daemon to dispose hashtable for toxcore.
|
|
|
|
%package -n libtoxcore%{_soversion}
|
|
Summary: Core library for toxcore
|
|
Group: System/Libraries
|
|
|
|
%description -n libtoxcore%{_soversion}
|
|
This are the Core library for toxcore.
|
|
|
|
%prep
|
|
%setup -q
|
|
# install submodules
|
|
pushd third_party/cmp
|
|
tar xvzf %{SOURCE10} --strip 1
|
|
popd
|
|
# change location of bootstrap bin
|
|
sed -ri 's:%{_prefix}/local/bin/tox-bootstrapd:%{_bindir}/tox-bootstrapd:g' other/bootstrap_daemon/tox-bootstrapd.service
|
|
# change user and of bootstrapd
|
|
sed -ri 's:User=tox-bootstrapd:User=tox:g' other/bootstrap_daemon/tox-bootstrapd.service
|
|
sed -ri 's:Group=tox-bootstrapd:Group=toxcmd:g' other/bootstrap_daemon/tox-bootstrapd.service
|
|
# change location of bootstrap kyes
|
|
sed -ri 's:%{_localstatedir}/lib/tox-bootstrapd/keys:%{_sysconfdir}/tox/bootstrapd/keys:g' other/bootstrap_daemon/tox-bootstrapd.conf
|
|
|
|
%build
|
|
pushd build
|
|
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
|
-DBUILD_TOXAV=ON \
|
|
-DMUST_BUILD_TOXAV=ON \
|
|
-DBOOTSTRAP_DAEMON=ON \
|
|
-DDHT_BOOTSTRAP=ON \
|
|
-DENABLE_STATIC=OFF \
|
|
..
|
|
|
|
make %{?_smp_mflags}
|
|
popd
|
|
|
|
%install
|
|
make install -C build PREFIX=%_prefix DESTDIR=%buildroot
|
|
|
|
# Install dir /var/run/graylog2-server
|
|
install -d -m 0755 %{buildroot}%{_prefix}/lib/tmpfiles.d/
|
|
install -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/tmpfiles.d/tox-bootstrapd.conf
|
|
|
|
# Install dir /var/lib/tox-bootstrapd
|
|
install -d -m 0755 %{buildroot}%{_localstatedir}/lib/tox-bootstrapd/
|
|
# Install dir /etc/tox/bootstrapd/keys
|
|
install -d -m 0700 %{buildroot}%{_sysconfdir}/tox/bootstrapd/keys
|
|
|
|
# Install dir /etc and bootstrap-config
|
|
mkdir -p %{buildroot}/%{_sysconfdir}
|
|
install -D -m 0640 other/bootstrap_daemon/tox-bootstrapd.conf %{buildroot}%{_sysconfdir}/tox/bootstrapd/tox-bootstrapd.conf
|
|
|
|
# Install init-scripts
|
|
mkdir -p %{buildroot}/%{_sbindir}
|
|
install -D -m 0644 other/bootstrap_daemon/tox-bootstrapd.service %{buildroot}%{_unitdir}/tox-bootstrapd.service
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rctox-bootstrapd
|
|
|
|
%pre daemon
|
|
%service_add_pre tox-bootstrapd.service
|
|
# create tox-bootstrapd group
|
|
if ! getent group toxcmd >/dev/null; then
|
|
groupadd -r toxcmd
|
|
fi
|
|
# create tox-bootstrapd user
|
|
if ! getent passwd tox >/dev/null; then
|
|
useradd -r -g toxcmd -d %{_localstatedir}/lib/tox-bootstrapd \
|
|
-s /sbin/nologin -c "Tox Bootstrap" tox
|
|
fi
|
|
|
|
%post daemon
|
|
%service_add_post tox-bootstrapd.service
|
|
systemd-tmpfiles --create %{_prefix}/lib/tmpfiles.d/tox-bootstrapd.conf
|
|
|
|
%post -n libtoxcore%{_soversion} -p /sbin/ldconfig
|
|
|
|
%preun daemon
|
|
%service_del_preun tox-bootstrapd.service
|
|
|
|
%postun daemon
|
|
%service_del_postun tox-bootstrapd.service
|
|
|
|
%postun -n libtoxcore%{_soversion} -p /sbin/ldconfig
|
|
|
|
%files devel
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/*.pc
|
|
%dir %{_includedir}/tox
|
|
%{_includedir}/tox/*
|
|
|
|
%files
|
|
%license LICENSE
|
|
%doc README.md DONATORS CHANGELOG.md
|
|
|
|
%files daemon
|
|
%dir %{_sysconfdir}/tox
|
|
%dir %{_sysconfdir}/tox/bootstrapd
|
|
%config(noreplace) %{_sysconfdir}/tox/bootstrapd/tox-bootstrapd.conf
|
|
%{_datadir}/bash-completion/completions/tox-bootstrapd
|
|
%{_bindir}/DHT_bootstrap
|
|
%{_bindir}/tox-bootstrapd
|
|
%{_unitdir}/tox-bootstrapd.service
|
|
%{_tmpfilesdir}/tox-bootstrapd.conf
|
|
%{_sbindir}/rctox-bootstrapd
|
|
%dir %{_localstatedir}/lib/tox-bootstrapd
|
|
%dir %attr(0770,tox,toxcmd) %{_sysconfdir}/tox/bootstrapd/keys
|
|
|
|
%files -n libtoxcore%{_soversion}
|
|
%{_libdir}/libtoxcore.so.%{_soversion}*
|
|
|
|
%changelog
|