]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - nest/password.h
Doc: Remove some superfluous slashes
[thirdparty/bird.git] / nest / password.h
index 726af733b4b3cd31e69ebc5763aa52e845f077c2..f21483c4dd2c0e77a7bf5f3e2632654db48d7141 100644 (file)
@@ -9,20 +9,31 @@
 
 #ifndef PASSWORD_H
 #define PASSWORD_H
-#include "lib/timer.h"
 
-#define MD5_AUTH_SIZE 16
+#include "lib/timer.h"
 
 struct password_item {
   node n;
-  char *password;
-  int id;
+  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 *password_find(list *l, int first_fit);
-void password_cpy(char *dst, char *src, int size);
+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