Login problem when using username like email containing @

i face this problem in my openfire 3.3.1

it doesn’t allow me to authenticate and login using username containing @ sign.

when i try to create user in admin panel with the username containing @, it shows me error that user already exists.

then i added user directly in database with the username containing @, and try to login. but it fails.

in API, JabberClient.java file, @ is replaced by % but still not working

i have attached two images of my admin panel

anyone knows this, please assist me ASAP

Thansk,

Anil

The @ symbol is the delimiter for the server name. Anything after the @ symbol is assumed to be the name of the chat server. What is the full name of your openfire server (i.e. chatserver.domain.com)? Usernames are usually just that (i.e. johndoe) which the server automatically merges with the server name to form the JID of johndoe@chatserver.domain.com

Hi

Todd Getz,

thanks for your response.

you are right that the JID is built upon the chat server

suppose i have given chat server like ‘localhost’ or ‘127.0.0.1’ and username is ‘enil’ then JID would be ‘enil@localhost’ or ‘enil@127.0.0.1’

but my problem is what if username contains @ sign

suppose i have username like enil@domain.com then JID will be ‘enil@domain.com@127.0.0.1’

and what server will do is it explodes the JID by @ and take the first part as username

in ‘enil@127.0.0.1’ case, username will be then ‘enil’

in ‘enil@domain.com@127.0.0.1’ case, server will be confused because there are two @ signs

and i have seen the code that written in JAVA and it replaces the @ sign with the %

but it can not authenticate

most interesting thing is in admin panel (chat-server:9090), when i try to create a username with the @ sign,

it gives me error that user already exist.

i have uploaded two screen shot of my admin panel in above my thread

so what should i do to allow users to have username with @ sign

Have you found the solution for your problem?

I’m downloading Openfire source code to check this, but if you had found one I would be happy to hear it

You just need to escape the @ symbol:

Unescaped Character
Encoded Sequence

\20
"
\22
&
\26

\27
/
\2f
:
\3a
<
\3c

\3e
@
\40

\5c

Sry to butt in on this thread but do you know if the same applies to the pound £ symbol Coolcat? If so is there an escape sequence?

We’re having problems where users with the pound symbol in their passwords cant log on.

Thanks

Gerry

Escaping does just work for JabberIDs. Inside passwords you should be able to use all possible characters. It is possbile a character set problem. E.g. your database does use another character set than Openfire.

Thanks Coolcat. It worked.

I’ve another question: what about add them to groups?

I’ve tried throught the Openfire Console and throught phpMyAdmin and I was unable to do it from any of the ways.

When I use phpMyAdmin to add it, it recognises it as if it was an external user (either using @ or \40).

How did you tried to add that user to a group? Did you used the JID or the username? In Openfire’s Admin console you only need the username.

Example

You JID is:

user\40mail.example.tld@jabber.example.com

then you username would be simply the part before @:

user\40mail.example.tld

When escaping an JID using \40, you should be able to use it everywhere you need. It this does not work, you have found a bug.

Message was edited by: Coolcat

It worked after restarting Openfire and cleaning it’s cache (I’d already tried to clean it and it wasn’t work), but I’ve add the user throught phpMyAdmin.

From console it doesn’t work because when I try to add user\40mail.example.tld, for example, it escapes the , at least it appears on the top this:

User(s) not added successfully.
w.balkau\5c\5c40source-graphics.ch is not a registered user.

Have you tried simply adding:

user@mail.example.tld

Yes I have, but it doesn’t work also. I escapes the @, and so it appears:

User(s) not added successfully.
cliente\5c40speedmill.com is not a registered user.

Did anyone find a solution to this problem having the username with email address containing @. I tried \40 but will be the username, example username\40domain.com. people like using their email address as a username.

Escape \40 does not work in XIFF 3 does anyone know what is the reason?

I am testing locally follows in xiffgui3

rodrigo\40gmail.com@localhost