1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-12-23 17:13:24 +01:00
Commit Graph

1246 Commits

Author SHA1 Message Date
jfreegman
c4a11f8dc7
Refactor ToxWindows
ToxWindow constructor functions now return pointers instead of structs
ToxWindow windows array now holds pointers instead of structs
Refactor some logic in windows.c pertaining to keeping track of active windows
Use uint8_t for window array indexing
2018-10-19 17:43:06 -04:00
jfreegman
d18cc8cbc2
Fix two memory leaks and properly clean up friendlist window 2018-10-19 17:43:03 -04:00
jfreegman
ce6d4861fb
Fix bug where autocomplete added a forward slash to files with no extension
Also slightly refactored the line complete functions
2018-10-17 18:00:09 -04:00
jfreegman
8f0e6026f0
Add enum for file_type() and a little cleanup 2018-10-17 18:00:08 -04:00
jfreegman
258736995d
Remove ability to set note with status command 2018-10-17 18:00:08 -04:00
jfreegman
56e03a3f8b
No longer require quotes to enclose paths 2018-10-17 18:00:08 -04:00
jfreegman
b6c746b5f5
No longer require quotes for commands that take strings as arguments 2018-10-17 18:00:07 -04:00
jfreegman
0fea930c24
Convert deprecated uppercase enums to camelcase 2018-10-10 13:34:17 -04:00
jfreegman
94d22a8853
Allow empty status messages 2018-10-09 18:21:05 -04:00
jfreegman
63cc23401a
Improve readability of defines 2018-10-08 13:39:04 -04:00
Leonid Bobrov
f90a774470
Make Toxic easier to port 2018-10-03 22:00:43 +00:00
jfreegman
e7c5fbc873
Cleanup xtra.c
Privatise some functions that don't need to be public
Fix struct names starting with _ char
Remove unnecessary memset of Xtra struct in init_xtra()
2018-09-27 03:41:58 -04:00
iphydf
d62902ffb3
Use (void) in prototypes instead of ().
Also, removed `__inline` from an extern function (why was it there?).
Also, moved one extern declaration to a header file. There are lots of
these that need to be moved, but one thing at a time.
2018-09-13 23:47:47 +00:00
iphydf
bebff3be0e
Use (void) for empty parameter list in C. 2018-09-08 17:23:07 +00:00
iphydf
20b5e46850
Rename callback implementations to be of the form on_$event.
So it's easy to map from implementation to the event without looking at
the `tox_callback_*` calls.
2018-07-18 17:06:28 +00:00
iphydf
f2b796940e
Add missing braces to if/for/while blocks.
Astyle doesn't quite catch all of them.
2018-07-18 15:56:21 +00:00
jfreegman
a37bf300f9
Update astylerc to match toxcore & reformat all source files 2018-07-18 11:33:16 -04:00
iphydf
3cd2bc7e3c
Don't compile A/V code if AUDIO/VIDEO are not #defined. 2018-07-06 15:46:12 +00:00
iphydf
685837357b
Add bazel build file for toxic. 2018-07-06 14:41:16 +00:00
François-Xavier Carton
46f646afcf Add an option to disable qr codes 2018-06-16 05:07:16 +02:00
jfreegman
68ce17a57f
Temp fix for nick change spam on group join 2018-04-19 22:23:49 -04:00
jfreegman
a69fad15c1
Use default timestamp format if provided one is invalid 2018-04-10 17:47:21 -04:00
jfreegman
815c29ee31
Significantly reduce time before trying to re-send a message with no read receipt
(also some formatting cleanup)
2018-03-03 23:54:12 -05:00
jfreegman
a223329815
Fix persistent groupchat loading 2018-02-27 18:46:56 -05:00
jfreegman
221edb0012
add a .travis file and some build fixes 2018-02-26 02:34:38 -05:00
jfreegman
2710ab6034
Re-implement group nick change notifications 2018-02-25 03:43:19 -05:00
jfreegman
bc3ffac0ba
re-add group peer list sorting 2018-02-25 01:21:22 -05:00
jfreegman
29f55c5277
Update API
-Removed usage of deprecated API functions
-Integrated conference changes with a few regressions
2018-02-25 00:00:06 -05:00
jfreegman
a290f0f7f8
Update toxav API calls 2018-02-24 15:38:07 -05:00
jfreegman
5cd196a769
Fix autocomplete bug
Formatting was messed up due to not accounting for null byte in directory list
2018-02-20 20:54:26 -05:00
iphydf
51f1daeec8
Treat Tox_Options as opaque struct: no deref, no alloc.
We allocate it inside toxcore and dereference it inside as well. This
allows us to change the layout of that struct and add new members.
2018-01-20 19:51:13 +00:00
iphydf
b9f9546e2b
Fix typedef enums and potential uninitialised value. 2018-01-20 18:30:35 +00:00
jfreegman
846bc4613e
Fix comment 2017-11-20 07:07:24 -05:00
jfreegman
fe6a7074ea
Dynamically allocate audio calls structure
This fixes a bug that caused a segfault when attempting to call a friend with a
friend number above the MAX_CALLS limit
2017-11-20 07:02:56 -05:00
Mateusz Poszwa
0bd5b4ddee Repair operating system checks (#474) 2017-11-16 16:59:51 -05:00
Mateusz Poszwa
351a50c214 Do not assume what is not Linux or a BSD descendant is OSX 2017-11-15 21:02:10 +01:00
aSourceFish
b905a1a3c5
One more bit of standard... 2017-11-15 05:56:13 +02:00
aSourceFish
c4386b195f
A bit of standard... 2017-11-15 05:54:46 +02:00
aSourceFish
ed1e617380
Make Toxic compile at NetBSD, STAGE 2 2017-11-15 05:50:00 +02:00
aSourceFish
1382adb1f6
Make Toxic compile at NetBSD, STAGE 1 2017-11-15 05:46:47 +02:00
aSourceFish
8f94b0a218
Shut down the warning at *BSD 2017-11-11 21:17:34 +02:00
aSourceFish
85a0becbf9
Make Toxic compile at OpenBSD 2017-11-11 21:04:45 +02:00
aSourceFish
fec36ad9e6
Make Toxic compile at OpenBSD 2017-11-11 21:03:28 +02:00
Enni Rosario
e1bfa30769 Refresh device list on /lsdev. 2017-10-31 18:08:06 +02:00
Enni Rosario
ebcbc7497b Indicate selected device when printing. 2017-10-31 17:45:39 +02:00
zugz
8508451ba6 avoid unnecessary redrawing 2017-10-29 16:50:42 +01:00
Michael Kaiser
febc725763 Fix tmux detached detection
The old code failed if the session had a custom name instead of the
default numeric id. To be safe in both cases, look for the session_id in
the tmux list-sessions output.
2017-09-05 12:49:48 +02:00
jfreegman
f2c116feb3
Fix potential string truncations with snprintf 2017-09-01 17:36:17 -04:00
jfreegman
52dd60dc86
Fix potential int truncation and double-check lengths before copy 2017-08-28 19:37:19 -04:00
jfreegman
80c0500299
Fix formatting bug caused by strings containing \r 2017-08-28 18:26:52 -04:00
avoidr
a9f7f85617 /status: give feedback to user on status change 2017-08-27 12:27:04 +02:00
Daniel Hoffman
2ede39369a added /bitrate 2017-07-07 23:47:59 +00:00
jfreegman
922c184195
Only include python libs when necessary 2017-06-06 19:03:40 -04:00
jfreegman
56a9571509
Make sure message id fits inside a signed int 2017-06-02 01:15:44 -04:00
jfreegman
0136f22076
Fix UI bugs & format
This fixes a bug where lines would sometimes be incorrectly marked as unread, as well as
a bug where inbound messages would sometimes be coloured incorrectly
2017-06-01 16:46:12 -04:00
jfreegman
6d3fbfee59
Merge branch 'TsarFox-master' 2017-05-24 14:57:32 -04:00
jakob
369f26932e Fix error messages being printed when autorun_path is unset. 2017-05-23 19:12:53 -04:00
jakob
22ea522baf Add "/run" to autocompleter and fix example Python script. 2017-05-22 20:47:56 -04:00
jakob
76d1eafdc0 Change visibility on Python commands list 2017-05-20 08:18:28 -04:00
jakob
37912f2d88 Update INSTALL.md 2017-05-19 21:09:29 -04:00
Daniel Hoffman
acee4615f8 double signal handler prevents accidental closes 2017-05-19 14:38:39 -05:00
jakob
5ed26eda9b Added constants to the Python interface for calls to execute. 2017-05-19 15:35:31 -04:00
jakob
6d2b90ac9f Error reporting on failure of invoke_autoruns and solved issue with call to Py_FinalizeEx 2017-05-18 21:37:28 -04:00
jakob
02ea0fac44 get_status returns a string rather than an integer. 2017-05-17 08:39:29 -04:00
jakob
7d3d129624 Updated code style 2017-05-16 23:19:39 -04:00
jakob
b3ed8bc35c Finalized and documented the Python scripting interface. 2017-05-16 20:31:23 -04:00
jakob
90210daca7 Python interface for getting the user's nickname/status and executing commands 2017-05-15 22:12:28 -04:00
jakob
0e13a1f1bc Implemented a basic Python scripting engine, optional compilation. 2017-05-15 20:29:00 -04:00
root
c6c60d018e Added some fflush after the printf with no \n so we don't have a blank
screen when compiled with musl.
2017-01-28 00:06:03 -05:00
jfreegman
451d4ced80
Add option that prints toxic and toxcore version 2017-01-25 22:13:59 -05:00
jfreegman
1d71e2eb18
Port to toktok-c-toxcore branch 2016-12-18 00:01:51 -05:00
Jfreegman
f858714edd
Fix small nodeslist parsing bug 2016-10-23 12:26:18 -04:00
tharvik
a26ed9d28f
add missing implicit include 2016-10-18 09:38:28 +02:00
Ansa89
71040355fd
QR: close file descriptor on error 2016-10-06 11:54:27 +02:00
Ansa89
6bc5d8c543
QR PNG: convert some variables to macros 2016-10-06 11:52:26 +02:00
Jfreegman
abb39ea6b5
Fix a few resource leaks 2016-10-05 15:17:56 -04:00
Ansa89
958df9f2e8
Add possibility to save QR code in PNG file format 2016-10-05 20:57:50 +02:00
Thierry Thomas
e17fa89d8f Update misc_tools.c (#408)
* Update misc_tools.c

Fix build on FreeBSD with clang.

Without this patch, compilation fails with these messages:

  CC    misc_tools.o
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:479:24: error: variable has incomplete type 'struct sockaddr_in'
    struct sockaddr_in s_addr;
                       ^
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:479:12: note: forward declaration of 'struct sockaddr_in'
    struct sockaddr_in s_addr;
           ^
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:480:22: error: use of undeclared identifier 'AF_INET'
    return inet_pton(AF_INET, address, &(s_addr.sin_addr)) != 0;
                     ^
2 errors generated.

* Fix build on FreeBSD with clang

Without this patch, compilation fails with these messages:

CC misc_tools.o
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:479:24: error: variable has incomplete type 'struct sockaddr_in'
struct sockaddr_in s_addr;
^
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:479:12: note: forward declaration of 'struct sockaddr_in'
struct sockaddr_in s_addr;
^
/usr/ports/net-im/toxic/work/toxic-0.7.1/src/misc_tools.c:480:22: error: use of undeclared identifier 'AF_INET'
return inet_pton(AF_INET, address, &(s_addr.sin_addr)) != 0;
^
2 errors generated.
2016-09-25 22:32:17 -04:00
Jfreegman
f056f13329
Astyle everything and add an astyle options script to repo 2016-09-24 21:07:04 -04:00
Jfreegman
2194b9e259
Use time_t instead of uint64_t for timestamps
Also call time() directly from get_unix_time() instead of manually updating the time val.
2016-09-22 18:31:52 -04:00
Jfreegman
c24e1bd2b8
Fix a few A/V race conditions 2016-09-22 18:00:14 -04:00
Jfreegman
38ec96e96a
Thread nodeslist loading
This is necessary because DNS/http lookups block, and can do so for a very long time
2016-09-22 14:09:07 -04:00
Jfreegman
d2b572ede1
Add ipv6 support for bootstrap nodes and refactor parsing code 2016-09-21 21:22:05 -04:00
Jfreegman
703d5419a3
Ignore offline bootstrap nodes, small refactor of Nodes struct 2016-09-21 12:51:57 -04:00
Jfreegman
221d761ff4
Ignore bootstrap nodes that use a domain instead of IP address
Domains cause toxcore to do blocking DNS requests which creates noticable lag
and might (??) leak IP addresses when using a proxy
2016-09-21 00:28:16 -04:00
Jfreegman
151f5f0c51
Add setting to control DHT nodeslist update frequency
Also rename a few things and semi-fix man page format issues
2016-09-20 13:13:12 -04:00
Jfreegman
4f6c603543
Rename DHTnodes to DHTnodes.json 2016-09-20 00:53:53 -04:00
Jfreegman
a009f11c0c
Automatically update DHT nodeslist
List is now automatically fetched from nodes.tox.chat and placed in the
user config directory. The list is updated once every 30 days, and
will attempt to detect problems and re-fetch the list if necessary.

Also fixed a couple file descriptor leaks and cleaned some things up.
2016-09-20 00:00:09 -04:00
Jfreegman
1f8c11a33a
These strlen() calls are unncessary 2016-09-18 11:34:13 -04:00
Jfreegman
5e20e6b279
Switch to using json DHT nodes file
Parsing json manually like this is ugly, but this allows us to use the json formatted nodeslist file
at nodes.tox.chat instead of having to update the list by hand. We could also potentially
use curl to fetch the list and update it automatically.
2016-09-17 21:38:32 -04:00
Jfreegman
1f02bb2be5
Refactor DHT bootstrap code
- Separate node list loading from connecting
- Put code in its own source file
- Rename a few functions
2016-09-17 14:26:23 -04:00
Keegan Drake H.P
379ad9e116 Use ALC_ENUMERATE_ALL_EXT when available 2016-09-14 05:43:10 -05:00
Marin Ivanov
4019395f44 Changed video get format to set format
* Fixes issue #394
* This was obviously meant to set the video format.
2016-07-28 17:58:24 +02:00
Marin Ivanov
41a8401ac5 Merge branch 'master' into fix-chat-infobox-flicker
Fixed cursor position issue
2016-07-27 22:04:41 +02:00
Marin Ivanov
c425aa2f27 Fixed input lag 2016-07-27 18:06:33 +02:00
Marin Ivanov
94e026d114 Remove chat infobox flicker 2016-07-27 02:39:31 +02:00
Marin Ivanov
f89638635a Remove help window flicker 2016-07-27 02:07:31 +02:00
Marvin Ewald
5b1b420ac0 Add further explanation to the beep_on* options
This also renames beep_on* to bell_on*.
2016-07-21 11:35:09 +02:00
Marvin Ewald
d3effa26b5 Add options to enable terminal bell on certain events
Some terminals can mark the terminal window as urgent on bell.
This is useful for window managers that provide a shortcut to jump to an
urgent client.
2016-07-17 19:22:40 +02:00
Jfreegman
2ec180789b
Fix crash on AV error call state during active call 2016-07-11 17:42:57 -04:00
Jfreegman
9f74d3a3a8
Fix memory leak 2016-06-29 21:36:54 -04:00
Jfreegman
9fcbc3bde0
Fix tab-complete bug causing buffer to sometimes clear 2016-06-11 23:49:56 -04:00
Jfreegman
cf16849b37
Dynamically allocate memory for save file instead of using stack 2016-05-03 14:13:16 -04:00
Jfreegman
32442b6286
Disallow ctrl+m keybinding and revert to default settings on invalid bindings
Note: Ctrl+m uses the same control sequence as the enter key on many systems
2016-05-01 14:57:46 -04:00
Jfreegman
70bd39eb74
Fix small bug 2016-04-11 18:50:28 -04:00
Jfreegman
4e0e322e32
Fix cross-client audio issue 2016-04-05 00:49:46 -04:00
Jfreegman
bcda6e476e
Fix bug for real this time 2016-03-12 02:29:59 -05:00
Jfreegman
5b29ce7132
Fix bug preventing friend connection status from changing 2016-03-03 20:49:48 -05:00
Marvin Ewald
d6fdac9739 Fix markup in multiline messages
A '<' or '>' at the beginning of a line will now highlight only this
particular line instead of the whole message.
2016-02-29 01:46:48 +01:00
Marvin Ewald
c6a2bb8a90 Add settings option to set paste-mode key and update docs 2016-02-28 21:53:33 +01:00
Marvin Ewald
04576fea7e Add paste-mode to allow multiline text pasting
Ctrl-T toggles paste mode.
Useful when pasting multiline text because it avoids triggering an
enter keypress after linebreaks.
Instead, every \r is translated to \n which is again translated to a
pilcrow (see previous commit).
The pasted text can then be sent as a whole instead of splitting up in
multiple messages.
2016-02-28 21:40:41 +01:00
Marvin Ewald
e6f839f9ac Enable multiline input
Adds a nonl() call to avoid translation from \r to \n when pressing
enter.
C-J -> \n
Enter -> \r
To allow multiline input, \n chars (e.g. when pressing C-J) are replaced
with a pilcrow. After hitting enter, every pilcrow is substituted with
\n again.
2016-02-28 02:35:36 +01:00
Jfreegman
2e609c46f6
Remove file transfer timeoutes, and remove a couple unused functions 2016-02-25 17:58:02 -05:00
Jfreegman
a474e3bf39
Add settings option to disable friend connection change notifications 2016-02-25 17:06:49 -05:00
JFreegman
93835f0455 Merge pull request #379 from FreakyPenguin/password_eval
Add password_eval option to skip password prompt
2016-01-19 18:31:04 -05:00
Antoine Kaufmann
ac6d8ff89c Add password_eval option to skip password prompt
Runs a command and uses its output as the password. This can be used for
getting the password from a password manager such as pass.
2016-01-19 13:45:52 -08:00
quininer
deccaec40e fix milliseconds 2015-12-22 10:43:08 +08:00
quininer
4419be36e8 remove useless var 2015-12-21 20:00:48 +08:00
quininer
b34b51e8c1 use tox_iteration_interval 2015-12-21 18:13:03 +08:00
Wedge Jarrad
675712cea0 Fix #372 - can't start with missing ~/.config
This block was added in fa0e645. I'm unsure what bug or corner case it
was intended to address but it causes Toxic to exit with an error if
the ~/.config directory doesn't exist. Without this block the ~/.config
directory and tox-specific subdirectories will be created when Toxic
starts.
2015-12-17 18:17:34 -08:00
Romero Malaquias
3fe9abd84d Avoiding conditional directives that split up parts os statements 2015-12-08 23:13:39 -03:00
Romero Malaquias
fd6432c727 Avoiding conditional directives that split up parts os statements 2015-12-08 23:10:16 -03:00
Jfreegman
3cb6db3d60
Remove pointless null check 2015-12-05 00:19:11 -05:00
Jfreegman
77238eeadf
Improve file transfer progress bar 2015-12-04 19:41:50 -05:00
Oleksiy Protas
aade65bfe1 Correctly operational from OSX terminals 2015-11-25 10:26:12 +02:00
Jfreegman
b24c5d8cf8
Fix AV bug
Pending call now properly hangs up when you use the /hangup command or close the chat window
2015-11-19 23:49:58 -05:00
Jfreegman
9f0feb7223
Allow custom nospam values 2015-11-12 18:03:45 -05:00
Jfreegman
65c07a57db
Properly close audio devices on quit 2015-11-12 17:14:10 -05:00
Jfreegman
ab99c1ac73
Fix building on FreeBSD (courtesy of thierry-FreeBSD) 2015-11-12 05:04:37 -05:00
Jfreegman
05f5f16af3
Fix various video bugs; it should be working now! 2015-11-12 05:01:28 -05:00
Jfreegman
d16be574f3
Add stack protection compile flag to Makefile 2015-11-10 23:34:46 -05:00
Jfreegman
7e0b8b4870
Slight improvement to qrcode printing 2015-11-09 02:28:41 -05:00
Jfreegman
39c4b7ecdd
Add ability to print your Tox ID's QR code to a file 2015-11-08 22:51:46 -05:00
Jfreegman
fa0e645a79
Fix a bunch of misc bugs and corner cases 2015-11-08 03:57:01 -05:00
Jfreegman
14a8bdb874
Store temp data in same directory as original file 2015-11-07 21:38:32 -05:00
Jfreegman
6aab9a79d8
Fix help menu 2015-11-07 01:00:56 -05:00
Jfreegman
dfff777283
Save data in a safer manner
By saving to a temp file then renaming it we avoid the possibility of data corruption
due to an interrupt (hard reboot, power outage etc.)
2015-11-05 17:46:00 -05:00
Jfreegman
a95fc7824c
Fix bug causing profile to be overwritten under a rare condition 2015-11-05 16:15:59 -05:00
Jfreegman
f707dce2da
Disable recv video callback for now 2015-11-05 15:49:35 -05:00
Jfreegman
0d07d14b13
Remove unnecessary/misleading line print 2015-11-05 15:28:24 -05:00
Jfreegman
6cc1525daa
Fix some build issues 2015-11-03 23:04:05 -05:00
Jfreegman
49f5efaab0
A couple audio fixes (ugly but works)
- You will now receive an incoming call even if the caller's chat window is not opened
- Callbacks should all be working now
- Disable video command as video is currently broken
2015-11-03 20:36:41 -05:00
Eniz Vukovic
a5e5e98afc Disabled video calls for the time being 2015-11-03 23:50:01 +01:00
Jfreegman
4ab99c73a0
Merge with master 2015-11-02 15:22:52 -05:00
Jfreegman
e02cf1bb7d
Use proxy for DNS requests when type is SOCKS5 2015-11-02 02:01:17 -05:00
Jfreegman
9751cfc407
Force name lookups through proxy set by client 2015-11-01 21:34:42 -05:00
Jfreegman
36963a5b38
rm redundant error message 2015-10-30 00:10:38 -04:00
Jfreegman
7cf9c37aef
Handle case where system doesn't support any of the specified TLS cipher suites 2015-10-29 20:35:31 -04:00
Jfreegman
2b4b8c0289
Add more descriptive curl errors 2015-10-29 20:16:35 -04:00
Jfreegman
368a1465ec
Use a specified TLS cipher list for https name lookups 2015-10-29 15:13:42 -04:00