How to add/modify email-id as username in Openfire /jabberserver

I have deployed openfire with spark on server 2003. I’m able to add users and maintain the DB in sql server 2000. The deployment is successful when the user names added is any name before the @ symbol of the email ID. eg:

/* Entry for admin user */

INSERT INTO jiveUser (username, plainPassword, name, email, creationDate, modificationDate)

VALUES (‘admin’, ‘admin’, ‘Administrator’, ‘admin@example.com’, ‘0’, ‘0’);

I want to add email ID as user name. The table value in the database if I manually add the email ID is admin\40example.com where the @ is replaced by the \40. similarly the add user to group feature (which is used to populate users to groups returns admin\405cexample.com is unacceptable or some error.

I have the source code which I’m trying to rebuild with the corrected code with Eclipse IDE on JDK 1.5.

there is only one part which says “create users” in the source code, which I have attached. Kindly help me on which part of the code I should change in order to resolve the issue. ie to fix the email ID as username problem. I have attached the user.java and group.java as txt files.

Java knowledge: beginner

Thanks in advance

Frist of all tell following Question answer

Which auth provider you are currently using? You can use POP3AuthProvider if you want to authtication from POP3 mail server.

I’m using the default provider and have not modified any as of now… The openfire add group feature does not allow to add email IDs into the groups.

Problem: when I add the email ID manually, it says admin\40example.com in the database table value. when I add the email id for the same user in hte group, it returns: admin\405cexample.com does not exist.

What should I do to resolve this issue

Thanx in advance

the openfire.xml looks like this

<?xml version=“1.0” encoding=“UTF-8”?>

<!–

This file stores bootstrap properties needed by Openfire.

Property names must be in the format: “prop.name.is.blah=value”

That will be stored as:

<prop>

<name>

<is>

<blah>value</blah>

</is>

</name>

</prop>

Most properties are stored in the Openfire database. A

property viewer and editor is included in the admin console.

–>

<!-- root element, all properties must be under this element -->

<jive>

<adminConsole>

<!-- Disable either port by setting the value to -1 -->

<port>9090</port>

<securePort>9091</securePort>

</adminConsole>

<admin>

<!-- Use this section to define users that will have admin privileges. Below,

you will find two ways to specify which users are admins. Admins will

have access to the admin console (only local users) and may have also access

to other functionalities like ad-hoc commands. -->

<!-- By default, only the user with the username “admin” can login

to the admin console. Alternatively, you can specify a comma-delimitted

list usernames that should be authorized to login to the admin console

by setting the <authorizedUsernames> field below. -->

<authorizedUsernames>admin</authorizedUsernames>

<!-- Comma-delimitted list of bare JIDs. The JIDs may belong to local

or remote users. -->

<authorizedJIDs></authorizedJIDs>

</admin>

<locale>en</locale>

<!-- Network settings. By default, Openfire will bind to all network interfaces.

Alternatively, you can specify a specific network interfaces that the server

will listen on. For example, 127.0.0.1. This setting is generally only useful

on multi-homed servers. -->

<!–

<network>

<interface></interface>

</network>

–>

<connectionProvider>

<className>org.jivesoftware.database.DefaultConnectionProvider</classNa me>

</connectionProvider>

<database>

<defaultProvider>

<driver>net.sourceforge.jtds.jdbc.Driver</driver>

<serverURL>jdbc:jtds:sqlserver://127.0.0.1;user=openfire;password=password ;namedPipe=true</serverURL>

<username>openfire</username>

<password>password</password>

<testSQL>select 1</testSQL>

<testBeforeUse>true</testBeforeUse>

<testAfterUse>true</testAfterUse>

<minConnections>5</minConnections>

<maxConnections>1000</maxConnections>

<connectionTimeout>1.0</connectionTimeout>

</defaultProvider>

</database>

<setup>true</setup>

<log>

<debug>

<enabled>true</enabled>

</debug>

</log>

</jive>