OpenVAS Libraries  6.0+beta5
openvas_auth.h
Go to the documentation of this file.
1 /* OpenVAS Libraries
2  * $Id$
3  * Description: Header for authentication mechanism(s).
4  *
5  * Authors:
6  * Matthew Mundell <matt@mundell.ukfsn.org>
7  * Michael Wiegand <michael.wiegand@greenbone.net>
8  * Felix Wolfsteller <felix.wolfsteller@intevation.de>
9  *
10  * Copyright:
11  * Copyright (C) 2009,2010 Greenbone Networks GmbH
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
26  * USA.
27  */
28 
29 #ifndef _OPENVAS_AUTH_H
30 #define _OPENVAS_AUTH_H
31 
32 #include <glib.h>
33 
34 #include "../base/array.h"
35 
36 void openvas_auth_init ();
37 
39 
40 int openvas_auth_write_config (GKeyFile * keyfile);
41 
42 gchar *get_password_hashes (int, const gchar *);
43 
44 gchar *digest_hex (int, const guchar *);
45 
46 int openvas_authenticate (const gchar *, const gchar *);
47 
48 int openvas_authenticate_uuid (const gchar *, const gchar *, gchar ** uuid);
49 
50 int openvas_user_exists (const char *);
51 
52 gchar *openvas_user_uuid (const char *name);
53 
54 int openvas_is_user_admin (const gchar *);
55 
56 int openvas_is_user_observer (const gchar *);
57 
58 int openvas_set_user_role (const gchar *, const gchar *,
59  const gchar * user_dir_name);
60 
61 int openvas_user_modify (const gchar *, const gchar *, const gchar *,
62  const gchar *, int, const gchar *,
63  const array_t * allowed_methods);
64 
65 int openvas_auth_mkrulesdir (const gchar * user_dir_name);
66 
67 int openvas_auth_user_rules (const gchar * username, gchar ** rules);
68 
69 int openvas_auth_user_uuid_rules (const gchar * username,
70  const gchar * user_uuid, gchar ** rules);
71 
72 int openvas_auth_store_user_rules (const gchar * user_dir, const gchar * hosts,
73  int hosts_allow);
74 GSList *
75 openvas_auth_user_methods (const gchar * user_name);
76 
77 int
78 openvas_auth_user_set_allowed_methods (const gchar * username,
79  const array_t * allowed_methods);
80 
81 #endif /* not _OPENVAS_AUTH_H */