Also provide the clear/dupefile command to do it at runtime.
+17Jul07=======================================================================
+1. remove dupefile on startup and on ending the node. Add clear/dupefile
+command to allow people to do it at runtime as well.
12Jul07=======================================================================
1. Change disconnection code so that nodes that are no longer routable are
(all) cleared out.
A sysop can clear an input or normal output filter for a user or the
node_default or user_default.
+=== 6^CLEAR/DUPEFILE^Clear out the dupefile completely
+The system maintains a list of duplicate announces and spots (amongst many
+other things). Sometimes this file gets corrupted during operation
+(although not very often). This command will remove the file and start
+again from scratch.
+
+Try this if you get several duplicate DX Spots, one after another.
+
+Please ONLY use this command if you have a problem. And then only once.
+If it does not cure your problem, then repeating the command won't help.
+Get onto the dxspider-support list and let us try to help.
+
+If you use this command frequently then you will cause other people, as
+well as yourself, a lot of problems with duplicates.
+
=== 0^CLEAR/ROUTE [1|all]^Clear a route filter line
This command allows you to clear (remove) a line in a route filter or to
remove the whole filter.
--- /dev/null
+#
+# clear out and replace dupefile with an empty one
+#
+# Copyright (c) 2007 Dirk Koopman, G1TLH
+#
+#
+
+my ($self, $line) = @_;
+
+# are we permitted (we could allow fairly privileged people to do this)?
+return (1, $self->msg('e5')) if $self->priv < 6;
+
+DXDupe::finish();
+DXDupe::init();
+
+return (1, $self->msg('done'));
+
+
+
sub init
{
+ unlink $fn;
$dbm = tie (%d, 'DB_File', $fn);
- unless ($dbm) {
- eval { untie %d };
- dbg("Dupefile $fn corrupted, removing...");
- unlink $fn;
- $dbm = tie (%d, 'DB_File', $fn) or confess "can't open dupe file: $fn ($!)";
- confess "cannot open $fn $!" unless $dbm;
- }
+ confess "cannot open $fn $!" unless $dbm;
}
sub finish
undef $dbm;
untie %d;
undef %d;
+ unlink $fn;
}
sub check
$version = '1.54';
$subversion = '0';
-$build = '118';
+$build = '119';
1;