From 5236fb03afecd3d7a6ec6e96712c79a31be32132 Mon Sep 17 00:00:00 2001 From: Ondrej Filip Date: Sat, 26 Jun 2004 20:11:14 +0000 Subject: Password management redesigned (untested). --- nest/password.c | 63 +++++++++++---------------------------------------------- 1 file changed, 12 insertions(+), 51 deletions(-) (limited to 'nest/password.c') diff --git a/nest/password.c b/nest/password.c index 594569c..6309602 100644 --- a/nest/password.c +++ b/nest/password.c @@ -1,7 +1,8 @@ /* * BIRD -- Password handling * - * Copyright 1999 Pavel Machek + * (c) 1999 Pavel Machek + * (c) 2004 Ondrej Filip * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -12,62 +13,22 @@ struct password_item *last_password_item = NULL; -static int -password_goodness(struct password_item *i) -{ - if (i->from > now) - return 0; - if (i->to < now) - return 0; - if (i->passive < now) - return 1; - return 2; -} - struct password_item * -get_best_password(struct password_item *head, int flags UNUSED) +password_find(list *l) { - int good = -1; - struct password_item *best = NULL; + struct password_item *pi; - while (head) { - int cur = password_goodness(head); - if (cur > good) { - good = cur; - best = head; - } - head=head->next; + WALK_LIST(pi, *l) + { + if ((pi->genfrom > now) && (pi->gento < now)) + return pi; } - return best; + return NULL; } -void -password_strncpy(char *to, char *from, int len) +void password_cpy(char *dst, char *src, int size) { - int i; - for (i=0; ifrom != new->from || - old->to != new->to || - old->passive != new->passive || - old->id != new->id || - strcmp(old->password, new->password)) - return 0; - old = old->next; - new = new->next; - } -} -- cgit v1.2.3