mumble-voip / mumble-iphoneos

Mumble client for iOS-based devices
https://www.mumble.info
Other
194 stars 79 forks source link

Username text field should be non-autocorrecting #66

Closed sangshuduo closed 11 years ago

sangshuduo commented 11 years ago

I can login on my ubuntu PC but on my iPhone. I always got "Connection rejected" error with "Wrong certificate or password for existing user" after I typed password. How can I fix up?

mkrautz commented 11 years ago

Have you tried connecting with another username? If you're already registered on the server with the certificate you use on your Ubuntu box, you need to use the same certificate on your iPhone in order to gain access to that user.

sangshuduo commented 11 years ago

Yes. I generated two users with same login info for both of Ubuntu and iPhone. I think that's why I can't connect to server. I just tried to export certificate file from Ubuntu and import it to iPhone by sync. But I can't see it from preference. What wrong at my side? Should I name it with a specify extension name or some rule I need follow?

thanks.

mkrautz commented 11 years ago

If you place a .p12 or .pkcs12 or *.pfx file in the Mumble app's Documents folder, you should be able to import it in the app's preferences (Preferences -> Network -> Certificates -> + button -> iTunes Import.

If not, I'll have a look at trying certificate import on Ubuntu.

sangshuduo commented 11 years ago

I changed extension to p12 then it can be recognized and imported. but still failed with same error msg.

sangshuduo commented 11 years ago

i tried p12, pkcs12 and pfx. no one work.

mkrautz commented 11 years ago

Which error message are you getting. Still the "Wrong certificate or password for existing user" one? Or "Connection rejected"?

If you're getting "Connection reject", that could imply that you're temporarily banned for connecting too frequently in a short time span.

If you're getting the wrong cert/password rejection, are you sure that:

sangshuduo commented 11 years ago

A dialog popup with subject is connection rejected and a text wrong certification or password for existing user. Below an input control with my input password.

I can login server on Ubuntu then export certificate to a file named with extension you suggested. I import the certificate file to my iPhone by iTunes and user preference of App to import it. I can see an item with expire date information. Then I connect my favourite server, also same as what I connect on Ubuntu. After couples seconds connection, failure dialogue pop up.

mkrautz commented 11 years ago

Did you select your certificate as the default after importing it? (I.e., is it blue in the certificate preferences?)

If not, it isn't using that certificate for the connection.

sangshuduo commented 11 years ago

I have only one certificate on my iphone. I do see a blue point on the icon of certificate. I guess it should be default already.

mkrautz commented 11 years ago

Good. Just wanted to make sure -- you might have had more than one certificate in there. :-)

I'm a little stumped. If your certificate is the same as on your Ubuntu box, and your username is the same, then it should definitely allow you to connect...

Is your client certificate a CA-signed one, or is it a self-signed certificate generated with the Mumble certificate wizard?

mkrautz commented 11 years ago

Is your password field 'clean'? If it contains stuff, the server might be trying to authenticate you with password auth (and thus failing)...

sangshuduo commented 11 years ago

current certificate on my ubuntu box is a self-signed with certificate wizard. i tried both clean field and password input, both failed with same error.

mkrautz commented 11 years ago

Thanks for confirming.

I will try to see if I can trigger this behavior later today.

mkrautz commented 11 years ago

Sorry for not having the time yesterday. I tried to reproduce this:

  1. Installed Mumble on Ubuntu quantal (12.10) from the Mumble snapshot PPA: https://launchpad.net/~mumble/+archive/snapshot
  2. Downloaded a static Linux Murmur and ran it: http://mumble.info/snapshot/murmur-static_x86-1.2.4-rc1-8-gb115a29.tar.bz2
  3. Created a new ceritificate in Mumble's certificate wizard
  4. Connected to the server
  5. Right clicked, registered myself (I got the Authenticated icon)
  6. Disconnected from the Ubuntu machine's Mumble client
  7. Exported the self-signed cert from Mumble into my home directory
  8. Dragged the exported .pkcs12 file into Mumble's Documents folder on my iPhone via Nautilus
  9. In the Mumble app, I imported the certificate via Preferences -> Network -> Certificates -> + -> iTunes Import
  10. Made sure the certificate was chosen as the default certificate
  11. Connected to the server hosted on the Ubuntu machine (any username will do, as the certificate is what's used for user authentication)
  12. Succesfully connected as the user I registered while using the Mumble desktop client

So I'm not really able to reproduce. Are you doing something different than this? Thanks.

sangshuduo commented 11 years ago

I install mumble from official software center on Ubuntu 12.10. Not snapshot PPA. But I think the client should not be problem.

I don't run Murmur myself. System admin does. I don't know what version or source they got to run.

sangshuduo commented 11 years ago

BTW, yesterday I need use mumble for mac instead of mumble for linux. I reused the certificate file I have exported from Ubuntu on Mac. It works well.

mkrautz commented 11 years ago

Thanks, that's a good data point. I will try to look at this again later today (CET).

mkrautz commented 11 years ago

@sangshuduo: I can finally reproduce this. Thanks.

mkrautz commented 11 years ago

I take that back. Turns out my Mumble instance on Ubuntu hadn't shut down properly, so it was still using my old certificate.

Once I configured them to use the same certificate, everything worked like I would expect.

Tested with Mumble for iOS 1.1.1 and Mumble 1.2.3-g315b5f5-2ubuntu2

Maybe you could do another test. Try to export the certificate you import to your iOS device out into the Documents folder again, and check whether that exported certificate works on either OS X or Ubuntu? You export by clicking the action button (top right of the screen) when viewing a certificate in the iOS client.

sangshuduo commented 11 years ago

aha, i found the trick. the username seems case sensitive but it will be changed to capitalized automatically due to iOS text field setting. I did not realize it before. After I manually change it back to lower case of my name's first letter, I can connect now. Please close this issue. Sorry to waste you much time. I suggest you remove that auto capitalization. Thanks.

mkrautz commented 11 years ago

Great. Glad you found out what was wrong.

I'll fix the field to be non-autocorrecting.

mkrautz commented 11 years ago

Fixed in d1664401ba.