Client and Server not connecting

I’ve installed both the urbackup client and server on a Windows XP VM I have and they don’t seem to be able to connect to each other. I’m able to see that both processes are running, but when I try to do a full file backup, I get an error message that says “Could not start backup, because no backup server was found.”

Any ideas why the client and server can’t connect?

Thanks!

Okay. First of all be sure you didn’t install client and server into the same directory. (Somebody did that, that’s why I mention it)
Then it would be nice if you look at the Logfiles (UrBackup\debug.log and UrBackupServer\urbackup.log) and post their contents here. That would give me more information to go on. Thanks :).

Is the VM connected by NAT or with a network bridge? Which VM-Product are you using?

Thank you very much for responding. Sorry for the delay of my response!

I’ve been able to install both the urbackup client and server packages and get the installed client and server to connect. The problem I was having was that I was using an older unpatched version of WindowsXP. Once I installed all the WindowsXP patches on the VM (I’m using VMWare Fusion for my VM software), the client and server connected and I was able to backup my test folders with the VM set to NAT. Yes!!

But now I am stuck again. I have been able to compile the source code for both the client and the server solutions successfully, but have been unable to get them to connect to each other. While playing with the server today, I noticed that when I compile the CompiledServer solution, it creates CompiledServer.exe. But when I run the installed server, two services begin to run (urbackupsvr.exe and urbackup_svr.exe). Using nmap, I found that when urbackupsrv.exe runs, port 55414 is open. When urbackup_srv runs, ports 35623 & 35621 are open. When I run CompiledServer.exe, port 34255 is open. I’m not sure what I’m missing. Does the CompiledServer.exe map to the urbackupsrv.exe? If so, am I missing the code to create urbackup_srv.exe?

Thanks for the help!!!

If you look into the ‘args.txt’ of the compiled versions you’ll see the command line options the programs have.

The CompiledServer.exe is actually just a server which loads urbackup (urbackup.dll) as a plugin. You need to load at least httpserver (for the webinterface) and fsimageplugin for the server and fileservplugin for the client.
Depending on what you load (and the commandline options) CompiledServer acts as a client or server. Just take a look at the args.txt and it should get clear. If you load the plugins for both server and client and set the command line options --server to “both” it will start as client and server (for debugging purposes). I just renamed CompiledServer to urbackupsrv (for the client) and urbackup_srv (for the server) for convenience.
(I never thought somebody would compile it on windows, there are probably project files missing?)

Thanks for pointing me towards the args.txt files. I think I’m starting to understand and I will use the command line options when building CompiledServer.exe.

There are project files missingin the solution…do you think that will cause a problem?

I’m also having trouble loading the plugins. Am I supposed to set a path somewhere?

The missing project files don’t matter.

The plugins are loaded with --plugin “name\to\plugin.dll”. If you are working with a normal x86 build you can also use relative names like --plugin Debug\urbackup.dll. If something else goes wrong you can always look up the error code in the internet. Sometimes the Plugin depends on a dll that you don’t have for example (pychart on python.dll e.g.). It would then fail loading. You have to compile all projects in that solution. I guess you are using Windows 7? If you are using Win XP or any Windows lower then Vista you need the Shadow Copy SDK
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0b4f56e4-0ccc-4626-826a-ed2c4c95c871
and build the Configuration “urbackup XP” or “urbackup 2003” for urbackup.dll.

are you planning to assemble your own binary distribution or are you planning to add/modify something?

Figured out my problem with the plugins. I had a copy and paste issue when I added the command line parameters to the solution. Glad it was something that simple!

I’m using WindowsXP, so I’ve downloaded the Shadow Copy SDK and have installed it. But now when I build the urbackup.dll file, I receive a “LINK : fatal error LNK1104: cannot open file ‘VssApi_xp.Lib’” message. I’ve done a search on my machine for the VSSApi_xp.Lib file and I don’t have that library. I’ve also done a Google search for that file and haven’t found any reference of it. Do you have any idea where I can find that library? It is not included in the C:\Program Files\Microsoft\VSSSDK72 directory that was installed with the Shadow Copy SDK.

I need to build the urbackup client and server because I would like to use them as a software security teaching tool. I plan on adding some interesting security bugs and then have my students test for the security vulnerabilities I’ve added, find the problems I’ve added in the code, fix the code, and then test to make sure the vulnerability has been fixed.

I think my students should be able to understand the code, even without the comments. I will help them to locate the source files where the security vulnerabilities I will add can be found. It’s not important for them to understand how the code works. It’s more important for them to be able to find any buffer overflow and other vulnerabilities that I place in the code.

I just found a log message that tells me that I need to install Numpy and Matplotlib. Do you know the versions of those tools that I need to install?

Just to see if they would work, I installed the Numpy and Matplotlib versions that go with Python version 2.6. But I’m still crashing at this line of code:

python::handle<> module(PyImport_ImportModule(n));

It seems like I’m having trouble with Boost. If you have any ideas about why I’m getting an Access Violation when the above line is code is run, I’d love to hear them!!

Thanks for all the help!

Kevin

I applied your suggestion and commented out the code that loaded python and the webpage seems to work fine (other than the Statistics page which shouldn’t be working now). So now that I have urbackupsrv.exe running, I’m attempting to get urbackup_srv.exe running.

I noticed in the command line parameters for urbackup_srv.exe that urbackup_xp.dll is being loaded. Is urbackup_xp.dll different from urbackup.dll? Or has it just been renamed?

I’ve created urbackupsrv.exe and urbackup_srv.exe now. But when I run urbackup_srv.exe, I get a lot of “Error preparing query…” and “Password wrong!” errors. It seems as if urbackup_srv.exe thinks that I’m trying to connect to a database, but that’s not what I want to do. When I run the installed versions, they backup my files just fine. How do I tell urbackup_srv.exe that I’m not using a database to backup my files?

Yes!! :) That made those error messages go away. But I have a few more that are resisting my debugging skills (or showing my lack of debugging skills). Here are the errors I have now when I run urbackup_srv.exe:

ERROR: urbackupserver: Failed binding SOCKET to Port 35623
ERROR: Binding tcp socket to port 35621 failed
ERROR: FileServ exit with error code: 99

For the first error, I think it fails on this line of code:
rc=bind(s,(sockaddr*)&addr,sizeof(addr));

bind sets rc to -1. That’s probably not good. I can’t step into bind, so I’m not sure what is going wrong.

That took care of that issue. I’m moving along well now. But I’m seeing an error that is looking for prefilebackup.bat. Is that a file that is generated by the server?