Commit graph

354 commits

Author SHA1 Message Date
Daniel Gultsch 865e08401b fixed regression with mlinks stream managment. fixes #1206 2015-08-24 20:56:36 +02:00
Daniel Gultsch 7bd0f31244 Merge branch 'master' into development 2015-08-23 17:57:53 +02:00
Daniel Gultsch 0dfb9bd1a0 introduce special iq type for internal timeouts. always use != result to check for error in callbacks 2015-08-23 17:53:23 +02:00
Daniel Gultsch 777dd4b51e Merge branch 'master' into development 2015-08-23 17:29:46 +02:00
Daniel Gultsch bbfd98b726 reformating 2015-08-23 17:29:31 +02:00
Daniel Gultsch d51c4b9655 deal with another set of stream:features after bind 2015-08-23 17:26:50 +02:00
Daniel Gultsch b0710cdf04 Merge branch 'master' into development 2015-08-23 13:57:14 +02:00
Daniel Gultsch 3d6fb9b21d remove callbacks directly from iterator 2015-08-23 10:20:29 +02:00
Daniel Gultsch 1688b65965 don't make subsequent iq request when original stanza returned an error 2015-08-23 08:27:05 +02:00
Daniel Gultsch 496f531e2e modified clearIqCallbacks into 2-step process 2015-08-23 08:01:47 +02:00
Daniel Gultsch 9e26375d2f simulate old behaviour with messages being set to waiting while offline 2015-08-19 13:00:52 +02:00
Daniel Gultsch 9edcca1045 Merge branch 'master' into development 2015-08-16 15:01:06 +02:00
Daniel Gultsch 5b1dda9148 deal with broken frameworks 2015-08-16 14:55:40 +02:00
Daniel Gultsch 51a2645349 synchronize packetCallbacks 2015-08-16 12:12:22 +02:00
Daniel Gultsch 83e1e6468e fully depend on sm 2015-08-15 16:57:07 +02:00
Daniel Gultsch dad90762b4 do not touch pictures that are already in the right format
fixed #522
2015-08-11 16:50:00 +02:00
Daniel Gultsch fd81491b05 put wake locks on out of band file transfers 2015-08-10 19:48:36 +02:00
Daniel Gultsch d30515a85a report wrong file size in otr encrypted jingle file transfers to be compatible with conversations > 1.6 2015-08-10 12:55:37 +02:00
Daniel Gultsch b7f00ddac3 fixed image preview in notfications for images that arrived over jingle 2015-08-08 17:19:40 +02:00
Daniel Gultsch efdf3b6c1c removed dead code 2015-08-08 13:13:23 +02:00
Daniel Gultsch cac577fa4e don't request ack for iq stanzas before stream managment is initialized
fixes #1322
2015-08-08 10:26:36 +02:00
Daniel Gultsch 53ce5d223e request server-ACKs for iq stanzas 2015-08-06 20:48:55 +02:00
Daniel Gultsch 6694af8fca fail old/invalid iq stanzas on bind 2015-08-06 14:54:37 +02:00
Daniel Gultsch 60cd307f73 enable axolotl encryption for jingle supported file transfers 2015-08-01 01:19:16 +02:00
Daniel Gultsch 58d80f58be use gcm for file encryption over http 2015-07-29 23:45:37 +02:00
Daniel Gultsch 9c94c9ad8f rewrote dns fallback 2015-07-24 19:06:47 +02:00
Daniel Gultsch c32162c280 switch/case can't deal with null pointers 2015-07-23 14:02:25 +02:00
Andreas Straub 92b5081b5e Add INACTIVE state for removed keys
We introduce a new trust state: INACTIVE. This state is intended for
old keys that have been removed.

When a TRUSTED device is removed from the PEP devicelist, it's status
will be set to INACTIVE. INACTIVE keys are shown in the UI as greyed
out, non-interactible key rows. Messages are not encrypted for INACTIVE
devices.

When an INACTIVE device reappears in PEP, or a message is received from
an INACTIVE device, it is set back to trusted.
2015-07-21 14:24:59 +02:00
Daniel Gultsch 504ef0b72e rely on refreshUi/refreshUiReal and make sure it is being used everywhere 2015-07-20 15:48:58 +02:00
Andreas Straub 012f036840 Optimize imports 2015-07-20 14:26:29 +02:00
Andreas Straub 14010bf5a6 Ask for key trust when sending messages
If the contact (or the own account) has keys that have UNDECIDED trust,
we now drop the user into the new TrustKeysActivity, where they have to
decide for each new key whether it should be TRUSTED or UNTRUSTED.
2015-07-19 22:27:26 +02:00
Andreas Straub 77619b55e4 Added PEP and message protocol layers
Can now fetch/retrieve from PEP, as well as encode/decode messages
2015-07-19 21:32:26 +02:00
Daniel Gultsch 9b70c7e68c bugfix: don't crash if aes key could not be set before jingle transfer 2015-07-19 14:51:04 +02:00
Daniel Gultsch 1f43115544 increased ibb block size 2015-07-17 13:06:51 +02:00
Daniel Gultsch ce79f4bbe3 renamed downloadable to transferable 2015-07-10 15:11:03 +02:00
Daniel Gultsch 7eac30d1f4 catch number format exception in server ack 2015-07-10 12:09:59 +02:00
Daniel Gultsch 9eb9a52205 initial http upload support
be careful: little error handling and no encryption
2015-06-29 15:21:41 +02:00
Daniel Gultsch 5a48afdd4d don't perform dns lookups on domain parts that obviously look like ip addresses 2015-06-19 16:25:08 +02:00
Daniel Gultsch 3eab3291de properly calculate remaining size. should fix #1243 2015-06-03 03:05:20 +02:00
Daniel Gultsch a577ec7c31 let dns library take care of no-srv style hosts as well 2015-05-28 17:31:46 +02:00
Daniel Gultsch f579602456 Merge branch 'master' into development 2015-05-25 11:15:14 +02:00
Daniel Gultsch 36034815ee use same sm check inside xmppconnection and out 2015-05-25 04:54:11 +02:00
Daniel Gultsch d261feda74 rewrote parser code. mam id and possible other stuff still missing. also massivly untested 2015-05-20 03:48:14 +02:00
Daniel Gultsch e32f380dae provide helper function for getting the content of a child directly 2015-05-20 03:48:14 +02:00
Daniel Gultsch a0575c81ab use same socket time out for jingle and xmpp connections 2015-05-18 08:48:08 +02:00
Daniel Gultsch 1446a59fa5 use a 20s timeout on socks5 connections 2015-05-18 08:46:04 +02:00
Daniel Gultsch fbc43a8d38 don't offer initiator his own candidates 2015-05-18 08:45:50 +02:00
Daniel Gultsch d672d578c9 fixed crash on failed account registry 2015-05-17 12:32:04 +02:00
Daniel Gultsch 4151b72a6e let jingle connection and manager handle message status 2015-05-16 04:12:53 +02:00
Andreas Straub b69ee7125d Force Nameprepping of JID domain parts
The IDN.toAscii()/IDN.toUnicode() family only namepreps the original
domain passed to it if it contained non-ASCII characters. This means
that for all-ASCII domains, no canonicalization is performed, which
leads to issues like case-sensitivity. This workaround explicitly
namepreps domain parts before calling IDN.toAscii() on them, in order to
get a canonicalized representation (most notably, case invariance). A
basic DB migration is also included.
2015-05-14 15:52:55 +02:00
Daniel Gultsch 8d472157a4 always log reason for failed file transfer 2015-05-14 11:57:51 +02:00
Daniel Gultsch c4a4dd2392 throw proper exception before changing account into error state 2015-05-08 06:30:06 +02:00
Daniel Gultsch e0653c0371 fixed encrypted ibb file transfer which was broken with ART. fixes #1172 2015-05-07 14:19:51 +02:00
Daniel Gultsch d74e8a8a0e fixed npe when missing instructions on failed register 2015-05-06 04:33:21 +02:00
Daniel Gultsch db726a59b8 fwiw don't allow stanza count to go over MAX_INT 2015-05-06 04:29:45 +02:00
Daniel Gultsch 5136bf9832 r/o support for vcard avatars. pep avatars will be prefered 2015-05-05 06:17:34 +02:00
Daniel Gultsch c4bfffe6a9 mark account with incompatible server when no sasl mechansim could be found 2015-05-02 12:10:56 +02:00
Daniel Gultsch bcdfdb9ccf added config option to be a bit more verbose about stanza counts 2015-04-29 16:15:07 +02:00
Daniel Gultsch e11d658f5e use xmppserviceconnection to send iq packets in jingle connection 2015-04-26 20:27:30 +02:00
Daniel Gultsch 5ea1c547d5 fixed service discovery by properly storing and checking identities 2015-04-25 18:24:10 +02:00
Daniel Gultsch d07baccf97 cleaned up file handling 2015-04-25 14:08:24 +02:00
iNPUTmice c4daa08170 fixed a bug in DNS helper code. fixes #1130 2015-04-16 21:56:03 +02:00
iNPUTmice 65e760aefd some bug fixes concerning 0byte files. fixes #1126 2015-04-15 15:36:16 +02:00
iNPUTmice 332fe0fd19 don't resume old session when changing resource 2015-04-09 12:46:54 +02:00
iNPUTmice 99b2ef7e9d respond to unreadable OTR messages with error message. fixed #1021 2015-03-21 16:07:17 +01:00
iNPUTmice da099e5fa4 wait for session iq to return sucessfully before sending other stanzas. fixed #1017 2015-03-20 21:48:45 +01:00
Mateusz "maxmati" Nowoty?ski 74e5317095 Do not Strigprep JIDs from database 2015-03-11 15:59:31 +01:00
iNPUTmice f25a824610 avoid unnecessary thread creation 2015-03-05 15:46:33 +01:00
iNPUTmice c5230e081c added config option to disable string prep in jids 2015-03-05 10:15:04 +01:00
iNPUTmice e10c4e78f1 experimantal in memory jid caching 2015-03-04 19:56:24 +01:00
iNPUTmice 9e10c3841e check for null in jid parser 2015-02-26 16:56:07 +01:00
iNPUTmice 7ee5e95959 added typing notifications through XEP-0085. fixed #210 2015-02-21 11:06:52 +01:00
Stephen Paul Weber 00fa6f89d6 Vitelity's s.ms service requires <body> first
If the <body> tag is not first, their bot just silently drops the
stanza.  I know we shouldn't have to care about order, and I'm trying to
get them to fix it, but it's not high-priority for them since "most"
clients seem to work, so I'd like this workaround in.
2015-02-15 14:18:41 -05:00
iNPUTmice e68c6a1b74 load messages asynchronously 2015-02-12 18:53:00 +01:00
iNPUTmice 44ee746681 added actions to error notification 2015-02-10 17:13:34 +01:00
iNPUTmice af0c979f45 disabled cipher logging 2015-02-09 16:41:13 +01:00
Sam Whited 03d30e4fdb Use platform ciphers as well, just prefer ours 2015-02-02 11:16:22 -05:00
iNPUTmice 3a52f31824 don't count when attempt failed completly 2015-01-29 23:35:31 +01:00
iNPUTmice 82a74fabc9 set jingle file transfer to offer after iq offer has returned 2015-01-25 16:32:59 +01:00
Sam Whited 503237087f Remove legacy SSL support 2015-01-19 11:02:13 -05:00
Sam Whited 548a585b2c Harden the TLS connection cipher suites 2015-01-14 13:10:15 -05:00
Daniel Gultsch b07b7519a6 keep proper image file extension 2015-01-11 15:19:36 +01:00
Daniel Gultsch 0a48f777ac code cleanup for jingle proxy discovery 2015-01-09 14:42:58 +01:00
Daniel Gultsch 353f4e38bb mark sent images as sent_received instead of sent
fixed #842
2015-01-06 18:44:34 +01:00
Daniel Gultsch 85f24c9106 avoid requesting blocklist after stream resumption 2015-01-05 16:17:05 +01:00
Daniel Gultsch 2723c9ccb9 made checks for valid image extensions case insensitive 2015-01-04 23:04:23 +01:00
Daniel Gultsch 0d6d09b7e9 code cleanup + logging of spoofed iq packets 2015-01-04 15:40:09 +01:00
Sam Whited 88704ce5cd Verify IQ responses
Fixes #20

Move fromServer/toServer to AbstractStanza
2015-01-04 08:28:13 -05:00
Sam Whited eb7e683403 Make IqPacket type an enum 2015-01-04 08:20:30 -05:00
Daniel Gultsch e32a927300 Use packet callbacks only for IqPackets. Removed unnecessary code 2015-01-04 12:09:39 +01:00
Daniel Gultsch 8d2f454479 prefer PLAIN over DIGEST-MD5
DIGEST-MD5 seems to be broken for a lot of cases (OpenFire)
switched priority of PLAIN to not cause any security errors
2015-01-02 01:39:19 +01:00
Daniel Gultsch 3833e6dfef improved OTR verification part one 2015-01-02 01:21:14 +01:00
Daniel Gultsch 3c5d7d4f1b refactor swithOverToTls stuff 2014-12-30 01:17:11 +01:00
Sam Whited b48bddb852 Fix typo in method name 2014-12-29 14:21:20 -05:00
Sam Whited e4d9dca2fe Add ability to change password on server
Fixes #260
2014-12-25 21:38:55 +01:00
Sam Whited af7a64491f Add support for XEP-0191 (Blocking command)
Fixes #791

Squash of commits:
534f25d7dae3ce6852243e28fdd0a69ac01e9463
808fdf5147f27a912a60bee39aa4bf1ddd4f43b4
1eaf8a8330710ad35ba7c368e04f909af623ae4c
31585242c2359efdcd0eeddb9745077f54dbc9eb
2e69bd0bd0286ed1e98a42f4c3421ba4d8cf524b
e904fb5015bf3a1904ab941a1957edf3b1e7abd2
eebbadf3b3816bbf8fcccb763e419fed252d266f
7c5b87724ce494e5a6e8026557ed50a8fd9f23e8
b0eaaf446937794fe19cbdb4f8309c3ff83d4e42
8c652f9e8bb3512958d9ad8c6f1326505f2d98c8
ad0ea1ad948ff6f8fde7b0b10f5163dc8852032f
f5d49897e0dba691ef53a0eddb9ed34d129ad442
a08fa64c505bd895b7c626cfad182380373be20b
de67079113e08394a276048c31f6b21baa300829
9069f342173ba30c2b20c67529c7ff497a6a257d
0169fa79d161ee898c4b6762e207087682a952d8
8585a5bd75a5d56927fed8317729bd15fffe4dcc
0053528a078369e0b65dcf71bda251072a1299c7
e901a9c3554bd7cca193e92919b463991eadfea7
c5c78257434813c69ab9b7558bcc8f7cbe858433
e905af348d46d77bc46b5f7211527684acc02fab
13a0f9a10c7892b0f90f5fabd2f2615701b0fd66
2cfba1e24b0139839e4453b92be7e20634d150cf
58e074fb5bb44b05a8104250fccd7c024c808c1a
0d6cf98fc8eab212d798ac79b336f9b70a14f06d
e23620f56b85bcab9f3b5d9ce1c01524cd9674dc
d72cd2fcc8d54176c3ff53411a69b9bb4642eff3
195143dff8836623a37094a6b8fa6aa01ef31580
5f5f3caf3a1e480a99d27ee5c34ba516419c52e4
1dee3d5861c9f9c710da4cbda3688d94c622ca93
23949b8aa32c78b27bab49bb3c4f3ff588925ce1
9bf97f8ae522796e0dacb7f6fe7a7f90f86a93a1
2014-12-22 08:19:00 -05:00
iNPUTmice e084266595 migrated more jid parsing to use getAttributeAsJid. added error logging 2014-12-15 17:29:17 +01:00
iNPUTmice 50410dad33 possible dns fixes 2014-12-14 18:31:52 +01:00
iNPUTmice 0ab530932a added max history age (default 1w). automatically sort newly added mam messages 2014-12-10 14:08:06 +01:00
iNPUTmice 4a94389f05 very basic mam support 2014-12-10 14:08:06 +01:00
iNPUTmice 9d52f62767 cleanup: removed stream compression 2014-12-09 14:14:15 +01:00
Sam Whited 29a7828c5f Allow JIDs such as "example.net/@" 2014-12-02 10:17:50 -05:00
Sam Whited 4f9dd82457 "example.net/@/" should be a valid JID.
Retab JID file
2014-12-02 10:09:31 -05:00
Sam Whited 3fc834c067 Fix RFC 6122 implementation
JID resourceparts should be able to contain "@" and "/" characters
2014-12-02 09:16:09 -05:00
iNPUTmice a4b4c13c66 do not query service info from main server again 2014-12-01 09:48:30 +01:00
iNPUTmice 28fefad834 work around to not confuse irc transport with real conference servers 2014-11-21 20:34:19 +01:00
iNPUTmice 0ad6d0616f brought ad hoc conferences back. fixed #688 fixed #367 2014-11-20 18:20:42 +01:00
iNPUTmice 090e6ecf09 better exception handling in XmppConnection.connect. (never return without throwing exception. use finally to release wake lock. use status.server_not_found instead of status.offline when necessary 2014-11-18 01:48:16 +01:00
iNPUTmice abbadcb58b avoided some null pointers 2014-11-17 20:45:00 +01:00
iNPUTmice f18f3086af better error checking in ssl switch over 2014-11-16 12:00:53 +01:00
iNPUTmice 5a634fdf47 small modifications for changing an account status in XmppConnection 2014-11-15 20:54:28 +01:00
Daniel Gultsch 69ab8a2adb Merge pull request #668 from SamWhited/auth-pinning
Auth mechanism pinning
2014-11-15 17:44:51 +01:00
Sam Whited 17cec63c14 Set security error status on TLS cert mismatch 2014-11-15 11:40:41 -05:00
Sam Whited 251f4d6d7f Add incompatible server status 2014-11-15 11:29:58 -05:00
iNPUTmice 7ba9854c22 fixed some disco / carbon related bugs 2014-11-15 17:24:06 +01:00
Sam Whited c09d450db8 Add security error status 2014-11-15 11:21:47 -05:00
Sam Whited d94b07c916 Make account status an enum 2014-11-15 11:12:41 -05:00
Sam Whited 847877f9d2 Add auth method pinning 2014-11-15 10:01:08 -05:00
iNPUTmice ca2d86cf87 better cleanup after unsuccesful transfers 2014-11-15 15:34:12 +01:00
iNPUTmice 47d44448f3 fixed description in notifications and conversation overview 2014-11-15 15:34:12 +01:00
iNPUTmice e0f012dba1 fixed resending for files as well 2014-11-15 15:34:12 +01:00
iNPUTmice cc4f3702a8 made file transfers cancelable 2014-11-15 15:34:12 +01:00
iNPUTmice af2922adea progress for ibb transfers 2014-11-15 15:34:12 +01:00
iNPUTmice e7a70a46e0 some mime and pgp fixes for file transfer 2014-11-15 15:34:12 +01:00
iNPUTmice 16847a30c8 support for pgp files 2014-11-15 15:34:12 +01:00
iNPUTmice c7acfe85c3 progress for http images as well. fixed open button for sent files 2014-11-15 15:34:12 +01:00
iNPUTmice 02cbda68a7 bug fixes and various improvements for file transfer 2014-11-15 15:34:11 +01:00
iNPUTmice 7a90ca429b basic arbitrary file transfer 2014-11-15 15:34:11 +01:00
Sam Whited 4b5d6f5b4f Improve auth error handling and state machine 2014-11-15 08:49:00 -05:00
Sam Whited 0e550789d3 Add SCRAM-SHA1 support
Factor out GS2 tokanization into own class
Add authentication exception class

Fixes #71
2014-11-14 18:00:12 -05:00
Daniel Gultsch 88c8373553 Merge pull request #656 from SamWhited/authrefactor
Refactor authentication code
2014-11-12 23:01:18 +01:00
Sam Whited 2222483b42 Make sure we're storing the display JID as Unicode 2014-11-12 16:19:16 -05:00
Sam Whited 14cfb60952 Refactor authentication code 2014-11-12 10:15:38 -05:00
iNPUTmice c8a6b05163 made Jid class parse otr session ids 2014-11-10 11:37:31 +01:00
iNPUTmice 89ee999e1b more refactoring for presence selection. removed getTo, getFrom and getJid from Element 2014-11-10 01:24:35 +01:00
Sam Whited 180a0e4408 Rework `Account.getJid()' to return full JIDs
Remove `Account.getFullJid()'
2014-11-09 10:57:22 -05:00
iNPUTmice 377bd49ee8 refactored code to always contain full jid for counterpart 2014-11-09 16:21:13 +01:00
iNPUTmice 87c4fd9050 return null if from ist not set in abstract stanza 2014-11-09 16:18:53 +01:00
Sam Whited 53c7905631 Check for illegal arguments to the toASCII func 2014-11-09 09:05:02 -05:00
Sam Whited fc594e9b73 Fix issue with IDN SRV records 2014-11-09 07:00:40 -05:00
Sam Whited 1a3327f2b1 Create avatar's for JID's w/o localparts 2014-11-09 07:00:40 -05:00
Sam Whited 1f5908b1d1 Fix JID parsing error 2014-11-09 07:00:40 -05:00
Sam Whited 9db624ec7b It builds again! 2014-11-09 07:00:40 -05:00
Sam Whited bf9207456e Update another chunk of stuff to use JID objects 2014-11-09 07:00:40 -05:00
Sam Whited f15900426d Update more files to use JID objects 2014-11-09 07:00:40 -05:00
Sam Whited 9053f4aca0 Move a chunk of classes over to using JID objects 2014-11-09 07:00:40 -05:00
Sam Whited a990861316 Use factories to generate JIDs 2014-11-09 06:59:49 -05:00
Sam Whited a11878b139 Improve JID error handling 2014-11-09 06:59:49 -05:00
Sam Whited 8e23b6c272 Add first attempt at JID class 2014-11-09 06:59:49 -05:00
iNPUTmice acfbd44529 got rid of MTM and mRandom variable in favor of using a reference to service 2014-11-09 10:50:45 +01:00
iNPUTmice 047aaf5d4f check if socket was null before doing ssl connect 2014-11-08 20:52:02 +01:00
iNPUTmice 27f42dfb63 more error handling in xmppconnection 2014-11-03 10:03:45 +01:00
Sam Whited 46f147a82c Merge branch 'gradle' into development
Conflicts:
	.gitignore
	CHANGELOG.md
	README.md
	libs/MemorizingTrustManager
	libs/minidns
	libs/openpgp-api-lib
2014-10-30 15:33:13 -04:00
Sam Whited 281ce3105f Make conversations the root project 2014-10-22 15:47:11 -04:00