Commit 1a2ded45 authored by Pavel Machek's avatar Pavel Machek

Skeleton for password handling, currently I only build structures and

do nothing more advanced for them
parent 9d79fec8
source=rt-table.c rt-fib.c rt-attr.c proto.c iface.c rt-dev.c
source=rt-table.c rt-fib.c rt-attr.c proto.c iface.c rt-dev.c password.c
root-rel=../
dir-name=nest
......
......@@ -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 <i> idval
%type <f> imexport
%type <r> rtable
%type <p> 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
......
/*
* BIRD -- Password handling
*
* Copyright 1999 Pavel Machek <pavel@ucw.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
#include "nest/bird.h"
#include "nest/password.h"
struct password_item *last_password_item = NULL;
/*
* BIRD -- Password handling
*
* Copyright 1999 Pavel Machek <pavel@ucw.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
struct password_item {
struct password_item *next;
char *password;
int id;
unsigned int from, to; /* We really don't care about time before 1970 */
};
extern struct password_item *last_password_item;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment