jfreegman
42763905d7
Replace deprecated usleep function with nanosleep
...
usleep was declared obsolete in POSIX.1-2001
2020-11-04 22:05:59 -05:00
jfreegman
f64300d1d6
Close file handlers when inbound file transfer fails
2020-11-03 13:26:23 -05:00
jfreegman
1a723f0e8e
Fix bad behaviour with duplicate file names
...
If the new path is too long for the buffer we cancel the file transfer
and return an error instead of truncating the file name and continuing.
2020-11-03 13:03:47 -05:00
jfreegman
a86884c40e
Remove legacy code and fix a couple format specifiers
...
This code was added over 5 years ago and no longer serves a purpose
2020-11-03 01:00:08 -05:00
jfreegman
3f02e119f4
add missing malloc error checks and fix widechar to char comparison
2020-11-03 00:59:28 -05:00
jfreegman
1bbd50aac7
Fix a few issues
...
- realloc needs to be error checked
- use correct format specifiers
- make sure optarg and DATA_FILE aren't null before using them
2020-11-02 18:08:54 -05:00
jfreegman
e7a0c32a68
Refactor a few complex functions
...
Also moved some single use functions from misc_tools to their
respective files
2020-11-01 15:55:07 -05:00
jfreegman
7560bc9547
modularize string arrays for line completion
...
Instead of using various different forms of string arrays and having to handle them
differently for string completion, we now always use char pointer arrays. This allows
us to remove some large stack allocations, remove a bunch of confusing defines that
keep track of global array sizes, and generally unclutters the code so it's easier
to read.
2020-11-01 11:29:51 -05:00
jfreegman
2b43340c90
Convert all variable length arrays to heap allocations
...
VLA's are inherently unsafe so the safest option is to not use them
2020-11-01 11:29:48 -05:00
jfreegman
ff1620c923
fix invalid usage of stderr and incorrect formatting
2020-11-01 11:19:18 -05:00
jfreegman
91f194c821
Fix pointer use after free bug
...
If toxcore fails to end a call we still need to do a cleanup
2020-10-28 23:59:28 -04:00
jfreegman
478762f76c
Dynamically allocate audio frame buffer memory
2020-10-28 23:59:25 -04:00
jfreegman
4d96d6a753
Fix regression related to https lookups
...
Reducing the buffer size of HTTPS responses broke DHT nodelist fetching. This change
puts the old buffer size back and converts all stack allocations of the read buffer
to heap allocations.
2020-10-27 12:34:12 -04:00
jfreegman
3cdcfbf4e5
Reduce size of some large stack memory allocations
2020-10-25 13:48:14 -04:00
jfreegman
4c302da503
Fix a bunch of Wformat-truncation warnings due to snprintf() misuse
2020-10-24 14:44:41 -04:00
jfreegman
e428879beb
Fix clashing key bindings
...
Scrolling the groupchat peer list now uses ctrl+up and down
2020-10-13 19:52:43 -04:00
jfreegman
3015138a5a
Manually attempt to decode input char sequences
...
This is currently a fallback method for when the terminal doesn't
detect ctrl arrow sequences, but it is generalized for future additions
2020-10-13 16:12:55 -04:00
jfreegman
9c06ad608b
Add ability to skip words in input field with ctrl-left/right arrow
2020-10-10 11:21:15 -04:00
Johannes Heimansberg
015dbd9a96
fix: Fix non-working bell notifications
...
The problem with the bell notifications only happens when Toxic is
compiled with X11 support, but does not run under X. This commit changes
toxic's behavior such that it behaves identically when not running under an
X session, no matter if it has been compiled with X11 support or not.
2020-08-24 16:36:52 +02:00
jfreegman
a7466c3142
Add option to disable LAN
2020-08-10 21:56:45 -04:00
jfreegman
f012007cc4
A couple small fixes
2020-05-19 21:44:35 -04:00
jfreegman
dcf3baf60f
Make sure logger file is closed after tox_kill
2020-05-18 13:58:55 -04:00
JFreegman
4bda799a4b
Add the ability to log to file ( #84 )
2020-05-16 23:12:54 -04:00
jfreegman
4bfb344caa
Add option for toxcore logging in stderr
2020-05-04 16:15:28 -04:00
iphydf
68db926f9f
Check that files are formatted correctly.
...
Fail the CI build if they are not.
2020-04-23 01:16:57 +00:00
iphydf
b270c1e8b7
Remove extra semicolon in lock/unlock macros.
...
lock/unlock are always expanded in a context followed by a semicolon.
2020-04-23 01:12:34 +00:00
jfreegman
e7142e49fd
Terminate notify before windows
...
This fixes a use after free bug
2020-04-22 20:54:53 -04:00
zugz (tox)
610906d07f
fix segfault on starting video
2020-04-17 00:00:00 +00:00
iphydf
6f72a191ba
Revert "Add feature flags and missing #includes."
...
This reverts commit dd5fa236ae
.
Also, set `-std=gnu99` in Bazel build.
2020-04-17 19:37:22 +00:00
iphydf
dd5fa236ae
Add feature flags and missing #includes.
...
These are needed to compile on some strict Linuxes.
2020-04-15 21:34:30 +00:00
jfreegman
ddc8c53abf
Fix unused variable warnings and change all (void)s to UNUSED macro
2020-03-30 16:02:27 -04:00
iphydf
46513017e3
Half-hearted attempt at making toxic work on osx.
...
Video has no chance without X11 for now.
2020-03-30 18:14:43 +00:00
jfreegman
98cb7f58c0
Fix unused parameter and unused result warnings
2020-03-15 14:57:00 -04:00
iphydf
45ff6d8bac
Migrate to Camel_Case enum types.
...
UPPER_CASE enum types are deprecated and will be removed in 0.3.0.
2020-03-07 18:11:41 +00:00
jfreegman
437dd8baeb
Some misc fixes
2020-02-29 14:14:56 -05:00
jfreegman
b080236ee5
Fix typo
2020-02-10 17:16:56 -05:00
jfreegman
116bff8cef
format fixes
2019-12-07 23:17:02 -05:00
Rodrigo Martins
ddeca171a0
Add input line text to history on UP and DOWN
2019-12-07 18:29:33 -03:00
jfreegman
127f9462e0
make friend add fail if friend is in the block list
2019-11-16 01:55:47 -05:00
jfreegman
4b5a9abbd4
Fix A/V bug preventing the caller from being properly informed of call termination
2019-07-12 11:51:08 -04:00
JFreegman
bb2257973e
Load conference titles on startup for saved conferences ( #43 )
2019-06-30 14:51:13 -04:00
jfreegman
12b9cd2386
Fix header issues
2019-03-27 01:38:15 -04:00
jfreegman
2cbe8fa880
Use correct integer types to fix groupchat peer scrolling bug
2019-03-26 23:05:24 -04:00
jfreegman
05eda76643
Partially fix autocomplete behaviour for input with spaces
2019-02-17 17:25:34 -05:00
Rob Levitsky
f7b73af9a7
Add config option for the notification timeout duration
2018-11-10 08:54:59 -05:00
jfreegman
73aaa44d12
Add config option to set data file auto-save frequency
2018-10-30 18:22:30 -04:00
jfreegman
9e3d4f3889
Check if pointer is null before accessing
2018-10-28 07:09:37 -04:00
jfreegman
b7d67c1d86
re-init AV for unblocked contacts
2018-10-20 02:56:37 -04:00
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