From 1a2ded450ecfbb8ccb7f459d7265fc5333d13420 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Wed, 26 May 1999 14:24:57 +0000 Subject: Skeleton for password handling, currently I only build structures and do nothing more advanced for them --- nest/config.Y | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'nest/config.Y') diff --git a/nest/config.Y b/nest/config.Y index 667f435..c13a6ae 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -11,6 +11,7 @@ CF_HDR static struct proto_config *this_proto; #include "nest/rt-dev.h" +#include "nest/password.h" void rt_dev_add_iface(char *); @@ -18,10 +19,12 @@ CF_DECLS CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF, DIRECT) CF_KEYWORDS(INTERFACE, IMPORT, EXPORT, FILTER, NONE, TABLE) +CF_KEYWORDS(PASSWORD, FROM, TO, ID) %type idval %type imexport %type rtable +%type

password_list password_begin CF_GRAMMAR @@ -129,6 +132,32 @@ dev_iface_list: | dev_iface_list ',' TEXT { rt_dev_add_iface($3); } ; +password_begin: + PASSWORD TEXT { + last_password_item = cfg_alloc(sizeof (struct password_item)); + last_password_item->password = $2; + last_password_item->from = 0; + last_password_item->to = ~0; + last_password_item->id = 0; + last_password_item->next = NULL; + $$=last_password_item; + } + ; + +password_items: + /* empty */ { } + | FROM datetime ';' password_items { last_password_item->from = $2; } + | TO datetime ';' password_items { last_password_item->to = $2; } + | ID NUM ';' password_items { last_password_item->id = $2; } + ; + +password_list: + /* empty */ { $$ = NULL; } + | '{' password_begin ';' password_items '}' password_list { + last_password_item->next = $6; + } + ; + CF_CODE void -- cgit v1.2.3