I’ve spent the better part of my evening trying to get openfire to pull user data from my Postgresql databases.
I cannot seem to find an error or debug log anywhere, so I am flying blind. Can someone please help? I followed the guide as is laid out:
I even save my passwords in pgp_sym_encrypt bytea fields - i created a view which decrypts them for Openfire. Any clues?
Here is openfire.xml:
<?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>Rasheek, Cryn</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>82.103.141.70</interface>
</network>
–>
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</classN ame>
</connectionProvider>
<setup>true</setup>
<database>
<defaultProvider>
<driver>org.postgresql.Driver</driver>
<serverURL>jdbc:postgresql://localhost:5432/jiveim</serverURL>
<username>jive</username>
<password>hidden</password>
<testSQL>select 1</testSQL>
<testBeforeUse>true</testBeforeUse>
<testAfterUse>true</testAfterUse>
<minConnections>3</minConnections>
<maxConnections>15</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<jdbcProvider>
<driver>org.postgresql.Driver</driver>
<connectionString>jdbc:postgresql://localhost/furrymx?user=orion&pass word=hidden</connectionString>
</jdbcProvider>
<provider>
<auth>
<className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className& gt;
</auth>
<user>
<className>org.jivesoftware.openfire.user.JDBCUserProvider</className& gt;
</user>
</provider>
<jdbcAuthProvider>
<passwordSQL>SELECT password FROM xmpp_users WHERE username=’?’</passwordSQL>
<passwordType>plain</passwordType>
</jdbcAuthProvider>
<jdbcUserProvider>
<loadUserSQL>SELECT fullname,email FROM xmpp_users WHERE username=’?’</loadUserSQL>
<userCountSQL>SELECT COUNT(*) FROM xmpp_users</userCountSQL>
<allUsersSQL>SELECT username FROM xmpp_users</allUsersSQL>
<searchSQL>SELECT username FROM xmpp_users WHERE</searchSQL>
<usernameField>username</usernameField>
<nameField>fullname</nameField>
<emailField>email</emailField>
</jdbcUserProvider>
</jive>