<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<title>CommuniGate Pro: ARM Research Labs Sniffer Antispam Plugin</title>
<link rel="stylesheet" href="GuideStyle.css" type="text/css" />
<link rel="stylesheet" href="AdminStyle.css" type="text/css" />
</head>

<body>

  <table border="0" cellPadding="0" cellSpacing="0" width="100%">

    <tr>
      <td class="tabBodyOuter">

	<table class="tabBody" width="100%" cellspacing="0"
	      cellpadding="0">
	  <tr>

	    <td>

	      <h1>ARM Research Labs Sniffer Plugin for CommuniGate
	      Pro</h1>

		<div class="guideTOC">
		  <ul>

		<table class="tabBody" width="100%" cellspacing="0"
		  cellpadding="0">

		  <li><a href="#Download">Download the Sniffer Plugin</a>

		  <li><a href="#Install" name=Install>Installation</a>

		  <ul>

		    <li><a href="#WIN32">Installing on a MS Windows
		    200x/NT/XP/9x system</a>

		    <li><a href="#Linux">Installing on a Linux
		    system</a>

		    <li><a href="#FreeBSD">Installing on a FreeBSD
		    system</a>

		    <li><a href="#OpenBSD">Installing on an OpenBSD
		    system</a>

		    <li><a href="#Source">Installing from source</a>

		  </ul>

		  <li><a href="#Upgrading">Upgrading to a newer
		  version</a>

		  <li><a href="#Config">Configuring the Sniffer
		  Plugin</a>

		  <li><a href="#Test">Testing the Sniffer Plugin</a>

		  <li><a href="#Options">Command line options</a>

		  <li><a href="#Integrate">Integrating the Sniffer
		  Plugin with CommuniGate Pro</a>

		  <li><a href="#Update">Updating the spam definitions
		  database</a>

		</ul>
	      </div>
	      </td>
	    </tr>

	  </table>
	</tr>
      </table>
    </tr>
  </td>
</table>

<p><b>Note:</b> The ARM Research Labs Sniffer Plugin is not available
on platforms.  Before you order the Sniffer License, make sure that
the available versions of the Sniffer Plugin software run on your
CommuniGate Pro Server platform.</p>

<h2><hr><a name="Download"></a>Download the ARM Research Labs Sniffer Plugins</h2>
<dl><dd>
  <p>ARM Research Labs Sniffer antispam plugins are available for certain platforms only.</p>

  <table class="guideTable" border=1 cellspacing=0 cellpadding=1>

    <tr bgcolor="#cccccc">
       <th nowrap rowspan=2 width=50%>Operating System</th>
       <th nowrap rowspan=2>CPU</th>
       <th nowrap colspan=2>Download</th>
    </tr>

    <tr bgcolor="#cccccc">
       <th nowrap>via<br>http</th>
       <th nowrap>via<br>ftp</th>
    </tr>

    <tr>
       <td align=center>Microsoft Windows NT/2000/XP<BR>Microsoft Windows 95/98</td>
       <td align=center>x86</td>
       <td align=center><a HREF="http://www.armresearch.com/message-sniffer/download/CGPSNF-Win32-Intel.zip">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>
    </tr>

    <tr>
       <td align=center rowspan=2>Linux (RedHat/Fedora/CentOS, Ubuntu, SuSE)</TD>
       <td align=center>x86</td>
       <td align=center><a
       HREF="http://www.armresearch.com/message-sniffer/download/CGPSNF-Linux-Intel.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>

       <tr>
       <td align=center>x86_64</td>
       <td align=center><a href="http://www.armresearch.com/message-sniffer/download/CGPSNF-Linux-x86_64.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>
    </tr>

    <tr>
       <td align=center rowspan=2>FreeBSD 7.x</td>
       <td align=center>x86</td>
       <td align=center><a href="http://www.armresearch.com/message-sniffer/download/CGPSNF-FreeBSD7.x-Intel.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>

       <tr>
       <td align=center>x86_64</td>
       <td align=center><a href="http://www.armresearch.com/message-sniffer/download/CGPSNF-FreeBSD7.x-x86_64.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>

    </tr>

    <tr>
       <td align=center rowspan=2>OpenBSD 4.4 or later</td>
       <td align=center>x86</td>
       <td align=center><a href="http://www.armresearch.com/message-sniffer/download/CGPSNF-OpenBSD4.4-Intel.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>

       <tr>
       <td align=center>x86_64</td>
       <td align=center><a href="http://www.armresearch.com/message-sniffer/download/CGPSNF-OpenBSD4.4-x86_64.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>

    </tr>

    <tr>
       <td align=center>Source for Linux/FreeBSD/OpenBSD</td>
       <td align=center>Any</td>
       <td align=center><a HREF="http://www.armresearch.com/message-sniffer/download/snf4cgp.tar.gz">
	   <img src="DownLoad.gif" border=0 width=16 height=16></a></td>
       <td align=center><img src="DisabledDownLoad.gif" border=0 width=16 height=16></td>
    </tr>

  </table>

</dl>

<p>Downloads by ftp are not available</p>
<p>The current version of the Plugin is 1.1.0.</p>
<p>The current version of the ARM Research Labs Sniffer Engine is 3.0.16.</p>

<h3><hr/><a name=Upgrading></a>Upgrading to a newer version.</h3>
<p>When upgrading the Plugin to a newer version, do the following:</p>

<ul>

   <li>Stop any running copy of the Sniffer Plugin application via
   CommuniGate Pro WebAdmin interface.

   <li>Install and configure the new version of the Sniffer Plugin as
   described in this document.

</ul>

<h3><hr><a name="WIN32"></a>Installing on a MS Windows 200x/NT/XP/9x system.</h3>
<ul>
    <li>Open the command-line interface window and 
	change the current directory to the CommuniGate Pro <I>base directory</I>.
    <li>Use any &quot;unzip&quot;-compatible tool to unpack the
     <tt>CGPSNF-Win32-Intel.zip</tt> file. The <tt>CGPSNF</tt> directory will be created inside the <I>base directory</I>. 
    <li>Proceed with <a HREF="#Config">Configuring the Sniffer Plugin</a>.
</ul>

<h3><hr><a name=Linux></a>Installing on a Linux system.</h3>
<ul>
    <li>Log in as a super-user (root).
    <li>Change the current directory to the CommuniGate Pro <I>base directory</I>.
    <li>Unpack the Plugin archive with the <tt>tar</tt> command:<tt><br>
        &nbsp;&nbsp;tar -xzf CGPSNF-Linux-Intel.tar.gz</tt><br>
        The <tt>CGPSNF</tt> directory will be created inside the <I>base directory</I>. 
    <li>Proceed with <a HREF="#Config">Configuring the Sniffer Plugin</a>.
</ul>

<h3><hr><a name=FreeBSD></a>Installing on a FreeBSD system.</h3>
<ul>
    <li>Log in as a super-user (root).
    <li>Change the current directory to the CommuniGate Pro <I>base directory</I>.
    <li>Unpack the Plugin archive with the <tt>tar</tt> command:<tt><br>
        &nbsp;&nbsp;tar -xzf CGPSNF-FreeBSD-Intel.tar.gz</tt><br>
        The <tt>CGPSNF</tt> directory will be created inside the <I>base directory</I>. 
    <li>Proceed with <a HREF="#Config">Configuring the Sniffer Plugin</a>.
</ul>

<h3><hr><a name=OpenBSD></a>Installing on an OpenBSD system.</h3>
<ul>
    <li>Log in as a super-user (root).
    <li>Change the current directory to the CommuniGate Pro <I>base directory</I>.
    <li>Unpack the Plugin archive with the <tt>tar</tt> command:<tt><br>
        &nbsp;&nbsp;tar -xzf CGPSNF-OpenBSD-Intel.tar.gz</tt><br>
        The <tt>CGPSNF</tt> directory will be created inside the <I>base directory</I>. 
    <li>Proceed with <a HREF="#Config">Configuring the Sniffer Plugin</a>.
</ul>

<h3><hr><a name=Source></a>Installing from source.</h3>
You can build the Sniffer Plugin from source:
<ul>
    <li>Download the <tt>snf4cgp.tar.gz</tt>.
    <li>Extract the sources with the command:<tt><br>
        &nbsp;&nbsp;tar -xzf snf4cgptar.gz</tt><br>
    This creates a directory <tt>snf4cgp-X.Y.Z</tt>, where X.Y.Z is the
    version of the module.
    <li>Change directory to <tt>snf4cgp-X.Y.Z</tt>:<tt><br>
        &nbsp;&nbsp;cd snf4cgp-X.Y.Z</tt><br>
    <li>Configure and build the system:<tt><br>
        &nbsp;&nbsp;./configure<br>
        &nbsp;&nbsp;./make</tt><br>
    <li>Become super-user (root).
    <li>Create the Sniffer Plugin:<tt><br> &nbsp;&nbsp;make
        module</tt><br> This creates a Plugin archive
        named <tt>CGPSNF-X.Y.Z-MODULE.tar.gz</tt>.
    <li>Proceed with <a HREF="#Install">Installing the Sniffer
    Plugin</a> for your system, using the Plugin archive that was
    created.
</ul>

<h3><hr><a name=Config></a>Configuring the Sniffer Plugin.</h3>

<p>Go to the CGPSNF module directory:<br/> 
    <blockquote> 
    On a typical Linux or Linux-like system     
    <tt>/var/CommuniGate/CGPSNF</tt><br/> On a typical Windows system     
    <tt>C:\CommuniGatePro\CGPSNF</tt><br/>
    <br/> 
    <i>Note: If these are not correct for your system you will need to 
    customize your snf_engine.xml and getRulebase script accordingly. Be sure 
    you visit the <a 
    href="http://www.armresearch.com/support/articles/software/snfServer/config/node/paths/">paths</a> and <a href="http://www.armresearch.com/support/articles/software/snfServer/config/node/network/update-script.jsp">update-script</a> section of snf_engine.xml as well 
    as 
    the SET SNIFFER_PATH= line in your getRulebase script. </i> </blockquote>
    </p>
<ul>

    <li>Have your Message Sniffer <i>LicenseID</i> (8 characters) and 
        <i>AuthenticationString</i> (16 characters) ready. You should have 
        received these in your sign-up email or in one of your update 
        notification email's from ARM Research Labs. 
        </li>

    <br/>
    <li>Copy the sample configuration files.</li>
    <ul>
        <li>Copy <tt>snf_engine.xml.sample</tt> to <tt>snf_engine.xml</tt> 
            and <a 
            href="http://www.armresearch.com/support/articles/software/snfServer/config/snfEngine.jsp">
                    Customize as needed.
            </a>
            <blockquote><i>Note: If you modify the location of your rulebase 
            you will also need to modify your getRulebase script accordingly! 
            This is supported, however it is usually best to leave the location 
            of the rulebase (.snf) files in the CGPSNF directory.</i></blockquote>
            </li>

        <li>Copy <tt>identity.xml.sample</tt> to <tt>identity.xml</tt> </li>
        <li>Edit <tt>identity.xml</tt> to <a 
            href="http://www.armresearch.com/support/articles/software/snfServer/config/identity.jsp">Configure your  <i>LicenseID</i> and 
            <i>AuthenticationString</i></a></li>
        <li>Copy 
            <tt>GBUdbIgnoreList.txt.sample</tt> to <tt>GBUdbIgnoreList.txt</tt> 
            and <a 
            href="http://www.armresearch.com/support/articles/software/snfServer/config/gbudbIgnoreList.jsp">Customize as needed.</a></li> 
        </ul> 

    <br/>
    <li>Configure your automated updates script.</li>
    <ul>
        <br/>
        <li>On Windows Systems...</li> 

        <ul>
            <li>Copy <tt>getRulebase.cmd.sample</tt> to 
                <tt>getRulebase.cmd</tt></li> 
            <li>Configure the script with your SNF license ID and 
                Authentication string.</li>
            <ul>
                <li>Change the line <tt>LICENSE_ID=licenseid</tt> to 
                    <tt>LICENSE_ID=</tt><i>your_LicenseID</i></li>
                <li>Change the line 
                    <tt>AUTHENTICATION=authenticationxx</tt> to 
                    <tt>AUTHENTICATION=</tt><i>your_AuthenticationString</i></li> 
                
                </ul> 

            </ul> 

        <br/>
        <li>On Linux Sysetms...</li>


        <ul>
            <li>Copy <tt>getRulebase.sample</tt> to 
                <tt>getRulebase</tt></li> 
            <li>Configure the script with your SNF license ID and 
                Authentication string.</li>
            <ul>
                <li>Change the line <tt>LICENSE_ID=licenseid</tt> to 
                    <tt>LICENSE_ID=</tt><i>your_LicenseID</i></li>
                <li>Change the line 
                    <tt>AUTHENTICATION=authenticationxx</tt> to 
                    <tt>AUTHENTICATION=</tt><i>your_AuthenticationString</i></li> 
                
                </ul> 
            <li>Make <tt>getRulebase</tt> executable:<br/>
                &nbsp;&nbsp;<tt>chmod 755 getRulebase</tt></li>

            </ul> 

        </ul> 

    <br/>
    <li>Download the current Message Sniffer rulebase:
        <ul>
            <br/>
            <li>On Windows systems...</li> 
                <ul>
            	    <li>Create an <tt>UpdateReady.txt</tt> file:<tt><br>
                    &nbsp;&nbsp;echo . > UpdateReady.txt</tt><br> 
	                </li>
	                <li>Run the <tt>getRulebase</tt> script:<tt><br>
        	        &nbsp;&nbsp;getRulebase</tt><br>
                    <li>Check for a new rulebase (.snf) file<br/>
                    &nbsp;&nbsp;<tt>dir *.snf</tt></li> 
                </ul> 
            <br/>
            <li>On Linux systems...</li>
                <ul>
                    <li>Create an <tt>UpdateReady.txt</tt> file:<tt><br>
                    &nbsp;&nbsp;touch UpdateReady.txt</tt><br> 
                    </li>
                    <li>Run the <tt>getRulebase</tt> script:<tt><br>
                    &nbsp;&nbsp;./getRulebase</tt><br>
                    <li>Check for a new rulebase (.snf) file<br> 
                    &nbsp;&nbsp;<tt>ls *.snf</tt><br> 
                </ul>
            </ul> 

      <blockquote><i>Note: The <B><tt>CGPSNF</tt></B> program will 
      automatically run the getRulebase 
      script as needed. However there must be a valid rulebase file present 
      before the CGPSNF program will run. This step also helps you verify that 
      the getRulebase script is configured correctly. If it is you will see a 
      new .snf file after running the script</i></blockquote>

    <li>Proceed with <a HREF="#Test">Testing the Sniffer Plugin.</a></li>
</ul>

<h3><hr><a name=Test></a>Testing the Sniffer Plugin.</h3>
<p>On Windows System:</p>

<ul>
    <li> Change to the module directory:<tt><br>
	&nbsp;&nbsp;cd C:\CommuniGatePro\CGPSNF</tt><br>

    <li>Launch the <tt>CGPSNF.exe</tt> application by typing:<tt><br>
      &nbsp;&nbsp;CGPSNF</tt><br>
      It will report the Plugin version number and build date.<br>

    <li>Type: <br> 
        &nbsp;&nbsp;<tt>1 FILE junkmsg.txt</tt><br> The plugin should 
        report that the file is spam.


    <li>Close the progrm by typing<br>
        &nbsp;&nbsp;<tt>2 QUIT</tt>
        
        </ul> 

<p>On a Unix System:</p>
  <ul>
    <li> Change to the module directory:<tt><br>
	&nbsp;&nbsp;cd /var/CommuniGate/CGPSNF</tt><br>

    <li>Launch the <tt>CGPSNF</tt> application by typing:<tt><br>
      &nbsp;&nbsp;./CGPSNF</tt><br>
      It will report the Plugin version number and build date.<br>

    <li>Type:<br> 
        &nbsp;&nbsp;<tt>1 FILE junkmsg.txt</tt><br> 
        the plugin should report that the file is spam.

    <li>Close the program by typing<br>
        &nbsp;&nbsp;<tt>2 QUIT</tt>

    </ul> 

<h3><hr><a name="Options"></a>Command Line Options</h3>
<dl>
  <dd>
    The Sniffer Plugin supports the following command-line option
    (parameters):

    <dl>
      <p><dt><tt>path_to_config_file</tt></dt></p>

      <dd>This option tells the Plugin to read the configuration from
	<tt>path_to_config_file</tt>.
      </dd>

    </dl>

</dl>


<h3><hr><a name=Integrate></a>Integrating the Sniffer Plugin with CommuniGate Pro.</h3>

Please check
the <a HREF="http://www.communigate.com/CommuniGatePro/VirusScan.html#Launch">External
Filters</a> section of the CommuniGate Pro manual.

<p>Open the General page in the Settings section of the WebAdmin
Interface and click the Helpers link.  Create the Helper as follows:</p>


<center class="WebAdmin"><form action="Null.html">
<table  class="settingsBox" cellpadding="3" width="90%">
  <caption>Content Filtering</caption>

<tr><td BGCOLOR="#EEEEEE">
<table class="settingsBox" WIDTH="100%" BORDER="0" CELLSPACING=1 CELLPADDING=0>
 <tr>
  <td align="right"><select name="U3"><option value="0">Disabled</option><option value="1" selected="selected">Enabled</option></select></td>
  <td><input name="N3" value="ARM Sniffer" size="15" maxlength="200" type="text" /></td>
  <td colspan=2 align=center></td>
 </tr><tr>
  <td align="right" width="25%">Log Level:</td><td><select name="L3"><option value="0">Crashes Only</option><option value="1">Failures</option><option value="2">Major &amp; Failures</option><option value="3">Problems</option><option value="4" selected="selected">Low Level</option><option value="5">All Info</option></select></td>
  <td align="right" width="25%">Program Path:</td><td><input name="P3"
    value="CGPSNF/CGPSNF" size="30" maxlength="255" type="text" /></td>

 </tr><tr>
  <td align=RIGHT>Time-out:</td><td><select name="T0"><option VALUE=0>disabled<option VALUE="15">15 seconds<option VALUE="30">30 seconds<option VALUE="60">minute<option VALUE="120">2 minutes<option VALUE="180">3 minutes<option VALUE="300" SELECTED>5 minutes<option VALUE="600">10 minutes<option VALUE="900">15 minutes<option VALUE="1800">30 minutes<option VALUE="3600">hour</select></td>
  <td align=RIGHT>Auto-Restart:</td><td><select name="A0"><option VALUE=0>disabled<option VALUE="5">5 seconds<option VALUE="7">7 seconds<option VALUE="10">10 seconds<option VALUE="15">15 seconds<option VALUE="30">30 seconds<option VALUE="60" SELECTED>minute<option VALUE="120">2 minutes<option VALUE="180">3 minutes<option VALUE="300">5 minutes<option VALUE="600">10 minutes<option VALUE="900">15 minutes<option VALUE="1800">30 minutes<option VALUE="3600">hour<option VALUE="7200">2 hours<option VALUE="10800">3 hours<option VALUE="21600">6 hours</select></td>
 </tr>
</table></td></tr>
</table></FORM></center>



<B>Note:</B> For Windows system the Program Path shold be
<tt>CGPSNF\CGPSNF.exe</tt><br>
<B>Note:</B> On some versions of FreeBSD system you may need to
specify the full path to the program,
i.e. <tt>/var/CommuniGate/CGPSNF/CGPSNF</tt>

<p>The recommended Scanning Rule is as follows:</p>

<center class="WebAdmin"><form action="Null.html">
<table class="settingsBox" cellpadding="3" width="90%">
        <tr align="left">
	   <th>Data</th>
	   <th>Operation</th>
	   <th>Parameter</th>
	</tr>
<tr>
 <td>
  <select name="c2"><option VALUE="0" selected>---<option VALUE="12">Message Size</select>
 </td><td>
  <select name="o2"><option VALUE="0" selected>is<option VALUE="4">greater than</select>
 </td><td>
  <INPUT TYPE="text" name="p2" VALUE="" SIZE="20" MAXLENGTH="1024">
 </td>
</tr>

<tr align="left">
	   <th>Action</th>
	   <th colspan="2">Parameter</th>
	</tr>
<tr valign=TOP>
 <td><select name="a0"><option VALUE="0">---<option VALUE="6">Stop Processing<option VALUE="17" selected>ExternalFilter</select>
 </td><td><textarea name="r0" rows="4" cols="40">ARM Sniffer</textarea>
 </td>
</tr>
<tr valign=top>
 <td><select name="a1"><option value="0" selected>---<option value="7">Stop Processing</select></td>
 <td colspan="2"><textarea name="r1" rows="4" cols="40"></textarea></td>
</tr>

</table></form></center>

<hr/>

</body>
</html>