Comments (22)
I missed the correct byte to string mapping for uuids, see if 16b9c60 works
from textsecure.
that's because signal is starting to disable sending message by phone number and also you can't get the public key anymore:
PUT /v1/messages/+.... 409
Therefore i am writing the support for the contact discovery service.
from textsecure.
To fetch the uuid and then send the message to the uuid. With that latest version, try to reset the conversation, then textsecure gets the uuid
from textsecure.
try this branch: https://github.com/signal-golang/textsecure/tree/new_contacts
from textsecure.
Ah, okay. Just had a quick look into the branch already. Will try and let you know. As always, thanks for the work!!
from textsecure.
One, question though. I use the CLI for 2FA with Nextcloud. Do you have an ETA, when the sending by number wont work anymore without your #27?
from textsecure.
compiled w/ new_contacts
branch:
INFO[2021/01/25 08:48:41] Registration done.
DEBU[2021/01/25 08:48:41] [textsecure] missing my uuid defer
DEBU[2021/01/25 08:48:41] [textsecure] get my uuid
DEBU[2021/01/25 08:48:42] GET /v1/accounts/whoami 200
DEBU[2021/01/25 08:48:42] GET /v1/directory/auth 200
DEBU[2021/01/25 08:48:42] [textsecure] getCredentials
DEBU[2021/01/25 08:48:42] [textsecure] GetAndVerifyMultiRemoteAttestation
DEBU[2021/01/25 08:48:43] [textsecure] PUT /v1/attestation/xxx 200
DEBU[2021/01/25 08:48:43] [textsecure] GetAndVerifyMultiRemoteAttestation key
DEBU[2021/01/25 08:48:43] [textsecure] validateAndBuildRemoteAttestation <nil>
DEBU[2021/01/25 08:48:43] [textsecure] GetRegisteredContacts assestations
DEBU[2021/01/25 08:48:43] [textsecure] GetRegisteredContacts contactDiscoveryRequest
DEBU[2021/01/25 08:48:43] [textsecure] getContactDiscoveryRegisteredUser
DEBU[2021/01/25 08:48:45] [textsecure] PUT with auth & cookoie /v1/discovery/xxx 200
DEBU[2021/01/25 08:48:45] [textsecure] GetAndVerifyMultiRemoteAttestation resp
DEBU[2021/01/25 08:48:45] [textsecure] PUT /v1/messages/+xxx 409
DEBU[2021/01/25 08:48:45] [textsecure] Mismatched devices: {MissingDevices:[2] ExtraDevices:[]}
DEBU[2021/01/25 08:48:45] [textsecure] PUT /v1/messages/+xxx 200
DEBU[2021/01/25 08:48:45] [textsecure] SendMessageResponse: {NeedsSync:false Timestamp:1611560925669}
from textsecure.
Do you have added the user you are sending to the contacts?
from textsecure.
Via id or via tel ?
from textsecure.
I have added a WriteContactsToPath() call in the GetRegisteredContacts() so it should update the contacts.yml with the uuid and can you try if it works when you change in cmd/textsecure/main.go line 580 to to = c.UUID
?
from textsecure.
INFO[2021/01/26 08:25:54] Registration done.
DEBU[2021/01/26 08:25:54] [textsecure] missing my uuid defer
DEBU[2021/01/26 08:25:54] [textsecure] get my uuid
DEBU[2021/01/26 08:25:54] GET /v1/accounts/whoami 200
DEBU[2021/01/26 08:25:54] GET /v1/directory/auth 200
DEBU[2021/01/26 08:25:54] [textsecure] getCredentials
DEBU[2021/01/26 08:25:54] [textsecure] GetAndVerifyMultiRemoteAttestation
DEBU[2021/01/26 08:25:55] [textsecure] PUT /v1/attestation/xxx 200
DEBU[2021/01/26 08:25:55] [textsecure] GetAndVerifyMultiRemoteAttestation key
DEBU[2021/01/26 08:25:55] [textsecure] validateAndBuildRemoteAttestation <nil>
DEBU[2021/01/26 08:25:55] [textsecure] GetRegisteredContacts assestations
DEBU[2021/01/26 08:25:55] [textsecure] GetRegisteredContacts contactDiscoveryRequest
DEBU[2021/01/26 08:25:55] [textsecure] getContactDiscoveryRegisteredUser
DEBU[2021/01/26 08:25:57] [textsecure] PUT with auth & cookoie /v1/discovery/xxx 200
DEBU[2021/01/26 08:25:57] [textsecure] GetAndVerifyMultiRemoteAttestation resp
DEBU[2021/01/26 08:25:57] GET /v2/keys/xxx/1 404
FATA[2021/01/26 08:25:57] status code 404
The contacts.yml
has been updated with uuid and more data 👍 But sending still fails.
from textsecure.
Hint: It works for devices already present (sent messages in the past). It just fails for any new device.
from textsecure.
Ahhh....yes, it works!
from textsecure.
Update: works for single contact, not for groups (might be missing code in cli ... something related to the sendGroupHelper
, as it's still using a tel number according to debug output)
from textsecure.
054ae62 maybe this?
from textsecure.
Hehe... works with group, but doesn't work with single contacts anymore ;) Sending to group does segfault also.
Group:
INFO[2021/01/26 20:39:12] Registration done.
DEBU[2021/01/26 20:39:12] [textsecure] missing my uuid defer
DEBU[2021/01/26 20:39:12] [textsecure] get my uuid
DEBU[2021/01/26 20:39:12] GET /v1/accounts/whoami 200
DEBU[2021/01/26 20:39:12] [textsecure] GetRegisteredContacts
DEBU[2021/01/26 20:39:12] GET /v1/directory/auth 200
DEBU[2021/01/26 20:39:12] [textsecure] getCredentials
DEBU[2021/01/26 20:39:12] [textsecure] GetAndVerifyMultiRemoteAttestation
DEBU[2021/01/26 20:39:13] [textsecure] PUT /v1/attestation/xxx 200
DEBU[2021/01/26 20:39:13] [textsecure] GetAndVerifyMultiRemoteAttestation key
DEBU[2021/01/26 20:39:13] [textsecure] validateAndBuildRemoteAttestation <nil>
DEBU[2021/01/26 20:39:13] [textsecure] GetRegisteredContacts assestations
DEBU[2021/01/26 20:39:13] [textsecure] GetRegisteredContacts contactDiscoveryRequest
DEBU[2021/01/26 20:39:13] [textsecure] getContactDiscoveryRegisteredUser
DEBU[2021/01/26 20:39:15] [textsecure] PUT with auth & cookoie /v1/discovery/xxx 200
DEBU[2021/01/26 20:39:15] [textsecure] GetAndVerifyMultiRemoteAttestation resp
DEBU[2021/01/26 20:39:15] GET /v2/keys/xxx/1 200
DEBU[2021/01/26 20:39:15] no prekey for contact xxx, device 1
DEBU[2021/01/26 20:39:15] [textsecure] PUT /v1/messages/xxx 409
DEBU[2021/01/26 20:39:15] [textsecure] Mismatched devices: {MissingDevices:[2 5 6] ExtraDevices:[]}
DEBU[2021/01/26 20:39:15] GET /v2/keys/xxx/2 200
DEBU[2021/01/26 20:39:15] no prekey for contact xxx, device 2
DEBU[2021/01/26 20:39:15] GET /v2/keys/xxx/5 200
DEBU[2021/01/26 20:39:15] no prekey for contact xxx, device 5
DEBU[2021/01/26 20:39:15] GET /v2/keys/xxx/6 200
DEBU[2021/01/26 20:39:15] no prekey for contact xxx, device 6
DEBU[2021/01/26 20:39:16] [textsecure] PUT /v1/messages/xxx 200
DEBU[2021/01/26 20:39:16] [textsecure] SendMessageResponse: {NeedsSync:false Timestamp:1611689955275}
DEBU[2021/01/26 20:39:16] [textsecure] sendGroupHelper message to group sent xxx
DEBU[2021/01/26 20:39:16] [textsecure] PUT /v1/messages/xxx 409
DEBU[2021/01/26 20:39:16] [textsecure] Mismatched devices: {MissingDevices:[2] ExtraDevices:[]}
DEBU[2021/01/26 20:39:16] [textsecure] PUT /v1/messages/xxx 200
DEBU[2021/01/26 20:39:16] [textsecure] SendMessageResponse: {NeedsSync:false Timestamp:1611689955275}
DEBU[2021/01/26 20:39:16] [textsecure] sendGroupHelper message to group sent xxx
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x92fd3a]
goroutine 1 [running]:
github.com/signal-golang/textsecure.sendGroupHelper(0x7ffdd8592791, 0x20, 0x7ffdd859277f, 0xd, 0x0, 0xc4bda62b00000000, 0xc0001e4a20, 0xc400000000a487c0, 0x1)
/go/src/github.com/signal-golang/textsecure/groups.go:246 +0x21a
github.com/signal-golang/textsecure.SendGroupMessage(...)
/go/src/github.com/signal-golang/textsecure/groups.go:274
main.sendMessage(0xc0002b2101, 0x7ffdd8592791, 0x20, 0x7ffdd859277f, 0xd, 0x0, 0xc00000e460)
/go/src/github.com/signal-golang/textsecure/cmd/textsecure/main.go:145 +0x77
main.main()
/go/src/github.com/signal-golang/textsecure/cmd/textsecure/main.go:622 +0x65c
Sending to single contact works for one device (desktop client) but my mobile just shows the same error as above (Unterhaltungssitzung aktualisert
).
INFO[2021/01/26 20:43:54] Registration done.
DEBU[2021/01/26 20:43:54] [textsecure] missing my uuid defer
DEBU[2021/01/26 20:43:54] [textsecure] get my uuid
DEBU[2021/01/26 20:43:55] GET /v1/accounts/whoami 200
DEBU[2021/01/26 20:43:55] [textsecure] GetRegisteredContacts
DEBU[2021/01/26 20:43:55] GET /v1/directory/auth 200
DEBU[2021/01/26 20:43:55] [textsecure] getCredentials
DEBU[2021/01/26 20:43:55] [textsecure] GetAndVerifyMultiRemoteAttestation
DEBU[2021/01/26 20:43:55] [textsecure] PUT /v1/attestation/xxx 200
DEBU[2021/01/26 20:43:55] [textsecure] GetAndVerifyMultiRemoteAttestation key
DEBU[2021/01/26 20:43:55] [textsecure] validateAndBuildRemoteAttestation <nil>
DEBU[2021/01/26 20:43:55] [textsecure] GetRegisteredContacts assestations
DEBU[2021/01/26 20:43:55] [textsecure] GetRegisteredContacts contactDiscoveryRequest
DEBU[2021/01/26 20:43:55] [textsecure] getContactDiscoveryRegisteredUser
DEBU[2021/01/26 20:43:57] [textsecure] PUT with auth & cookoie /v1/discovery/xxx 200
DEBU[2021/01/26 20:43:57] [textsecure] GetAndVerifyMultiRemoteAttestation resp
DEBU[2021/01/26 20:43:58] [textsecure] PUT /v1/messages/xxx 409
DEBU[2021/01/26 20:43:58] [textsecure] Mismatched devices: {MissingDevices:[2 5 6] ExtraDevices:[]}
DEBU[2021/01/26 20:43:58] [textsecure] PUT /v1/messages/xxx 200
DEBU[2021/01/26 20:43:58] [textsecure] SendMessageResponse: {NeedsSync:false Timestamp:1611690237887}
from textsecure.
i found a check for invalid pointer, the problem is, we don't save uuid's for group members that aren't in our contact list, yet
from textsecure.
I had to merge it, will work further on the groups uuid, the merge request already improves the situation
from textsecure.
For me with the latest build v1.2.14
the no prekey for contact
error is gone - messages can be send out fine again! Thank you very much!
from textsecure.
I'm encountering this behaviour with the latest build in a different way:
I am getting the messages on my local phone when sending it with the CLI.
But on the Desktop Client it says it has the same behaviour with the: "Unterhaltungssitzung aktualisert" Message.
Although, I am getting the messages on the textsecure client, when sending it from the Desktop App.
The debug log:
DEBU[DATE] [textsecure] Websocket sending message
DEBU[DATE] GET /v2/keys/NUMBER/1 200
DEBU[DATE] GET /v2/keys/NUMBER/2 200
DEBU[DATE] [textsecure] makePreKeyBundle no prekey for contact NUMBER, device 2
DEBU[DATE] [textsecure] PUT /v1/messages/NUMBER 200
DEBU[DATE] [textsecure] SendMessageResponse: {NeedsSync:false Timestamp:TIMESTAMP}
Resetting the Session on the Desktop App doesn't make it work. Interestingly, when resetting the session on the Desktop Client, I am not able to send a message to the textsecure client with the Desktop Client (Mobile works fine)
Any Ideas? :-)
Or is this still Work in Progress (WiP)?
from textsecure.
Actually what's wrong here is, that PUT /v1/messages/NUMBER 200
and DEBU[DATE] GET /v2/keys/NUMBER/1 200
should be DEBU[DATE] GET /v2/keys/UUID/1 200
. Is there a phone number or a uuid?
from textsecure.
NUMBER was in this Case the Phone Number and Not the UUID.
from textsecure.
Related Issues (20)
- Go get does not work HOT 6
- TextSecure is flooding the logs when internet is unreachable
- Unable to receive messages due to invalid MAC
- textsecure gateway stops because of websocket failure HOT 2
- Release v1.3.1 libzkgroup_linux_amd64.so needed HOT 6
- contacts on armhf devices HOT 2
- Any way to accept a group invite ? HOT 5
- Triggering SIGSEGV by revoking Group Invite HOT 4
- 404 when sending messages HOT 23
- Crayfish not working HOT 4
- Not support for arm64 HOT 2
- requestCode SIGSEGV HOT 3
- 428 when sending messages HOT 1
- error when registering: Websocket message type is nil
- Not receiving reactions HOT 1
- Release new version
- status code 401 when try to register HOT 1
- bundle of 401 during work with texsecure
- groupsv2 panic when add client to group or group message recivied HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from textsecure.