1 | /***************************************
2 | $Revision: 1.10 $
3 |
4 | Authentication utilities
5 |
6 | Status: NOT REVIEWED, TESTED
7 |
8 | Author(s): Engin Gunduz
9 |
10 | ******************/ /******************
11 | Modification History:
12 | engin (05/04/2000) Created.
13 | ******************/ /******************
14 | Copyright (c) 2000,2001,2002 RIPE NCC
15 |
16 | All Rights Reserved
17 |
18 | Permission to use, copy, modify, and distribute this software and its
19 | documentation for any purpose and without fee is hereby granted,
20 | provided that the above copyright notice appear in all copies and that
21 | both that copyright notice and this permission notice appear in
22 | supporting documentation, and that the name of the author not be
23 | used in advertising or publicity pertaining to distribution of the
24 | software without specific, written prior permission.
25 |
26 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
27 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
28 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
29 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
30 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
31 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
32 | ***************************************/
33 |
34 | #ifndef AU_UTIL_H
35 | #define AU_UTIL_H
36 |
37 | #include <stdio.h>
38 | #include <stdlib.h>
39 | #include <string.h>
40 | #include <sys/types.h>
41 | #include <unistd.h>
42 | #include <regex.h>
43 | #include <glib.h>
44 | //#include "er_UP_errors.h"
45 | //#include "erroutines.h"
46 |
47 | #define AU_MAIL_FROM 1
48 | #define AU_CRYPT_PW 2
49 | #define AU_PGP 3
50 | #define AU_NONE 4
51 | #define AU_MD5_PW 5
52 |
53 | #ifdef __cplusplus
54 | extern "C" {
55 | #endif
56 |
57 |
58 | typedef struct _credentials_struct{
59 | GSList * password_list;
60 | char * from; /* this is the whole "From:" field of the incoming message */
61 | char * from_email; /* this is only the e-mail address */
62 | /*char pgp_struct[10];*/
63 | GSList * pgp_key_list;
64 | } credentials_struct;
65 |
66 |
67 | typedef struct _auth_struct{
68 | int type;
69 | char * auth;
70 | char * mntner_name;
71 | int index;
72 | char * pgp_struct;
73 | } auth_struct;
74 |
75 | char * AU_crypt(const char *key, const char *setting);
76 | int AU_authorise(GSList * auth_vector, credentials_struct credentials);
77 |
78 | #ifdef __cplusplus
79 | }
80 | #endif
81 |
82 | #endif