AsamK
2c3d222e84
Remove unnecessary stderr output
...
Fixes #334
2020-08-14 20:49:54 +02:00
AsamK
e6c1e03e21
Update dependencies
...
updateProfile can now only update both name and avatar at the same time,
as the upstream API has changed.
2020-08-09 13:00:29 +02:00
AsamK
f96770df3c
Move decrypting recipient profile to separate method
2020-08-06 22:35:59 +02:00
AsamK
2f9873c35e
Use isEmpty()
2020-07-02 21:34:52 +02:00
AsamK
34caba2a7a
Delay auto responses to messages until caught up with old messages
...
To prevent responding with old state, if the last receive call was a long
time ago.
2020-06-05 12:13:17 +02:00
AsamK
d14b8ac71f
Detect when receive has caught up with old messages
2020-06-04 18:44:13 +02:00
AsamK
bfb12b0872
Refactor sendMessage and extract sendSelfMessage method
2020-05-22 12:54:22 +02:00
AsamK
1aba9f370e
Extract sending of expiration timer update to separate method
2020-05-22 12:48:39 +02:00
AsamK
e048b1886d
Store number/uuid in recipient store after receiving a message
...
Necessary to find the correct session if the sender send the next message
with only the uuid.
Fixes #309
2020-05-22 12:32:36 +02:00
Matúš Košút
b382a4260b
Contact config - message expiration time ( #308 )
...
Co-authored-by: Matus Kosut <matus.kosut@ntnu.no>
2020-05-16 22:55:53 +02:00
AsamK
1e0aa8929d
Separate DbusSignal implementation from Manager
2020-05-15 23:11:18 +02:00
AsamK
d08508e6ef
Move Exception classes to corresponding package
2020-05-15 20:03:51 +02:00
AsamK
d520023fc7
Refactor Manager and SignalAccount to implement Closeable
...
Should make sure that file lock and web socket connections are closed
reliably.
2020-05-13 23:33:40 +02:00
AsamK
87f65de0c5
Save account state after ending session even if sending the message has failed
2020-05-11 18:31:22 +02:00
AsamK
a02031aa80
Refactor Manager to always have a valid SignalAccount instance
...
Extract ProvisioningManager to link new devices
2020-05-11 18:07:37 +02:00
AsamK
8163a42d3a
Split manager ServiceConfig from BaseConfig
2020-05-11 14:51:55 +02:00
AsamK
916d0e3cf1
Don't send group info request after receiving QUIT for unknown group
...
The sender has quit the group so he won't respond to the info request anyway
2020-05-07 12:41:49 +02:00
AsamK
26840a2f0f
Update dependencies
2020-05-06 20:11:26 +02:00
AsamK
00777a469c
Switch to hypfvieh dbus-java
...
Removes transitive dependency on libmatthew-unix-java
Fixes #285
2020-05-06 09:13:49 +02:00
AsamK
08749fcee0
When sending an end session message clear local session store also if sending message fails
2020-04-21 20:36:28 +02:00
AsamK
19b01ff2e9
Also catch IllegalArgumentException when sending messages during receive
...
It's necessary to keep receiving messages if a session state is corrupted.
e.g:
Exception in thread "main" java.lang.IllegalArgumentException: Empty key
at java.base/javax.crypto.spec.SecretKeySpec.<init>(Unknown Source)
at org.whispersystems.libsignal.ratchet.ChainKey.getBaseMaterial(ChainKey.java:57)
at org.whispersystems.libsignal.ratchet.ChainKey.getMessageKeys(ChainKey.java:47)
at org.whispersystems.libsignal.SessionCipher.encrypt(SessionCipher.java:97)
at org.signal.libsignal.metadata.SealedSessionCipher.encrypt(SealedSessionCipher.java:70)
at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.encrypt(SignalServiceCipher.java:86)
at org.whispersystems.signalservice.api.SignalServiceMessageSender.getEncryptedMessage(SignalServiceMessageSender.java:1456)
at org.whispersystems.signalservice.api.SignalServiceMessageSender.getEncryptedMessages(SignalServiceMessageSender.java:1406)
at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:1276)
at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendReceipt(SignalServiceMessageSender.java:206)
at org.asamk.signal.manager.Manager.sendReceipt(Manager.java:686)
at org.asamk.signal.manager.Manager.handleMessage(Manager.java:1562)
at org.asamk.signal.manager.Manager.receiveMessages(Manager.java:1496)
at org.asamk.signal.commands.ReceiveCommand.handleCommand(ReceiveCommand.java:160)
at org.asamk.signal.Main.handleCommands(Main.java:137)
at org.asamk.signal.Main.main(Main.java:60)
2020-04-21 20:33:23 +02:00
AsamK
ae41d0c502
Output json when receiving messages from dbus and --json parameter is given
...
Fixes #138
2020-04-03 16:22:10 +02:00
AsamK
f51f0cbbcf
Return message timestamp after sucessfully sending a message
...
Fixes #104
2020-04-03 14:02:18 +02:00
AsamK
320e126eeb
Add RecipientStore to resolve all identifiers to SignalServiceAddress
...
Should fix #290
2020-04-03 13:22:36 +02:00
AsamK
e684a902bb
Update dependencies
2020-03-30 22:00:41 +02:00
AsamK
ff18b1bf99
Get untrusted identity from inner exception
...
Fixes #283
2020-03-29 14:45:11 +02:00
AsamK
7e5aec6e15
Store uuids in identity and session store
2020-03-29 13:32:45 +02:00
AsamK
286070c054
Use legacy sender certificate, until uuid support is complete
2020-03-25 20:34:12 +01:00
AsamK
5df8f32820
Mark our own identity key as trusted initially
...
to match Signal-Android behavior
2020-03-24 18:16:05 +01:00
AsamK
995de3ef5b
Improve behavior, when authorization fails
...
- register command should still be possible, to regain authorization
- reset uuid after registering, otherwise the verify request will fail
2020-03-24 18:15:21 +01:00
AsamK
efa1c43b0b
Get uuids from contact store when resolving numbers
2020-03-24 14:36:12 +01:00
AsamK
26aa31edc2
Only send our profile key to recipient who are in our contact list
2020-03-24 14:36:12 +01:00
AsamK
20bf605e36
Only store our own profile key in contact list, if a contact entry already exists
2020-03-24 14:36:12 +01:00
AsamK
6665dc0e48
Set uuid after verify and linking and request it at startup for existing clients
2020-03-24 14:36:12 +01:00
AsamK
1b56485fc8
Send delivery receipt for data messages that need it
...
With the unidentified sender messages, the Signal server cannot do this
automatically anymore.
2020-03-23 20:51:13 +01:00
AsamK
b62694dbc7
Remove ThreadStore and store message expiration time in group/contact store
...
To match the implemenation of Signal-Android
2020-03-23 20:51:13 +01:00
AsamK
f982d2752e
Store group member uuids in group store
...
The member list is now stored as a mixed list of strings and objects, e.g.:
"members": [ "+XXXX", { "number": "+XXXX", "uuid": "XXX-XX" } ]
2020-03-23 20:51:13 +01:00
AsamK
a4e1d69788
Store contact uuids in contact store
2020-03-23 17:43:37 +01:00
AsamK
e2b7bda65b
Use SignalServiceAddress in more places
2020-03-23 17:09:56 +01:00
AsamK
4ff28458ff
Refactor sticker upload
2020-03-23 14:49:21 +01:00
Signal Stickers
23845eab47
Add support for uploading stickers.
...
Closes #256
2020-03-23 14:49:17 +01:00
AsamK
bb06ae9d9a
Mark group as active when the user hasn't left it
...
Fixes #269
2020-03-22 18:27:29 +01:00
AsamK
67f6378f7f
Fix storing received profile keys
2020-03-22 17:17:28 +01:00
AsamK
a6562b3b7b
Implement sending messages using unidentified sender
2020-03-22 17:17:14 +01:00
AsamK
d7f7c84e6c
Fix some inspection issues
2020-03-21 14:41:11 +01:00
AsamK
0dc6b1327e
Update libsignal-service-java
...
- Use new ProfileKey class instead of byte array
- Add capabilities (for future support of uuid and groups v2)
2020-03-21 14:37:02 +01:00
AsamK
063fb95dca
Add command sendReaction for emoji reactions
2020-02-22 11:29:17 +01:00
AsamK
37ed02f4ce
Update to libsignal 2.15.3_unofficial_2
2020-02-12 20:36:23 +01:00
Daniel Schäufele
8b9640ba14
Add support for blocking contacts and accounts ( #260 )
...
* Add blockContact and unblockContact subcommands
* Send blocked status in contacts sync
* Use only one method for blocking and unblocking
* Add blocking/unblocking for groups
* Prevent blocked messages from being printed
* Print blocked property in listContacts and listGroups commands
* Handle BlockedListMessages
* Store blocked state from incoming contact and group sync messages
* Minor changes and corrections
* Add block and unblock commands to man file (and also fix some headings of commands)
2020-01-22 08:39:28 +01:00
AsamK
7f9379f78b
Canonicalize number when listing identities
2020-01-21 22:09:21 +01:00