feature request: use external perl module via config

Jeff Weisberg jaw+arguslist at tcp4me.com
Fri Jul 29 16:23:37 EDT 2005


| It'd be nice to be able to something like:
|
| Service Module {
|	  use Mail::VRFY;
|	  Mail::VRFY::CheckAddress('email at example.com');
|	  eqvalue: 0
| }
|
| argus could internally
|
| alarm unless(Mail::VRFY::CheckAddress('email at example.com') eq 0);
|
| i'd suggest that argusd load the module in it's own memory; not fork of
| a process each time.


if you look in your data directory, you probably have
a directory called 'perl'. in there, create a file (or
several files):


    emacs $datadir/perl/My_Module.pm


then in your config file:

    load_modules: My_Module.pm
or
    load_modules: Mine_1.pm  Mine_2.pm  Mine_3.pm



this will be loaded into argus, and you can define any code you'd
like, such as new services, notification methods, you can even replace
anything in argus with something better.

you will need an understanding of the internals of argus in order to
do anything useful. to create new built-in services, start by reading
Example.pm and Self.pm ((which are the shortest) and then everything
else). And if you are going to do any sort of network i/o, you'll need
to understand argus's i/o layer to prevent your code from blocking
other services.




More information about the Arguslist mailing list