]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - nest/password.h
Doc: Remove some superfluous slashes
[thirdparty/bird.git] / nest / password.h
index 481eeb61b807ebf49cbb0bee44f142af85582001..f21483c4dd2c0e77a7bf5f3e2632654db48d7141 100644 (file)
@@ -1,27 +1,39 @@
 /*
  *     BIRD -- Password handling
  *
- *     Copyright 1999 Pavel Machek <pavel@ucw.cz>
+ *     (c) 1999 Pavel Machek <pavel@ucw.cz>
+ *     (c) 2004 Ondrej Filip <feela@network.cz>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
 
 #ifndef PASSWORD_H
 #define PASSWORD_H
+
 #include "lib/timer.h"
 
 struct password_item {
-  struct password_item *next;
-  char *password;
-  int id;
-  bird_clock_t from, passive, to;
+  node n;
+  char *password;                      /* Key data, null terminated */
+  uint length;                         /* Key length, without null */
+  uint id;                             /* Key ID */
+  uint alg;                            /* MAC algorithm */
+  bird_clock_t accfrom, accto, genfrom, gento;
 };
 
 extern struct password_item *last_password_item;
 
-struct password_item *get_best_password(struct password_item *head, int flags);
-extern int password_same(struct password_item *, struct password_item *);
-extern void password_strncpy(char *to, char *from, int len);
+struct password_item *password_find(list *l, int first_fit);
+struct password_item *password_find_by_id(list *l, uint id);
+struct password_item *password_find_by_value(list *l, char *pass, uint size);
+
+static inline int password_verify(struct password_item *p1, char *p2, uint size)
+{
+  char buf[size];
+  strncpy(buf, p1->password, size);
+  return !memcmp(buf, p2, size);
+}
 
+uint max_mac_length(list *l);
 
 #endif