Re: nm-openswan - update
- From: steve hillier <keyhman gmail com>
- To: Turbo Fredriksson <turbo bayour com>, nmlist <networkmanager-list gnome org>
- Subject: Re: nm-openswan - update
- Date: Tue, 06 Nov 2007 18:17:19 -0500
Nice to hear others had use for the code (if it actually worked ;) ).
When I started, I developed in Anjuta on fedora 6.
I was mainly interested in the symbol browser and debugging features of
Anjuta. Especially when I started experimenting with libwhack integration.
It wasn't long into that experiment when I realized a problem that
prevented me from proceeding down that path, and so I backed off those
code mods and went back to calling whack from my app (see the version
magic #define in libwhack.h from the openswan src tarball ). The
problem, simply, was that it introduced a version dependancy between
nm-os and openswan that I felt was unacceptable.
It was then that I started re-factoring the code to clean up the mess
and sort out some logic bugs. Once the logic was fixed my code compiled,
and that's when I ran into the type-casting issues with my gui objects,
and that problem stalled the entire project -- there's only so much GUI
api doc u can read and with my new job, very little time to do any
actual debugging.
I eventually moved my dev environment to a new laptop, and it took some
time before I could get NM-OS compiling again (Even though the laptop
was also running fedora 6). My bad. This wasn't a dist code tar ball
that would simply "compile". this was a snapshot of my development
workspace as it stood at that time.
I've continued to work on the code in my limited spare time under anjuta
with mixed results. I'm also new to GTK coding and I suck at it which is
why is so slow going.
Since starting my new job, I've been forced to learn Java, and
specifically J2EE programming in a hurry.
As with most Java coders, Eclipse is my IDE of choice for many reasons.
In fact, I use Redhat developer studio beta2 (you can guess which j2ee
server I'm learning).
Now I just recently discovered that Eclipse has a plugin to support
C/C++ development.
I'm working on getting nm-openswan building under eclipse, and my reason
is simple: it's got a killer debugger and awesome ide tools. the symbols
browser alone chews anjuta. If I succeed, then I'll package up my
workspace and mail that out. In the mean time, all I can say is keep
plugging away at anjuta.
Once I get back to code that actually runs (at least some of the time)
I'll send another tarball out, one I'm not ashamed to put my name on. I
haven't forgotten the project, other priorities just 'butted' in line.
Sorry.
Things to try under anjuta:
- don't use anjuta to compile. I use it for editing and debugging only.
I usually run make from the cmd line.
- run `make clean && make && make install ` from the top-level of the
src dir.
- explore the src dir to /usr/local/src (that's the path I used to store
my dev src).
if you're not familiar with the inner workings of NetworkManager, get
the source and start reading the code / api docs. Certain files have to
be visible in specific locations for the NetworkManager to "see" the new
vpn service. One in particular that comes to mind is in
/etc/NetworkManager/vpn (or something to that effect).
My install script settings place my service configuration file in
/usr/local/etc/NetworkManager/vpn/<blahbah>. As of NetowrkManager0.6.x
it didn't scan that folder automatically, so after 'make install' on a
new system, I would have to symlink my file to
/etc/NetworkManager/vpn/.... before restarting NetworkManager daemon to
have it pickup the service. The logs of the daemon will tell you if it
knows about the new vpn service on a restart if you turn up the logging.
Not sure if the same is true for the 0.7 code branch. Maybe in a few
months (when things finally settle down at work), I'll port my code to
0.7 code base and get it compiling again. I know some of the stuff I
wanted to do wasn't possible until planned changes to the vpn api were
implemented (to manage multiple concurrent vpn connections, etc...).
Maybe others on the list can update you on the status of that change.
For now, I tinker with my debugger from time to time on Fedora 6, still
using the old 0.6.x code base that I started with, just until I get the
GUI bugs worked out.
To debug in anjuta, there's a process to be followed. Remember, this is
shared library, not a binary executable, that executable is Nm daemon
itself which listens on the DBUS for vpn service request messages
(amongst many other things). So, first you need to get nm "aware" of the
nm-openswan vpn service (see above). You'll know it's working, when you
can add the "IPsec" type of vpn connection through the vpn manager
interface. Selecting this will start a wizard which eventually calls out
to my shared library to configure the connection details. If you're
debugging the shared library, it's at this point, you're debugger will
go active (when nm tries to load my library and call the factory method
to instantiate the configuration window). This is where the library
tries to build a GUI and crashes.
I Just recently I realized that I may be creating my config window
entirely wrong. I'm buidling a top-level window when I should be adding
elements to the wizard window (I think). I'm going to revisit that code
soon to verify this. Again, I'm new to coding these, more obscure api's,
so these are clearly beginner style mistakes.
Anyway, I hope there's some good info in here for you and anyone else
that tried to compile the code I released. I'll send another update to
the mailing list when I've got something good to report.
Thanks,
Steve.
Turbo Fredriksson wrote:
Quoting steve <keyhman gmail com>:
Hi,
i've received a few emails lately asking for "what i have". What I
have is a mess right now.
My job just hasn't given me any time to work on the code so it's
pretty much been idle for months now. I guess it's time to let others
take a whack at it (no pun intended).
I rewrote the service handler code and the UI implementation, but my
ui implementation is very buggy, and segfaults when nm-vpn-manager
tries to load the library and generate the UI which is where the
project stalled while I took on a new job.
I've attached the 0.1a tarball to this email. Enjoy.
Hi, I'm one of those that had been bugging you about this. As usual,
time (or the availability of it :) is not what it used to...
I've had a couple of stabs at trying to understand the code and get
it working, but I've never coded GTK before, so...
Have you had any more time to take a look at it?
Have any idea how to debug it? Trying to run nm-applet through gdb
don't seem to help and since the properties window is a library,
that makes it even more difficult...
Also, I installed Anjuta (v1.2.4a) but that doesn't seem to be able
to open the project file (nm-openswan.anjuta)...
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]