1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

2880 Commits

Author SHA1 Message Date
tux3
42d7a7bcef
Assert profile locks before writing
This fixes the potential edge case where a frozen then unfrozen qTox instance could have its locks delete by a new qTox instance.

We now check that we still own our locks, restoring them if we can, before saving
2015-04-24 21:05:19 +02:00
tux3
694933d24b
Correctly rename and lock imported profiles
Imported profiles are legact 'data' and 'tox_save' files
2015-04-24 20:45:26 +02:00
tux3
dc5f812946
Merge branch 'bitg_multiple_instances' into back_in_the_game 2015-04-24 19:50:18 +02:00
tux3
05b6f1985d
Allow to start multiple instances with -p
Starting a new instance with the -p option will force it to start a new instance with the given profile instead of bringing an eventual existing instance to the foreground

Two instances can not run with the same profiles, the profile locking code will ensure that. A user who likes to live dangerously could manually delete the lock to force two instances on the same profile, but such an hypothetical user would be asking for it.

If a qTox instance starts and becomes owner of the IPC shared memory on its first try, it considers itself the only running freshly-started instance, and deletes any possibly stale lock before starting up. This should be fine in the vast majority of cases, but if an existing qTox instance freezes for a long enough time to lose ownership of the IPC and a new instance is started without first killing the frozen one, the frozen instance's lock will be deleted as stale by the new one. If the frozen instance subsequentely unfreezes, it will be running on a profile for which it doesn't have a lock, which could cause trouble. This is an intentionaly allowed edge case, the alternative being a stale lock staying forever until removed manually. A potential solution not yet implemented would be to check that the lock is still actually present before attempting any write.
2015-04-24 19:43:39 +02:00
tux3
0baba7abe2
qtox.ini shouldn't overwrite our current profile
If we're running on a given profile, reload the qtox.ini, and it has a diffeent value for the current profile, we don't overwrite our current value with whatever qtox.ini says anymore

It would cause current profile confusions when multiple qTox instances where using different instances but sharing the qtox.ini
2015-04-24 19:35:06 +02:00
tux3
ea417d3688
Update lock when renaming profile 2015-04-24 19:19:01 +02:00
tux3
73bd5a656f
Fix possible profile corruption
When loading an encrypted profile, not entering the password and switching directly to a plaintext profile could have overwritten the plaintext profile with the encrypted one
2015-04-24 18:54:52 +02:00
tux3
bbf75aefb9
Profile locking 2015-04-24 18:53:19 +02:00
tux3
13d98da1bc
Correctly separate received actions from messages 2015-04-24 15:57:01 +02:00
tux3
65296a863d
Merge branch 'pr1531' into back_in_the_game 2015-04-24 15:51:09 +02:00
Zetok Zalbavar
92f3b6a20f Code style improvements 2015-04-24 15:43:57 +02:00
tux3
66314bc38d
Fix nullptr dereference in IPC::isCurrentOwner
It would only trigger when multiple instances where running in parallel,
with one having enough privilege to block the other from accessing the shared memory (e.g. root)
2015-04-24 15:38:34 +02:00
tux3
9dedd22bb2
Port file transfers to the new API
Parallel, extremely large, and other edge case transfers have not been tested, but the common path should work well.
2015-04-24 15:31:30 +02:00
tux3
e4859efe18
Refactor Core
Refactor Core's file transfer callbacks into their CoreFile class and files

Move all core*.{h|cpp} into a core/ folder
2015-04-24 02:32:09 +02:00
tux3
a70721818e
Cleanup old commented-out code 2015-04-24 01:15:09 +02:00
tux3
4fc6632d78
Fix history-destroying use after free in Core::getSaltFromFile
We returned a shallow copy of the delete[]'d salt buffer

As a result the history consistently failed to decrypt and was removed as corrupted. This is now fixed.
2015-04-24 01:10:42 +02:00
tux3
fff2caa0e1
Fix Core::getSaltFromFile's error checking
tox_get_salt now returns a bool, not an int. So any error condition has to be inveted to check for 0 instead of -1.
2015-04-24 01:08:34 +02:00
tux3
e03d80392a
Fix GUI refresh when creating new profile
Previously the username/status, and the combobox in profileForm weren't refreshing themselves
2015-04-23 23:42:50 +02:00
tux3
3bf338e9ff
Fix profile reloading during switch
That'll get rid of the encryption warnings message boxes and per-user settings not reloading when switching between profiles
2015-04-23 23:01:12 +02:00
tux3
5df7d8a06c
Port profile encryption support to new API
Profile encryption should be fairly stable. History encryption was *NOT* tested yet and as such may not work, cause profile corruption, or invoke nasal daemons.
2015-04-23 22:59:12 +02:00
tux3
2d213b7616
Merge branch 'pr1527' into back_in_the_game 2015-04-20 12:00:53 +02:00
tux3
c82d671efe
Properly initialize tox_options 2015-04-20 11:59:52 +02:00
Zetok Zalbavar
33186e51dc
Some code style fixes 2015-04-20 08:58:06 +01:00
tux3
228398d5de
Initial porting to the new Tox API
Builds and runs, but some features will be missing, may crash with an assert, or silently fail with broken QObject connections

We're back in the game.
2015-04-19 23:12:44 +02:00
PKEv
55d33fbcc0 correct after CppCheck 2015-04-13 00:49:24 +03:00
Rohil Surana
fb97662b5d Added add friend on window on first start 2015-04-07 14:19:55 +05:30
tux3
32237077c7
Merge branch 'pr1502' 2015-04-05 22:37:15 +02:00
Ansa89
394ebaced8 Italian translation: update 2015-04-03 13:20:02 +02:00
quatrox
68f098e27d Make qTox build again
Without this #include, qWarning() cannot be streamed to (in Qt 5.4)
2015-04-02 20:56:45 +02:00
Rohil Surana
a5919dc767 Typing indicator shows up once typing is resumed 2015-03-31 02:57:52 +05:30
kushagra
07ba0c9ae0 Removes chat history of friend when removed, fixes #1486 2015-03-29 13:35:39 +05:30
Dubslow
885dc0638a
No more PRs shall be merged until the new_api branch in my repo is merged. Contributions are welcome.
This commit fixes some minor style issues with #1406
2015-03-27 17:36:35 -05:00
Dubslow
72e78ff6cd
Merge branch 'pr1480'
Conflicts:
	src/widget/form/addfriendform.cpp
2015-03-27 17:36:08 -05:00
Dubslow
2e388f03df
Merge branches 'pr1474', 'pr1406', 'pr1463' and 'pr1472' 2015-03-27 17:33:53 -05:00
Dubslow
5d129b471f
Possibly fix an old segfault that may or may not be a problem 2015-03-27 15:01:42 -05:00
Rohil Surana
b98af21456 On add friend clicked pastes Tox Id from clipboard if there is one 2015-03-27 22:13:25 +05:30
PKEv
4f650b3177 System menu translation 2015-03-26 23:02:08 +03:00
Rohil Surana
5a4443b7bb Set focus to toxId Line edit on add friend window 2015-03-26 16:53:20 +05:30
kushagra
b2481fc1d8 proper splitting in friends chat,fixes #1375
what happened was- When message exceeded TOX_MESSAGE_LENGTH, the whole message was inserted in sender's chatlog X times.
if length of message is N,
X = (N/TOX_MESSAGE_LENGTH) + 1

There is no bug in recieving end. Receving end gets X messages (splitted).
In the sample case provided, the message had whitespaces in the end, so the reciever thought the message is empty.
2015-03-26 11:15:05 +05:30
Yuri
ce3033a0cf Fixed bash shebangs to use /usr/bin/env for better compatibility 2015-03-25 22:16:22 -07:00
PKEv
9857f5b60b #1402 duplicate of the sender's name
set if interval more 5 minuts, sender name repet
not tested for group chats!!!
2015-03-26 00:31:39 +03:00
Dubslow
41efb1491b
Merge branches 'pr1447' and 'pr1459' 2015-03-25 12:32:42 -05:00
Dubslow
bab280a0ea
Change default datetime formats (d/m m/d agnostic), style fixes, removed unnecessary signals 2015-03-25 11:45:58 -05:00
Dubslow
14a565bc3a
Merge branch 'pr1393' 2015-03-25 11:32:05 -05:00
Dubslow
27f58c9ca6
Style fixes 2015-03-25 11:27:33 -05:00
Dubslow
2a730d5e22
Merge branch 'pr1371' 2015-03-25 11:22:12 -05:00
kushagra
86bbe537bc autocomplete will work for : also,fixes #1377 2015-03-23 23:11:28 +05:30
zero-one
0b64235c69 Settings singleton no longer emits signal when groupchat position changes 2015-03-23 03:06:44 -07:00
Ansa89
79df0c60f7 Italian translation: update 2015-03-23 10:42:41 +01:00
zero-one
a1e228e60d style fixes to conform to Allman style 2015-03-23 02:38:24 -07:00