Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Can't use service, because unable to unregister from WhisperPush (CM11) #755

Closed
Ring000 opened this Issue · 41 comments

23 participants

Ring000 felixschweitzer storm49152 zlaoz Lorenz Hübschle-Schneider thoughtbox boennhoff Deccoy sendiulo andreasf Emantor sinphild Chris Soyars Moxie Marlinspike flowtec Myles McNamara Michel Zimmer Lioman Dave Williams Jokerswild2412 Alexander Böhm tYGjQCsvVI sh0nuff
Ring000

Hello,
this is not a real bug. But maybe you can add support in how someone can unregister from WhisperPush. TextSecure tells me that my phone number is allready registered, so i am unable to use this application.
Greetings

felixschweitzer

Same problem here.

storm49152

Yes.. I (well, we) cannot use TextSecure because I'm unable to unregister from CM11 Whisperpush (why didn't anyone think of making unregistering possible?).
I don't know if restoring the ROM works (I didn't try) but it is not really a solution, as it's a lot of work to reinstall all user apps: https://plus.google.com/106018464378777386522/posts/av8DyDA9BKi

Can you please make it possible to unregister from Whisperpush so that we can use TextSecure..

Ring000

Whiping your system wont help, i guess. Because your mobile Number is safed on the TextSecure Servers.

zlaoz

same here. deleting app-data of whisperPush (included in cm11) does not solve the problem. function to unregister from server is needed!

storm49152

Yeah, just like unregistering by re-registering using a non-existent phone number doesn't work, and also using the TextSecure "call me" function (presented after SMS time-out) doesn't work.

We need an actual unregister function for the Whisperpush servers, or the servers that Whisperpush registers with should be made compatible so that TextSecure can use them. But I don't know if the latter is possible.

Lorenz Hübschle-Schneider

You should direct this bug report to the @CyanogenMod folks, as they operate the WhisperPush servers, not OpenWhisperSystems.

thoughtbox
boennhoff

I run CM11 and am registered with CM11-WhisperPush - I can confirm the problem of not being able unregister, to register with TextSecure >2.0.
I also tried to delete data of WhisperPush and to Re-register with a wrong number... Not working!

Deccoy

+1 here, same Problem

sendiulo

+1, same problem. @lorenzhs this shouldn't depend on their service! There should be a way to reset it. That's one of the advantages of registering with phone number. This way it would be a big disadvantage.

also running CM11 with whisperpush.

andreasf

You could try to unregister manually. In the following, "pc" and "phone" indicate whether a command should be run from your computer or, through the adb shell, on your phone:

pc:$ adb shell
phone:$ su # (enable root for ADB first)
phone:$ cat /data/user/0/org.whispersystems.whisperpush/shared_prefs/org.whispersystems.whisperpush_preferences.xml
# take note of pref_push_password and pref_registered_number
# also, log out of adb
pc:$ curl -v -X DELETE --basic --user $pref_registered_number:$pref_push_password https://whisperpush.cyanogenmod.org/v1/accounts/gcm/
# add -k to skip the certificate warning

You should get a HTTP 204 response. If you don't have curl on your computer, the solution is to download it... ;-)

Emantor

The above solution worked fine for me. Thanks :+1:

storm49152

Indeed. Also check this thread on CyanogenMod forum:
http://forum.cyanogenmod.com/topic/87482-critical-flaw-in-whisperpush/

Ring000

I dont get it to work. I Dont understand the process of:

take note of pref_push_password and pref_registered_number
pc:$ curl -v -X DELETE --basic --user $pref_registered_number:$pref_push_password https://whisperpush.cyanogenmod.org/v1/accounts/gcm/

I got my Number and the push password. And now i do what?
I type in cmd/adb: $ curl -v -X DELETE --basic --user $pref_registered_number:$pref_push_password

Where do i put the number and password?

Lorenz Hübschle-Schneider

@Ring000 the $ notation is commonly used to tell you that whatever is written there is a variable and you should substitute it with those values. So if your pref_registered_number is "+123456789" and your pref_push_password is "abcde", what you should do is:
curl -v -X DELETE --basic --user "+123456789:abcde" https://whisperpush.cyanogenmod.org/v1/accounts/gcm/ on the command line.

sinphild

Look for the big mess of stuff in your terminal/commandline after typing "cat /data/user/0/org.whispersystems.whisperpush/shared_prefs/org.whispersystems.whisperpush_preferences.xml"

In there is "pref_registered_password" (up top) and "pref_registered_number" (down bottom).

Your final command should look like this

"curl -v -X DELETE --basic --user +61423765897:FA567Hgdu7bbd883cvGD77DFHhgdf7fb https://whisperpush.cyanogenmod.org/v1/accounts/gcm/"

I might add though that so many people are doing this now that it appears the whisperpush server is unreachable via this method. Yay.

Lorenz Hübschle-Schneider

@sinphild beat you by a second there ;) It worked for me an hour ago.

Ring000

Curl not found = Damn it ;))

andreasf

@Ring000
This was meant to be run on your computer. Install curl through your favorite package manager. If you use Windows, google for "curl windows". I think that this issue should be closed, since it's actually a problem with WhisperPush, not TextSecure. Can you close it?

@sinphild
You can easily check that on another machine:

$ host whisperpush.cyanogenmod.org
whisperpush.cyanogenmod.org has address 54.201.5.27
Ring000

Yes, i can close it. But maybe its interesting for pople with the same problem.

@andreasf
Thank you !

andreasf

Closing the issue only marks it as "closed", and does not delete it. Other people will still be able to see all the comments, but they won't be able to add new ones. Further discussion and support should probably happen on the Cyanogenmod forums (there are 2 threads in "The Lounge").

Ring000 Ring000 closed this
Chris Soyars

For those that want to follow this on the CyanogenMod end, I've created a JIRA issue:

https://jira.cyanogenmod.org/browse/CYAN-3572

I am currently working on a big UX overhaul, which I hope to have merged by the end of the week. This will include the ability to unregister.

sendiulo

As i don'T have ADB installed i just used cyanogenmod's built in file manager to browse to the file indicated up there. Be sure to go to settings > general > advanced > root mode (translated from german, may be different) to activate superuser before trying to find the file.

sendiulo

Could you please open the issue again? In my opinion it is not "actually a problem with WhisperPush". Textsecure doesn't work properly. I guess many people (all those who tried registering for whisperpush out of curiosity) won't give a shit why it doesn't and leave TextSecure because it looks broken to them. These are the target group, who else would have registered for WhisperPush? Also, WhisperPush is affiliated with WhisperSystems, isn't it?!

TextSecure should offer an option to unregister from WhisperPush from inside TextSecure! All this fiddeling around with command line prompts will deter 90% of the users and fail in another 90% due to damn typos (that was me :( ).

Moxie Marlinspike
Owner

@sendiulo Unfortunately, that's not possible. TextSecure the app communicates with servers operated by Open Whisper Systems. WhisperPush communicates with servers operated by CyanogenMod. We federate with each-other to pass messages back and forth, but one client can't take action against another's user database.

We definitely need to get an update into the hands of Cyanogen users that allows an easier transition back and forth, but that's not really within the control of those who work on the TextSecure app.

sendiulo

But it's all on my Phone and i guess for many other users it will be the same. If i registered for whisperpush on another device, i could overwrite that by re-registering with whisperpush on my device, right?

The whisperpush files are always in the same folder in CM. With superuser rights it should be easy to fetch the pref_push_password from the file and then contact the whisperpush server to delete the registration. As this has to be done only once, the user might be willing to give superuser rights.

I don't know how the background system works, but in my opinion the one who authenticates as being able to receive the registration messages should also be able to reset the registration for that number no matter what server it was registered on before.

PS: i managed to get a 204 from their server, so i hope that i can register soon.

storm49152

@sendiulo Are you sure it didn't work? When I unregistered and tried to register TextSecure it didn't work. But when I waited for about 15-30 minutes the registration worked.

sendiulo
flowtec

Worked fine for me!
Thanks everyone for this HowTo and all the devs for the work on this nice messenger!

Myles McNamara

thanks to @ctso there's an APK to unregister from CM servers but you need to run it on the CM phone:

https://github.com/ctso/WhisperPushUnregister/releases

Michel Zimmer

@andreasf Is there a way to unregister, if I don't have the file anymore?
By file I mean: /data/user/0/org.whispersystems.whisperpush/shared_prefs/org.whispersystems.whisperpush_preferences.xml

andreasf

@mzimmer-net In that case, you might have to ask CM to remove you from their user database manually. The support address is admin@cyanogenmod.org.

Lioman

worked for me, thanks for your solution

Dave Williams

For those who need a fix for this and aren't on the phone they registered with, I've written a Ruby script to fake a registration and use that registration to unregister all devices associated with the number. You'll need to be able to receive a text message to the number you want to unregister, but for legitimate use that shouldn't be a problem.

https://github.com/daveio/whisperpush-unregister

Jokerswild2412

daveio: do we run whats in the "Quick Version" in our phone or do it from our computers?

Dave Williams

@Jokerswild2412 - you want to run it on your computer. It doesn't require any information from your phone. You'll need Ruby 1.9 or greater - if you're on OS X, you already have what you need, and if you're on Windows then you'll probably want the 2.0.0-p451 installer from http://rubyinstaller.org/downloads/

Alexander Böhm

if you don't want to use ruby

Unregistering from Cyanogenmod Whisperpush without your original keys or access to an android device with CM installed;

Request a new verification code against your phone number :

curl -v -k -X GET  https://whisperpush.cyanogenmod.org/v1/accounts/sms/code/+YOURPHONENUMBER

Request a new whisperpush registration:

curl -v -k -H "Content-Type: application/json" -X PUT --basic --user "+YOURNUMBER:>LZ0lSAK9UYNKxXdepTumHOhf" -d '{"signalingKey":"NzVCRTU2QTVCN0UzNTAyRTE1MkUzQjMzODBFODkzMUY0MDExQzhGOTRDRjI0RDU0MjcwQTdCNzc0QzhGMzI4QTJCOEUzODU1NTUxRjFCQzA1OEMyNTZERDk3OTdDOUNCCg","supportsSms":"true","registrationId":"1234567892"}'  https://whisperpush.cyanogenmod.org/v1/accounts/code/<CODE RECIEVED FROM STEP 1 numbers only>

Delete your new registration:

curl -v -k -X DELETE --basic --user '+YOURPHONENUMBER:>LZ0lSAK9UYNKxXdepTumHOhf' https://whisperpush.cyanogenmod.org/v1/accounts/gcm/

Your should now be able to sign up with text secure

from: http://pastebin.com/VtxsmHth

tYGjQCsvVI

If you're looking to unsubscribe from textsecure instead of whisperpush, here's the URL:-
https://textsecure-service.whispersystems.org/v1/accounts/gcm/

Obviously you can replace the domain in all cases. My god, that was annoying to locate. You really need to add an unsubscribe button.

Moxie Marlinspike
Owner

@tYGjQCsvVI Just untick 'Push messages' in TextSecure settings.

tYGjQCsvVI

@moxie0 Yeah, thanks, unfortunately I was looking for an "Unregister" button and overlooked that option. Sorry.

sh0nuff

Hey, is there a way to do this for people who are really noobish to the ways of programming? I'm no slouch technologically or in the mobile realm, but I just can't seem to figure out the Ruby environment. I ran the file to disengage my number from the WhisperPush servers, but was met with all sorts of errors.. Can I ask someone more knowledgeable to process my number for me as a favor? You're welcome to email me directly for my #, jon@theasset.ca

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.