Sure, you're welcome.  Thumb should not fundamentally be a problem
provided the platform and tools support it, and it sounds like in your
case it does.

Your assumptions about what you need are correct, I believe (i.e., you
don't need the gui).  You may want to inspect the code, however, because
there are routines for installing and loading the TAP driver that may be
of interest.  They are in taputil.h,.c

cellcore.dll is used to provide the Windows Connection Manager stuff,
and in openvpn.exe this in openvpn.c, around line 203, and around line
284.  I should have conditional-compiled that as an option, but I
didn't.  Similarly the support routines are in wince_portstuff.c at line
1631 through the end, and they can go, too (actually if you remove those
first and compile, the compile should fail and you can find if there was
anything I missed, but that should be it).

Generic CE platforms don't use the Windows Connection Manager and do
networking in the more conventional way, so you can probable do without
it, and remove the cellcore.lib from your link step.

Assuming your error message really means 'missing dlls' instead of
'invalid binary' then you should be better off.

Again, if you want to send me your compiled binary, I can inspect it
more closely if that is useful.

-Dave

-----Original Message-----
From: jonathan openvpn [mailto:jonathan.open...@gmail.com] 
Sent: Thursday, May 28, 2009 1:56 AM
To: dave
Cc: openvpn-devel@lists.sourceforge.net
Subject: Re: [Openvpn-devel] CE port needed DLLs


Hello.

First of all, thank you for the quick response.

We have other applications running on the Windows CE distribution and
the linker option "MACHINE" is set to "THUMB".
We are using a custom developed board, and we develop our applications
through Visual Studio 2005.

We only need to stablish a connection to a VPN server without need of a
GUI, all configuration must be transparent to the user. Therefore I
think we only need the openvpn executable and TAP_CE driver. If i'm not
wrong, the ovpncmgr module is to provide a GUI for the openVPN client.
Is that correct?

When no dll is provided, and I try to debug the application from Visual
Studio connected to the device, i get the message: "An error occurred
that usually indicates a corrupt installation (code 0x8007007e). If the
problem persists, repair your Visual Studio installation via 'Add or
Remove Programs' in control Panel"
Some webs refer to that error like some archives are missing. When I put
the dlls you have listed below, the error changes to: "openvpn is not a
valid WindowsCE application". I suspect that some of the dll may not be
correct for my platform. Could it be the source of my problem?

I have not been able to find the cellcore.dll for our platform. Does it
mean we cannot use the connection manager functionality? I have read in
some forums that this functionality is not present on Windows CE...

Sorry for my ignorance, I am pretty new on Windows CE.

Your help is so much appreciated. Thank you very much.

Jonathan.



2009/5/27 dave <d...@ziggurat29.com>


That message usually means the binary is hosed, and I believe missing
dlls give a different message.
Are you sure Thumb is correct for your platform?  Are you using a
consumer device like a pocket pc phone, etc, or is it a custom board?

I ask that because the existing code does use some functionality
peculiar to the pocket pc (phone) that is not generally available on
other platforms, yet the SDKs ofen include the headers and import libs,
allowing you to successfully compile, but then you can't run it on the
target device.

When you say 'client application' are you meaning just the gui, or the
whole entire set of programs (i.e., the TAP driver, the openvpn
executable, and the gui).

You can use DUMPBIN to find the dlls from the exe, and also inspect the
header to see the cpu configuration.  Here is a short list, if it helps:

openvpn:
*  coredll.dll
*  w2s.dll
*  iphlpapi.dll
*  wininet.dll
*  ole32.dll
*  cellcore.dll

tap-ce:
*  ndis.dll
*  coredll.dll

ovpncmgr:
*  iphlpapi.dll
*  toolhelp.dll
*  cellcore.dll
*  ole32.dll
*  mfcce300.dll
*  coredll.dll
*  winsock.dll

Your build may (will) differ depending on your platform, because your
platform builder may have put some of these features in different dlls.
That list was for PocketPC.

Now, the cellcore.dll, you may not have on other platforms.  It is
needed for supporting Windows Connectin Manager, and you can surgically
cut out that functionality if your platform doesn't have it.  Most of
the rest is fairly standard.

Before doing surgery, you may wish to re-check your assumptions.  Also,
if you wish to zip up your problem binaries and send them to me
directly, I will do a quick inspection for you.


-dave

-----Original Message-----
From: jonathan openvpn [mailto:jonathan.open...@gmail.com] 
Sent: Wednesday, May 27, 2009 5:36 AM
To: openvpn-devel@lists.sourceforge.net
Subject: [Openvpn-devel] CE port needed DLLs


Hello.

I'm triying to execute a Windows CE 5.0 porting of openvpn client
application. I've been successful on compiling it but when i try to
execute i receive the message: "openvpn is not a valid WindowsCE
application".

I am compiling to ARM-Thumb architecture. I suspect there is a problem
with needed DLLs.

Could anyone tell me wich DLLs are needed and where could i get them?

Thank you very much.



Reply via email to