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

7889 Commits

Author SHA1 Message Date
Maxim Biro
f5f42233ca
fix: Usage of random
- Seed random in Core Thread. Core Thread didn't seed random, resulting
  in always using the same bootstrap nodes, even when you restart qTox
  or change profiles.

- Use QDateTime::currentMSecsSinceEpoch() for seeding random. It
  provides a bigger range of numbers than QTime::currentTime().msec()
  does, and the latter somehow managed to result in approximately the
  same first random number being generated, within a certain range.

- Use something a it more sensible than a mod operation to bound random
  numbers within a range. It's not perfect either, but a lot better.
  Using mod on random skews its distribution too much.

- Use QRandomGenerator's bounded() function to generate random values
  within a range.

- Enable QRandomGenerator's usage starting with Qt 5.10.0.
  QRandomGenerator is present since Qt 5.10.0, not 5.15.0.

- Bootstrap off every 5th node instead of two consecutive nodes. It's
  likely that two consecutive nodes will have the same owner, which
  makes some attacks more likely. The node selection algorithm should be
  scraped and redone from scratch to be honest though.
2020-06-04 15:58:17 -04:00
Maxim Biro
ef38c6b7b7
feat(windows): Link all Windows deps dynamically 2020-06-04 15:36:38 -04:00
William
96e220fb28
docs(translation): correct old url reference 2020-06-04 12:44:50 +02:00
Anthony Bilinski
9da1e3bbdf
fix(preview): Don't log a warning on missing exif orientation metadata
libexif returns 0 for the orientation when orientation metadata isn't present.
Treat this the same as 1, i.e. no orientation change.
2020-05-27 22:17:29 -07:00
Anthony Bilinski
10d0cae80c
Merge pull request #6153
Maxim Biro (5):
      chore(windows): update OpenSSL to 1.1.1g
      chore(windows): update SQLCipher to v4.4.0
      chore(windows): update FFmepg to 4.2.3
      chore(windows): add a note on openal-soft loopback
      chore(windows): update Exif to 0.6.22
2020-05-27 22:16:41 -07:00
sudden6
0f4dc940ce
refactor: remove Core dependency from Group
Replace the direct call with a signal connection in Widget, this keeps
Group clean.
2020-05-27 10:39:02 +02:00
sudden6
445340a0e9
refactor: remove getInstance from ContentDialog
This UI element probably should never depend on Core, but this is to fix
for a later time.
2020-05-27 10:39:02 +02:00
sudden6
19f4a6c4e0
refactor: remove getInstance from AddFriendForm 2020-05-27 10:38:57 +02:00
Anthony Bilinski
c73cedf2a0
Merge pull request #6154
bodwok (1):
      fix(chathistory): file transfers sometimes show wrong author name
2020-05-25 00:54:16 -07:00
bodwok
1bc97ef219
fix(chathistory): file transfers sometimes show wrong author name 2020-05-24 20:23:28 +03:00
Maxim Biro
4e4e77b594
chore(windows): update Exif to 0.6.22 2020-05-24 02:14:33 -04:00
Maxim Biro
0df31e0d73
chore(windows): add a note on openal-soft loopback 2020-05-24 02:13:11 -04:00
Maxim Biro
fd1f11c201
chore(windows): update FFmepg to 4.2.3 2020-05-24 02:10:36 -04:00
Maxim Biro
2b0f3081ac
chore(windows): update SQLCipher to v4.4.0 2020-05-24 02:09:47 -04:00
Maxim Biro
9657e5ef1b
chore(windows): update OpenSSL to 1.1.1g 2020-05-24 02:08:39 -04:00
sudden6
8e7ae808a3
Merge pull request #6079
bodwok (3):
      fix(ui): updating friends list color at runtime
      fix(ui): using a separate css file
      style: placing files in alphabetical order
2020-05-23 10:59:30 +02:00
sudden6
8445f352b1
Merge pull request #6149
Vincas Dargis (1):
      fix(apparmor): Allow access to Aspell personal dictionaries
2020-05-21 23:29:44 +02:00
Vincas Dargis
6a21d96214 fix(apparmor): Allow access to Aspell personal dictionaries
Running qTox under AppArmor confinement produces these `DENIED` messages:

```
type=AVC msg=audit(1589897925.045:793): apparmor="DENIED"
operation="open" profile="qtox" name="/home/vincas/.aspell.en.pws"
pid=36671 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000
ouid=1000
```
```
type=AVC msg=audit(1589897925.045:794): apparmor="DENIED"
operation="open" profile="qtox" name="/home/vincas/.aspell.en.prepl"
pid=36671 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000
ouid=1000
```
```
type=AVC msg=audit(1589996245.245:1193): apparmor="DENIED"
operation="file_lock" profile="qtox" name="/home/vincas/.aspell.en.pws"
pid=53202 comm="qtox" requested_mask="k" denied_mask="k" fsuid=1000
ouid=1000
```
```
type=AVC msg=audit(1589996245.245:1194): apparmor="DENIED"
operation="file_lock" profile="qtox"
name="/home/vincas/.aspell.en.prepl" pid=53202 comm="qtox"
requested_mask="k" denied_mask="k" fsuid=1000 ouid=1000
```

Add file rule to allow reading and locking Aspell-specific user files [0].

[0] http://aspell.net/man-html/Format-of-the-Personal-and-Replacement-Dictionaries.html
2020-05-20 20:44:44 +03:00
Anthony Bilinski
0b256c5b83
chore(docs): add instructions for avoiding bootstrap node censorship
Fix #5948
2020-05-20 03:29:02 -07:00
sudden6
efaa14d11e
Merge pull request #6136
Vincas Dargis (1):
      fix(apparmor): Allow spellchecking
2020-05-19 12:35:56 +02:00
Vincas Dargis
2ebf51b5b7 fix(apparmor): Allow spellchecking
qTox 1.17.2 produces these DENIED messages on Debian Sid:

```
type=AVC msg=audit(1588944857.534:854): apparmor="DENIED"
operation="open" profile="qtox"
name="/usr/share/hspell/hebrew.wgz.sizes" pid=29172 comm="qtox"
requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
```

```
type=AVC msg=audit(1588945073.014:885): apparmor="DENIED"
operation="open" profile="qtox"
name="/usr/share/kf5/sonnet/trigrams.map" pid=29334 comm="qtox" req
uested_mask="r" denied_mask="r" fsuid=1000 ouid=0
```

```
type=AVC msg=audit(1588945273.590:905): apparmor="DENIED"
operation="open" profile="qtox" name="/var/lib/aspell/sl.rws" pid=29391
comm="qtox" requested_mask=
"r" denied_mask="r" fsuid=1000 ouid=0
```

Add file read rules to allow reading spellcheck-related files.
2020-05-19 09:14:37 +03:00
Mick Sayson
6e163ca5ed
feat(notification): Notifications now always replace the previous one
This is a feature/fix to improve notification behavior when we receive
over 3 messages.

SnoreNotify prevents over 3 notifications from being displayed before a
user clears the notification. This is presumably to avoid infinite
notification spam.

Unfortunately this results in the notifications just coming in _after_
the user clears them. This means if there are 100s of messages built up
the user has to clear their notifications N messages / 3 times.

This feature/fix folds all notifications into a single notification
representing the current qTox notification state. See
notificationgenerator_test.cpp for what the new messages look like.
2020-05-17 00:00:53 -07:00
Mick Sayson
a9f6543e43
feat(notification): Notification string generator for multiple messages 2020-05-17 00:00:48 -07:00
Anthony Bilinski
14571abaa3
Merge pull request #6143
Mick Sayson (1):
      fix(preview): Fix exif orientations
2020-05-16 17:46:28 -07:00
Mick Sayson
99c1753a76 fix(preview): Fix exif orientations
Previous exif transformations were not valid. The exif spec defines the
orientations as where the 0th row and the 0th column should end. The
previous mappings used in qTox did not respect these mappings and needed
to be updated.
2020-05-16 16:53:14 -07:00
Anthony Bilinski
8a9c89f239
Merge pull request #6109
iphydf (1):
      chore(interface): avoid gnu extensions in macros
2020-05-13 00:16:05 -07:00
sudden6
a90f0762d9
refactor(cmake): change folder structure
The new folder structure will be like this:

/<module>/CMakeLists.txt
/<module>/src/file.cpp
/<module>/include/<module>/file.h
/<module>/<subdir>/<...>
2020-05-11 16:45:52 +02:00
sudden6
f3a10815ed
refactor: remove Core::getInstance from AvatarBroadcaster
During this process, make AvatarBroadcaster a non-static class.
2020-05-11 10:28:26 +02:00
sudden6
82e0852f3c
refactor: remove Core::getInstance from grouplist 2020-05-11 10:28:26 +02:00
Anthony Bilinski
365a452fb8
feat(core): use user editable bootstrap node list
Fix #5767
2020-05-10 21:40:04 -07:00
Anthony Bilinski
e5f33608c4
refactor(core): pass Paths into BootstrapNodeUpdater
In preparation of loading local bootstrap list files.
2020-05-10 21:40:04 -07:00
Anthony Bilinski
5a877d742b
refactor(core): pass bootstrap list interface to Core 2020-05-10 21:39:58 -07:00
Anthony Bilinski
5d56a3c039
refactor(paths): move Settings path functions into Paths 2020-05-10 18:03:47 -07:00
Anthony Bilinski
062ba03fb8
refactor(db): map foreign key dependency in db schema
Reorder deletion of history to avoid violating constraint.
2020-05-03 18:06:10 -07:00
Anthony Bilinski
f37f9a9492
refactor(history): enforce using PK instead of ToxId in history
We need to be lenient when reading from db because of ToxIds being saved in the
db from a bug introduced in e07d8d358f, which
used self ID rather than self Pk. Was subsequently fixed in
033f28e67e.
2020-05-03 16:22:12 -07:00
Anthony Bilinski
8abd4e47e9
refactor(style): use #pragma once rather than include guards 2020-05-03 15:51:52 -07:00
sudden6
9306e946f8
refactor: remove Core::getInstance() from ChatForm classes 2020-05-02 23:36:38 +02:00
sudden6
ea46c0caf2
refactor: remove Core::getInstance from AvForm 2020-05-02 20:08:11 +02:00
sudden6
ef18afcbf1
refactor: remove Core::getInstance from PrivacyForm 2020-05-02 20:08:11 +02:00
sudden6
2809cd91f5
refactor: remove Core::getInstance from SettingsWidget 2020-05-02 20:08:11 +02:00
sudden6
c1ec6bc649
refactor(widget): remove usage of Core::getInstance 2020-05-02 20:08:06 +02:00
Anthony Bilinski
728621f627
chore(deps): update c-toxcore to v0.2.12 2020-05-01 15:37:47 -07:00
Anthony Bilinski
6105af8279
fix(ipc): allow IPC under windows by not using std::random_device with mingw
https://en.cppreference.com/w/cpp/numeric/random/random_device
"A notable implementation where std::random_device is deterministic is old
versions of MinGW (bug 338, fixed since GCC 9.2)."

Although time is less random off Windows, we don't need a strongly random
number for this, and using time avoids having to use platform specific code.

Fix #2917
2020-04-30 19:26:18 -07:00
Anthony Bilinski
82547263f8
fix(ui): don't notify of available update if local version is newer
This could happen between the time when the release tag is pushed and the time
when the release binaries are published.

Fix #6112
2020-04-28 03:58:18 -07:00
Anthony Bilinski
abd62b638a
Merge branch 'v1.17-dev' 2020-04-28 03:57:40 -07:00
sudden6
153b9327f8
Merge pull request #6108
iphydf (1):
      chore(videosurface): Use UNIX line endings.
2020-04-28 10:03:37 +02:00
iphydf
25a7817229
chore(videosurface): Use UNIX line endings. 2020-04-27 23:11:59 +00:00
sudden6
465d826068
chore: bump version and update changelog 2020-04-26 14:06:16 +02:00
sudden6
c2c3e35fcb
chore: fix travis.yml syntax 2020-04-26 12:56:52 +02:00
sudden6
fa7a26f9f0
chore: don't put access token in variable
Regenerated the token with the `--org` option
2020-04-26 12:06:25 +02:00