Commit graph

246 commits

Author SHA1 Message Date
hrxi
34d7b5f515 Fix Jingle connection code when cancellable is null 2019-08-09 14:46:58 +02:00
fiaxh
3ad2891eb8 Set OMEMO devicelist + bundle node access model to public 2019-08-09 13:44:39 +02:00
hrxi
6494d7a45d Fix race condition involving session-terminate
The Jingle file transfer (XEP-0234) specifies that the receiver of the
file transfer is the one to terminate the session. Otherwise, there
might be a race condition between the XMPP stream and out-of-band SOCKS5
connections.
2019-08-08 17:15:37 +02:00
hrxi
9a1e9864d6 Fall back to IBB if S5B does not work out
This mostly happens if connectivity to the candidates cannot be
established.
2019-08-06 21:16:57 +02:00
hrxi
2327dc783c Send Jingle errors to the right JID 2019-08-06 21:12:41 +02:00
hrxi
4e0adcd2b4 Fix destination address of IBB error codes 2019-08-06 21:12:41 +02:00
hrxi
e1c98a0fd9 Forgot to add outgoing Jingle SOCKS5 transfer 2019-08-06 16:46:45 +02:00
hrxi
1b1fac0bb5 Implement detach 2019-08-06 15:38:31 +02:00
hrxi
94794666d7 Factor out the session-terminate handler 2019-08-06 15:38:27 +02:00
hrxi
642dac9aa0 Add support for Jingle SOCKS5 bytestreams (XEP-0260) 2019-08-05 20:55:37 +02:00
hrxi
77ff73a1ca Terminate the Jingle session after the file transfer is complete 2019-08-05 17:17:17 +02:00
hrxi
7fe6dda4c9 Finish file transfer after receiving enough data
This means that we no longer rely on the remote end to close the
connection after sending the file, but additionally use the `<size>`
element from the initial file transfer `<description>` to check whether
the file transfer has been completed.

This was motivated by Conversations not closing the connection for
SOCKS5 file transfers.
2019-08-05 17:17:17 +02:00
hrxi
9bbcff4afe Fix human_readable in stanza errors 2019-08-05 17:17:17 +02:00
hrxi
1be1d47122 Fix a couple of delegate copy warnigs
"warning: copying delegates is not supported"
2019-08-05 17:17:17 +02:00
hrxi
95596e25a5 Add jingle connection for better interfacing with jingle (terminate etc.) 2019-08-05 17:17:17 +02:00
fiaxh
1853ee8b4f Fix compilation with older valac versions 2019-07-18 03:20:40 +02:00
fiaxh
f0abb8aaf9 Refactor file receive/send interfaces and UI 2019-07-18 02:03:42 +02:00
fiaxh
30353e92d6 Merge branch 'gsoc_0' of https://github.com/hrxi/dino into hrxi-gsoc_0 2019-07-16 21:15:47 +02:00
Marvin W
87da6584c0
Unroll some async methods in stanza reader 2019-07-14 13:54:42 +02:00
Marvin W
567ac81d78
Do not log long bodies 2019-07-14 13:33:36 +02:00
hrxi
4b6fe6bf7f Address pull requests comments, fix a few TODOs 2019-07-12 01:53:28 +02:00
hrxi
82e7cf4447 Add file receiving via Jingle
This currently follows the same rules as HTTP file download for
accepting files.
2019-07-09 11:21:40 +02:00
hrxi
877c46628f Implement file sending via Jingle
This is still disabled by default until prioritization is implemented;
otherwise this could be preferred to HTTP uploads.

File sending only works via Jingle In-Band-Bytestreams right now, more
transports are going to be implemented.

To test this, uncomment the line with `JingleFileTransfer` in
libdino/src/application.vala.
2019-07-09 11:21:39 +02:00
Daniel Gultsch
925463b296 mirror node value on disco request. fixes #258 2019-06-30 14:22:25 +02:00
hrxi
57a7d165e9 Send bad-request error for unknown IQ set/gets 2019-06-21 18:09:44 +02:00
hrxi
62aa8aa74a Add a couple of error primitives for easier error handling 2019-06-21 18:09:44 +02:00
fiaxh
34f9677c4e
Merge pull request #570 from hrxi/pr_typos
Fix a couple of typos and one network typo
2019-06-06 15:33:35 +02:00
hrxi
7097a71852 Fix ANSI color removal for XMPP log on non-tty stderrs 2019-06-06 15:32:11 +02:00
fiaxh
8120203d62 Don't set timeouts on registration connection attempts 2019-06-01 19:03:01 +02:00
hrxi
ce8f343297 Fix a typo in the <service-unvailable/> iq answer 2019-06-01 17:13:44 +02:00
hrxi
c245f7e34a Fix a couple of typos and double imports 2019-06-01 17:13:33 +02:00
fiaxh
ad16b18871 Check presence for empty show node, assume as online 2019-05-21 18:09:53 +02:00
fiaxh
d3c6e5c62c Enable sending chat state notifications in private rooms 2019-05-16 11:12:14 -06:00
fiaxh
9d19cdbf4e Process read marker from other devices for MUCs to adjust read-up-to state 2019-05-11 20:01:20 +02:00
fiaxh
b6799e59bb Remove avatars with missmatch between supposed and actual sha1 hash on load, make loading async 2019-04-24 23:44:00 +02:00
fiaxh
a960740c3e Ensure image data is kept until avatars are written to file 2019-04-24 23:38:07 +02:00
fiaxh
6f6e4b97cb Use glib log functions 2019-03-15 22:01:34 +01:00
fiaxh
fb504308d0 Entity capabilities: Check c node for ver attribute
fixes #530
2019-03-14 17:39:31 +01:00
fiaxh
78ec625dbe Check for eme tag before adding fallback text for empty-body OMEMO messages 2019-02-20 01:48:07 +01:00
fiaxh
084653cfc2 Fix compiler error (From using uint8[].copy()) 2019-02-04 16:01:35 +01:00
fiaxh
fc1a9a5712 Improve ping timeouts, add debug output for XmlErrors and ping timeouts 2019-01-02 15:59:56 +01:00
Daniel Gultsch
d8e0ab406c display groups w/o name by list of members
For members-only, non-anonymous groups that do not have a name set we now
show an automatically generated name that is generated from the list of members
(offline, and online). Only the first name (before the first space) is used
to keep the generated name short.

The term *private room* is coined as a short hand for members only&non-anon group
chats.

This commit also uses the offline members list instead of the online member list
to generate avatar tiles (also only in members-only, non-anon groups.)
2018-12-28 13:42:58 +01:00
Daniel Gultsch
542744ade2 support jpeg pep avatars + actually check hash 2018-11-27 21:20:53 +01:00
Daniel Gultsch
34ab3de0ba only parse vcard hashes from available presence 2018-11-27 21:20:53 +01:00
fiaxh
2208ff9799 Restructure (http) file provider flow: Separate download&get_info, download in provider, move XmppStreamModule into xmpp-vala 2018-11-27 03:38:42 +01:00
fiaxh
fa731a4623 Split login jid/password into two steps with checks 2018-11-16 09:29:34 -06:00
Marvin W
dfb75e2cda
Merge PR #413 "Improvements to the OMEMO plugin" 2018-11-10 08:05:14 -06:00
codedust
1e54a442ba Display room name in conversation selector and conversation titlebar 2018-11-02 15:14:35 +01:00
fiaxh
6d947c42b5 Notification on TLS error/wrong password, log TLS cert issues, don't make account with connection error appear disabled in accounts dialog 2018-09-15 16:19:47 +02:00
fiaxh
79e0aee5fd Fix property with custom get+set to not have a default value (compiler error with vala 0.41)
Fix encryption icon not being shown right away
2018-09-04 13:48:33 +02:00
Marvin W
baa3f99ed7 Initial implementation of SCRAM-SHA-1 2018-09-01 13:20:10 +02:00
fiaxh
4be8c92a2c In-Band Registration 2018-08-22 20:29:24 +02:00
Samuel Hand
8ebc2c5dd3 Fix mutual subscription detection 2018-08-10 01:40:20 +01:00
Samuel Hand
0bfab9d1d9 Fix bug where OMEMO not avaiable with a newly added contact 2018-08-05 01:26:36 +01:00
fiaxh
2e5977df96 Fire signal on subscription approval 2018-07-30 00:00:56 +02:00
fiaxh
babe987dcb Don't handle error message stanzas as normal messages 2018-06-14 23:12:25 +02:00
Samuel Hand
62e5e6485e Implement XEP-0380 for the OMEMO and OpenPGP plugins (#359)
* Implement XEP-0380 in a naive fashion for both the OMEMO and OpenPGP plugins

* Move the XEP-0380 namespace to a constant

* Move the implementation for xep-0380 to its own module

* Remove un-needed lines from plugins/openpgp/src/stream_module.vala
2018-05-28 16:19:51 +02:00
fiaxh
c1533f2577 Redesign chat input + move file upload there 2018-04-30 11:03:59 +02:00
fiaxh
c656c7e9c2 small fixes 2018-04-17 22:13:05 +02:00
fiaxh
4ccdc1d092 Small connection fixes 2018-03-10 20:01:22 +01:00
fiaxh
81310dff2e Handle multiple chat state notifications per bare jid
fixes #117
2018-03-10 20:01:22 +01:00
fiaxh
0968da1ff7 Only notify on last MAM message, only if not read
fixes #293
2018-03-06 21:55:31 +01:00
fiaxh
5436d716c0 Use correct host name for TLS when using xmpps 2018-02-11 10:57:43 -06:00
fiaxh
ef40b61734 Small fixes 2018-01-30 17:29:54 +01:00
fiaxh
78de584ad0 Make slack workarounds use in-pipeline 2018-01-28 22:27:50 +01:00
fiaxh
57c72d2818 Pipeline for incoming messages in libdino 2018-01-28 13:37:53 +01:00
Marvin W
03a349bfaf Small fixes to MucManager 2018-01-28 00:38:47 +01:00
Marvin W
782ae4c049 Move Jid class to xmpp-vala, partially refactor namespace 2018-01-28 00:38:47 +01:00
linkmauve
0ce28c0b0d Fix typos in comments and variable names (#269)
Thanks `codespell`!
2018-01-10 15:12:54 +01:00
David Plassmann
5d6cf9d8d5 Add support for setting a new Affiliation in a muc (#266)
* Added support for setting a new Affiliation in a muc

* small changes

* fix parameter order
2018-01-09 01:06:32 +01:00
fiaxh
2e041e2984 Tab completion: Case insensitive, handle spaces 2018-01-06 14:02:32 +01:00
fiaxh
a8cc94c188 Show error on invalid TLS certificate 2018-01-04 21:17:56 +01:00
fiaxh
b4bb0912fc Show subscription request in conversation summary 2017-12-30 13:10:06 +01:00
fiaxh
f25fadde2d Fallback display for all file types 2017-12-13 21:11:33 +01:00
fiaxh
f3ca14f2d6 ConversationView: Date separator 2017-12-01 02:28:51 +01:00
fiaxh
9165c4db27 Async service lookup, connect and write 2017-11-23 01:28:29 +01:00
fiaxh
de133218da Disconnect stanza listeners from pipeline 2017-11-22 00:40:41 +01:00
fiaxh
2a514d0969 Fix unit tests using async + read message marker 2017-11-17 17:24:03 +01:00
fiaxh
3f531d6b91 Read+(write) stream async 2017-11-16 17:43:00 +01:00
fiaxh
81e05e6645 small fixes 2017-11-01 18:53:38 +01:00
fiaxh
0102abeec1 Fix warnings 2017-10-31 15:41:45 +01:00
fiaxh
d9b91206c0 Keep MUC join dialog open until joined, show errors 2017-10-31 15:41:45 +01:00
fiaxh
7e83529afc Blocking setting in Contact Details 2017-10-31 15:40:42 +01:00
Emmanuel Gil Peyrot
a8d06e634b xmpp-vala: Add support for XEP-0191: Blocking Command 2017-10-31 15:40:42 +01:00
linkmauve
1e1aa704a2 Remove new from struct initialisation, as it is deprecated (#180)
* Remove new from struct initialisation, as it is deprecated.

* Use Map.has_key instead of Map.contains, as it is deprecated.
2017-10-23 16:10:15 +02:00
fiaxh
749edd21b9 Add oob tag to http-upload messages
fixes #166
2017-10-22 18:26:31 +02:00
fiaxh
9d8e1e88ec http-files: max-file-size handling 2017-09-26 17:01:06 +02:00
fiaxh
1f0df86445 fixup 8944029 (PGP support for MUCs) 2017-09-06 00:38:59 +02:00
fiaxh
a257b16337 Download & inline display images 2017-08-31 18:54:38 +02:00
Marvin W
82a8f5c38d
xmpp-vala: use encoded value when formatting stanza attributes
fixes #140
2017-08-29 22:07:38 +02:00
fiaxh
8bc0d107e7 Plugins providing conversation items for ConversationView 2017-08-28 00:02:59 +02:00
Marvin W
9840774a87
omemo: store and display identity keys of all devices 2017-08-27 14:52:18 +02:00
fiaxh
621e1e98cb xmpp-vala: Improve time parsing 2017-08-22 16:23:15 +02:00
fiaxh
a8aceb1e39 README: Discussion MUC, change url 2017-08-22 16:04:41 +02:00
Marvin W
a24e88f48b
Fix some UI issues 2017-08-22 00:24:39 +02:00
fiaxh
299f52df3a xmpp-vala: Connection fallback without SRV records 2017-08-19 00:29:08 +02:00
Marvin W
f78818abbe
xmpp-vala: catch TLS errors during read() 2017-08-17 19:49:33 +02:00
fiaxh
bff6885a6b fixup 4aee957 (request history since last known messages) 2017-08-17 01:37:15 +02:00
fiaxh
fb36ea0553 Message Archive Management 2017-08-17 01:26:03 +02:00
fiaxh
b0264b3e00 xmpp-vala: Remove require-functions 2017-08-14 22:38:17 +02:00
fiaxh
a59f728bdd Stream Management 2017-08-14 22:38:12 +02:00
Marvin W
6904bda756
xmpp-vala: improve namespace handling, add some tests 2017-08-12 11:59:38 +02:00
fiaxh
b29d52fdda SRV records for XMPP over TLS 2017-08-11 11:56:37 +02:00
fiaxh
0206139f0f http files: Fix double-free rance-condition
... and move classes around
2017-08-07 21:48:43 +02:00
fiaxh
6bc950d042 Http file upload for version :0 and other server setups 2017-08-07 21:04:39 +02:00
Max Weller
4aee95703d request history since last known messages (#110)
request history since last known messages
when rejoining a room at startup
2017-08-05 12:56:32 +02:00
fiaxh
ea174ab632 Http file upload 2017-08-03 15:59:04 +02:00
fiaxh
97e1c795ad Make session negotiation optional 2017-06-21 11:55:43 +02:00
fiaxh
3f0089db86 Session establishment 2017-06-21 01:58:09 +02:00
fiaxh
26973c89e3 Set jid handle in ContactDetails, use LabelHybrids more, remove edit from StartConversation 2017-06-17 16:13:23 +02:00
fiaxh
7bbbb738fd Get rid of manual storage objects for delegates 2017-06-13 20:12:40 +02:00
fiaxh
dabc2a8b1d MUC join behaviour + small MUC error changes 2017-06-13 19:51:24 +02:00
fiaxh
e63d59eb34 Muc Invite + Kick 2017-06-11 13:59:24 +02:00
fiaxh
3a8df2069e MUC config form (data forms), MUC room info 2017-05-30 22:28:36 +02:00
fiaxh
142257a544 fixup bcb9690 (Roster versioning) 2017-05-24 17:29:17 +02:00
fiaxh
bcb96909c9 Roster versioning 2017-05-22 01:02:09 +02:00
fiaxh
4247922e8c Member affiliation in occupant list 2017-05-18 23:14:44 +02:00
Marvin W
eddf17c682
cmake/signal-protocol: shared lib, mark_as_advanced and others 2017-04-26 21:48:53 +02:00
fiaxh
3eb9aa0fa7 Sync MUC join/part behaviour with autojoin flag in bookmarks 2017-04-23 14:03:44 +02:00
Marvin W
f95b4f4e09
xmpp-vala/core+libdino: concurrency + nullity improvements 2017-04-18 20:20:41 +02:00
fiaxh
c6ff3387fa Handle conference bookmarks w/o nick 2017-04-17 22:48:43 +02:00
fiaxh
a37b5ac823 MUC improvements 2017-04-11 21:25:33 +02:00
Marvin W
2a49d4a1aa
Add --print-xmpp flag to log details 2017-04-03 15:09:30 +02:00
Marvin W
8248cfcbb2
Make FHS compliant, split RPMs, fix compilation on older GCCs 2017-04-03 15:05:39 +02:00
fiaxh
22adbd38dc Handle MUC private messages 2017-03-31 16:39:28 +02:00
Marvin W
e6f89f8751
New CMake
- add install and uninstall targets
- compatibility for systems without pkg-config
2017-03-23 17:16:08 +01:00
Marvin W
ef0483765a
Small bug fixes and compatibility with Vala 0.36 2017-03-23 16:48:26 +01:00
fiaxh
6f3225979c Select conversation on startup, placeholder for "No conversation selected", start services before UI 2017-03-20 22:28:32 +01:00
fiaxh
db57a97353 Add typed identity to manager modules and stream flags 2017-03-20 22:28:27 +01:00
fiaxh
1eca8c6f67 Fix message stanza default type 2017-03-18 00:12:27 +01:00
Marvin W
22c9c53b1d
Drop libuuid dependency, uuid generation is not that complicated... 2017-03-12 22:23:25 +01:00
Marvin W
bd1f116b3a
Fix delegate copying issue 2017-03-12 21:24:47 +01:00
Marvin W
e8f11178ec
Move storage into user directory and fix plugin search path 2017-03-12 14:09:32 +01:00
Marvin W
a9ea0e9f87
Split OMEMO plug-in into files, various fixes 2017-03-12 03:17:21 +01:00
fiaxh
7e1ecb34cb Move PGP support into plugin 2017-03-12 02:52:43 +01:00
Marvin W
cd6b904e97
CMake: merge created header+vapi files into a single directory 2017-03-11 23:58:34 +01:00
fiaxh
083df7e737 Move GPG initialization to gpgme-vala 2017-03-11 23:09:57 +01:00
fiaxh
f40a34bdc1 Use delegates + object storage instead of listener objects 2017-03-11 23:09:57 +01:00
Marvin W
4c48bdc072
Improve Plugin API (allow to move encryption into plugin) 2017-03-11 02:04:38 +01:00
fiaxh
1ccad732b9 Use typed identity in stream modules 2017-03-11 01:40:42 +01:00
Marvin W
d8e102a160
Use typed identity in module manager 2017-03-10 21:49:29 +01:00
Marvin W
9cdc3619bd
Add typed identity to stream modules 2017-03-10 21:15:06 +01:00
Marvin W
29ca70a6d5
Initial plugin system 2017-03-10 19:50:34 +01:00
Marvin W
e59b9d2fff
Various fixes in vala-xmpp 2017-03-10 17:33:27 +01:00
fiaxh
9b8cf706d6 Outfactor PGP into pgpme-vala 2017-03-10 17:29:23 +01:00
fiaxh
2fe8489d36 Rename vala-xmpp library to xmpp-vala 2017-03-10 17:11:25 +01:00