jabberd2 win32
A Windows build of jabberd2, popular Jabber server
Description
This page contains jabberd2 SVN version guide that allows compiling and running jabberd2 server natively on Windows machine. You may choose whether you want to build the Windows version by yourself using source code available at official jabberd2 project page / SVN repository or get the binaries I provide at Downloads.
Multi-User Conferencing
Multi-User Conferencing component extension is also available for Windows at MUC win32 page.
Note
Windows platforms prior to Windows 2000 are not supported, so this won’t work on Windows 95/98/ME/NT.
Installation
jabberd2 binary package is provided at Downloads as MSI installer creating installation files at C:\Program Files\jabberd2 by default, setting up and running jabberd2 components as Windows services.
If you build jabberd2 manually and want to install some jabberd2 component as service type:
router.exe -I
to uninstall type:
router.exe -U
Follow jabberd2 manual to configure jabberd2 exactly same way as on unix machine.
Windows NTLogon authentication
SQLite is default storage & authentication module for my Windows builds. To change that behavior modify sm.xml and c2s.xml configuration files.You may be interested in using NTLogon authentication module, so all your Windows local users are jabberd2 users as well. To use this module edit c2s.xml:
- Setup auth module using: <module>ntlogon</module>.
- Since NTLogon module requires plain-text passwords you need to disable all authentication methods except plain-text under <mechanisms> use <!-- comments -->.
- You may require TLS so passwords are never sent trough unencrypted stream, add require-starttls='true' attribute to your <id>.
- If you want to authenticate domain users rather than your local accounts change realm='mydomain.local' attribute of <id> to match you domain.
Finally you need to enable (uncomment) <auto-create/> in sm.xml (Storage Manager) configuration, this is just because NTLogon let in all Windows users in, even those who have no Storage Manager entries yet.
Configuration
By default configuration files shipped with Windows jabberd2 build are set up to run on localhost with SQLite module for authentication and storage, with user registration and default TLS/SSL localhost certificate enabled.
Important
If you are willing to run jabberd2 as a XMPP server for sampledomain.com you need to change <id> entries in c2s.xml and sm.xml, so they match your domain: <id>sampledomain.com</id>, before you will be able to serve any XMPP clients for sampledomain.com. The sampledomain.com must be properly set up as DNS entry that resolves to the machine where jabberd2 services are installed and running.You may also need to open ports on your firewall for incoming connections:
- 5222, 5223 (legacy port, if enabled in c2s.xml) – for client to your server connections
- 5269 – for other server to your server connections (only if you plan to open for communication with other servers with s2s service)
If you want to know more about configuration of jabberd2 please read chapters starting from no. 3 of Jabberd 2 Installation and Administration Guide.
Building Windows jabberd2 using Visual Studio 2008 (SP1)
Thanks to Tomasz Sterna accepting my contributions, starting from revision #229 complete win32 support with Visual Studio 2005 project files is present in jabberd2 SVN repository. Starting from revision #751 project files require Visual Studio 2008 (SP1). To build jabberd2 win32 please read the rest of this section. If you are interested just in the binaries go to Downloads.
Prerequisites
All libraries shall be installed locally and added to VC Include files and Library files paths using Tools->Options->Project and Solutions->VC++ Directories. All libraries’ DLL files shall be copied to win32/bin folder and win32/bin/debug folder for Debug builds respectively.
- libidn version 1.7 or higher, source build using win32/libidn.sln, provides: libidn.lib
- libgsasl version 0.2.28 or higher, source build using win32/libgsasl.sln, provides: libgsasl.lib
- OpenSSL source build, read win32 build instructions provided along with sources, provides: libeay32.lib ssleay32.lib
- Expat XML Parser source build using expat.dsw (auto-converted), provides: libexpat.lib
- udns source build, provides: udns.lib, since there are no VC project files provided along with sources, please use patch files provided at Downloads.
- zlib source build, provides: zlib1.lib, convert & use VC project files at projects/visualc6, link to Win32_DLL_ASM_Release.
If you encounter MASM error: .\inffas32.asm(647) : error A2070: invalid instruction operands
Add a dword ptr type qualifier before [esp] as described here. - MySQL (auth & storage module) binary, linking to: libmysql.lib
- SQLite (auth & storage module) source build, provides: sqlite3.lib. Since there are no libraries for VC except DLLs you shall make one using sqlite-amalgamation-3.x.zip from SQLite downloads.
- TortoiseSVN SubWCRev command present in PATH to generate version.h and version.wxi. Comes with TortoiseSVN bin folder, added to PATH by TortoiseSVN installer.
- WiX 3.0.4401.0 or newer for building MSI jabberd2 setup inside Visual Studio 2005 IDE
- ActivePerl (or any Perl distribution) perl command present in PATH (optional for generation of default configuration XML files)
Building
After all prerequisite libraries are configured for use within VC open win32/jabberd2.sln and build all projects.
Once it is completed you should have fresh & ready Windows build of jabberd2 and jabberd-svn-win32.msi installer at win32/bin folder !
License
jabberd - Jabber Open Source Server
Copyright © 2002 Jeremie Miller, Thomas Muldowney, Ryan Eatmon, Robert Norris
jabberd - win32 version patches & build
Copyright © 2005-2009 Adam Strzelecki. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.
Download
Binaries:
- jabberd-2.2svn752-win32.msi 2009-03-05, 2.12 MB, win32 2.2 SVN revision #752 installer (contains OpenSSL), modules: SQLite (default) auth & storage, MySQL auth & storage, NTLogon auth module
Optional:
- vcredist_x86.exe 2008-09-16, 4.0 MB, Microsoft Visual C++ 2008 SP1 Redistributable Package (x86), if your system does not have the runtime, jabberd2 setup will ask you to install it
- jabberd-2.2svn752-win32-dbg.zip 2009-03-05, 8.37 MB, win32 2.2 SVN revision #752 debug binaries (for advanced users), Visual Studio 2008 (SP1) / VS2008SP1 Debug Runtime is required to use those debug binaries
Windows and Visual Studio compatibility patches:
- udns-0.0.9-win32+VC8.patch 2008-08-18, 38.5 KB, a patch file containing Windows fixes and Visual Studio 2005 project files for udns library, use it together with official distribution sources, tested with version 0.0.9


I can’t complie it.
error
Error 1 Error result 255 returned from ‘C:\WINDOWS\system32\cmd.exe’. Project
Error 28 fatal error RC1015: cannot open include file ‘include/version.h’.
d:\New\Jabberd2\jabberd2\win32\jabberd2.rc 1
Error 37 fatal error RC1015: cannot open include file ‘include/version.h’.
d:\New\Jabberd2\jabberd2\win32\jabberd2.rc 1
Error 66 fatal error LNK1104: cannot open file ‘sqlite3.lib’ storage_sqlite
Error 104 fatal error LNK1104: cannot open file ‘sm.lib’ storage_mysql
Error 105 fatal error LNK1104: cannot open file ‘sqlite3.lib’ authreg_sqlite
Error 106 fatal error LNK1104: cannot open file ‘c2s.lib’ authreg_sspi
Error 107 fatal error LNK1104: cannot open file ‘c2s.lib’ authreg_ntlogon
Error 120 fatal error LNK1104: cannot open file ‘c2s.lib’ authreg_mysql
Error 121 fatal error LNK1104: cannot open file ‘c2s.lib’ authreg_anon
Error 122 fatal error LNK1104: cannot open file ‘sm.lib’ mod_validate
Error 123 fatal error LNK1104: cannot open file ‘sm.lib’ mod_vacation
Error 124 fatal error LNK1104: cannot open file ‘sm.lib’ mod_template-roster
Error 125 fatal error LNK1104: cannot open file ‘sm.lib’ mod_status
Error 126 fatal error LNK1104: cannot open file ‘sm.lib’ mod_session
Error 127 fatal error LNK1104: cannot open file ‘sm.lib’ mod_roster
Error 129 fatal error LNK1104: cannot open file ‘sm.lib’ mod_privacy
Error 130 fatal error LNK1104: cannot open file ‘sm.lib’ mod_presence
Error 131 fatal error LNK1104: cannot open file ‘sm.lib’ mod_offline
Error 132 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-version
Error 133 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-time
Error 134 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-private
Error 135 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-ping
Error 137 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-last
Error 139 fatal error LNK1104: cannot open file ‘sm.lib’ mod_help
Error 140 fatal error LNK1104: cannot open file ‘sm.lib’ mod_echo
Error 141 fatal error LNK1104: cannot open file ‘sm.lib’ mod_disco-publish
Error 148 fatal error LNK1104: cannot open file ‘sm.lib’ mod_disco
Error 149 fatal error LNK1104: cannot open file ‘sm.lib’ mod_deliver
Error 155 fatal error LNK1104: cannot open file ‘sm.lib’ mod_announce
Error 156 fatal error LNK1104: cannot open file ‘sm.lib’ mod_amp
Error 157 fatal error LNK1104: cannot open file ‘sm.lib’ mod_active
Error 159 fatal error RC1015: cannot open include file ‘include/version.h’.
d:\New\Jabberd2\jabberd2\win32\jabberd2.rc 1
Error 168 fatal error RC1015: cannot open include file ‘include/version.h’.
d:\New\Jabberd2\jabberd2\win32\jabberd2.rc 1
Error 174 fatal error RC1015: cannot open include file ‘include/version.h’.
d:\New\Jabberd2\jabberd2\win32\jabberd2.rc 1
Error 176 fatal error LNK1104: cannot open file ‘sm.lib’ mod_iq-vcard
Error 177 fatal error LNK1104: cannot open file ‘msi.lib’ ca
@Leonid: I’ll try to investigate it. It seems there’s still some problem with win32 mio when initialising connections.
@Rubin: Is the xsltproc command is installed on your system? It is required in order to generate version.h files. See Prerequisites point 8.
I’m trying to install the jabberd-2.1svn333-win32.msi and I’m getting the error
“Failed to open file c:\Program Files\jabberd2\\c2s.dist.xml, system error: -2147024786″
I’m trying install on Windows XP Service pack 2.
Getting a error when installing the .msi on windows xp machine.
“Failed to open XML file c:\Program Files\jabberd2\\c2s.dist.xml, system error -2147024786″
Any reply is appreciated.
Ahh… dammit! The bugfix is on the way Mark. I need just to get into SVN repo, coz we got some server problem.
Best regards.
Fixed with SVN 336 release in downloads… now MSI shall install jabberd2 without problem. Cheers!
Thanks for the updated .msi Adam. Got everything up and running on my windows xp laptop.
Adam,
Trying to take the next step and get this running on my Windows Server 2003 Virtual Dedicated Host. The installation fails when trying to start the windows service. No real error message, just rolls back because the service cannot be started. The VC++ Redist is installed. I’m trying to figure out the dependencies that might be causing it to fail. Any ideas?
Thanks…
Same problem here with services not starting during install process. What permissions are necessary (i am installing as local admin so i thought i’d have the rights?!)
I tried manually installing the router.exe as a windows service and the error messages let me know that my server setup was missing libeay32.dll and ssleay32.dll. I copied these over from my development laptop and everything installed completely.
@Mark: Ahhh thanks for those tips about OpenSSL DLLs, that saved me lot of time… I’ll try to embed some basic checks about OpenSSL & MSVC 2005 Runtime installation in the future setup versions.
I can?t complie it.
Error 63 fatal error RC1015: cannot open include file ?stdint.h?
Any suggestion ?
Thanks & Best Regards
quand j essaye d’installer le version win32svn l’installateur me dit qu’il ne peut installer les services alors que je suis admin de mon poste sous XP sp2 avec le redist d’installer
a l’aide
Anybody help me?
I couldn’t install binary file on my server becasuse of this error: “Service ‘Jabber 2 C2S’ (jabberd2c2s) failed to start. Verify that you have sufficient privileges to start system services.”. I setup with “localhost” parmeter and installed VC++ runtime already but still get that error.
@All: Make sure you got OpenSSL & MSVC 2005 runtimes installed prior the installation.
Hi, I ran and installed the MSI binary jabberd-2.1svn557-win32.msi on my Windows Server 2003 box, and after installation with default settings, all services were running, but s2c was not listening on ports 5222/5223. The server is not firewalled at all. Any idea what the problem could be? Tried rebooting…
Here’s the log:
Wed Mar 12 18:54:55 2008 [notice] starting up
Wed Mar 12 18:54:55 2008 [info] process id is 1364, written to ./c2s.pid
Wed Mar 12 18:54:55 2008 [notice] modules search path: modules
Wed Mar 12 18:54:55 2008 [info] loading ‘sqlite’ authreg module
Wed Mar 12 18:54:55 2008 [notice] initialized auth module ‘sqlite’
Wed Mar 12 18:54:55 2008 [notice] [fragtion-gw] configured; realm=fragtion-gw, registration enabled
Wed Mar 12 18:54:55 2008 [notice] attempting connection to router at 127.0.0.1, port=5347
@dems: Can you paste also your router.log file? Can you connect to 127.0.0.1:5347?
I am wondering what is the correct way of applying the win32 patch for gsasl-lib? I downloaded the patch file, using the gnu-win32 patch utility to run the patch file, got the following error. What did I do wrong? Thx for any advice. –Jeff
C:\work\vnet\jabberd2>\work\tools\gnu-win32\bin\patch.exe -i “gsasl-lib-win32+vc8.patch”
patching file README.win32
can’t find file to patch at input line 19
Perhaps you should have used the -p or –strip option?
The text leading up to this was:
————————–
|diff –git a/lib/gl/gc-gnulib.c b/lib/gl/gc-gnulib.c
|index c199833..4675864 100644
|— a/lib/gl/gc-gnulib.c
|+++ b/lib/gl/gc-gnulib.c
————————–
File to patch:
@Jeff: Yes you need to cut off some of the path components that were generated by GIT, the best way would be using:
Remove dry-run and try again if it succeeds. If you are using source directly from GIT try:
Thanks Adam. That worked.
Now I got all the other projects built fine except authreg_mysql, with following error.
Tried to add openssl’s lib (libeay32MTd.lib ssleay32MTd.lib) into the lib dependency list, didn’t help.
Thx in advance for any advice.
—— Build started: Project: authreg_mysql, Configuration: Debug Win32 ——
Linking…
Creating library ../../lib/debug/authreg_mysql.lib and object ../../lib/debug/authreg_mysql.exp
authreg_mysql.obj : error LNK2019: unresolved external symbol _crypt referenced in function __ar_mysql_check_password
../../bin/debug/modules/authreg_mysql.dll : fatal error LNK1120: 1 unresolved externals
Build log was saved at “file://c:\work\vnet\jabberd2\jabberd2-svn\win32\modules\authreg_mysql\Debug\BuildLog.htm”
authreg_mysql – 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 31 up-to-date, 0 skipped ==========
What would you say about this page which states:
Does this mean that I should run Jabberd2 under a virtual machine? If I do, what is a good secure virtual machine which can run jabberd2 fast when supporting ~15 max users?
You might want to edit the post to include links to those bloated msvc 2005 runtimes, and openssl dlls.
Whoops, I didn’t even read the whole post. You can delete the last comment and edit this one.
But leave this:
Are there any other stable builds of jabberd2 for windows?
D:\jabber\server\gsasl\gsasl-0.2.9>patch –dry-run -p1
Hi,
I am also facing the issue as Dems facing. I could install jabber2 by using jabberd-2.1svn557-win32.msi and after that I could see all the services have started successfully but s2c is not listening to port 5222/3. The server is not firewalled at all. Any idea what the problem could be? I tried restarting all the services manually but no hope. I could see xml parse error in router log:
Thu Mar 27 14:16:13 2008 [notice] starting up
Thu Mar 27 14:16:13 2008 [info] process id is 280, written to ./router.pid
Thu Mar 27 14:16:13 2008 [notice] loaded user table (1 users)
Thu Mar 27 14:16:13 2008 [notice] loaded filters (0 rules)
Thu Mar 27 14:16:13 2008 [notice] [127.0.0.1, port=5347] listening for incoming connections
Thu Mar 27 14:16:14 2008 [notice] [127.0.0.1, port=3792] connect
Thu Mar 27 14:16:16 2008 [notice] [127.0.0.1, port=3794] connect
Thu Mar 27 14:16:17 2008 [notice] [127.0.0.1, port=3795] connect
Thu Mar 27 14:16:18 2008 [notice] [127.0.0.1, port=3796] connect
Thu Mar 27 14:54:58 2008 [notice] [127.0.0.1, port=4011] connect
Thu Mar 27 14:55:02 2008 [notice] [127.0.0.1, port=4011] error: XML parse error (syntax error)
Thu Mar 27 14:55:02 2008 [notice] [127.0.0.1, port=4011] disconnect
Also I am able to connect to 127.0.0.1:5347. Please help.
Hi, Adam
I still could not compile the mysql_authreg.dll, but I downloaded your binaries, this seems to work. Now I can start all the services, but my problem is, c2s can not get authenticated by router. Following is c2s.log and router.log. I’m pretty new to jabberd2 server code, so not even sure where should I start looking at the code to find out the problem. Any hint would be greatly appreciated. Thanks.
================ c2s.log ====================================================
Mon Apr 07 00:42:10 2008 [notice] starting up
Mon Apr 07 00:42:10 2008 [info] process id is 3488, written to ./c2s.pid
Mon Apr 07 00:42:10 2008 [notice] modules search path: modules
Mon Apr 07 00:42:10 2008 [info] loading ‘mysql’ authreg module
Mon Apr 07 00:42:10 2008 [notice] initialized auth module ‘mysql’
Mon Apr 07 00:42:10 2008 [notice] [pub-vm.myhome.mydomain] configured; realm=pub-vm.myhome.mydomain, registration enabled
Mon Apr 07 00:42:10 2008 [notice] attempting connection to router at 127.0.0.1, port=5347
==========================================================================
================ router.log ==================================================
Mon Apr 07 00:42:10 2008 [notice] starting up
Mon Apr 07 00:42:10 2008 [info] process id is 3532, written to ./router.pid
Mon Apr 07 00:42:10 2008 [notice] loaded user table (1 users)
Mon Apr 07 00:42:10 2008 [notice] loaded filters (0 rules)
Mon Apr 07 00:42:10 2008 [notice] [127.0.0.1, port=5347] listening for incoming connections
Mon Apr 07 00:42:10 2008 [notice] [127.0.0.1, port=1340] connect
Mon Apr 07 00:42:14 2008 [notice] [127.0.0.1, port=1341] connect
Mon Apr 07 00:42:17 2008 [notice] [127.0.0.1, port=1342] connect
Mon Apr 07 00:42:21 2008 [notice] [127.0.0.1, port=1344] connect
==========================================================================
Jeff> Building of authreg_mysql on Windows is broken since revision 539 which added crypted passwords support in mysql. It seems that crypt() function is not available on Windows.
The second problem reminds me the one I had. When I run jabberd2 executables from command line under Administrator account, everything worked ok. But when I installed them as services under different account, it behaved exactly as is shown in your logs. It turned out that c2s was trying to read some strange file from C:\Documents and Settings\ \Application Data\Microsoft\Crypto\RSA\ which didn’t exist. I created it (inspired by the ones belonging to other accounts) and it works fine since. You can try FileMon to check if it’s your case too.
I am using the Administrator account. Here is the debug output of router when sm tries to connect to it. The router’s output is very much similar when c2s connects to it.
Sun Apr 13 02:43:01 2008 [notice] starting up
Sun Apr 13 02:43:01 2008 [info] process id is 4028, written to ./router.pid
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\user.c:34 loading user table
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\user.c:89 remembering user ‘jabberd’
Sun Apr 13 02:43:01 2008 [notice] loaded user table (1 users)
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\aci.c:37 loading aci
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\aci.c:56 building list for ‘all’
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\aci.c:77 added ‘jabberd’
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\filter.c:51 loading filter
Sun Apr 13 02:43:01 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\filter.c:96 building filter list
Sun Apr 13 02:43:01 2008 [notice] loaded filters (0 rules)
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\sasl_gsasl.c:691) initialising sasl plugin
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\sasl_gsasl.c:718) sasl context initialised
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\env.c:75) plugin initialised (index 0)
mio.c#471: created listener class
mio.c#471: created listener window (2e0404)
mio.c#323: mio to listen on 5347 [0.0.0.0]
mio.c#99: adding fd #1852
Sun Apr 13 02:43:02 2008 [notice] [0.0.0.0, port=5347] listening for incoming connections
mio.c#212: mio running for 5
Sun Apr 13 02:43:07 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\main.c:446 running time checks
Sun Apr 13 02:43:07 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\main.c:451 next time check at 1208079847
mio.c#212: mio running for 5
mio.c#57: get mio event 8 on socket #1852
mio.c#228: mio working: 1
mio.c#153: accepting on fd #1852
mio.c#164: new socket accepted fd #1824, 127.0.0.1:1534
mio.c#99: adding fd #1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:907 accept action on fd 1824
Sun Apr 13 02:43:11 2008 [notice] [127.0.0.1, port=1534] connect
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\sx.c:53) allocated new sx for 1824
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:236) doing server init for sx 1824
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:251) waiting for stream header
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:254) tag 1824 event 0 data 0×0
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:516 want read
mio.c#57: get mio event 1 on socket #1852
mio.c#153: accepting on fd #1852
mio.c#57: get mio event 1 on socket #1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:858 read action on fd 1824
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:190) 1824 ready for reading
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:196) tag 1824 event 2 data 0xafe0a0
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:526 reading from 1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:584 read 98 bytes
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:212) passed 98 read bytes
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\chain.c:93) calling io read chain
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:236) decoded read data (98 bytes):
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:118) stream request: to (null) from (null) version 1.0
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:133) 1824 state change from 0 to 1
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:151) stream id is a9uarzy394b115n7ftzbk4clmuujrundnjqtr51n
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:181) prepared stream response:
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:252) tag 1824 event 1 data 0×0
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:521 want write
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:872 write action on fd 1824
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:324) 1824 ready for writing
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:282) encoding 144 bytes for writing:
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\chain.c:79) calling io write chain
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:345) handing app 144 bytes to write
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:346) tag 1824 event 3 data 0xafe2d8
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:591 writing to 1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:595 144 bytes written
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:29) stream established
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:39) 1824 state change from 1 to 3
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:40) tag 1824 event 4 data 0×0
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\server.c:45) building features nad
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\sasl_gsasl.c:238) offering sasl mechanisms
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:379) tag 1824 event 0 data 0×0
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:516 want read
mio.c#57: get mio event 2 on socket #1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:872 write action on fd 1824
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:324) 1824 ready for writing
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:282) encoding 66 bytes for writing: <stream:features xmlns:stream=’http://et
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\chain.c:79) calling io write chain
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:345) handing app 66 bytes to write
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:346) tag 1824 event 3 data 0xafe708
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:591 writing to 1824
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:595 66 bytes written
sx (c:\work\vnet\jabberd2\jabberd2-svn\sx\io.c:379) tag 1824 event 0 data 0×0
Sun Apr 13 02:43:11 2008 c:\work\vnet\jabberd2\jabberd2-svn\router\router.c:516 want read
mio.c#212: mio running for 5
mio.c#212: mio running for 5
mio.c#212: mio running for 5
Hi Adam,
please help me how to use the patch file for libidn.
I have put the libidn-win32+vc8.patch in the libidn-1.4 package. Then I typed the command as follows
patch -p1 < “libidn-win32+vc8.patch” . But It goes wrong. The wrong is
” patching file README.win32
Assertion failed: hunk, file ../patch-2.5.9-src/patch.c, line 354
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.”
What’s wrong with it.?I am not familiar with patch file, so I want to get your help. Thanks advanced
@Jeff, @Sob: Thanks for all of the logs, hopefully I can find something about c2s not running properly on the service account. Reading those crypto files from C:\Documents and Settings is indeed bizarre. I’m bit desynchronized with latest trunk with all the Windows fixes, and it happens quite often I’m fixing some Windows incompatibility few revisions afterwards. Lately I haven’t touch jabberd2 much, but I’ll try to focus on making it updated for Windows.
@yangshuai: What kind of patch command you’re using. Where it does came from? Mine works fine (from MSYS I believe). Also it shouldn’t crash regardless of the input data.
I used the GnuWin32 tools. It doesn’t work.
I have tried to patch using MSYS. Yes, the patchfile works. Thank you very much.
+1 as Jeff and Nujoom : I can connect to 5347 but the c2s log sits at connecting to router. Router log shows the connection. I think reading the datagram in c2s may be broken.
Are there any archives of older downloads. I was not able to find. I wanted to check those out.
Does your jabberd2 win32 build include LDAP authentication support?
I installed jabberd-2.1svn557-win32.msi today and configured to use Active Directory in c2s.xml. I am getting following error:
Fri May 15 15:55:17 2008 [notice] starting up
Fri May 15 15:55:17 2008 [info] process id is 4028, written to ./c2s.pid
Fri May 15 15:55:17 2008 [notice] modules search path: modules
Fri May 15 15:55:17 2008 [info] loading \’ldap\’ authreg module
Fri May 15 15:55:17 2008 [error] failed loading authreg module \’ldap\’ (errcode: 7e)
I looked at authreg.c and found out that it is trying to load \’authreg_ldap.dll\’. Does anyone know where I cat get authreg_ldap.dll?
Hello!
I wanna move my jabberd-2.1svn336-win32.msi to other computer (from Windows 2000 Prof to Windows Server 2003).
After installing jabberd-2.1svn336-win32.msi on Windows Server 2003 and moving all xml-files from old computer sevice c2s can’t start with error:
I tried to install jabberd-2.1svn557-win32.msi. All services started without errors, but nobody couldn’t loggon (we use Exodus as jabber-client) with wrong password error. I use mysql-5.0.51a-win32 as data storage.
Hello again!
There is another problem. Some of the users data (for ex. first name, last name) are stored in cyrillic. Sometimes these data display incorrect (like this: “безопаÑноÑть”). After restarting services (one time or more) it is fixed. Later this problem appears again.
Help me please.
Sorry for my english.
Thanx.
After installing VC and OpenSSL i’m still getting an error during install (Service ‘Jabber C2S’ (jabberdc2s) failed to start). Is there still no solution for this problem??
Tried jabberd-2.1svn557-win32.msi on WinXP SP3 (with my machine name, localhost and 127.0.0.1). I got full Admin rights… Help!
1:1 the same Problem on Win2k3 Server SP2…
New builds on the way, I’ve finally nailed down the problem of failing communication between the components (it was SASL auth problem, bug, that I’m just fixing in gsasl code).
Also I’ll provide soon the installer that will complete even the services fails to start during the installation, just to be able to make diagnoses and reading the logs afterwards.
Thank you all for your support.
Ransum: Please try latest jabberd-2.2svn688-win32.msi, if it doesn’t work while the installer is popping up Retry window, please try to start the c2s.exe from command line, and if there’s any error popped up, or any new log entry, please paste it here.
Vlad: Regarding the failed loading authreg module ‘mysql’ problem, is libmysql.dll present in the binaries folder and authreg_mysql present in the modules? Regarding Cyrillic characters, what type of database backend you use? Does it happen after certain amount of time? Can you paste some Cyrillic characters here so I can try myself to reproduce the bug?
Mauro, had1117: LDAP authentication is not supported in Windows build, if you want to use users from local system or ADS please use NTLogon module. However if you really need LDAP I think it would be feasible to add LDAP support to Windows builds, but the question is if it is really necessary.
Nujoom, Jeff, Manohar: This was GSASL problem, should be fixed by gsasl-lib-win32-gnulib-fix-cryptoapi+use-intel-rnd.patch and soon in the upcoming GSASL release. This is also fixed in latest binary jabberd2 build jabberd-2.2svn688-win32.msi.
I’m using Windows XP in a Windows 2003 domain.
I’m trying to setup jabberd to use the NTLogon module.
I followed the three notes above to setup the NTLogon module.
I configured the client (psi) with Jabber ID: negri@boprog017.osbitalia.local and the Windows password of the user “negri“.
When the client tries to logon, it gives this error: “Authentication error: unable to login“.
The server logs this to c2s.log:
boprog017.osbitalia.local (ip: 172.17.83.117) is the PC where jabberd is installed.
“OSBITALIA” is the domain name. “negri” is the user name.
I tried creating a local (not a domain) user testtt.
The server logs this:
but the client remains stuck in status “connecting”.
So I think I’m having two problems: one when trying to authenticate a domain user, the other connecting a non-domain user.
Can you help me?
Thanks
Claudio: First of all if you want to have domain auth you must change id tag realm property in c2s.xml to mach your domain osbitalia.local I presume, coz now it is boprog017.osbitalia.local which is local computer.
Regarding client being stuck in status “connecting”, can you have a look in sm.log too? You should have there [notice] session replaced:. So maybe storage manager sm.xml is not properly configured. Can you look in Psi XML console too? What is the last command that was sent to server?
Following your advice, I solved the authentication problem. I added the realm in c2s.xml, and now the id tag is:
<id require-starttls=”true” realm=”OSBITALIA.LOCAL” pemfile=”./server.pem”>boprog017.OSBITALIA.LOCAL</id>
Regarding client being stuck in status “connecting”, I have no “[notice] session replaced:” in sm.log.
In Psi XML console the last command that was sent to server is:
<iq type=”set” id=”bind_1″ >
<bind xmlns=”urn:ietf:params:xml:ns:xmpp-bind”>
<resource>2K3BO12</resource>
</bind>
</iq>
where 2k3bo12 is the PC trying to connect.
However, I have something strange in s2s.log:
Fri Aug 22 16:26:26 2008 [notice] starting up (interval=60, queue=60, keepalive=0, idle=86400)
Fri Aug 22 16:26:26 2008 [info] process id is 3572, written to ./s2s.pid
Fri Aug 22 16:26:26 2008 [notice] attempting connection to router at 127.0.0.1, port=5347
Fri Aug 22 16:26:26 2008 [notice] connection to router established
Fri Aug 22 16:26:26 2008 [notice] [0.0.0.0, port=5269] listening for connections
Fri Aug 22 16:26:26 2008 [notice] ready for connections
Fri Aug 22 16:30:31 2008 [notice] dns lookup for osbitalia.local returned 9 results (ttl 600)
<REPEAT>
Fri Aug 22 16:30:31 2008 [notice] [464] [172.26.8.1, port=5269] outgoing connection for ‘osbitalia.local’
Fri Aug 22 16:30:32 2008 [notice] [464] [172.26.8.1, port=5269] write error: Socket non connesso e indirizzo non fornito durante l’invio su un socket di datagramma che utilizza una chiamata sendto. Richiesta di invio o ricezione di dati annullata.
(10057)
Fri Aug 22 16:30:32 2008 [notice] [464] [172.26.8.1, port=5269] disconnect, packets: 0
</REPEAT>
with the text between <REPEAT>’s repeated for each of the 9 IP results of the dns lookup for osbitalia.local.
The translation of the error message is: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.
Is s2s trying to connect to osbitalia.local? Why?
Thanks
Claudio: Forgot to mention this important thing regarding NTLogon, you need to enable (uncomment) <auto-create/> in sm.xml (Storage Manager) configuration, this is just because NTLogon let in all Windows users in, even those who have no Storage Manager entries yet. So those entries have to be auto-created upon first logon.
Hope it will work fine for you now. Regarding this s2s.log, I have no clue yet, but I’ll check why it tries to connect to jabber server at osbitalia.local.
when I try to start the c2s.exe in the cli, i’m getting an application error (displayed in german…): “The application cannot be initialized correctly (0xc0150002)”.
What’s wrong here?
I previously installed all OpenSSL and VC packages you provided above.
(Still on WinXP SP3)
Ransum: Note the red marked comments at: http://www.slproweb.com/products/Win32OpenSSL.html
This are some problems with wonky SP3 I suppose, can you try on SP2 machine? I may try running at SP3 later-on, but I still do my development on SP2, since they’re so many negative opinions about latest SP3 MS achievement.
I’ve enabled <auto-create/> in sm.xml.
I still have the problem with the client being stuck in status “connecting” and the server trying to connect to osbitalia.local. I’ve tried changing some parameters, but with no luck. Any news?
I’m on a corp. network here… so downgrading to SP2 is no option at all. It seems this OpenSSL-Problem affects Windows 2003 SP1 as well then… ?
I guess it’s neither possible to use jabberd2 without that SSL stuff, is it?