Menu

#88 Mono compatibility for running natively under linux

open
None
5
2011-10-19
2009-10-25
Mike Auty
No

Hi there,

I did a quick search of the existing feature requests, and though I've seen this talked about on blogs a lot, I haven't seen a specific request.

I've taken a quick look at getting it going. It appears that the current problem with the codebase is the use of "\\" rather than System.IO.Path.DirectorySeparatorChar. This can be bypassed by setting the MONO_IOMAP environment variable as "all".

Unfortunately I then ran into a "Not enough memory to complete operation [GDI+ status: OutOfMemory]. Apparently this is quite common and can sometimes mean a particular image decoding library hasn't been compiled in (such as libgif), however I've checked my version and it's compiled with complete support for gif, jpeg and png. I can only figure that this must in some way be related to the Images tab, but I don't know the code well enough to figure out what's going on. I'm happy to test development versions or patches, but given this is such a popularly requested feature, I'm sure I'm not the only person willing to help with testing...

Keep up the great work, I look forward to seeing a cross-platform version of NetworkMiner!

Discussion

  • Mike Auty

    Mike Auty - 2009-10-26

    Ok, I just found out, this is due to GDI+'s lousy error messages (see http://www.kerrywong.com/2007/10/23/lousy-gdi-error-messages/ and http://www.mail-archive.com/mono-patches@lists.ximian.com/msg25456.html). It turns out, it couldn't load the files properly, even with MONO_IOMAP="all", due to the path separators. The error message simply meant it couldn't find the file.

    I'm attaching a patch that allows me to successfully compile this under Visual Studio for Windows, but then run it using just Mono (2.4) under linux. It can load a packet capture fine, and gives me access to all the relevant information. The patch isn't complete, in that there are several bits of code that still check specifically for "\\", rather than System.IO.Path.DirectorySeparatorChar, but this was more just a proof of concept patch.

     
  • Mike Auty

    Mike Auty - 2009-10-26

    NetworkMiner-0.89-mono.patch

     
  • Erik Hjelmvik

    Erik Hjelmvik - 2011-10-19
    • assigned_to: nobody --> hjelmvik
     

Log in to post a comment.