Bugs/ Requests/ Suggestions/ Questions CHEST by wroot

Hi, ALL! So, i’‘ve decided to put all my questions and similar stuff in one thread. Firstly, i want to say that i’‘m not good in all this XMPP protocol specs and terms, and my English is lame too:) So i’‘ll describe all my issues in plain text and you’'ll have to translate it some how to human language:) Sorry if some issues were reported already.

I’‘m just starting with Jabber and Jabber Server. I’‘ve decided to stay with Jive. It’'s simple and user-friendly, so i think it could be not so hard for me to manage small messenger server. And Jive have 77% points at jabber.org table as i recall, and as i see is developing fast. Well, nice open-source product. So I begin:

testing with:

Jive Messenger 2.1.0 (embedded-db)

J2SE JRE 1.5.0_01

Windows XP SP2 (at work)

Windows 2000 SP3 (at home)

Miranda IM 0.3.3.1

Psi 0.9.3

neos 1.0.91(u)

JAJC 0.0.8.112

Exodus 0.9.0.0

well at home i cannot connect to AC (Admin Console), “Connection was refused” Firefox sais. I’‘m getting same Alert at work sometimes, i think after the server is just started or like this. Well, i need it at work and it works fine. It just could be convinient to recall something at home by running local Jive Server. Or maybe i’'ll want to use it for real, and i dont like XP. So what may cause the problems? Jive service is running. Maybe i need some XML parser update or else?

admin-console.log:

22:30:55.410 WARN!! [pool-1-thread-1] org.mortbay.util.ThreadedServer.start(ThreadedServer.java:510) >17>

Failed to start: SocketListener0@0.0.0.0:9090

error.log:

2005.01.25 22:30:55 [org.jivesoftware.messenger.container.AdminConsolePlugin.initialize(AdminConsol ePlugin.java:88)

] Trouble initializing admin console

org.mortbay.util.MultiException[java.net.SocketException: Invalid argument: JVM_Bind]

at org.mortbay.http.HttpServer.doStart(HttpServer.java:673)

at org.mortbay.util.Container.start(Container.java:72)

at org.jivesoftware.messenger.container.AdminConsolePlugin.initialize(AdminConsole Plugin.java:83)

at org.jivesoftware.messenger.container.PluginManager.loadPlugin(PluginManager.jav a:118)

at org.jivesoftware.messenger.container.PluginManager.access$300(PluginManager.jav a:38)

at org.jivesoftware.messenger.container.PluginManager$PluginMonitor.run(PluginMana ger.java:257)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

at java.util.concurrent.FutureTask.runAndReset(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

java.net.SocketException: Invalid argument: JVM_Bind

at java.net.PlainSocketImpl.socketBind(Native Method)

at java.net.PlainSocketImpl.bind(Unknown Source)

at java.net.ServerSocket.bind(Unknown Source)

at java.net.ServerSocket.(Unknown Source)

at org.mortbay.util.ThreadedServer.newServerSocket(ThreadedServer.java:394)

at org.mortbay.util.ThreadedServer.open(ThreadedServer.java:466)

at org.mortbay.util.ThreadedServer.start(ThreadedServer.java:495)

at org.mortbay.http.SocketListener.start(SocketListener.java:203)

at org.mortbay.http.HttpServer.doStart(HttpServer.java:703)

at org.mortbay.util.Container.start(Container.java:72)

at org.jivesoftware.messenger.container.AdminConsolePlugin.initialize(AdminConsole Plugin.java:83)

at org.jivesoftware.messenger.container.PluginManager.loadPlugin(PluginManager.jav a:118)

at org.jivesoftware.messenger.container.PluginManager.access$300(PluginManager.jav a:38)

at org.jivesoftware.messenger.container.PluginManager$PluginMonitor.run(PluginMana ger.java:257)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)

at java.util.concurrent.FutureTask.runAndReset(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

cosmetic bug: Registration & Login menu. After Saving Settings it doesnt show “Settings updated successfully” message:)

need some unifying when playing with users. When i add user to group i have to write only its username, when adding admins to rooms and else i have to fill whole JID. Well, maybe i’'m not quite right about this. We are planing to use Jive only for internal message server. So it could be easier to play only with names. Or only with JIDs… well, never mind:) BUT If you could add some feature to add multiple users to group at once (masks, or some server users list with checkboxes). This will help a lot i think.

maybe silly question. But there is an option to fill in custom server name in server properties. So is it possible to use some custom name and not just machine’‘s network name or IP? I’‘m testing Jive Server on my own machine wich is connected to network. This network has server with name “blabla” for example. So can i enter this name in Server Name field? I’'ve tried - not working:) Or i can enter this name only when installing Jive on this server?

could you add an option to see a list of users connected to chat room in AC (Admin Console) and maybe an option to be able to kick or ban users without entering chat room, directly in AC. Because some users may stick in room even after kicking. I’'m testing server with my collegue administrator. Hi is using Miranda for ICQ. Well, after enabling jabber protocol it works buggy, he connects to server but cant see anything, and after i kick him out of room AC shows that there is one user in room all the time. Only restarting server kicks him out.

in addition to , maybe some option to flush room without restarting server or destroying room? i mean kicking all chaters and setting room to defaults.

can you make a possibility to set AC logout timeout? It’‘s really annoying, when i have to login to AC all the time when i’‘m leaving it for a while. I think it should ask for login only after browser window was closed. Or just make option to disable it forever, or to enable logining only after browser close. More flexibility i mean. And maybe some additional panel in AC to customize AC itself (colors for example, it’'s only an example, i really like your design:))

What are the embedded-db restrictions/capabilities? Does it have enough “power” to maintain 50-60 users network (for messenging mostly)? Or do i really have to setup some external DB? MySQL? Well, maybe it’‘s not very difficult, though my SQL knowledge is at beginner’'s level.

/restart switch for messenger-service. Now i’‘m doing it manually in services.msc Maybe some shortcuts in Start Menu for start, stop, restart, install, uninstall? I mean, for service. I hope i’‘m not asking to much:) I’'m only suggesting.

need some translation:) “Persistent” in room properties? It means that all runs smoothly or what? What are other values of this property? And “Roles for Which Presence is Broadcast:”. Well, i understand all the words, but dont get the sense:) And i didnt notice any changes after unchecking this checkboxes. Explain please:)

and clients, it’'s a hell:)

kick, ban and exit/join messages - is it client or server side feature? While testing only Exodus shows everything, others only removes user from chatroom roster without showing any message.

topic of room created in AC isn’'t showing in Psi and Miranda. Somebody knows why? As i recall Matt is testing Jive with Psi and Exodus sometimes. Neos, Exodus and JAJC get topic normally. After changing topic in AC again neos, exodus and JAJC shows it fine, Miranda and PSi no. But when you change topic in chat room manualy all clients show topic normaly. And there is no message shown after changing topic in AC(like “admin has set topic to: topic”), i think it should.

neos shows error when registering account on server too, as it shows error when trying to browse services (i dont recall, something about “fetching failed”), but it creates account and account works fine. And one more neos bug, after entering and exiting chat room it cant enter room again, so you must restart neos. Other clients works fine. This is just for info.

is it possible to add chat room to user’‘s roster as contact in any client? i’'ve manage to do this only in JAJC, though it doesnt work with double clicking, you have to select Join in context menu, but it works at least.

after server service stop-start/restart Miranda, Neos, JAJC and Psi were able to reconnect, but Exodus had fallen into reconnect loop, and didnt reconnect. I dont know why. Any ideas?

when creating room with pass protect: how to connect with Psi? It shows error with blank reason (same for ban and else). Psi doesnt show any dialog for pass entering, just stupid blank error, though it shows muc_passwordprotected value in room properties, but why it doesnt suggest to enter pass?? and it shows unmoderated always, while there are moderators in room. Other clients works fine with it. Only Miranda shows pass in plain text.

Psi do not highlight admins and moderators with special symbols/icons in chatroom roster or i cant find this option in settings, and do not show User Info while in chat, the same stupid error with blank reason. neos do not shows User Info in chat too, as it should, because of the same reason why it cant browse services (error fetching “room@conf.server/user” info (400)), but in main user roster it works fine. pfff… Well, i understand, it’‘s a client problem. But i’‘m testing 5 clients and every had bugs or problems, so i’‘m a little frustrated:/ That’'s because i was talking about Jive own client:)

Ok. That’‘s enough. Are you still reading this?:slight_smile: Thank you then, i know i can write veeery long and boring posts sometimes:) It’'s a result of 3 days testing.

Good night:)

one more question. I was looking through System Properties, this property:

xmpp.muc.create.anyone

has value: true

but in Room Creation Permissions menu “Only specific users can create a chat room.” is selected. And there is property for this in System:

xmpp.muc.create.jid - user@server

So the second property just overrides first one, or it should show false value instead? Hm… or maybe i have to study XMPP specs after all:)

org.jivesoftware.messenger.container.AdminConsolePlug

in.initialize(AdminConsolePlugin.java:88)

] Trouble initializing admin console

org.mortbay.util.MultiException[java.net.SocketExcepti

on: Invalid argument: JVM_Bind]

Do you have something already running on port 9090? Maybe an old version of Jive Messenger or another server?

cosmetic bug: Registration & Login menu. After

Saving Settings it doesnt show "Settings updated

successfully" message:)

Ok, we’'ll look into this.

need some unifying when playing with users. When

i add user to group i have to write only its

username, when adding admins to rooms and else i have

to fill whole JID. Well, maybe i’'m not quite right

about this. We are planing to use Jive only for

internal message server. So it could be easier to

play only with names. Or only with JIDs… well, never

mind:) BUT! If you could add some feature to add

multiple users to group at once (masks, or some

server users list with checkboxes). This will help a

lot i think.

You can use a comma-delimitted list of usernames when adding members to groups. I think your feedback on JID vs usernames is good. We’'ll attempt to unify things a bit more throughout the admin console.

maybe silly question. But there is an option to

fill in custom server name in server properties. So

is it possible to use some custom name and not just

machine’‘s network name or IP? I’'m testing Jive Server

on my own machine wich is connected to network. This

network has server with name “blabla” for example. So

can i enter this name in Server Name field? I’'ve

tried - not working:) Or i can enter this name only

when installing Jive on this server?

After you change the value, you need to restart the server. It should work after that.

could you add an option to see a list of users

connected to chat room in AC (Admin Console) and

maybe an option to be able to kick or ban users

without entering chat room, directly in AC.

in addition to , maybe some option to flush

room without restarting server or destroying room? i

mean kicking all chaters and setting room to

defaults.

These are good feature requests that we’'ll consider implementing.

can you make a possibility to set AC logout

timeout? It’'s really annoying, when i have to login

to AC all the time when i’'m leaving it for a while. I

think it should ask for login only after browser

window was closed. Or just make option to disable it

forever, or to enable logining only after browser

close. More flexibility i mean. And maybe some

additional panel in AC to customize AC itself (colors

for example, it’'s only an example, i really like your

design:))

Also good feedback.

What are the embedded-db

restrictions/capabilities? Does it have enough

“power” to maintain 50-60 users network (for

messenging mostly)? Or do i really have to setup some

external DB? MySQL? Well, maybe it’'s not very

difficult, though my SQL knowledge is at beginner’'s

level.

You should be able to host several thousand users on the embedded database with no problems.

/restart switch for messenger-service. Now i’'m

doing it manually in services.msc Maybe some

shortcuts in Start Menu for start, stop, restart,

install, uninstall? I mean, for service. I hope i’'m

not asking to much:) I’'m only suggesting.

There is a messenger-service.exe file in the bin directory of the installation. It will let you start and stop the service using /start and /stop. There is more info on this in the install documentation. Please let me know if you can’'t get this to work.

need some translation:) “Persistent” in room

properties? It means that all runs smoothly or what?

When a room is not persistent, it will be destroyed as soon as all users leave. When a room is persistent, it will remain in the system until explicitly destroyed, even when there are no users in it.

What are other values of this property? And "Roles

for Which Presence is Broadcast:". Well, i understand

all the words, but dont get the sense:) And i didnt

notice any changes after unchecking this checkboxes.

Explain please:)

If the “admin” role isn’‘t select for presence broadcast, then when an admin joins a room, other users in the room won’'t be notified that the admin joined. In other words, it lets different roles be invisible or not.

and clients, it’'s a hell:)

?

kick, ban and exit/join messages - is it

t client or server side feature? While testing only

Exodus shows everything, others only removes user

from chatroom roster without showing any message.

MUC specifies that servers shouldn’‘t generate messages – clients should be generating them. Exodus has a good MUC implementation so shows this information. My guess is that the other clients you’'re testing are not full MUC implementations.

topic of room created in AC isn’'t showing in

n Psi and Miranda. Somebody knows why? As i recall

Matt is testing Jive with Psi and Exodus sometimes.

Neos, Exodus and JAJC get topic normally.

Most likely client bugs. I’'d suggest sending bug reports.

And there is no message shown after

changing topic in AC(like "admin has set topic to:

topic"), i think it should.

Again, this is up to client authors. The MUC spec states that the server shouldn’'t send such messages.

neos shows error when registering account on

n server too, as it shows error when trying to browse

services (i dont recall, something about "fetching

failed"), but it creates account and account works

fine. And one more neos bug, after entering and

exiting chat room it cant enter room again, so you

must restart neos. Other clients works fine. This is

just for info.

Thanks for the bug reports. It would be great if you reported these issues to the Neos developers as it sounds like there could be bugs they need to fix.

is it possible to add chat room to user’'s

s roster as contact in any client? i’'ve manage to do

this only in JAJC, though it doesnt work with double

clicking, you have to select Join in context menu,

but it works at least.

That would be up to individual clients. You also need to configure the chat room such that real JID’‘s aren’'t hidden from other users.

after server service stop-start/restart

t Miranda, Neos, JAJC and Psi were able to reconnect,

but Exodus had fallen into reconnect loop, and didnt

reconnect. I dont know why. Any ideas?

I’‘ve noticed this with Exodus sometimes too. I think it’'s a bug with recent builds.

when creating room with pass protect: how to

o connect with Psi? It shows error with blank reason

(same for ban and else). Psi doesnt show any dialog

for pass entering, just stupid blank error, though it

shows muc_passwordprotected value in room properties,

but why it doesnt suggest to enter pass?? and it

shows unmoderated always, while there are moderators

in room. Other clients works fine with it. Only

Miranda shows pass in plain text.

This sounds like a Psi bug.

Psi do not highlight admins and moderators

s with special symbols/icons in chatroom roster or i

cant find this option in settings, and do not show

User Info while in chat, the same stupid error with

blank reason. neos do not shows User Info in chat

too, as it should, because of the same reason why it

cant browse services (error fetching

“room@conf.server/user” info (400)), but in main user

roster it works fine. pfff… Well, i understand,

it’‘s a client problem. But i’'m testing 5 clients and

every had bugs or problems, so i’'m a little

frustrated:/ That’'s because i was talking about Jive

own client:)

I understand your frustration. Not many clients have good MUC support yet.

Ok. That’'s enough. Are you still reading this?:slight_smile:

Thank you then, i know i can write veeery long and

boring posts sometimes:) It’'s a result of 3 days

testing.

Good night:)

Sorry for the late reply and thank you for the detailed bug reports. It would be very helpful to submit some of these bugs to client developers if you have time.

Thanks,

Matt

First of all, thanx for your patience:)

Do you have something already running on port 9090? Maybe an old version of Jive >Messenger or another server?

This was my first install of Jive. And i dont see any process or program using this port. I’‘ve managed to run server and connect to AC after all. I’‘ve launched messengerd.exe And now i can connect to my AC. I understand it’'s a debug version or somthng. It outputs code sometimes, maybe erors, like this:

28.01.2005 20:25:30 javax.jmdns.JmDNS closeMulticastSocket

WARNING: closeMulticastSocket() Close socket exception

java.net.SocketException: error setting options

at java.net.PlainDatagramSocketImpl.leave(Native Method)

at java.net.PlainDatagramSocketImpl.leave(Unknown Source)

at java.net.MulticastSocket.leaveGroup(Unknown Source)

at javax.jmdns.JmDNS.closeMulticastSocket(JmDNS.java:262)

at javax.jmdns.JmDNS.openMulticastSocket(JmDNS.java:247)

at javax.jmdns.JmDNS.init(JmDNS.java:226)

at javax.jmdns.JmDNS.(JmDNS.java:176)

at org.jivesoftware.net.MulticastDNSService.initialize(MulticastDNSServi

ce.java:46)

at org.jivesoftware.messenger.XMPPServer.initModules(XMPPServer.java:281

)

at org.jivesoftware.messenger.XMPPServer.start(XMPPServer.java:194)

at org.jivesoftware.messenger.XMPPServer.(XMPPServer.java:116)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou

rce)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at org.jivesoftware.messenger.starter.ServerStarter.start(ServerStarter.

java:83)

at org.jivesoftware.messenger.starter.ServerStarter.main(ServerStarter.j

ava:46)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

at com.exe4j.runtime.WinLauncher.main(Unknown Source)

Jive Messenger 2.1.0 Started

Could it be my firewall causing the problems? I use Jetico, it’‘s a real paranoic, monitors every program that tries to write into other programs memory. Jetico almost gone mad when i ran Jive setup. I tried to shutdown it, but i think some part of firewall is still siting deep in system. Maybe tomorrow i’'ll try to uninstall firewall for short period and try again.

You can use a comma-delimitted list of usernames when adding members to groups

thanks, this will help a little, but how about masks? Ex: us*r, or *@server. Could it be useful or implemented?

After you change the value, you need to restart the server. It should work after that.

i’‘ve tried this and now it works:) But now i have new questions. What about already existing users? Their JIDs looks with the same server name in AC, though in Session ID is new name of server. But old users can connect and send messages, maybe just server name changing should change all registered users JIDs server prefix? If it’'s possible.

Hmm… i’‘m testing now, and have discovered one more odd thing. After changing server name from original (suggested bu setup of Jive, this was my machine’‘s name) to custom, i cant create new accounts inboundly (using jabber client). It still recognize server by the old name (i have restarted server service for 3 times and macine one time now). Plus one more cosmetic bug. After changing server name i press Save, and it shows old name again. Dont know if that has to work right this. After restarting it shows new name(the same thing when changing MUC service name). Plus, as i recall, few days ago i was trying to uninstall/install Jive (with folder removal out of Program Files), trying to install with custom name and it didnt work (cant create accounts inboundly with that server’‘s name). And now i’‘ve installed Jive and selected custom server name at server setup. And it doesnt work. Server name is bound to machine name anyway. So maybe i have to change machine’‘s name first and only then server’'s name:) but i dont have time to check it now.

You should be able to host several thousand users on the embedded database with >no problems.

that’'s great:)

There is a messenger-service.exe file in the bin directory of the installation. It will let >you start and stop the service using /start and /stop. There is more info on this in the >install documentation. Please let me know if you can’'t get this to work.

yes, i know about this, and i was talking about this:) u can just add /restart switch to this, so any can restart service with only one command but not two:) Ou, an idea just came up to me, i can write a batch for this:) so stupid i am:) well, now i can restart server with only one command:)

When a room is not persistent, it will be destroyed as soon as all users leave. When >a room is persistent, it will remain in the system until explicitly destroyed, even >when there are no users in it.

ok, i get it:) So all rooms created in AC are persistent by its nature:) Mmm… but if i want to create non-persistent room in AC? Maybe there should be one more option in Room Creation Settings to set time after which the room will become non-persistent. Well, i dont know if this could be useful, just thinking aloud:)

If the “admin” role isn’‘t select for presence broadcast, then when an admin joins a >room, other users in the room won’'t be notified that the admin joined. In other words, >it lets different roles be invisible or not.

clear now, testing. hm… So, admins cant even see each other? Well, it works right, but i dont know whether it’'s logical:)

Have found why Psi do not shows muc_moderated in room properties:) I havent checked Make Room Moderated in Room Options (AC). But it still doesnt highlight admins.

and clients, it’'s a hell:)

?

jabber clients i ment (Psi, Exodus etc.):slight_smile: i just cant make any of them to do what i want them to do:)

And there is no message shown after

changing topic in AC(like "admin has set topic to:

topic"), i think it should.

Again, this is up to client authors. The MUC spec states that the server shouldn’'t >send such messages.

yes i understand it now. But is server changing topic name in some other way than clients? They shows new topic name then changing it in clients. So there may be some issue with server if they all use same method i think.

Sorry for the late reply and thank you for the detailed bug reports. It would be very >helpful to submit some of these bugs to client developers if you have time.

It’‘s ok:) And about bug reports, this is not difficult to me to write them (and even usual:)), i just wanted to be sure this is client side bugs:) So i’'ll try to contact developers of these clients.

Cya:)

P.S. and what about my second post in this thread? Plus to this, what means xmpp.domain property? I dont see any changes when changing its value.

hm… so what about problem. I didnt try this with JM 2.1.1, but the problem is still there i think. So i have to change computer name in Windows to really change server name or what?

looks like Gaim has the same problem with reentering chat room. Needs to go offline - online to reenter chat room. Psi works fine, though it doesnt react at kick/ban.

hey,

looks like Gaim has the same problem with reentering

chat room. Needs to go offline - online to reenter

chat room.

Most probably this is a Gaim problem. If you want you can give me the steps to follow in order to reproduce the problem. I can check if the packets sent by the server are correct.

Psi works fine, though it doesnt react at

kick/ban.

I think that Psi does not have full MUC support so this may be the reason why you are having problems with kicking and banning.

Regards,

– Gato

Most probably this is a Gaim problem. If you want you can give me the steps to >follow in order to reproduce the problem. I can check if the packets sent by the >server are correct.

so, i have written few bug reports to Miranda IM Jabber protocol, Psi, Exodus, JBother, neos, Gaim, JAJC developers.

steps? As i said. Ex: Persistent room is created in AC. I sign on in gaim and join this room. Then i close chat room window and automaticly exit it. When i try to join it again and nothing happens. So then i sign off(offline) and sign on again and now i can join this room again. The same happens with rooms created by myself in gaim. I cannot create the room with the same name again before i sign off - sing on. This happens only with neos and Gaim as i tested.

and still i dont understand why server doesnt have to send any message to clients then changing room topic in AC(by server). Do the clients have to generate this message by themself? If still not, so this is not logical for me. Topic is changed but nobody says about it to users (though topic change works fine with most clients). Does room topic setting/changing by server fit XMPP specs?