About the control of spark version

We secondary developed the spark and deployed to a new version. How can we enforce the users to use the new version?We tried the client control plugin, in the spark version page, we uploaded the new version,but the users can cancel the update notification. How can we enforce them to use the new version, because we add some security mechanism into the new spark version and we don’t the users user the spark of any other version. Hope for a solution. Thank you very much.

I don’t know of any other way to control Spark versions. If you are using Active Directory, you can try creating an msi package of Spark install and then deploy it for all users via Logon or Startup script (Software Packages). Then it should install newest version without asking. Here’s an example of making msi package http://community.igniterealtime.org/docs/DOC-2126

Thank you. This might be a good way in a enterprise network. But it doesn’t work in a public network. We don’t need to control Spark versions in fact.The only requirement is that the users can only uses our spark. Using any other clients including the normal version of spark will be rejected by the openfire. Besides, we don’t want to secondary develop the openfire. Is there any solution? Like developing openfire plugin?

For a few days send regular broadcasts that in a few days, the unmodified Spark will cease to function. You pretty much can not control what a user does on their computer. You can’t force them. But a strong suggestion to upgrade or they cant chat anymore should work.

Give the modified Spark a different client string, and block all others.

As it is said, you can’t really control what client users use. Client string can be spoofed. Openfire can’t control this unless you modify Openfire (or via plugin) to let through only clients whcih send some special packets maybe (though this also can be spoofed, but it is harder to just change a client string) and then you should modify your version of Spark to send such packets.

Yes, I totally agree with you, by the way, where can I find the source code of the client control plugin? I need to develop a openfire plugin and I don’t know the code or the API about how to disconnect a client access from openfire.

Thanks for your reply. But I don’t quite understand. How can I make the users that they can’t chat anymore? How does that work?

“Give the modified Spark a different client string, and block all others.” Is this mean that I should modify the openfire? Hope for your reply.

Client Control source is in Openfire source (src\plugins\clientControl)

You can get source via svn or download zipped one from Downloads > Source (when the site is up again)

Thank you very much.

That would not be a bad idea but considering free access to Spark’s sources, availability of packet sniffers and open-minded community always ready to help, someone can easily work that out and have their “own” Spark with feature which is intended to be blocked. Of course average office-user will be sorted out, no doubt about it