summaryrefslogtreecommitdiff
path: root/ratox.c
AgeCommit message (Expand)Author
2016-11-08Make ToxAV/Tox_Options a structz3bra
2016-11-08Ditch TOX_FRIEND_ADDRESS_SIZEz3bra
2016-11-08Replace toxav_send_audio with toxav_audio_send_framez3bra
2016-11-08Update file control constant and flowz3bra
2016-11-08Update status length constant namez3bra
2016-11-08Rename CLIENT_ID to ADDRESS in constantsz3bra
2016-11-08Update user status constantsz3bra
2016-11-08Update friend request message constantsz3bra
2016-11-08Load data into Tox_Option structurez3bra
2016-10-31Compile against local toxcore submodulez3bra
2016-10-31Add missing variable for weprintf conversion.pranomostro
2015-01-07Implement proxy functionality as desired...Now we support both HTTP and SOCKS5 proxies. While at it, get rid of the outdated usage string and just establish the fact we have a bloody manpage for explanations. FRIGN
2015-01-07Quick fix for API-change...More fundamental support for the now multiple proxy types will follow. FRIGN
2014-12-25Change the command line parameters to reflect the config.def.h-changes...There must now be a way to explicitly disable proxy-mode and tcp-mode. FRIGN
2014-12-25Add ipv6-, tcp- and proxy-mode to config.def.h...There's no reason to prevent the user from setting this stuff at compile time. FRIGN
2014-12-23Properly align tables as wellsin
2014-12-23Align globals and local variablessin
2014-12-23Fix indentation and alignmentsin
2014-12-11Indent with tabs and align with spacessin
2014-12-09Add ability to specify save file as command line argument...Also, get closer to the STS (Single Tox Standard) by calling the the save file "save file" and not "data file". Additionally, augment the manual section about encrypting and decrypting the save file. FRIGN
2014-12-08Rework some of the log-warningsFRIGN
2014-12-08Proceed with cleanupFRIGN
2014-12-08Guard FD_APPEND with a do { } while(0)sin
2014-12-08Begin cleanup according to style(9)FRIGN
2014-12-07Re-prompt passphrase when creating a new encrypted save...This is more consistent with the de-facto behaviour of password-setting prompts. FRIGN
2014-12-05Add -E and -e to enable and disable data file encryptionsin
2014-12-01Do not handle SIGABRT - let it terminate the process immediatelysin
2014-12-01Do the datasave() as early as possible in shutdown()sin
2014-12-01Save data file on receipt of a deadly signalsin
2014-11-30Connect to nodes in a random order to minimize load on any given nodesin
2014-11-29Adapt to latest cleanup in APIFRIGN
2014-11-28Fix stylesin
2014-11-27Don't lock up on blocking call_out...Since the av-refactor, we keep a call active as long as there is a listener or a sender. In case we don't have a listener, don't lock up in the sending function and rather just fall-through in case the write blocks. We can't do that as easily with the file-data-code, because data- integrity is very important there. FRIGN
2014-11-26Fit ratox to new toxav-API...mannol has done a great job re-working the toxav-api[0] also based on our suggestions for a stricter callback-approach. Previously, toxav-callbacks could hit any time, leaving us with dramatic timing-issues and instability in certain situations. The new toxav_do()-call enables the client to control when to fire the callbacks. toxav_do_interval() makes sure no time is lost in the meantime. [0]: https://github.com/irungentoo/toxcore/pull/1163 FRIGN
2014-11-01Don't assume mono-audio in defaultsFRIGN
2014-10-24Use (none, pending, active) instead of (0, 1, 2)sin
2014-10-18Refactor logic in main-loop for pending calls even more...and implement fifoopen in other places. FRIGN
2014-10-18Don't forget to queue call_out while incoming ringing...Else the call would be rejected immediately in case you receive a call and have not yet opened call_out for reading. FRIGN
2014-10-17Indentation fixessin
2014-10-17Refactor call-state management...Checking call_out only and stopping the call as soon as call_out is gone is not desirable behaviour. It now keeps up the running call until both call_out and call_in have been "closed", no matter how or by whom it was started. This is done by introducing av.state, which is a bit field. While at it, I also incorporated the transmission-state into it. toxav_hangup() will now only be called from the one centralized flag-checking-loop before select, not in the callbacks themselves. This will also get rid of some race-conditions (more or less). Previously, call_out was constantly polled as long as the user was online. Change this to only attempt to open call_out when the call is initialized. This lowers CPU-usage dramatically. FRIGN
2014-10-16Remove ugly use of O_DIRECTORY...Oops kfreebsd builds break. Aw well. sin
2014-10-16Cleanup...AV-logging, logic and check for < 0 instead of == -1 (just to make sure). FRIGN
2014-10-15Remember to cool down the transfer for pending buffers as well...This change halves CPU usage on my system. sin
2014-10-15Only complain if errno is not EWOULDBLOCKsin
2014-10-15Only call toxav_kill_transmission() after toxav_prepare_transmission()...toxav_prepare_transmission() sets the internal toxav `call_active' state variable. This is checked in toxav_kill_transmission() and only if set, proceeds to release the resources. sin
2014-10-15Fortify and optimize file-sending...Do this in two ways: 1) only allow ratox to stay in the file-sender for a certain amount of time 2) Stop hammering tox_file_send_data(). When it returns -1, we put the given friend into a cooldown-state, because all internal transmission slots are full. File sending thus now works in bursts, reading from file_in as long as tox_do() allows or until tox_file_send_data() fails. An easy way to see why we need to do the former is piping /dev/urandom to file_in, which never blocks. Effectively, the user goes "offline" after a while given he is trapped inside the loop. Piping to /dev/urandom is not an unrealistic testcase. Imagine a researcher who desperately needs true random data from his special RNG in his lab using ratox and piping it through /dev/urandom. FRIGN
2014-10-14Change the state-files...rename file_pending to file_state rename call_pending to call_state 0 = no call 1 = call pending 2 = call active FRIGN
2014-10-13Only send call-data when Tx transmission is ready...Due to a bug in toxcore the call is set to active too early, leaving room for invocations of sendfriendcalldata() even though the transmission has not yet been set up in cbcallstart. Fix this with a small workaround keeping the transmission-state in the client. In the long run, this definitely needs to be fixed in toxcore for consistency. FRIGN
2014-10-13Fortify error-checks and FSM...Basically the direct calls to cancelcall() should be minimized and only set off in a callback. Additionally, tweak other error-cases and don't always quit fatally but instead provide ways to get out of an error-condition. FRIGN
2014-10-13Finish cleaning up av-callbacks...Now it's fun again to work with the code. FRIGN