Welcome to BearWare.dk! BearWare.dk is a software consultancy company which provides customer support and implement customer specific features for the TeamTalk Conferencing System.
TeamTalk 5 is a freeware conferencing system which allows multiple users to participate in audio and video conversations. The TeamTalk install file includes both client and server application.
The TeamTalk 5 SDK enables software developers to easily implement features for sending and receiving multiple audio and video streams. The SDK consists of a client DLL and a standalone server which can be used on both LAN and Internet. The SDK comes with wrapper classes for .NET Framework, Java and a C-API which allow development on Windows, Mac OS X, Linux, iOS and Android.
To quickly see one example of how the TeamTalk 5 SDK can be used try downloading the TeamTalk 5 application.
The TeamTalk conferencing software has been developed since 2002. Over time many users and organizations have helped develop TeamTalk into what it is today. You can also help by supporting the TeamTalk 5 project on GitHub:
TeamTalk 5 Development
https://github.com/BearWare/TeamTalk5
187 forks.
383 stars.
94 open issues.
Recent commits:
- Bump actions/setup-java from 5 to 6 in the github-actions groupBumps the github-actions group with 1 update: [actions/setup-java](https://github.com/actions/setup-java).Updates `actions/setup-java` from 5 to 6- [Release notes](https://github.com/actions/setup-java/releases)- [Commits](https://github.com/actions/setup-java/compare/v5…v6)—updated-dependencies:- dependency-name: actions/setup-java dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions…Signed-off-by: dependabot[bot] <support@github.com>, Sihu Hwang
- Bump gradle-wrapper from 9.7.0 to 9.7.1 in /Client/TeamTalkAndroidBumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.7.0 to 9.7.1.- [Release notes](https://github.com/gradle/gradle/releases)- [Commits](https://github.com/gradle/gradle/compare/v9.7.0…v9.7.1)—updated-dependencies:- dependency-name: gradle-wrapper dependency-version: 9.7.1 dependency-type: direct:production update-type: version-update:semver-patch…Signed-off-by: dependabot[bot] <support@github.com>, Sihu Hwang
- Bump com.android.application in /Client/TeamTalkAndroidBumps com.android.application from 9.3.1 to 9.3.2.—updated-dependencies:- dependency-name: com.android.application dependency-version: 9.3.2 dependency-type: direct:production update-type: version-update:semver-patch…Signed-off-by: dependabot[bot] <support@github.com>, Sihu Hwang
- Bounds check desktop range decoders against out-of-bounds reads (#3401)* Bounds check desktop range decoders against out-of-bounds readsGetDuplicateBlocks reads BLOCK_DUP_RANGE three values at a time but neverchecked that the decoded array length is a multiple of three, so a rangefield whose length is not a multiple of three reads past the vector.GetBlocks already guards its own array the same way.GetPacketsAcked reads PACKETRANGE_ACK two values at a time and onlychecked the count with assert(), which is compiled out of a releaseserver. ReadUInt16Array requires an even byte length but still yieldsfield_size/2 values, which can be odd, so an odd count read past thevector.Both are reachable on the server from a desktop packet and a desktop ackpacket, in the same area as the DesktopCache assertion.Reported in the desktop parsing issues.* Add incomplete desktop range regressions* Fix error after merge conflict———Co-authored-by: computertech1012 <computertech1012@users.noreply.github.com>Co-authored-by: Bjørn Damstedt Rasmussen <bear101@users.noreply.github.com>Co-authored-by: Bjørn Damstedt Rasmussen <contact@bearware.dk>, GitHub
- Reject malformed 12-bit arrays and bounds check desktop block sizes (#3400)* Reject 12-bit arrays with a one byte remainderTwo 12-bit values pack into three bytes, so a valid array ends on a wholepair or on a two byte tail. A length of 1 modulo 3 leaves a single bytethat cannot be decoded, and the final else branch inConvertFromUInt12Array did not advance the index, so the loop neverterminated wherever assert() is compiled out.ReadUInt12Array now rejects that length up front, the way ReadUInt16Arrayalready rejects its own, and the loop breaks instead of spinning.Reported in #3395.* Bounds check declared block sizes in GetBlocksThe block sizes in FIELDTYPE_BLOCKNUMS_AND_SIZES come off the wire andcan add up to more than FIELDTYPE_BLOCKS_DATA actually holds, so theblock pointer runs past the receive buffer.GetBlockFragments() already performs this check. byte_pos is uint16_t andwraps once the declared total passes 65535, so the check has to be perblock rather than on the total afterwards.Reported in #3395.* Add malformed desktop packet regressions* Check field_type in ReadUInt12Array and ReadUInt16ArrayRemove invalid assert.———Co-authored-by: computertech1012 <computertech1012@users.noreply.github.com>Co-authored-by: Bjørn Damstedt Rasmussen <bear101@users.noreply.github.com>Co-authored-by: Bjørn Damstedt Rasmussen <contact@bearware.dk>, GitHub