2001-10-02 07:43:26 +04:00
/*
2002-01-30 09:08:46 +03:00
* Unix SMB / CIFS implementation .
2001-10-02 07:43:26 +04:00
* secrets . tdb file format info
* Copyright ( C ) Andrew Tridgell 2000
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*
* This program is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for
* more details .
*
* You should have received a copy of the GNU General Public License along with
* this program ; if not , write to the Free Software Foundation , Inc . , 675
* Mass Ave , Cambridge , MA 0213 9 , USA .
*/
2000-05-08 14:42:21 +04:00
2001-10-02 07:43:26 +04:00
# ifndef _SECRETS_H
# define _SECRETS_H
2000-05-08 14:42:21 +04:00
2001-11-24 17:16:41 +03:00
/* the first one is for the hashed password (NT4 style) the latter
2002-03-01 05:56:35 +03:00
for plaintext ( ADS )
2001-11-24 17:16:41 +03:00
*/
2000-05-08 14:42:21 +04:00
# define SECRETS_MACHINE_ACCT_PASS "SECRETS / $MACHINE.ACC"
2001-11-24 17:16:41 +03:00
# define SECRETS_MACHINE_PASSWORD "SECRETS / MACHINE_PASSWORD"
2003-04-21 18:09:03 +04:00
# define SECRETS_MACHINE_LAST_CHANGE_TIME "SECRETS / MACHINE_LAST_CHANGE_TIME"
# define SECRETS_MACHINE_SEC_CHANNEL_TYPE "SECRETS / MACHINE_SEC_CHANNEL_TYPE"
# define SECRETS_MACHINE_TRUST_ACCOUNT_NAME "SECRETS / SECRETS_MACHINE_TRUST_ACCOUNT_NAME"
2002-03-01 05:56:35 +03:00
/* this one is for storing trusted domain account password */
# define SECRETS_DOMTRUST_ACCT_PASS "SECRETS / $DOMTRUST.ACC"
2004-10-30 02:38:10 +04:00
/* Store the principal name used for Kerberos DES key salt under this key name. */
# define SECRETS_SALTING_PRINCIPAL "SECRETS / SALTING_PRINCIPAL"
2002-04-10 04:35:00 +04:00
/* The domain sid and our sid are stored here even though they aren't
really secret . */
2000-05-29 05:23:48 +04:00
# define SECRETS_DOMAIN_SID "SECRETS / SID"
# define SECRETS_SAM_SID "SAM / SID"
2000-05-08 14:42:21 +04:00
2002-08-17 21:00:51 +04:00
/* The domain GUID and server GUID (NOT the same) are also not secret */
# define SECRETS_DOMAIN_GUID "SECRETS / DOMGUID"
# define SECRETS_SERVER_GUID "SECRETS / GUID"
2002-07-15 14:35:28 +04:00
# define SECRETS_LDAP_BIND_PW "SECRETS / LDAP_BIND_PW"
2002-04-10 04:35:00 +04:00
/* Authenticated user info is stored in secrets.tdb under these keys */
# define SECRETS_AUTH_USER "SECRETS / AUTH_USER"
# define SECRETS_AUTH_DOMAIN "SECRETS / AUTH_DOMAIN"
# define SECRETS_AUTH_PASSWORD "SECRETS / AUTH_PASSWORD"
2002-03-01 05:56:35 +03:00
/* structure for storing machine account password
( ie . when samba server is member of a domain */
2000-05-08 14:42:21 +04:00
struct machine_acct_pass {
uint8 hash [ 16 ] ;
time_t mod_time ;
} ;
2002-07-15 14:35:28 +04:00
/*
* storage structure for trusted domain
*/
2003-04-22 16:13:13 +04:00
typedef struct trusted_dom_pass {
2002-07-15 14:35:28 +04:00
size_t uni_name_len ;
smb_ucs2_t uni_name [ 32 ] ; /* unicode domain name */
size_t pass_len ;
fstring pass ; /* trust relationship's password */
2002-03-01 05:56:35 +03:00
time_t mod_time ;
2002-07-15 14:35:28 +04:00
DOM_SID domain_sid ; /* remote domain's sid */
2003-04-22 16:13:13 +04:00
} TRUSTED_DOM_PASS ;
2002-03-01 05:56:35 +03:00
2002-07-15 14:35:28 +04:00
/*
* trusted domain entry / entries returned by secrets_get_trusted_domains
* ( used in _lsa_enum_trust_dom call )
*/
typedef struct trustdom {
smb_ucs2_t * name ;
DOM_SID sid ;
} TRUSTDOM ;
2003-09-07 20:36:13 +04:00
/*
* Format of an OpenAFS keyfile
*/
# define SECRETS_AFS_MAXKEYS 8
struct afs_key {
uint32 kvno ;
char key [ 8 ] ;
} ;
struct afs_keyfile {
uint32 nkeys ;
struct afs_key entry [ SECRETS_AFS_MAXKEYS ] ;
} ;
# define SECRETS_AFS_KEYFILE "SECRETS / AFS_KEYFILE"
2002-07-15 14:35:28 +04:00
2005-10-07 05:46:19 +04:00
# define SECRETS_SCHANNEL_STATE "SECRETS / SCHANNEL"
2001-10-02 07:43:26 +04:00
# endif /* _SECRETS_H */