<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font size="4">In the light of some nastiness that seems
      increasingly to happen during major contests, and after several
      requests, I have revamped the "BadWords" system to be all "regex"
      based (a.k.a badw_regex) and done away with both the badword and
      badw_regex files. These have been replaced with a file called
      badword.new which now contains a simple list of  "words", some of
      which are instantly recognisable and others which look misspelled
      - as they don't seem to have enough consonants. They are what I
      call word "stems". <br>
      <br>
      This file is interesting, but is not (normally) sysop maintained.
      It is maintained and generated by the set/badword and
      unset/badword commands which will take words that you think are
      bad; which add or remove them from the system. You can list the
      current ones with show/badwords. There is a default list of words
      that is installed by the update automatically. <br>
      <br>
      Internally these word "stems" are converted in perl regexes which
      will match this sort of thing:<br>
      <br>
      So the stem "SOD" regex looks like: <br>
      <br>
      SOD = \bS+[\s\W]*[O0]+[\s\W]*D<br>
      <br>
      This will match: sod SOD s0D sods Sodding s0dd1nnnng etc<br>
      <br>
      Another example might be:<br>
      <br>
      TERORIST =
      \bT+[\s\W]*E+[\s\W]*R+[\s\W]*[O0]+[\s\W]*R+[\s\W]*[I1]+[\s\W]*S+[\s\W]*T<br>
      <br>
      This will obviously match the very bad spelled 'terorist', but
      also: TERRORIST terr0r1st 'TeeeErro0r 11ii1sts' etc.<br>
      <br>
      ***<br>
      <br>
      It would be good to get as many sysops to update ASAP (i.e. before
      the weekend) as this will cut down on the distribution of some
      quite offensive (mainly Spanish at the moment) entirely made up
      spots. <br>
      <br>
      ***<br>
      <br>
      There is (English) help available for the {set,unset,show}/badword
      commands. There are also some remarks worth reading in the Changes
      file. The command 'load/badword' still does what always did, but
      you should not need to use it any more. These commands are all
      sysop only and cannot be accessed remotely.<br>
      <br>
      If a user "swears" then a message will appear in the debug file
      which can be tracked with 'watchdbg swore'. By default, if a user
      uses three swear words they are automatically disconnected. This
      count persists during the whole session, so a user can use them up
      by using three (different) bad words in one announce command or
      use the same (or different) one over three commands minutes or
      hours apart over a session. This limit can be changed with a
      'set/var $DXCommandmode::maxbadcount = <number>' command at
      runtime or in the startup file. This limit only affects locally
      connected users. Incoming PC protocol that trigger a badword are
      just dropped. <br>
      <br>
      As far as a locally connected user is concerned, it appears as
      though the offending commands have worked, in that they appear on
      their screen. Well, at least until they use too many and are
      logged out.<br>
      <br>
      If you are a sneaky sort of sysop you can set maxbadcount to 0,
      which will not log the user out, thus giving the impression that
      all is fine - but nothing is sent out to other locally connected
      users or nodes.<br>
      <br>
      Enjoy.<br>
      <br>
      73 Dirk G1TLH<br>
      <br>
      PS This is the first on my list of fixes / enhancements, so there
      will be further updates for other known issues over the next few
      weeks.  <br>
      <br>
      <br>
    </font>
  </body>
</html>