<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16608" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2>Hi Paul:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2>I remember we did this before, the plugins and core are 
seperate in different repository directories.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2>The resaon we move the bad behavior to the core is becasue 
we want it as part of core ... and deliver it with lifetype official 
release.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=624324608-29022008><FONT face=&#26032;&#32048;&#26126;&#39636; 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=&#26032;&#32048;&#26126;&#39636; color=#0000ff size=2><SPAN 
class=624324608-29022008>If there are an urgent patch or upgrade of bad 
behavior, I think we can release a lifetype hotfix for it.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=&#26032;&#32048;&#26126;&#39636; color=#0000ff size=2><SPAN 
class=624324608-29022008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=&#26032;&#32048;&#26126;&#39636; color=#0000ff size=2><SPAN 
class=624324608-29022008>How do you think?</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=&#26032;&#32048;&#26126;&#39636; color=#0000ff size=2><SPAN 
class=624324608-29022008></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=&#26032;&#32048;&#26126;&#39636; color=#0000ff size=2><SPAN 
class=624324608-29022008>Mark</SPAN></FONT></DIV>
<DIV><BR></DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=zh-tw dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> plog-svn-bounces@devel.lifetype.net 
  [mailto:plog-svn-bounces@devel.lifetype.net] <B>On Behalf Of </B>Paul 
  Westbrook<BR><B>Sent:</B> Friday, February 29, 2008 4:05 PM<BR><B>To:</B> 
  LifeType Developer List<BR><B>Subject:</B> Re: [pLog-svn] r6192 
  -inplog/branches/lifetype-1.2/plugins/badbehavior: . 
  bad-behavior<BR></FONT><BR></DIV>
  <DIV></DIV>Hello,<BR>&nbsp;&nbsp; Sure.&nbsp; But I am wondering about 
  something slightly different.&nbsp; I am thinking about when more people have 
  moved to 2.0.&nbsp; I assume that there will be a period that 1.2 will still 
  be a supported release, but most developers will be working on 
  2.0.<BR><BR>&nbsp;&nbsp; If there is a new version of bad behavior, currently 
  we need to do a new release of LifeType, as the bad behavior plugin is not 
  available separately.<BR><BR>&nbsp; I assume that at some point we will move 
  the bad behavior plugin to the plugin branch, to make it easier to release new 
  versions of this plugin.<BR><BR>--Paul<BR><BR>
  <DIV><SPAN class=gmail_quote>On 2/28/08, <B class=gmail_sendername>Mark Wu</B> 
  &lt;<A href="mailto:markplace@gmail.com">markplace@gmail.com</A>&gt; 
  wrote:</SPAN>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV>
    <DIV dir=ltr align=left><SPAN><FONT face="&#27;$B?7:YL@qs&#27;(B" 
    color=#0000ff size=2>Hi Paul:</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face="&#27;$B?7:YL@qs&#27;(B" 
    color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face="&#27;$B?7:YL@qs&#27;(B" 
    color=#0000ff size=2>I&nbsp; think it is okay. Bcasue I always merge the 1.2 
    branch to trunk in a certain period . These changes will apply to 2.0-dev 
    very soon.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN></SPAN><SPAN><FONT 
    face="&#27;$B?7:YL@qs&#27;(B" color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face="&#27;$B?7:YL@qs&#27;(B" 
    color=#0000ff size=2>Regards, Mark</FONT></SPAN></DIV><BR>
    <BLOCKQUOTE 
    style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(0,0,255) 2px solid; MARGIN-RIGHT: 0px">
      <DIV lang=zh-tw dir=ltr align=left>
      <HR>
      <FONT face=Tahoma size=2><B>From:</B> <A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:plog-svn-bounces@devel.lifetype.net" 
      target=_blank>plog-svn-bounces@devel.lifetype.net</A> [mailto:<A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:plog-svn-bounces@devel.lifetype.net" 
      target=_blank>plog-svn-bounces@devel.lifetype.net</A>] <B>On Behalf Of 
      </B>Paul Westbrook<BR><B>Sent:</B> Friday, February 29, 2008 2:57 
      PM<BR><B>To:</B> LifeType Developer List<BR><B>Subject:</B> Re: [pLog-svn] 
      r6192 - inplog/branches/lifetype-1.2/plugins/badbehavior: . 
      bad-behavior<BR></FONT><BR></DIV>
      <DIV><SPAN class=e id=q_11864000bab543cd_1>
      <DIV></DIV>Hello,<BR>&nbsp;&nbsp; As development for LifeType 2.0 takes 
      highe priority, will this plugin, or the LifeType 1.2 version of it, move 
      back to the main plugin subversion branch?&nbsp; This would allow quick 
      patches to the plugin to be done, with out having to spin a whole LifeType 
      release.<BR><BR>--Paul<BR><BR>
      <DIV><SPAN class=gmail_quote>On 2/28/08, <B class=gmail_sendername><A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:pwestbro@devel.lifetype.net" 
      target=_blank>pwestbro@devel.lifetype.net</A></B> &lt;<A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:pwestbro@devel.lifetype.net" 
      target=_blank>pwestbro@devel.lifetype.net</A>&gt; wrote:</SPAN> 
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Author: 
        pwestbro<BR>Date: 2008-02-29 01:49:43 -0500 (Fri, 29 Feb 2008)<BR>New 
        Revision: 6192<BR><BR>Modified:<BR>&nbsp;&nbsp; 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php<BR>&nbsp;&nbsp; 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/msie.inc.php<BR>&nbsp;&nbsp; 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php<BR>&nbsp;&nbsp; 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php<BR>&nbsp;&nbsp; 
        plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php<BR>Log:<BR>Checked 
        in version 2.0.13 of bad behavior<BR><BR><BR>Modified: 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php<BR>===================================================================<BR>--- 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        2008-02-28 10:54:49 UTC (rev 6191)<BR>+++ 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        2008-02-29 06:49:43 UTC (rev 6192)<BR>@@ -1,113 +1,113 @@<BR>-&lt;?php 
        if (!defined('BB2_CORE')) die('I said no cheating!');<BR>-<BR>-function 
        bb2_blacklist($package) {<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // Blacklisted user agents<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
        These user agent strings occur at the beginning of the 
        line.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_spambots_0 = 
        array(<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "&lt;sc",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        XSS exploit 
        attempts<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "8484 Boston Project",&nbsp;&nbsp;// video poker/porn 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "adwords",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        referrer 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "autoemailspider",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "blogsearchbot-martin", // from 
        honeypot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Digger",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "ecollector",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "EmailCollector",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Email Extractor",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Email Siphon",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "EmailSiphon",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "grub crawler",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "HttpProxy",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Internet Explorer",&nbsp;&nbsp;&nbsp;&nbsp;// XMLRPC exploits 
        seen<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Jakarta Commons",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// custommised 
        spambots<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Java 
        1.",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        definitely a 
        spammer<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Java/1.",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        definitely a 
        spammer<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "libwww-perl",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spambot 
        scripts<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "LWP",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spambot 
        scripts<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Microsoft URL",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Missigua",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "MJ12bot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        crawls MUCH too 
        fast<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Movable Type",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
        customised 
        spambots<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious 
        software<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla/4.0(",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // from 
        honeypot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla/4.0+(",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        suspicious 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "MSIE",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious 
        software<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "NutchCVS",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // unidentified 
        robots<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Nutscrape/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // misc comment 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "OmniExplorer",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "psycheclone",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "PussyCat 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "PycURL",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // misc comment 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Shockwave Flash",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "TrackBack/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // trackback 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "user",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // suspicious 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "User Agent: ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "User-Agent: ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Wordpress",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        malicious 
        software<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\"",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious software<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // These user agent 
        strings occur anywhere within the 
        line.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_spambots = 
        array(<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\r",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // A really dumb 
        bot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "; Widows 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "a 
        href=",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        referrer 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Bad Behavior Test",&nbsp;&nbsp;&nbsp;&nbsp;// Add this to your 
        user-agent to test 
        BB<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "compatible ; MSIE",&nbsp;&nbsp;&nbsp;&nbsp;// misc comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "compatible-",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "DTS 
        Agent",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Gecko/25",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // revisit this in 500 
        years<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "grub-client",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        search engine ignores 
        robots.txt<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "hanzoweb",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // very badly behaved 
        crawler<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Indy Library",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        comment/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "larbin@unspecified",&nbsp;&nbsp; // stealth 
        harvesters<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Murzillo compatible",&nbsp;&nbsp;// comment spam 
        bot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        ".NET CLR 
        1)",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// free 
        poker, 
        etc.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "POE-Component-Client", // free poker, 
        etc.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Turing Machine",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://www.anonymizer.com" target=_blank>www.anonymizer.com</A> 
        abuse<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WebaltBot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WISEbot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WISEnutbot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 4.0;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 5.0;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 5.1;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows XP 5",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\\\\)",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam harvester<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // These are regular 
        expression matches.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $bb2_spambots_regex = 
        array(<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/^[A-Z]{10}$/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// misc 
        email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/^Mozilla...[05]$/i",&nbsp;&nbsp;// fake user agent/email 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/[bcdfghjklmnpqrstvwxz 
        ]{8,}/",<BR>-//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/(;\){1,2}$/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        spammers/harvesters<BR>-//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/MSIE.*Windows XP/",&nbsp;&nbsp; // misc comment 
        spam<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Do not edit below 
        this line.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ua = 
        $package['headers_mixed']['User-Agent'];<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_spambots_0 as $spambot) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $pos = stripos($ua, 
        $spambot);<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if ($pos !== FALSE &amp;&amp; $pos == 0) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($bb2_spambots 
        as $spambot) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (stripos($ua, $spambot) !== FALSE) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach 
        ($bb2_spambots_regex as $spambot) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (preg_match($spambot, $ua)) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        FALSE;<BR>-}<BR>-<BR>-?&gt;<BR>+&lt;?php if (!defined('BB2_CORE')) 
        die('I said no cheating!');<BR>+<BR>+function bb2_blacklist($package) 
        {<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Blacklisted user 
        agents<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // These user agent 
        strings occur at the beginning of the 
        line.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_spambots_0 = 
        array(<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "&lt;sc",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        XSS exploit 
        attempts<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "8484 Boston Project",&nbsp;&nbsp;// video poker/porn 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "adwords",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        referrer 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "autoemailspider",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "blogsearchbot-martin", // from 
        honeypot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Digger",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "ecollector",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "EmailCollector",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Email Extractor",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Email Siphon",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "EmailSiphon",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "grub crawler",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "HttpProxy",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Internet Explorer",&nbsp;&nbsp;&nbsp;&nbsp;// XMLRPC exploits 
        seen<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Jakarta Commons",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// custommised 
        spambots<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Java 
        1.",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        definitely a 
        spammer<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Java/1.",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        definitely a 
        spammer<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "libwww-perl",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spambot 
        scripts<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "LWP",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spambot 
        scripts<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Microsoft URL",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Missigua",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "MJ12bot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        crawls MUCH too 
        fast<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Movable Type",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
        customised 
        spambots<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious 
        software<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla/4.0(",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // from 
        honeypot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Mozilla/4.0+(",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        suspicious 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "MSIE",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious 
        software<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "NutchCVS",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // unidentified 
        robots<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Nutscrape/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // misc comment 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "OmniExplorer",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "psycheclone",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "PussyCat 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "PycURL",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // misc comment 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Shockwave Flash",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "TrackBack/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // trackback 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "user",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // suspicious 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "User Agent: ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "User-Agent: ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Wordpress",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        malicious 
        software<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\"",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // malicious software<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // These user agent 
        strings occur anywhere within the 
        line.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_spambots = 
        array(<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\r",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // A really dumb 
        bot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "; Widows 
        ",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "a 
        href=",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        referrer 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Bad Behavior Test",&nbsp;&nbsp;&nbsp;&nbsp;// Add this to your 
        user-agent to test 
        BB<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "compatible ; MSIE",&nbsp;&nbsp;&nbsp;&nbsp;// misc comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "compatible-",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "DTS 
        Agent",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        misc comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Gecko/25",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // revisit this in 500 
        years<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "grub-client",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        search engine ignores 
        robots.txt<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "hanzoweb",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // very badly behaved 
        crawler<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Indy Library",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        comment/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "larbin@unspecified",&nbsp;&nbsp; // stealth 
        harvesters<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Murzillo compatible",&nbsp;&nbsp;// comment spam 
        bot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        ".NET CLR 
        1)",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// free 
        poker, 
        etc.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "POE-Component-Client", // free poker, 
        etc.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Turing Machine",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://www.anonymizer.com" target=_blank>www.anonymizer.com</A> 
        abuse<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WebaltBot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WISEbot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "WISEnutbot",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 4.0;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 5.0;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows NT 5.1;)",&nbsp;&nbsp;&nbsp;&nbsp; // wikispam 
        bot<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "Windows XP 5",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // spam 
        harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "\\\\)",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
        spam harvester<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // These are regular 
        expression matches.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $bb2_spambots_regex = 
        array(<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/^[A-Z]{10}$/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// misc 
        email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/^Mozilla...[05]$/i",&nbsp;&nbsp;// fake user agent/email 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/[bcdfghjklmnpqrstvwxz 
        ]{8,}/",<BR>+//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/(;\){1,2}$/",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // misc 
        spammers/harvesters<BR>+//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "/MSIE.*Windows XP/",&nbsp;&nbsp; // misc comment 
        spam<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Do not edit below 
        this line.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ua = 
        $package['headers_mixed']['User-Agent'];<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_spambots_0 as $spambot) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $pos = strpos($ua, 
        $spambot);<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if ($pos !== FALSE &amp;&amp; $pos == 0) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($bb2_spambots 
        as $spambot) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (strpos($ua, $spambot) !== FALSE) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach 
        ($bb2_spambots_regex as $spambot) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (preg_match($spambot, $ua)) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return 
        "17f4e8c8";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        FALSE;<BR>+}<BR>+<BR>+?&gt;<BR><BR>Modified: 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/msie.inc.php<BR>===================================================================<BR>--- 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/msie.inc.php&nbsp;&nbsp;&nbsp;&nbsp;2008-02-28 
        10:54:49 UTC (rev 6191)<BR>+++ 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/msie.inc.php&nbsp;&nbsp;&nbsp;&nbsp;2008-02-29 
        06:49:43 UTC (rev 6192)<BR>@@ -1,24 +1,25 @@<BR>-&lt;?php if 
        (!defined('BB2_CORE')) die('I said no cheating!');<BR>-<BR>-// Analyze 
        user agents claiming to be MSIE<BR>-<BR>-function 
        bb2_msie($package)<BR>-{<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!array_key_exists('Accept', $package['headers_mixed'])) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "17566707";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // MSIE does NOT send 
        "Windows ME" or "Windows XP" in the user 
        agent<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (strpos($package['headers_mixed']['User-Agent'], "Windows ME") !== FALSE 
        || strpos($package['headers_mixed']['User-Agent'], "Windows XP") !== 
        FALSE || strpos($package['headers_mixed']['User-Agent'], "Windows 2000") 
        !== FALSE || strpos($package['headers_mixed']['User-Agent'], "Win32") 
        !== FALSE) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "a1084bad";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // MSIE does NOT send 
        Connection: TE<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (preg_match('/\bTE\b/i', $package['headers_mixed']['Connection'])) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "2b90f772";<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        false;<BR>-}<BR>-<BR>-?&gt;<BR>+&lt;?php if (!defined('BB2_CORE')) 
        die('I said no cheating!');<BR>+<BR>+// Analyze user agents claiming to 
        be MSIE<BR>+<BR>+function 
        bb2_msie($package)<BR>+{<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!array_key_exists('Accept', $package['headers_mixed'])) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "17566707";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // MSIE does NOT send 
        "Windows ME" or "Windows XP" in the user 
        agent<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (strpos($package['headers_mixed']['User-Agent'], "Windows ME") !== FALSE 
        || strpos($package['headers_mixed']['User-Agent'], "Windows XP") !== 
        FALSE || strpos($package['headers_mixed']['User-Agent'], "Windows 2000") 
        !== FALSE || strpos($package['headers_mixed']['User-Agent'], "Win32") 
        !== FALSE) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "a1084bad";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // MSIE does NOT send 
        Connection: TE but Akamai does<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // Bypass this test when Akamai 
        detected<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!array_key_exists('Akamai-Origin-Hop', $package['headers_mixed']) 
        &amp;&amp; preg_match('/\bTE\b/i', 
        $package['headers_mixed']['Connection'])) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        return "2b90f772";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        false;<BR>+}<BR>+<BR>+?&gt;<BR><BR>Modified: 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php<BR>===================================================================<BR>--- 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php 
        2008-02-28 10:54:49 UTC (rev 6191)<BR>+++ 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php 
        2008-02-29 06:49:43 UTC (rev 6192)<BR>@@ -1,3 +1,3 @@<BR>-&lt;?php if 
        (!defined('BB2_CWD')) die("I said no 
        cheating!");<BR>-define('BB2_VERSION', "2.0.11");<BR>-?&gt;<BR>+&lt;?php 
        if (!defined('BB2_CWD')) die("I said no 
        cheating!");<BR>+define('BB2_VERSION', 
        "2.0.13");<BR>+?&gt;<BR><BR>Modified: 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php<BR>===================================================================<BR>--- 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        2008-02-28 10:54:49 UTC (rev 6191)<BR>+++ 
        plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        2008-02-29 06:49:43 UTC (rev 6192)<BR>@@ -1,56 +1,58 @@<BR>-&lt;?php if 
        (!defined('BB2_CORE')) die('I said no cheating!');<BR>-<BR>-function 
        bb2_whitelist($package)<BR>-{<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Inappropriate 
        whitelisting WILL expose you to spam, or cause 
        Bad<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Behavior to stop 
        functioning entirely!&nbsp;&nbsp;DO NOT WHITELIST unless 
        you<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // are 100% CERTAIN that 
        you should.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IP address 
        ranges use the CIDR 
        format.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Includes four 
        examples of whitelisting by IP address and 
        netblock.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $bb2_whitelist_ip_ranges = 
        array(<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://10.0.0.0/8" 
        target=_blank>10.0.0.0/8</A>",<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://172.16.0.0/12" 
        target=_blank>172.16.0.0/12</A>",<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://192.168.0.0/16" 
        target=_blank>192.168.0.0/16</A>",<BR>-//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://127.0.0.1" 
        target=_blank>127.0.0.1</A>",<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // DANGER! DANGER! 
        DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Inappropriate 
        whitelisting WILL expose you to spam, or cause 
        Bad<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Behavior to stop 
        functioning entirely!&nbsp;&nbsp;DO NOT WHITELIST unless 
        you<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // are 100% CERTAIN that 
        you should.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // You should 
        not whitelist search engines by user agent. Use the 
        IP<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // netblock for the search 
        engine instead. See <A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://whois.arin.net/" 
        target=_blank>http://whois.arin.net/</A><BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // to locate the netblocks for an 
        IP.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // User agents are 
        matched by exact match 
        only.<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Includes one 
        example of whitelisting by user 
        agent.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // All are commented 
        out.<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_whitelist_user_agents 
        = array(<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Mozilla/4.0 (compatible; MSIE 
        6.0; Windows NT 5.1; SV1) It's me, let me 
        in",<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // DANGER! DANGER! 
        DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Do not edit 
        below this line<BR>-<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!empty($bb2_whitelist_ip_ranges)) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_whitelist_ip_ranges as $range) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (match_cidr($package['ip'], $range)) return 
        true;<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!empty($bb2_whitelist_user_agents)) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_whitelist_user_agents as $user_agent) 
        {<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (!strcmp($package['headers_mixed']['User-Agent'], $user_agent)) 
        return 
        true;<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        false;<BR>-}<BR>-<BR>-?&gt;<BR>+&lt;?php if (!defined('BB2_CORE')) 
        die('I said no cheating!');<BR>+<BR>+function 
        bb2_whitelist($package)<BR>+{<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Inappropriate 
        whitelisting WILL expose you to spam, or cause 
        Bad<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Behavior to stop 
        functioning entirely!&nbsp;&nbsp;DO NOT WHITELIST unless 
        you<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // are 100% CERTAIN that 
        you should.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // IP address 
        ranges use the CIDR 
        format.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Includes four 
        examples of whitelisting by IP address and 
        netblock.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $bb2_whitelist_ip_ranges = 
        array(<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://64.191.203.34/32" 
        target=_blank>64.191.203.34/32</A>",&nbsp;&nbsp;&nbsp;&nbsp; // Digg 
        whitelisted as of 
        2.0.12<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://208.67.217.130/32" 
        target=_blank>208.67.217.130/32</A>",&nbsp;&nbsp;&nbsp;&nbsp;// Digg 
        whitelisted as of 
        2.0.12<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://10.0.0.0/8" 
        target=_blank>10.0.0.0/8</A>",<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://172.16.0.0/12" 
        target=_blank>172.16.0.0/12</A>",<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://192.168.0.0/16" 
        target=_blank>192.168.0.0/16</A>",<BR>+//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        "<A onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://127.0.0.1" 
        target=_blank>127.0.0.1</A>",<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // DANGER! DANGER! 
        DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Inappropriate 
        whitelisting WILL expose you to spam, or cause 
        Bad<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Behavior to stop 
        functioning entirely!&nbsp;&nbsp;DO NOT WHITELIST unless 
        you<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // are 100% CERTAIN that 
        you should.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // You should 
        not whitelist search engines by user agent. Use the 
        IP<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // netblock for the search 
        engine instead. See <A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://whois.arin.net/" 
        target=_blank>http://whois.arin.net/</A><BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        // to locate the netblocks for an 
        IP.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // User agents are 
        matched by exact match 
        only.<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Includes one 
        example of whitelisting by user 
        agent.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // All are commented 
        out.<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $bb2_whitelist_user_agents 
        = array(<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Mozilla/4.0 (compatible; MSIE 
        6.0; Windows NT 5.1; SV1) It's me, let me 
        in",<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        );<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // DANGER! DANGER! 
        DANGER! DANGER! DANGER! DANGER! DANGER! 
        DANGER!<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Do not edit 
        below this line<BR>+<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!empty($bb2_whitelist_ip_ranges)) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_whitelist_ip_ranges as $range) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (match_cidr($package['ip'], $range)) return 
        true;<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
        (!empty($bb2_whitelist_user_agents)) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        foreach ($bb2_whitelist_user_agents as $user_agent) 
        {<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        if (!strcmp($package['headers_mixed']['User-Agent'], $user_agent)) 
        return 
        true;<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        }<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
        false;<BR>+}<BR>+<BR>+?&gt;<BR><BR>Modified: 
        plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php<BR>===================================================================<BR>--- 
        plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php&nbsp;&nbsp;2008-02-28 
        10:54:49 UTC (rev 6191)<BR>+++ 
        plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php&nbsp;&nbsp;2008-02-29 
        06:49:43 UTC (rev 6192)<BR>@@ -20,7 +20,7 
        @@<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;desc 
        = "Bad Behavior for 
        LifeType";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;author 
        = "The Lifetype 
        Project";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;db 
        =&amp; 
        Db::getDb();<BR>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;version 
        = 
        "20071205";<BR>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        $this-&gt;version = 
        "20080228";<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$config 
        =&amp; 
        Config::getConfig();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$prefix 
        = 
        Db::getPrefix();<BR><BR>_______________________________________________<BR>pLog-svn 
        mailing list<BR><A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="mailto:pLog-svn@devel.lifetype.net" 
        target=_blank>pLog-svn@devel.lifetype.net</A><BR><A 
        onclick="return top.js.OpenExtLink(window,event,this)" 
        href="http://limedaley.com/mailman/listinfo/plog-svn" 
        target=_blank>http://limedaley.com/mailman/listinfo/plog-svn</A><BR></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOCKQUOTE></DIV><BR>_______________________________________________<BR>pLog-svn 
    mailing list<BR><A onclick="return top.js.OpenExtLink(window,event,this)" 
    href="mailto:pLog-svn@devel.lifetype.net">pLog-svn@devel.lifetype.net</A><BR><A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="http://limedaley.com/mailman/listinfo/plog-svn" 
    target=_blank>http://limedaley.com/mailman/listinfo/plog-svn</A><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></BODY></HTML>