Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/auth/db-passwd-file.h @ 9658:8ba4253adc9b HEAD tip
*-login: SSL connections didn't get closed when the client got destroyed.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 08 May 2014 16:41:29 +0300 |
parents | e4eb71ae8e96 |
children |
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 |