# $Id: README.win32,v 1.18 2006/01/28 21:40:23 andreas_o Exp $ #

Introduction
------------

Oinkmaster should work just as well on Windows as on Unix/Linux.
There are three known ways to run Oinkmaster on Windows:

- ActivePerl
- Cygwin from within a Cygwin shell
- Cygwin but not from within a Cygwin shell

Which method you choose is mostly a matter of taste, although I'd
say that ActivePerl is the best way to go for most people.
You can find installation/usage instructions for each one of these 
below, but first a few general useful notes about Oinkmaster and 
Windows.



A few useful notes about Oinkmaster and Windows
-----------------------------------------------

o You must always specify the -C argument and point to your 
  oinkmaster.conf since it's looked for in a Unix directory by default

o Use of the Oinkmaster GUI is optional

o When using Cygwin (standalone or from within a Cygwin shell) you 
  should be able to use both msdos style paths (e.g. c:\foo) or Cygwin 
  style paths (e.g. /cygdrive/c/foo) everywhere, but remember that 
  backslashes needs to be quoted ("c:\foo") or escaped (c:\\foo) when 
  starting from a Cygwin shell. 

o Remember that filenames/directories with spaces specified on the 
  command line need to be quoted, e.g.
  -C "c:\some directory\oinkmaster.conf"

o Depending on your Perl installation, you may or may not be able to 
  call oinkmaster.pl directly. If .pl files are not associated with 
  Perl on your system, you must run "perl oinkmaster.pl ..." instead of 
  just "oinkmaster.pl ...".

o Oinkmaster usually requires a few external binaries (tar, gzip and 
  wget). As of Oinkmaster v1.0 though, you don't need them if you have 
  the Perl modules Archive::Tar, IO::Zlib and LWP::UserAgent. The good 
  news is that ActivePerl 5.8.1+ comes with these modules and that 
  Oinkmaster uses them by default on Windows. See the default 
  oinkmaster.conf for more information about this.



Running with ActivePerl
-----------------------

- If you don't have ActivePerl installed already, get the most recent 
  version from http://www.activestate.com/Products/ActivePerl/.
  ActivePerl 5.8.1 and later contains all required Perl modules (even 
  for the Oinkmaster GUI), no external binaries are required. If your 
  ActivePerl is older than 5.8.1 and you for some reason don't want to 
  upgrade to a more recent version, you need to execute the command 
  "ppm install IO::Zlib" from a command shell. This is not required on 
  5.8.1 and later since that module is already included there.

- Install Oinkmaster by following the INSTALL file.

- Done!

Now you should be able to run Oinkmaster. Usage example:

c:\perl\bin\perl c:\oink\oinkmaster.pl -C c:\oink\oinkmaster.conf -o c:\oink\rules

Your paths may of course be different.



Running with Cygwin from within a Cygwin shell
----------------------------------------------

- If you don't have a recent version of Cygwin installed already, get 
  it from http://www.cygwin.com/. Make sure to include at least the 
  packages gzip, Perl, tar and wget.

- Install Oinkmaster by following the INSTALL file.

- Done!

Now you should be able to run Oinkmaster. You run it by first starting the 
Cygwin environment and then simply call oinkmaster.pl with the requested 
arguments. For example:

/usr/local/bin/oinkmaster.pl -C /etc/snort/oinkmaster.conf -o /etc/snort/rules

If you need to specify a path that is not inside the Cygwin directory
structure, just use something like:

/usr/local/bin/oinkmaster.pl -C /etc/snort/oinkmaster.conf -o "c:\snort\rules"

Or the same but using Cygwin style:

/usr/local/bin/oinkmaster.pl -C /etc/snort/oinkmaster.conf -o /cygdrive/c/snort/rules



Running with Cygwin but not from within a Cygwin shell
------------------------------------------------------

This assumes that you want to run Oinkmaster using Cygwin, but
without first starting a Cygwin shell.

- If you don't have a recent version of Cygwin installed already, get 
  it from http://www.cygwin.com/. Make sure to include at least the 
  packages gzip, Perl, tar and wget.

- Install Oinkmaster by following the INSTALL file.

- Make sure the 'path' option in oinkmaster.conf includes the
  directory/directories containing the required Cygwin libraries and 
  binaries. You can specify the path as either msdos style or Cygwin 
  style, e.g.:

  path = c:\cygwin;c:\cygwin\bin

  or the same but as Cygwin style:

  path = /cygdrive/c/cygwin:/cygdrive/c/cygwin/bin

- Done!

Now you should be able to run Oinkmaster. (You may want to start a 
cmd.exe shell first so you see what's  going on.) For example, if Cygwin 
is installed in c:\cygwin and Oinkmaster and the rules directory is in 
c:\oink\, you can run:

c:\cygwin\bin\perl c:\oink\oinkmaster.pl -C c:\oink\oinkmaster.conf -o c:\oink\rules
