janimo / textsecure

TextSecure client package for Go
GNU General Public License v3.0
129 stars 26 forks source link

Sending attachment image to Signal client fails #38

Open mjtorn opened 6 years ago

mjtorn commented 6 years ago

Hi!

I opened this issue https://github.com/aebruno/whisperfish/issues/85 and realized this could be relevant to this layer.

TLDR: signal-whisperfish-fail

Has there been a protocol change and can it be fixed?

Thanks a lot!

morph027 commented 6 years ago

Weird thing is i don't see the images on my Android phone but i can see them in the desktop client ...

dmqgit commented 6 years ago

Hi,

I have the same issue. Is janimo still active? I really like the implementation and don't want to migrate.

Thanks

morph027 commented 6 years ago

Just built @aebruno fork and it works :+1:

https://github.com/aebruno/textsecure

dmqgit commented 6 years ago

Thanks morph027. Can you tell me if it uses the same keymaterial etc. Or do if to take the registration process again?

Thanks again!

morph027 commented 6 years ago

Works with the old installation, just copied over the new binary and it worked again.

dmqgit commented 6 years ago

Unfortunately the compilation went into trouble. I tried with version go1.4 and go1.9 for linux/arm architecture.

go get github.com/aebruno/textsecure/cmd/textsecure

github.com/aebruno/textsecure/axolotl/protobuf gocode/src/github.com/aebruno/textsecure/axolotl/protobuf/FingerprintProtocol.pb.go:71:15: undefined: proto.RegisterFile gocode/src/github.com/aebruno/textsecure/axolotl/protobuf/LocalStorageProtocol.pb.go:637:15: undefined: proto.RegisterFile gocode/src/github.com/aebruno/textsecure/axolotl/protobuf/WhisperTextProtocol.pb.go:45:11: undefined: proto.ProtoPackageIsVersion2 gocode/src/github.com/aebruno/textsecure/axolotl/protobuf/WhisperTextProtocol.pb.go:302:15: undefined: proto.RegisterFile

github.com/aebruno/textsecure/protobuf gocode/src/github.com/aebruno/textsecure/protobuf/Provisioning.pb.go:111:15: undefined: proto.RegisterFile gocode/src/github.com/aebruno/textsecure/protobuf/SignalService.pb.go:47:11: undefined: proto.ProtoPackageIsVersion2 gocode/src/github.com/aebruno/textsecure/protobuf/SignalService.pb.go:1313:15: undefined: proto.RegisterFile gocode/src/github.com/aebruno/textsecure/protobuf/WebSocketResources.pb.go:191:15: undefined: proto.RegisterFile

After that now binary is in the /bin folder. I tried with janimos release again - this release compiles. Did you face the same problems? Do you have a hint for me?

Thank you - you're help is really appreciated here.

morph027 commented 6 years ago

All fine here (I'm lazy and thanks to docker not installing any packages anymore ;) ):

root@builder:/# docker run --rm -it -v /tmp/docker:/data golang:latest /bin/bash
Unable to find image 'golang:latest' locally
latest: Pulling from library/golang
3e17c6eae66c: Already exists 
fdfb54153de7: Pull complete 
a4ca6e73242a: Pull complete 
93bd198d0a5f: Pull complete 
2a43f474a764: Pull complete 
e19893b2f35c: Pull complete 
3b8a1a0cc426: Pull complete 
85a9bedd68ab: Pull complete 
Digest: sha256:57ef143775b37c6100d4be60ca0f9493e18c68cde3ea76c36a22f41857df11f4
Status: Downloaded newer image for golang:latest
root@7f9e430e85da:/go# go get github.com/aebruno/textsecure
root@7f9e430e85da:/go# cd src/github.com/aebruno/textsecure/cmd/textsecure/
root@7f9e430e85da:/go/src/github.com/aebruno/textsecure/cmd/textsecure# go build
root@7f9e430e85da:/go/src/github.com/aebruno/textsecure/cmd/textsecure# ls -lart
total 11
-rw-r--r-- 1 root root    8314 Nov 24 20:42 main.go
drwxr-xr-x 2 root root       4 Nov 24 20:42 .config
drwxr-xr-x 3 root root       3 Nov 24 20:42 ..
-rwxr-xr-x 1 root root 8737039 Nov 24 20:44 textsecure
drwxr-xr-x 3 root root       5 Nov 24 20:44 .
root@7f9e430e85da:/go/src/github.com/aebruno/textsecure/cmd/textsecure# ./textsecure -h
Usage of ./textsecure:
  -attachment string
        File to attach
  -config string
        Location of config dir (default ".config")
  -echo
        Act as an echo service
  -endsession
        Terminate session with peer
  -group
        Destination is a group
  -leavegroup string
        Leave a group named by the argument
  -linkdevice string
        Link a new device, the argument is a url in the format 'tsdevice:/?uuid=xxx&pub_key=yyy'
  -message string
        Single message to send, then exit
  -newgroup string
        Create a group, the argument has the format 'name:member1:member2'
  -showdevices
        Show linked devices
  -stress int
        Automatically send many messages to the peer
  -to string
        Contact name to send the message to
  -unlinkdevice int
        Unlink a device, the argument is the id of the device to delete
root@7f9e430e85da:/go/src/github.com/aebruno/textsecure/cmd/textsecure# # copy binary to mounted path outside docker container
root@7f9e430e85da:/go/src/github.com/aebruno/textsecure/cmd/textsecure# cp textsecure /data/
dmqgit commented 6 years ago

Ah. morph027, genius. With the docker build environment it compiles without further stress. Good one!

Thank you and @aebruno for getting this done.