Annotation of embedaddon/bird/nest/password.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  *     BIRD -- Password handling
                      3:  *
                      4:  *     (c) 1999 Pavel Machek <pavel@ucw.cz>
                      5:  *     (c) 2004 Ondrej Filip <feela@network.cz>
                      6:  *
                      7:  *     Can be freely distributed and used under the terms of the GNU GPL.
                      8:  */
                      9: 
                     10: #ifndef PASSWORD_H
                     11: #define PASSWORD_H
                     12: 
                     13: #include "lib/timer.h"
                     14: 
                     15: struct password_item {
                     16:   node n;
                     17:   char *password;                      /* Key data, null terminated */
                     18:   uint length;                         /* Key length, without null */
                     19:   uint id;                             /* Key ID */
                     20:   uint alg;                            /* MAC algorithm */
                     21:   bird_clock_t accfrom, accto, genfrom, gento;
                     22: };
                     23: 
                     24: extern struct password_item *last_password_item;
                     25: 
                     26: struct password_item *password_find(list *l, int first_fit);
                     27: struct password_item *password_find_by_id(list *l, uint id);
                     28: struct password_item *password_find_by_value(list *l, char *pass, uint size);
                     29: 
                     30: static inline int password_verify(struct password_item *p1, char *p2, uint size)
                     31: {
                     32:   char buf[size];
                     33:   strncpy(buf, p1->password, size);
                     34:   return !memcmp(buf, p2, size);
                     35: }
                     36: 
                     37: uint max_mac_length(list *l);
                     38: 
                     39: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>