1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#!/usr/bin/env python
bld.RECURSE('gensec')
bld.RECURSE('kerberos')
bld.RECURSE('ntlm')
bld.SAMBA_SUBSYSTEM('auth_session',
source='session.c',
autoproto='session_proto.h',
public_deps='samba-credentials',
public_headers='session.h',
header_path='samba',
deps='samdb auth4_sam'
)
bld.SAMBA_LIBRARY('auth_unix_token',
source='unix_token.c',
autoproto='unix_token_proto.h',
public_deps='LIBWBCLIENT_OLD',
private_library=True,
)
bld.SAMBA_SUBSYSTEM('samba_server_gensec',
source='samba_server_gensec.c',
public_deps='samba-credentials gensec auth4'
)
bld.SAMBA_SUBSYSTEM('auth_system_session',
source='system_session.c',
autoproto='system_session_proto.h',
public_deps='samba-credentials',
deps='auth_session',
)
bld.SAMBA_SUBSYSTEM('auth4_sam',
source='sam.c',
autoproto='auth_sam.h',
public_deps='samdb samba-security ldb tevent',
deps=''
)
bld.SAMBA_BINARY('test_kerberos',
source='tests/kerberos.c',
deps='cmocka authkrb5 krb5samba com_err CREDENTIALS_KRB5',
local_include=False,
for_selftest=True
)
bld.SAMBA_BINARY('test_auth_sam',
source='tests/sam.c',
deps='cmocka samdb samba-security ldb tevent',
local_include=False,
for_selftest=True,
ldflags='''
-Wl,--wrap,dsdb_search_dn
-Wl,--wrap,samdb_msg_add_int64
'''
)
bld.SAMBA_BINARY('test_heimdal_gensec_unwrap_des',
source='tests/heimdal_unwrap_des.c',
deps='cmocka talloc gssapi-subsystem',
local_include=False,
for_selftest=True,
enabled=(bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') and
not bld.CONFIG_SET('USING_SYSTEM_GSSAPI')),
ldflags='''
-Wl,--wrap,ct_memcmp
-Wl,--wrap,der_get_length
-Wl,--wrap,krb5_auth_con_getlocalsubkey
-Wl,--wrap,krb5_crypto_destroy
-Wl,--wrap,krb5_crypto_init
-Wl,--wrap,krb5_decrypt
-Wl,--wrap,krb5_decrypt_ivec
-Wl,--wrap,krb5_free_keyblock
-Wl,--wrap,krb5_verify_checksum
-Wl,--wrap,malloc
'''
)
pytalloc_util = bld.pyembed_libname('pytalloc-util')
pyparam_util = bld.pyembed_libname('pyparam_util')
pyldb_util = bld.pyembed_libname('pyldb-util')
pycredentials = 'pycredentials'
libpython = bld.pyembed_libname('LIBPYTHON')
bld.SAMBA_PYTHON('pyauth',
source='pyauth.c',
public_deps='auth_system_session',
deps=f'samdb {pytalloc_util} {pyparam_util} {pyldb_util} {pycredentials} {libpython} auth4',
realname='samba/auth.so'
)
|