X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/c758e6541ca05409b178dd9629e9337494c49890..8bdddfb748c3e176150241f5f2389b78b9885233:/src/rule.c diff --git a/src/rule.c b/src/rule.c index 83fe6f4..166da54 100644 --- a/src/rule.c +++ b/src/rule.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: rule.c,v 1.5 1998/01/12 16:46:25 mdw Exp $ + * $Id: rule.c,v 1.7 2003/10/12 00:14:55 mdw Exp $ * * Managing rule sets * @@ -29,6 +29,13 @@ /*----- Revision history --------------------------------------------------* * * $Log: rule.c,v $ + * Revision 1.7 2003/10/12 00:14:55 mdw + * Major overhaul. Now uses DSA signatures rather than the bogus symmetric + * encrypt-and-hope thing. Integrated with mLib and Catacomb. + * + * Revision 1.6 1998/04/23 13:27:31 mdw + * Export structure of the rule list, for `bcquery's benefit. + * * Revision 1.5 1998/01/12 16:46:25 mdw * Fix copyright date. * @@ -64,25 +71,18 @@ #include #include +/* --- mLib headers --- */ + +#include +#include +#include + /* --- Local headers --- */ #include "become.h" #include "class.h" #include "rule.h" #include "userdb.h" -#include "utils.h" - -/*----- Type definitions --------------------------------------------------*/ - -/* --- Rule block --- */ - -typedef struct rule { - struct rule *next; /* Next rule in the list */ - class_node *host; /* Hosts this rule applies to */ - class_node *from; /* From users in this class */ - class_node *to; /* To users in this class */ - class_node *cmd; /* To run commands in this class */ -} rule; /*----- Static variables --------------------------------------------------*/ @@ -131,6 +131,20 @@ void rule_end(void) } } +/* --- @rule_list@ --- * + * + * Arguments: --- + * + * Returns: The list of rules. + * + * Use: Returns the address of the first node in the rule list. + */ + +rule *rule_list(void) +{ + return (rule__list); +} + /* --- @rule_add@ --- * * * Arguments: @class_node *host@ = class of hosts this rule applies to @@ -143,7 +157,8 @@ void rule_end(void) * Use: Registers another rule. */ -void rule_add(class_node *host, class_node *from, class_node *to, class_node *cmd) +void rule_add(class_node *host, class_node *from, + class_node *to, class_node *cmd) { rule *r = xmalloc(sizeof(*r));