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

7479 Commits

Author SHA1 Message Date
Anthony Bilinski
97d05f9d67
refactor(id): make ContactId interface, implement GroupId
Precursor for group history, friend blocking
2019-04-13 12:58:25 -07:00
sudden6
229ca307cf
refactor: remove unused functions detected by cppcheck
Note: Some more functions were detected, but this are the ones I'm
pretty sure we don't need.
2019-04-13 11:48:16 +02:00
sudden6
0da72e22d3
refactor: remove dead code 2019-04-13 11:48:12 +02:00
Anthony Bilinski
9b6019390b
refactor(groups): create Group on group join, assert Group exists on callbacks 2019-04-12 09:13:14 -07:00
Anthony Bilinski
63ef6e3ff4
Merge pull request #5613
TriKriSta (1):
      feat: add border for qrcode
2019-04-12 01:49:09 -07:00
TriKriSta
191f89ffa4 feat: add border for qrcode 2019-04-10 23:26:48 +03:00
sudden6
a4ad8c71b8
refactor(core): make CoreFile its own independent class
This paves the way for better testability of Core as well as CoreFile.
2019-04-10 10:28:13 +02:00
sudden6
f03262e98b
refactor(core): remove duplicate code and checks 2019-04-10 10:28:13 +02:00
sudden6
b033b5095b
refactor(core): use mutable keyword instead of smart pointer 2019-04-10 10:28:13 +02:00
sudden6
66f72ee863
refactor(core): remove unused function
This function would always return true for any non destroyed Core
object.
2019-04-10 10:28:12 +02:00
sudden6
93a7fdfe03
refactor(core): cleanup Core public functions 2019-04-10 10:28:09 +02:00
Anthony Bilinski
216766061c
refactor(avatar): split up setAvatar function
Don't convert to QPixMap before saving. Allow for use of file without re-encoding once metadata stripping is available for PNGs.
2019-04-08 23:45:47 -07:00
Anthony Bilinski
dfec934ff0
fix(alias): allow clearing alias from chatformheader
Now has the same logic as FriendWidget. Before clearing the field would result in no change being made, instead of clearing the alias.
2019-04-08 04:42:14 -07:00
sudden6
e4633087fa
Merge pull request #5589
yangfl (1):
      chore(cmake): add libatomic to target_link_libraries when required
2019-04-03 10:22:52 +02:00
Anthony Bilinski
1997d1187e
Merge pull request #5601
TriKriSta (2):
      style: use css files for toxId
      style: edit styles for myltiple windows
2019-04-01 11:44:29 -07:00
TriKriSta
db962690bd style: edit styles for myltiple windows 2019-03-31 19:54:12 +03:00
TriKriSta
d1715500f7 style: use css files for toxId 2019-03-31 17:57:17 +03:00
Anthony Bilinski
19f5df0a91
Merge pull request #5593
TriKriSta (1):
      style: add custom style for QCheckBox for dark theme
2019-03-30 13:41:09 -07:00
Anthony Bilinski
bef9d4b773
fix(settings): load personal settings before constructing core
Fix proxy settings not being passed to toxcore, bug present since
8574162949. Not present in any releases.
2019-03-30 02:40:51 -07:00
TriKriSta
c778712b13 style: add custom style for QCheckBox for dark theme 2019-03-28 21:21:40 +02:00
yangfl
70781bb14f chore(cmake): add libatomic to target_link_libraries when required
Looks like CMAKE_REQUIRED_LIBRARIES are not automatically linked against.
2019-03-28 18:18:49 +08:00
Anthony Bilinski
993f6fa5c0
chore(legal): remove copyright infringing "Basic" smiley pack
Mostly ripped from Skype, added in 2cb582590d. We have other better, more complete, and libre packs available.
2019-03-26 23:51:50 -07:00
Anthony Bilinski
e7f523bc9a
refactor(messages): don't use receipt 0 as unsent, simplify class state 2019-03-26 19:28:29 -07:00
sudden6
769e239661
Merge pull request #5577
Vincas Dargis (32):
      feat(apparmor): Add AppArmor profile
      feat(apparmor): Add AppArmor v2.12.1 profile
      fix(apparmor): Fix AppArmor profile for version 2.12.1
      fix(apparmor): Fix loading libraries from custom install prefix
      fix(apparmor): Backport qt5 abstraction for v2.12.1 profile
      fix(apparmor): Add ibus abstraction
      fix(apparmor): Fix qTox cache access
      fix(apparmor): Fix accessibility DBus access
      fix(apparmor): Fix hunspell access
      fix(apparmor): Fix dbus access
      fix(apparmor): Fix access to openssl configuration
      fix(apparmor): Fix .local/share/qTox/ access
      fix(apparmor): Backport dri-enumerate abstraction
      fix(apparmor): Fix DBUS denies on Kubuntu 18.04
      fix(apparmor): Fix spam of DENIED messages on openSUSE
      fix(apparmor): backport kde abstraction
      fix(apparmor): fix file dialog on KDE desktop
      fix(apparmor): fix file dialog denies
      fix(apparmor): Fix font-related denies on openSUSE
      fix(apparmor): Fix openSUSE-related AppArmor denies
      fix(apparmor): Backport fix from dri-common abstraction
      fix(apparmor): Fix screenshot capture under AppArmor
      docs(apparmor): Add README about AppArmor
      feat(apparmor): Add AppArmor profile install scripts
      docs(INSTALL.md): Add link to AppArmor readme.
      docs(apparmor): Simplify install script usage
      docs(apparmor): Fix custom install prefix example
      fix(apparmor): Fix typo in file path
      fix(apparmor): Make network rules more strict
      docs(apparmor): Refactor links
      docs(apparmor): Fix line lengths
      docs(apparmor): Fix grammar
2019-03-26 17:51:49 +01:00
Vincas Dargis
ef2e7128ee docs(apparmor): Fix grammar
Fix documentation text errors detected in review.
2019-03-25 20:14:01 +02:00
Vincas Dargis
0df815fd2c docs(apparmor): Fix line lengths
Wrap text to 80 chars per line to conform to qTox documentation
guidelines.
2019-03-25 20:14:01 +02:00
Vincas Dargis
52883bbbe3 docs(apparmor): Refactor links
Move links to the bottom of the document to conform to the qTox
documentation guidelines.
2019-03-25 20:14:01 +02:00
Vincas Dargis
11a32e3371 fix(apparmor): Make network rules more strict
Explicitly define allowed network domain.
2019-03-25 20:14:01 +02:00
Vincas Dargis
4d9cc7216a fix(apparmor): Fix typo in file path
File rule to allow loading the executable itself has typo - no
executable name itself is present. Profile still works OK but it might
fail on some older kernels.

Fix file rule by specifying full path to the executable.
2019-03-25 20:14:01 +02:00
Vincas Dargis
3c7b0075f7 docs(apparmor): Fix custom install prefix example
AppArmor profile attachement example is wrong because it does not use {
} "alternations" to make comma define alternative executable path.

Update example to make it actually work in custom install prefix case.
2019-03-25 20:14:01 +02:00
Vincas Dargis
5899b0de09 docs(apparmor): Simplify install script usage
security/apparmor/install.sh scripts does not need to `cd` into it's
directory to work correctly.

Simplify example to invoke `install.sh` without `cd`.
2019-03-25 20:14:01 +02:00
Vincas Dargis
b0279bf4ea docs(INSTALL.md): Add link to AppArmor readme.
Hint user about possibility to use AppArmor for security hardening in
ISNTALL.md.
2019-03-25 20:14:01 +02:00
Vincas Dargis
2e682c6e6a feat(apparmor): Add AppArmor profile install scripts
Add scripts for installing AppArmor profiles.
2019-03-25 20:14:01 +02:00
Vincas Dargis
137cce19bc docs(apparmor): Add README about AppArmor
Document AppArmor profile usage, troubleshooting and other concerns.
2019-03-25 20:14:01 +02:00
Vincas Dargis
5304ba4cb0 fix(apparmor): Fix screenshot capture under AppArmor
AppArmor denies creating screenshot file:
```
type=AVC msg=audit(1552817813.136:554): apparmor="DENIED"
operation="mkdir" profile="qtox"
name="/home/vincas/.local/share/Tox/qTox/images/" pid=16100 comm="qtox"
requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
```

Add file rule to allow creating desktop screenshot.
2019-03-25 20:14:01 +02:00
Vincas Dargis
f6c11c9b6d fix(apparmor): Backport fix from dri-common abstraction
AppArmor produces denies:
```
type=AVC msg=audit(1552817150.513:371): apparmor="DENIED"
operation="open" profile="qtox"
name="/usr/share/drirc.d/00-mesa-defaults.conf" pid=5895 comm="qtox"
requested_mas k="r" denied_mask="r" fsuid=1000 ouid=0
```

Fix is available in upstream.

Backport AppArmor commit 2d8d2f06d5697d9692330686bb5ddb0095621144 to fix
dri-related denies.
2019-03-25 20:14:01 +02:00
Vincas Dargis
7a1fb927ec fix(apparmor): Fix openSUSE-related AppArmor denies
Add file rules for denies detected only in openSUSE desktop.
2019-03-25 20:14:01 +02:00
Vincas Dargis
488b8a8696 fix(apparmor): Fix font-related denies on openSUSE
Add file rules to fix numerous AppArmor denies related to fonts.
2019-03-25 20:14:01 +02:00
Vincas Dargis
4565ac1b19 fix(apparmor): fix file dialog denies
Add dbus and file rules to fix numerous denies when File Dialog is used
to select file for sending.
2019-03-25 20:14:01 +02:00
Vincas Dargis
dffe00b4e3 fix(apparmor): fix file dialog on KDE desktop
Opening file dialog produces error:
```
type=AVC msg=audit(1549805942.022:1474): apparmor="DENIED"
operation="exec" profile="qtox"
name="/usr/lib/x86_64-linux-gnu/libexec/kf5/kioslave" pid=2784
comm="qtox" requested_mask="x" denied_mask="x" fsuid=1000 ouid=0
```

Add rule to allow launching kioslave helper.
2019-03-25 20:14:01 +02:00
Vincas Dargis
e1ba972d8b fix(apparmor): backport kde abstraction
AppArmor upstream has new rules useful for running applications in KDE
desktop.

Backport rules from update kde abstraction to fix AppArmor denies.
2019-03-25 20:14:01 +02:00
Vincas Dargis
c8eb34f028 fix(apparmor): Fix spam of DENIED messages on openSUSE
AppArmor produced spams lot's of log messages like these:
```
type=AVC msg=audit(1548784382.499:2192): apparmor="DENIED"
operation="file_mmap" profile="qtox" name="/tmp/#13317" pid=6389 comm="qtox"
requested_mask="m" denied_mask="m" fsuid=1000 ouid=1000
```

These appears to be libpcre2 mmaped shared memory, related to jitting.

Deny mmap()'ing files for execution from /tmp directory because currently there
is no way to allow shared memory access explicitly with AppArmor, so we choose
more secure way (while probably loosing regex performance).
2019-03-25 20:14:01 +02:00
Vincas Dargis
1d120b15c2 fix(apparmor): Fix DBUS denies on Kubuntu 18.04
AppArmor denies access to systray on Kubuntu 18.04.

Add DBUS rules to make systray icon work.
2019-03-25 20:14:01 +02:00
Vincas Dargis
79f800b39a fix(apparmor): Backport dri-enumerate abstraction
AppArmor 2.12 (Ubuntu 18.04) does not have dri-enumerate abstraction,
so policy compilation fails.

Backport dri-enumerate abstraction as inline rules.
2019-03-25 20:14:01 +02:00
Vincas Dargis
e13b8a973e fix(apparmor): Fix .local/share/qTox/ access
Capturing desktop screenshot produces this DENIED messages:
```
type=AVC msg=audit(1548516170.837:3146): apparmor="DENIED"
operation="mkdir" profile="qtox" name="/home/vincas/.local/share/qTox/"
pid=12605 comm="qtox" requested_mask="c" denied_mask="c" fsuid=1000
ouid= 1000
```

Add rule to allow writing to .local/share/qTox/
2019-03-25 20:14:01 +02:00
Vincas Dargis
514cd36826 fix(apparmor): Fix access to openssl configuration
AppArmor denies access to openssl configuration files:
```
type=AVC msg=audit(1548516028.121:3031): apparmor="DENIED"
operation="open" profile="qtox" name="/etc/ssl/openssl.cnf" pid=12416
comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
```

Fix deny by including openssl abstraction.
2019-03-25 20:14:01 +02:00
Vincas Dargis
a6c01eb007 fix(apparmor): Fix dbus access
Add rules to allow DBus access (send & receive) to various DBus
interfaces. Detected on Ubuntu 18.04.
2019-03-25 20:14:01 +02:00
Vincas Dargis
577aeb8fa3 fix(apparmor): Fix hunspell access
AppArmor denies access to hunspell files:
```
type=AVC msg=audit(1548511779.241:1773): apparmor="DENIED"
operation="open" profile="qtox" name="/usr/share/hunspell/lt_LT.aff"
pid=9833 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000
ouid=0

type=AVC msg=audit(1548511779.241:1774): apparmor="DENIED"
operation="open" profile="qtox" name="/usr/share/hunspell/lt_LT.dic"
pid=9833 comm="qtox" requested_mask="r" denied_mask="r" fsuid=1000
ouid=0
```

Add rule to allow reading hunspell dictionaries.
2019-03-25 20:14:01 +02:00
Vincas Dargis
a67faf2976 fix(apparmor): Fix accessibility DBus access
AppArmor denies access to a11y:
```
Jan 26 15:23:31 vincas-ubuntu1804 dbus-daemon: apparmor="DENIED"
operation="dbus_method_call"  bus="accessibility"
path="/org/freedesktop/DBus" interface="org.freedesktop.DBus"
member="Hello" mask="send" name="org.freedesktop.DBus" pid=8011
label="qtox" peer_label="unconfined"

Jan 26 15:23:31 vincas-ubuntu1804 dbus-daemon[1474]: apparmor="DENIED"
operation="dbus_method_call"  bus="session" path="/org/a11y/bus"
interface="org.freedesktop.DBus.Properties" member="Get" mask="send"
name="org.a11y.Bus" pid=8011 label="qtox" peer_pid=1620
peer_label="unconfined"
```

Include dbus-accessibility abstraction and one addition dbus rule to fix
denies.
2019-03-25 20:14:01 +02:00
Vincas Dargis
aef4705636 fix(apparmor): Fix qTox cache access
AppAmor denies access to qTox cache directory:
```
type=AVC msg=audit(1548508759.153:640): apparmor="DENIED"
operation="mkdir" profile="qtox" name="/home/vincas/.cache/qTox/"
pid=7802 comm="qtox" requested_mask="c" denied_mask="c" fsuid=1000
ouid=1000
```

Add rule to allow access to qTox cache directory.
2019-03-25 20:14:01 +02:00