Wildfire 3.2.0 RC 2 has been released

Where are you getting the 405 error? From wildfire or the server jwchat is running. Or do you have jwchat running in the spark subdir?

If you’'re running jwchat on a separate server, can you show how you are redirecting to wildfire?

As I mentioned … I’'ve got this running fine, both on the wildfire server (in the spark directory) and a separate server.

david

I fixed it. It was my mistake… The 405 error is not a real error (HTTP method GET is not supported by this URL). So I configure jwchat with wildfire http-bind and now is working fine… Thanks for all.

It seems that Last Logout column is not updating anymore. It shows info only about a few contacts that has logged out 6 days ago (maybe with 3.1.1 or Beta version)

I am afraid i found a serious problem.

Here is what i did:

Installed 3.2.0 RC2 on OSX.

Installed the gateway plugin.

Registered a new account with some gateways to icq and msn.

and here is the point where everything imploded:

tried apple ichat as a client…

obviously the whole roster data got nuked somehow.

back in adium i get no contactlist, too…

i tried psi (because it has an xml debugger)…

the connection attempt stalls here:

any chance to recover this account? any hints?

best regards.

maybe i tracked the problem down, but so far i dont know howto fix it.

when trying to delete the user completely via the webadmin i get an java error saying something about an illegal JID someuser@hotmail.com@msn.myserver.com

my account was deleted anyway, but when i than add a new account with the same name as my old account and then delete it again, i get the same error about the illegal JID mentioned above. so maybe my contact list data is still alive somewhere… i’'ll start digging into the mysql db now… and you guys should maybe have a look at errorhandling about jids with illegal characters?

pehw. i rescued my contactlist… the problem was really a JID with two @ in it.

i found the entry in the table jiveROSTER and simply replaced the first @ with an “_”

now the client fetches the roster again correctly.

but this should seriously be considered as it broke the roster polling for all other accounts, too

The IM Gateway plugin does not put any of the actual legacy service contacts in jiveRoster, they are only stored in memory. Any idea how that contact got in your roster at all? Ideally this conversation ought to be over in the IM Gateway forum. I typically don’'t pay a lot of attention to this forum. Just so happens that I posted a response to the release notification and noticed these posts. =)

the only thing i could image is that ichat “thought” hmm… why has the contact a \40 instead of a @ … that must be wrong…and corrected it itself, which screwed the whole server

should i submit a bugreport somewhere?

even if the client behaviour was wrong it should not screw all rosters of all users

triiix wrote:

the only thing i could image is that ichat “thought” hmm… why has the contact a \40 instead of a @ … that must be wrong…and corrected it itself, which screwed the whole server

should i submit a bugreport somewhere?

even if the client behaviour was wrong it should not screw all rosters of all users

Bug reports are generally just forum posts on the IM Gateway forum. That said, I certainly -hope- ichat wouldn’'t be stupid enough to do that. =) I wonder what made it “screw the whole server” as you put it? Did you have regular XMPP roster items as well?

Generally, the IM gateway plugin will intercept anything that has the host portion of the jid as what it’‘s expecting to see, and tell Wildfire “you will not save this in the roster!” So I’'m a little curious as to where the confusion was occuring.

i really have no idea, but i am able to reproduce the problem.

when using ichat and directly adding a JID with two @ in it to the roster…

when one user has a double @ JID in his roster the server stops pushing the roster data to ALL users.

so maybe its not a specific gateway plugin problem but just a wildfire roster error-handling / input checking problem.

the server should check the data he gets from a user before adding it to the roster and “crashing”.

this problem could easily be abused as a denial of service attack…

the attacker simply has to register an account at an wildfire server, add a JID like please@crash@little.server.com to his roster and thats it all other users at this server are no longer able to poll there rosters.

even the user import/export plugin delivers no more data, when a double @ JID is on the roster of one user.

triiix wrote:

the attacker simply has to register an account at an wildfire server, add a JID like please@crash@little.server.com to his roster and thats it all other users at this server are no longer able to poll there rosters.

this should be investigated by devs prior Final release. Though this seems to be related to iChat only (and maybe gateway). If this would affect only a client - that’'s ok, but all users. Even if this is some triiix specific issue.

hi wroot.

i was able to reproduce this with psi and adium.

just try it yourself and add a JID which contains two @’'s.

The server should always be safe against client and user stupidity

I’'ve tried with Psi 0.10 but nothing has happened.

strange. i am able to reproduce it on every try?!

Hey triiix,

I tested this case with Spark and Exodus and it worked fine since they were escaping the @. A JID cannot have more than one @ so it has to be escaped. When I tested with Psi I noticed that the JID was not being escaped but anyway Wildfire 3.2 RC 2 handled the IQ request correctly and returned an IQ error. Users were still able to log in and retrieve their roster. This is what I see in Psi debugger:

<iq type="set" id="aab4a" >
<query xmlns="jabber:iq:roster">
<item name="rompe" jid="vamo@rompe@localhost" >
<group>Friends</group>
</item>
</query>
</iq> <presence from="vamo@rompe@localhost" type="error" to="gato@localhost/Psi" >
<error type="modify" code="400" >
<jid-malformed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></jid-malformed>
</error>
</presence>

In the server I got this exception which is fine:

Internal server error
java.lang.IllegalArgumentException: Illegal JID: vamo@rompe@localhost
     at org.xmpp.packet.JID.init(JID.java:384)
     at org.xmpp.packet.JID.<init>(JID.java:219)
     at org.xmpp.packet.Roster.getItems(Roster.java:228)
     at org.jivesoftware.wildfire.handler.IQRosterHandler.manageRoster(IQRosterHandler.java:200)
     at org.jivesoftware.wildfire.handler.IQRosterHandler.handleIQ(IQRosterHandler.java:104)
     at org.jivesoftware.wildfire.handler.IQHandler.process(IQHandler.java:48)
     at org.jivesoftware.wildfire.IQRouter.handle(IQRouter.java:300)
     at org.jivesoftware.wildfire.IQRouter.route(IQRouter.java:104)
     at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)
     at org.jivesoftware.wildfire.net.StanzaHandler.processIQ(StanzaHandler.java:283)
     at org.jivesoftware.wildfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler.java:79)
     at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:248)
     at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:147)
     at org.jivesoftware.wildfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:126)
     at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)

Are you seeing other errors or other exchanged XML between the server and the client?

Regards,

– Gato

Using the enterprise plugin, I was having some issues with this version. I needed to get an SSL cert imported, and could not get to the import tool in this version.

Also, the Fastpath application seemed to have some UI issues. I could not get to the “test webchat” link so see my icon to simulate a chat session.

I tried using the 3.1.1 eval license to work on 3.2 RC2 enterprise but enterprise would not accept that license. Is there another mechanism for getting an 3.2 Enterprise license?

Hey Roberto,

You can contact sales@jivesoftware.com to get a new eval license for Wildfire Enterprise 3.2.0.

Regards,

– Gato

It took me a little while to figure out that the phone sip mappings were on the server instead of the client I was able to hook up my vonage softline to the spark client. I just called myself and my presence switched to on the phone, that’'s kinda fun. Here are my settings in case someone else wants to play with vonage:

SIP Username : 1+(phone # including area code)

Authorization User name: 1+ (phone # including area code)

Display Phone number: Easier to read version of the above phone num

Password: (Vonage gives you this when you register a softphone account)

Server :sphone.vopr.vonage.net

Voicemail: 123

Enabled: (check)

That seemed to do the trick. The only odd thing i’‘ve noticed so far is that every 30 secs or so spark says it’'s registering Spark Phone. Is that normal?

Dear Dombiak,

thanks for your response.

The problem in my case was, that the client did not escape the first @ in the JID.

Which caused the server to stop sending contact lists to the client.

the clients send this like normal:

{/code}

but then the server responds nothing.

here is what i did to discover the problem:

i tried to delete the user which caused the problem.

wildfire told me, that there is an illegal jid, but deleted the user anyway.

BUT: it did not delete the users roster.

i added a user with the same account name again… and tried to delete it again.

got the same illegal JID error. this was the point where i knew that i had to look into

the roster database, as this was obviously not deleted… i am using the mysql variant.

in the roster database i found a jid with two @ which i changed to something else…

and voila wildfire send the roster contacts to the clients again.

just a sidenote:

in the situation where the “double @ jid” was in the database even the user import/export plugin

delivered just a blank page when trying to export the user database to screen.

so there really has to be a problem which causes wildfire to stop accessing the roster database when there is an illegal jid in it… (at least under some conditions, maybe just when using mysql?)

best regards & greetings from germany.