powered by Jive Software

Some Questions about JiveMessenger

Well,

I have 2 questions about JiveMessenger,

firstly does the admin can limit the number of registered users ?

and does it can manage multiple domains, for a configuration by domain ?

thanks

I do not believe there is a limit to the number of users that go into messenger out of the box.

Multiple domains are not possible (unless you create separate jvms on different pots)

Noah

But I talk about a can I set a limit ?

and how can I create separate jvms who listen on same port but not same virtual host ? with iptables rules ?

trigger on the database might do the trick.

if user count > 100 rollback (I’‘m not sure what db you’‘re using so you’'ll have to interrpret this)

I’‘m not sure if it is possible to use virtual hosts without writing some specific proxy plugin (to squid, or IIS, or IPlanet) that knows how to inspect the packet and get the FQDN host. iptables works on the ip/packet level and isn’‘t aware of the content/payload that it’‘s acting on (although, I wouldn’'t be surpised if it could).

One solution would be to create virtual interfaces (nic’'s) that jive can bind to when it starts up. A quick search on google (linux virtual interfaces) revealed this http://www.linuxquestions.org/questions/archive/4/2004/07/1/201220 which talks at a very high level how to host to web servers on virtual nics and use iptables to route the traffic.

I don’‘t have access to a linux box so I can’'t test this, but if you are successful, please post your results.

Noah

trigger on the database might do the trick.

if user count > 100 rollback (I’'m not sure what db

you’‘re using so you’'ll have to interrpret this)

Would that mess up the caching?

Another solution would be to write a plugin that watches for new registrations and once the 100 user mark is reached disable inband account registration.

Hope that helps,

Ryan

it’‘d only be on insert…I’‘m not sure how that would affect caching since it’‘s only at the time the user is created…logically speaking, I’‘m sure there is a detail I’'m overlooking in that statement.

Well, now you’'ve made me curious.

Looking the createUser method in UserManager a new user is first created in the database and then placed in the cache. I made a couple of quick changes to simulate a rollback after a new user insert and what happens is that a user is allowed register, but if they then try to login, they won’‘t be able to. So, it appears there’'s a couple of ways to approach this issue.

Hope that helps,

Ryan

I’'m not sure if adding limitations to a database-table is the best solution to limit the amount of users it can hold. You would be totally dependant of how Jive Messenger reacts (in terms of error messages) to those changes. Some unexpected results could arise for example if JM performs a query that seems to succeed, but gets rolled back later. At best, applying limitations on database tables would be a quick and dirty solution.

I’‘m new at developing for/with Jive Messenger, but I’'d try to modify the java code that handles client registration (add a query that counts the amount of registrations before executing the query that actually adds the new registration, something like that). There are probably other, cleaner methods, but this could be done relatively fast, I think.

======

Edit: I need to type faster

Agreed, it’'s definitly a quick solution and it will have the consequences you mentioned. However…it can be done very quickly. Creating a plugin is probably the most rational way to do these changes.

Noah

Perhaps before apply a registration request, make a count(*) on the table of user list ? and verify it’'s less than maximum configured.