47 KEYFILE_SSHA512 |
47 KEYFILE_SSHA512 |
48 }; |
48 }; |
49 |
49 |
50 struct keyfile { |
50 struct keyfile { |
51 AuthDB authdb; |
51 AuthDB authdb; |
52 UcxMap *users; |
52 CxMap *users; |
53 }; |
53 }; |
54 |
54 |
55 struct keyfile_user { |
55 struct keyfile_user { |
56 User user; |
56 User user; |
57 sstr_t *groups; |
57 cxmutstr *groups; |
58 size_t numgroups; |
58 size_t numgroups; |
59 enum KeyfileHashType hash_type; |
59 enum KeyfileHashType hash_type; |
60 char *hash; |
60 char *hash; |
61 size_t hashlen; |
61 size_t hashlen; |
62 }; |
62 }; |
63 |
63 |
64 Keyfile* keyfile_new(UcxAllocator *a); |
64 Keyfile* keyfile_new(CxAllocator *a); |
65 |
65 |
66 int keyfile_add_user( |
66 int keyfile_add_user( |
67 Keyfile *keyfile, |
67 Keyfile *keyfile, |
68 sstr_t user, |
68 cxmutstr user, |
69 enum KeyfileHashType hash_type, |
69 enum KeyfileHashType hash_type, |
70 sstr_t hash, |
70 cxmutstr hash, |
71 sstr_t *groups, |
71 cxmutstr *groups, |
72 size_t ngroups); |
72 size_t ngroups); |
73 |
73 |
74 User* keyfile_get_user(AuthDB *db, char *user); |
74 User* keyfile_get_user(AuthDB *db, const char *user); |
75 int keyfile_user_verify_password(User *user, char *password); |
75 int keyfile_user_verify_password(User *user, const char *password); |
76 int keyfile_user_check_group(User *user, char *group); |
76 int keyfile_user_check_group(User *user, const char *group); |
77 void keyfile_user_free(User *user); |
77 void keyfile_user_free(User *user); |
78 |
78 |
79 // SSHA password compare |
79 // SSHA password compare |
80 int ssha_verify(KeyfileUser *user, char *password); |
80 int ssha_verify(KeyfileUser *user, const char *password); |
81 |
81 |
82 #ifdef __cplusplus |
82 #ifdef __cplusplus |
83 } |
83 } |
84 #endif |
84 #endif |
85 |
85 |