]>
Commit | Line | Data |
---|---|---|
1a2ded45 PM |
1 | /* |
2 | * BIRD -- Password handling | |
3 | * | |
5236fb03 OF |
4 | * (c) 1999 Pavel Machek <pavel@ucw.cz> |
5 | * (c) 2004 Ondrej Filip <feela@network.cz> | |
1a2ded45 PM |
6 | * |
7 | * Can be freely distributed and used under the terms of the GNU GPL. | |
8 | */ | |
9 | ||
858a7177 PM |
10 | #ifndef PASSWORD_H |
11 | #define PASSWORD_H | |
56cb3bed | 12 | |
1a2ded45 | 13 | struct password_item { |
5236fb03 | 14 | node n; |
56cb3bed PT |
15 | char *password; /* Key data, null terminated */ |
16 | uint length; /* Key length, without null */ | |
17 | uint id; /* Key ID */ | |
18 | uint alg; /* MAC algorithm */ | |
f047271c | 19 | btime accfrom, accto, genfrom, gento; |
1a2ded45 PM |
20 | }; |
21 | ||
22 | extern struct password_item *last_password_item; | |
900d5470 | 23 | |
b21f68b4 | 24 | struct password_item *password_find(list *l, int first_fit); |
de2a27e2 | 25 | struct password_item *password_find_by_id(list *l, uint id); |
8465dccb | 26 | struct password_item *password_find_by_value(list *l, char *pass, uint size); |
f8fefde3 OZ |
27 | |
28 | static inline int password_verify(struct password_item *p1, char *p2, uint size) | |
29 | { | |
30 | char buf[size]; | |
31 | strncpy(buf, p1->password, size); | |
32 | return !memcmp(buf, p2, size); | |
33 | } | |
900d5470 | 34 | |
390601f0 OZ |
35 | uint max_mac_length(list *l); |
36 | ||
858a7177 | 37 | #endif |