<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>