Git Product home page Git Product logo

toxcore-vs's Introduction

Isotoxin

Multiprotocol messenger for windows XP and later with tox support

Features

  • Standard features like:
    • Nickname customization
    • Status customization
    • Friendlist
    • One to one conversations
    • Message history
    • Unread messages notification
  • Autoupdate
  • Audio/Video calls
  • Desktop sharing via video calls
  • File transfers
  • File transfer resuming
  • UI Themes
  • Multilangual
  • Multiprofile
  • Metacontacts
  • Avatars
  • Faux offline messaging
  • DNS discovery (tox1 and tox3)
  • Tox group chats (and audio group chats)
  • Send message create time (only Isotoxin to Isotoxin)
  • Unlimited message length (only Isotoxin to Isotoxin)
  • Emoticons
  • Inline images
  • Spell checker + Spelling dictionary build-in downloader

Screenshots

Main Window (Dark Theme) Main Window (Light Theme) Settings) Prepare image)

Build instruction

Windows (Visual Studio 2015)

  • Visual Studio 2015 must be installed.

  • Command line git must be installed (it used to get some libs)

  • Enter build-win folder. Threre are 3 utils: 7z, grep, wget

  • run 1-get-libs.cmd - it will download some libs (such as zlib, pnglib and so on) from external sources. All you need is internet access. wget and git used to download, 7z used to unpack files.

  • run 2-build-libs-2015.cmd - it (re)builds external libs.

  • run 3-build-isotoxin-2015.cmd - build of isotoxin.exe, plghost.exe and proto.dll's.

  • run 4-build-assets.cmd - it creates isotoxin.data - zip archive with Isotoxin assets. Also, you can take it from https://github.com/isotoxin/isotoxin/releases or http://isotoxin.im/files from latest version archive.

  • sometimes you have to run 5-update-libs.cmd to update toxcore or/and download new external libs. Don't forget to run 2_build_libs.cmd again.

  • If you want to build 64-bit version of Isotoxin, just run 2-build-libs-2015.cmd and 3-build-isotoxin-2015.cmd with 64 parameter: 2-build-libs-2015.cmd 64 3-build-isotoxin-2015.cmd 64

Linux

(work in progress)

toxcore-vs's People

Contributors

isotoxin avatar nixman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

toxcore-vs's Issues

Memory leak in group code (on termination)

Reproducing test case:

int main(void)
{
    // Create toxes.
    Tox *tox1 = tox_new(0, 0);

    // Create two conferences and then exit.
    tox_conference_new(tox1, 0);
    tox_conference_new(tox1, 0);

    tox_kill(tox1);

    return 0;
}

Leak check trace:

=================================================================
==31974==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 312 byte(s) in 1 object(s) allocated from:
    #0 0x7fe092e90090 in realloc (libasan.so.3+0xc2090)
    #1 0x556c66112b1b in realloc_groupchats ../toxcore/group.c:128
    #2 0x556c66119802 in del_groupchat_internal ../toxcore/group.c:1211
    #3 0x556c661279e3 in kill_groupchats ../toxcore/group.c:3885
    #4 0x556c6617807c in tox_kill ../toxcore/tox.c:208
    #5 0x556c660fcd61 in main conference_two_test.c:27
    #6 0x7fe0925cc2e0 in __libc_start_main (libc.so.6+0x202e0)

SUMMARY: AddressSanitizer: 312 byte(s) leaked in 1 allocation(s).

Use-after-free if the client doesn't accept fake-invite inside the invite callback

Test case: https://github.com/TokTok/c-toxcore/blob/master/auto_tests/conference_double_invite_test.c.

Note how we don't accept the invite in the callback, resulting in undefined behaviour (use-after-free) on the next tox_iterate call. This is an issue, because:

  1. Some language bindings (e.g. tox4j) defer callback handling by storing the callback data in a queue and processing it afterwards.
  2. The API should generally be robust against misuse. If a standard-conforming program is using the API, it should not cause undefined behaviour inside the implementation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.