annotate src/auth/db-passwd-file.h @ 9415:2a48aa6e2bce HEAD

Added signature for changeset 609fe4268f40
author Timo Sirainen <tss@iki.fi>
date Mon, 05 Oct 2009 19:52:13 -0400
parents e4eb71ae8e96
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6410
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 6394
diff changeset
1 #ifndef DB_PASSWD_FILE_H
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 6394
diff changeset
2 #define DB_PASSWD_FILE_H
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
6394
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
4 #define PASSWD_FILE_DEFAULT_USERNAME_FORMAT "%u"
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
5 #define PASSWD_FILE_DEFAULT_SCHEME "CRYPT"
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
6
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 struct passwd_user {
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 uid_t uid;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 gid_t gid;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 char *home;
4034
b533c52196e3 Updated passwd-file format to allow specifying any key=value fields. Since the value fields may contain ':' characters, this changes the file format a bit. Previously the last two fields were "flags" and "mail". Flags has been empty for last 3 years however, so the new format is used if the flags field contains something. In that case there is no separate mail field, it can instead be specified by adding userdb_mail=<mail> parameter.
Timo Sirainen <timo.sirainen@movial.fi>
parents: 3891
diff changeset
12 char *password;
b533c52196e3 Updated passwd-file format to allow specifying any key=value fields. Since the value fields may contain ':' characters, this changes the file format a bit. Previously the last two fields were "flags" and "mail". Flags has been empty for last 3 years however, so the new format is used if the flags field contains something. In that case there is no separate mail field, it can instead be specified by adding userdb_mail=<mail> parameter.
Timo Sirainen <timo.sirainen@movial.fi>
parents: 3891
diff changeset
13 char **extra_fields;
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14 };
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 struct passwd_file {
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
17 struct db_passwd_file *db;
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 pool_t pool;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 char *path;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 time_t stamp;
4035
335ac59efffd If passwd-file is being used as userdb, complain immediately if some entries
Timo Sirainen <tss@iki.fi>
parents: 4034
diff changeset
22 off_t size;
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23 int fd;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25 struct hash_table *users;
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 };
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
27
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
28 struct db_passwd_file {
3657
0c10475d9968 Separated passdb_module's interface and the actual data struct. Now it's
Timo Sirainen <tss@iki.fi>
parents: 3504
diff changeset
29 struct db_passwd_file *next;
0c10475d9968 Separated passdb_module's interface and the actual data struct. Now it's
Timo Sirainen <tss@iki.fi>
parents: 3504
diff changeset
30
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
31 int refcount;
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
32
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
33 char *path;
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
34 struct hash_table *files;
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
35 struct passwd_file *default_file;
6394
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
36 const char *username_format;
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
37
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
38 unsigned int vars:1;
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
39 unsigned int userdb:1;
3891
2d0859490a2f If debug is enabled, tell how many users are found from passwd-file whenever
Timo Sirainen <tss@iki.fi>
parents: 3879
diff changeset
40 unsigned int debug:1;
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
41 };
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
42
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43 struct passwd_user *
3504
ee0e39cf4ca5 Added support for variables in passwd-file path.
Timo Sirainen <tss@iki.fi>
parents: 2099
diff changeset
44 db_passwd_file_lookup(struct db_passwd_file *db, struct auth_request *request);
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45
3891
2d0859490a2f If debug is enabled, tell how many users are found from passwd-file whenever
Timo Sirainen <tss@iki.fi>
parents: 3879
diff changeset
46 struct db_passwd_file *
6394
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
47 db_passwd_file_init(const char *path, const char *username_format,
9e74c008484a Added username_format parameter for passwd-file passdb and userdb.
Timo Sirainen <tss@iki.fi>
parents: 4103
diff changeset
48 bool userdb, bool debug);
4035
335ac59efffd If passwd-file is being used as userdb, complain immediately if some entries
Timo Sirainen <tss@iki.fi>
parents: 4034
diff changeset
49 void db_passwd_file_parse(struct db_passwd_file *db);
3879
928229f8b3e6 deinit, unref, destroy, close, free, etc. functions now take a pointer to
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
50 void db_passwd_file_unref(struct db_passwd_file **db);
1062
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51
0522a0315d2f Cleanups, LDAP support compiles again and generally looks ok, even if it
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 #endif