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
0287272a3b
Make fields final for DBusSignal classes
2020-05-14 23:44:24 +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
e04c45766d
Rename fingerprint to safety number
...
Fixes #92
2020-04-03 14:27:18 +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
narodnik
d49d536c32
Add a new sync dbus message which shows messages you sent. Necessary for having synchronized chats where you want your message to appear. Format is similar to receive message dbus except instead of sender, it has sender (source) and receiver (destination). ( #289 )
2020-04-03 13:16:57 +02:00
AsamK
e684a902bb
Update dependencies
2020-03-30 22:00:41 +02:00
signal-stickers
b68575dd16
Use correct sticker pack key length of 32. ( #288 )
...
* Use correct sticker pack key length of 32.
* Update dependencies
Co-authored-by: AsamK <asamk@gmx.de>
2020-03-30 21:19:17 +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
416f43b225
Fix potential crash that could happen when legacy thread.id is null or empty
2020-03-27 15:33:27 +01:00
AsamK
286070c054
Use legacy sender certificate, until uuid support is complete
2020-03-25 20:34:12 +01:00
AsamK
d50dc69f08
Remove unused methods from LegacyJsonThreadStore
2020-03-24 19:30:21 +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
9546a79308
Print better error message for captcha required error
2020-03-24 15:14:20 +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
eb0648828a
Show recipient of sent sync message also when destination is not present
2020-03-23 17:10:44 +01:00
AsamK
0ce64dc923
Use lambda for ThreadLocal
2020-03-23 17:10:11 +01:00
AsamK
e2b7bda65b
Use SignalServiceAddress in more places
2020-03-23 17:09:56 +01:00
AsamK
4f1ee83475
Reformat project
2020-03-23 14:49:21 +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
3f315df6c8
Add toString method to Hex utils
2020-03-23 13:21:56 +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
f3b8df789d
Print message reactions
2020-02-22 10:35:55 +01:00
AsamK
37ed02f4ce
Update to libsignal 2.15.3_unofficial_2
2020-02-12 20:36:23 +01:00