File: Samba3-Developers-Guide.toc

package info (click to toggle)
samba 2%3A3.2.5-4lenny15
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 124,704 kB
  • ctags: 69,181
  • sloc: ansic: 564,153; xml: 219,271; sh: 11,039; perl: 4,458; makefile: 4,301; python: 1,975; cpp: 1,224; exp: 1,147; yacc: 881; awk: 557; csh: 58; sed: 45
file content (219 lines) | stat: -rw-r--r-- 19,790 bytes parent folder | download
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
\select@language {english}
\contentsline {chapter}{\uppercase {Attribution}}{ii}{section*.1}
\contentsline {part}{Part I\hspace {1em}The protocol}{1}{part.1}
\contentsline {chapter}{Chapter~\numberline {1}\uppercase {NetBIOS in a Unix World}}{3}{chapter.1}
\contentsline {section}{\numberline {1.1}Introduction}{3}{section.1.1}
\contentsline {section}{\numberline {1.2}Usernames}{3}{section.1.2}
\contentsline {section}{\numberline {1.3}File Ownership}{4}{section.1.3}
\contentsline {section}{\numberline {1.4}Passwords}{4}{section.1.4}
\contentsline {section}{\numberline {1.5}Locking}{5}{section.1.5}
\contentsline {section}{\numberline {1.6}Deny Modes}{6}{section.1.6}
\contentsline {section}{\numberline {1.7}Trapdoor UIDs}{6}{section.1.7}
\contentsline {section}{\numberline {1.8}Port numbers}{6}{section.1.8}
\contentsline {section}{\numberline {1.9}Protocol Complexity}{7}{section.1.9}
\contentsline {chapter}{Chapter~\numberline {2}\uppercase {NT Domain RPC's}}{9}{chapter.2}
\contentsline {section}{\numberline {2.1}Introduction}{9}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}Sources}{11}{subsection.2.1.1}
\contentsline {subsection}{\numberline {2.1.2}Credits}{11}{subsection.2.1.2}
\contentsline {section}{\numberline {2.2}Notes and Structures}{11}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}Notes}{11}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}Enumerations}{12}{subsection.2.2.2}
\contentsline {subsubsection}{\numberline {2.2.2.1}MSRPC Header type}{12}{subsubsection.2.2.2.1}
\contentsline {subsubsection}{\numberline {2.2.2.2}MSRPC Packet info}{12}{subsubsection.2.2.2.2}
\contentsline {subsection}{\numberline {2.2.3}Structures}{13}{subsection.2.2.3}
\contentsline {subsubsection}{\numberline {2.2.3.1}VOID *}{13}{subsubsection.2.2.3.1}
\contentsline {subsubsection}{\numberline {2.2.3.2}char}{13}{subsubsection.2.2.3.2}
\contentsline {subsubsection}{\numberline {2.2.3.3}UTIME}{13}{subsubsection.2.2.3.3}
\contentsline {subsubsection}{\numberline {2.2.3.4}NTTIME}{13}{subsubsection.2.2.3.4}
\contentsline {subsubsection}{\numberline {2.2.3.5}DOM\_SID (domain SID structure)}{13}{subsubsection.2.2.3.5}
\contentsline {subsubsection}{\numberline {2.2.3.6}STR (string)}{14}{subsubsection.2.2.3.6}
\contentsline {subsubsection}{\numberline {2.2.3.7}UNIHDR (unicode string header)}{14}{subsubsection.2.2.3.7}
\contentsline {subsubsection}{\numberline {2.2.3.8}UNIHDR2 (unicode string header plus buffer pointer)}{14}{subsubsection.2.2.3.8}
\contentsline {subsubsection}{\numberline {2.2.3.9}UNISTR (unicode string)}{14}{subsubsection.2.2.3.9}
\contentsline {subsubsection}{\numberline {2.2.3.10}NAME (length-indicated unicode string)}{14}{subsubsection.2.2.3.10}
\contentsline {subsubsection}{\numberline {2.2.3.11}UNISTR2 (aligned unicode string)}{15}{subsubsection.2.2.3.11}
\contentsline {subsubsection}{\numberline {2.2.3.12}OBJ\_ATTR (object attributes)}{15}{subsubsection.2.2.3.12}
\contentsline {subsubsection}{\numberline {2.2.3.13}POL\_HND (LSA policy handle)}{16}{subsubsection.2.2.3.13}
\contentsline {subsubsection}{\numberline {2.2.3.14}DOM\_SID2 (domain SID structure, SIDS stored in unicode)}{16}{subsubsection.2.2.3.14}
\contentsline {subsubsection}{\numberline {2.2.3.15}DOM\_RID (domain RID structure)}{16}{subsubsection.2.2.3.15}
\contentsline {subsubsection}{\numberline {2.2.3.16}LOG\_INFO (server, account, client structure)}{16}{subsubsection.2.2.3.16}
\contentsline {subsubsection}{\numberline {2.2.3.17}CLNT\_SRV (server, client names structure)}{17}{subsubsection.2.2.3.17}
\contentsline {subsubsection}{\numberline {2.2.3.18}CREDS (credentials + time stamp)}{17}{subsubsection.2.2.3.18}
\contentsline {subsubsection}{\numberline {2.2.3.19}CLNT\_INFO2 (server, client structure, client credentials)}{18}{subsubsection.2.2.3.19}
\contentsline {subsubsection}{\numberline {2.2.3.20}CLNT\_INFO (server, account, client structure, client credentials)}{18}{subsubsection.2.2.3.20}
\contentsline {subsubsection}{\numberline {2.2.3.21}ID\_INFO\_1 (id info structure, auth level 1)}{18}{subsubsection.2.2.3.21}
\contentsline {subsubsection}{\numberline {2.2.3.22}SAM\_INFO (sam logon/logoff id info structure)}{19}{subsubsection.2.2.3.22}
\contentsline {subsubsection}{\numberline {2.2.3.23}GID (group id info)}{20}{subsubsection.2.2.3.23}
\contentsline {subsubsection}{\numberline {2.2.3.24}DOM\_REF (domain reference info)}{20}{subsubsection.2.2.3.24}
\contentsline {subsubsection}{\numberline {2.2.3.25}DOM\_INFO (domain info, levels 3 and 5 are the same))}{21}{subsubsection.2.2.3.25}
\contentsline {subsubsection}{\numberline {2.2.3.26}USER\_INFO (user logon info)}{21}{subsubsection.2.2.3.26}
\contentsline {subsubsection}{\numberline {2.2.3.27}SH\_INFO\_1\_PTR (pointers to level 1 share info strings)}{24}{subsubsection.2.2.3.27}
\contentsline {subsubsection}{\numberline {2.2.3.28}SH\_INFO\_1\_STR (level 1 share info strings)}{24}{subsubsection.2.2.3.28}
\contentsline {subsubsection}{\numberline {2.2.3.29}SHARE\_INFO\_1\_CTR}{24}{subsubsection.2.2.3.29}
\contentsline {subsubsection}{\numberline {2.2.3.30}SERVER\_INFO\_101}{25}{subsubsection.2.2.3.30}
\contentsline {section}{\numberline {2.3}MSRPC over Transact Named Pipe}{27}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}MSRPC Pipes}{27}{subsection.2.3.1}
\contentsline {subsection}{\numberline {2.3.2}Header}{29}{subsection.2.3.2}
\contentsline {subsubsection}{\numberline {2.3.2.1}RPC\_Packet for request, response, bind and bind acknowledgement}{29}{subsubsection.2.3.2.1}
\contentsline {subsubsection}{\numberline {2.3.2.2}Interface identification}{30}{subsubsection.2.3.2.2}
\contentsline {subsubsection}{\numberline {2.3.2.3}RPC\_Iface RW}{30}{subsubsection.2.3.2.3}
\contentsline {subsubsection}{\numberline {2.3.2.4}RPC\_ReqBind RW}{30}{subsubsection.2.3.2.4}
\contentsline {subsubsection}{\numberline {2.3.2.5}RPC\_Address RW}{31}{subsubsection.2.3.2.5}
\contentsline {subsubsection}{\numberline {2.3.2.6}RPC\_ResBind RW}{31}{subsubsection.2.3.2.6}
\contentsline {subsubsection}{\numberline {2.3.2.7}RPC\_ReqNorm RW}{32}{subsubsection.2.3.2.7}
\contentsline {subsubsection}{\numberline {2.3.2.8}RPC\_ResNorm RW}{33}{subsubsection.2.3.2.8}
\contentsline {subsection}{\numberline {2.3.3}Tail}{33}{subsection.2.3.3}
\contentsline {subsection}{\numberline {2.3.4}RPC Bind / Bind Ack}{33}{subsection.2.3.4}
\contentsline {subsection}{\numberline {2.3.5}NTLSA Transact Named Pipe}{34}{subsection.2.3.5}
\contentsline {subsection}{\numberline {2.3.6}LSA Open Policy}{35}{subsection.2.3.6}
\contentsline {subsubsection}{\numberline {2.3.6.1}Request}{35}{subsubsection.2.3.6.1}
\contentsline {subsubsection}{\numberline {2.3.6.2}Response}{36}{subsubsection.2.3.6.2}
\contentsline {subsection}{\numberline {2.3.7}LSA Query Info Policy}{36}{subsection.2.3.7}
\contentsline {subsubsection}{\numberline {2.3.7.1}Request}{36}{subsubsection.2.3.7.1}
\contentsline {subsubsection}{\numberline {2.3.7.2}Response}{36}{subsubsection.2.3.7.2}
\contentsline {subsection}{\numberline {2.3.8}LSA Enumerate Trusted Domains}{37}{subsection.2.3.8}
\contentsline {subsubsection}{\numberline {2.3.8.1}Request}{37}{subsubsection.2.3.8.1}
\contentsline {subsubsection}{\numberline {2.3.8.2}Response}{37}{subsubsection.2.3.8.2}
\contentsline {subsection}{\numberline {2.3.9}LSA Open Secret}{37}{subsection.2.3.9}
\contentsline {subsubsection}{\numberline {2.3.9.1}Request}{37}{subsubsection.2.3.9.1}
\contentsline {subsubsection}{\numberline {2.3.9.2}Response}{37}{subsubsection.2.3.9.2}
\contentsline {subsection}{\numberline {2.3.10}LSA Close}{38}{subsection.2.3.10}
\contentsline {subsubsection}{\numberline {2.3.10.1}Request}{38}{subsubsection.2.3.10.1}
\contentsline {subsubsection}{\numberline {2.3.10.2}Response}{38}{subsubsection.2.3.10.2}
\contentsline {subsection}{\numberline {2.3.11}LSA Lookup SIDS}{38}{subsection.2.3.11}
\contentsline {subsubsection}{\numberline {2.3.11.1}Request}{38}{subsubsection.2.3.11.1}
\contentsline {subsubsection}{\numberline {2.3.11.2}Response}{39}{subsubsection.2.3.11.2}
\contentsline {subsection}{\numberline {2.3.12}LSA Lookup Names}{39}{subsection.2.3.12}
\contentsline {subsubsection}{\numberline {2.3.12.1}Request}{39}{subsubsection.2.3.12.1}
\contentsline {subsubsection}{\numberline {2.3.12.2}Response}{40}{subsubsection.2.3.12.2}
\contentsline {section}{\numberline {2.4}NETLOGON rpc Transact Named Pipe}{40}{section.2.4}
\contentsline {subsection}{\numberline {2.4.1}LSA Request Challenge}{41}{subsection.2.4.1}
\contentsline {subsubsection}{\numberline {2.4.1.1}Request}{42}{subsubsection.2.4.1.1}
\contentsline {subsubsection}{\numberline {2.4.1.2}Response}{42}{subsubsection.2.4.1.2}
\contentsline {subsection}{\numberline {2.4.2}LSA Authenticate 2}{42}{subsection.2.4.2}
\contentsline {subsubsection}{\numberline {2.4.2.1}Request}{42}{subsubsection.2.4.2.1}
\contentsline {subsubsection}{\numberline {2.4.2.2}Response}{43}{subsubsection.2.4.2.2}
\contentsline {subsection}{\numberline {2.4.3}LSA Server Password Set}{43}{subsection.2.4.3}
\contentsline {subsubsection}{\numberline {2.4.3.1}Request}{43}{subsubsection.2.4.3.1}
\contentsline {subsubsection}{\numberline {2.4.3.2}Response}{43}{subsubsection.2.4.3.2}
\contentsline {subsection}{\numberline {2.4.4}LSA SAM Logon}{44}{subsection.2.4.4}
\contentsline {subsubsection}{\numberline {2.4.4.1}Request}{44}{subsubsection.2.4.4.1}
\contentsline {subsubsection}{\numberline {2.4.4.2}Response}{44}{subsubsection.2.4.4.2}
\contentsline {subsection}{\numberline {2.4.5}LSA SAM Logoff}{45}{subsection.2.4.5}
\contentsline {subsubsection}{\numberline {2.4.5.1}Request}{45}{subsubsection.2.4.5.1}
\contentsline {subsubsection}{\numberline {2.4.5.2}Response}{45}{subsubsection.2.4.5.2}
\contentsline {section}{\numberline {2.5}\textbackslash \textbackslash MAILSLOT\textbackslash NET\textbackslash NTLOGON}{45}{section.2.5}
\contentsline {subsection}{\numberline {2.5.1}Query for PDC}{45}{subsection.2.5.1}
\contentsline {subsubsection}{\numberline {2.5.1.1}Request}{45}{subsubsection.2.5.1.1}
\contentsline {subsubsection}{\numberline {2.5.1.2}Response}{46}{subsubsection.2.5.1.2}
\contentsline {subsection}{\numberline {2.5.2}SAM Logon}{47}{subsection.2.5.2}
\contentsline {subsubsection}{\numberline {2.5.2.1}Request}{47}{subsubsection.2.5.2.1}
\contentsline {subsubsection}{\numberline {2.5.2.2}Response}{48}{subsubsection.2.5.2.2}
\contentsline {section}{\numberline {2.6}SRVSVC Transact Named Pipe}{48}{section.2.6}
\contentsline {subsection}{\numberline {2.6.1}Net Share Enum}{49}{subsection.2.6.1}
\contentsline {subsubsection}{\numberline {2.6.1.1}Request}{49}{subsubsection.2.6.1.1}
\contentsline {subsubsection}{\numberline {2.6.1.2}Response}{49}{subsubsection.2.6.1.2}
\contentsline {subsection}{\numberline {2.6.2}Net Server Get Info}{50}{subsection.2.6.2}
\contentsline {subsubsection}{\numberline {2.6.2.1}Request}{50}{subsubsection.2.6.2.1}
\contentsline {subsubsection}{\numberline {2.6.2.2}Response}{50}{subsubsection.2.6.2.2}
\contentsline {section}{\numberline {2.7}Cryptographic side of NT Domain Authentication}{50}{section.2.7}
\contentsline {subsection}{\numberline {2.7.1}Definitions}{50}{subsection.2.7.1}
\contentsline {subsection}{\numberline {2.7.2}Protocol}{51}{subsection.2.7.2}
\contentsline {subsection}{\numberline {2.7.3}Comments}{52}{subsection.2.7.3}
\contentsline {section}{\numberline {2.8}SIDs and RIDs}{53}{section.2.8}
\contentsline {subsection}{\numberline {2.8.1}Well-known SIDs}{53}{subsection.2.8.1}
\contentsline {subsubsection}{\numberline {2.8.1.1}Universal well-known SIDs}{53}{subsubsection.2.8.1.1}
\contentsline {subsubsection}{\numberline {2.8.1.2}NT well-known SIDs}{54}{subsubsection.2.8.1.2}
\contentsline {subsection}{\numberline {2.8.2}Well-known RIDS}{55}{subsection.2.8.2}
\contentsline {subsubsection}{\numberline {2.8.2.1}Well-known RID users}{55}{subsubsection.2.8.2.1}
\contentsline {subsubsection}{\numberline {2.8.2.2}Well-known RID groups}{55}{subsubsection.2.8.2.2}
\contentsline {subsubsection}{\numberline {2.8.2.3}Well-known RID aliases}{55}{subsubsection.2.8.2.3}
\contentsline {part}{Part II\hspace {1em}Samba Basics}{55}{part.2}
\contentsline {chapter}{Chapter~\numberline {3}\uppercase {Samba Architecture}}{57}{chapter.3}
\contentsline {section}{\numberline {3.1}Introduction}{57}{section.3.1}
\contentsline {section}{\numberline {3.2}Multithreading and Samba}{57}{section.3.2}
\contentsline {section}{\numberline {3.3}Threading smbd}{58}{section.3.3}
\contentsline {section}{\numberline {3.4}Threading nmbd}{58}{section.3.4}
\contentsline {section}{\numberline {3.5}nbmd Design}{59}{section.3.5}
\contentsline {chapter}{Chapter~\numberline {4}\uppercase {The samba DEBUG system}}{60}{chapter.4}
\contentsline {section}{\numberline {4.1}New Output Syntax}{60}{section.4.1}
\contentsline {section}{\numberline {4.2}The DEBUG() Macro}{61}{section.4.2}
\contentsline {section}{\numberline {4.3}The DEBUGADD() Macro}{63}{section.4.3}
\contentsline {section}{\numberline {4.4}The DEBUGLVL() Macro}{63}{section.4.4}
\contentsline {section}{\numberline {4.5}New Functions}{64}{section.4.5}
\contentsline {subsection}{\numberline {4.5.1}dbgtext()}{64}{subsection.4.5.1}
\contentsline {subsection}{\numberline {4.5.2}dbghdr()}{65}{subsection.4.5.2}
\contentsline {subsection}{\numberline {4.5.3}format\_debug\_text()}{65}{subsection.4.5.3}
\contentsline {chapter}{Chapter~\numberline {5}\uppercase {Samba Internals}}{66}{chapter.5}
\contentsline {section}{\numberline {5.1}Character Handling}{66}{section.5.1}
\contentsline {section}{\numberline {5.2}The new functions}{66}{section.5.2}
\contentsline {section}{\numberline {5.3}Macros in byteorder.h}{68}{section.5.3}
\contentsline {subsection}{\numberline {5.3.1}CVAL(buf,pos)}{68}{subsection.5.3.1}
\contentsline {subsection}{\numberline {5.3.2}PVAL(buf,pos)}{68}{subsection.5.3.2}
\contentsline {subsection}{\numberline {5.3.3}SCVAL(buf,pos,val)}{68}{subsection.5.3.3}
\contentsline {subsection}{\numberline {5.3.4}SVAL(buf,pos)}{68}{subsection.5.3.4}
\contentsline {subsection}{\numberline {5.3.5}IVAL(buf,pos)}{68}{subsection.5.3.5}
\contentsline {subsection}{\numberline {5.3.6}SVALS(buf,pos)}{68}{subsection.5.3.6}
\contentsline {subsection}{\numberline {5.3.7}IVALS(buf,pos)}{69}{subsection.5.3.7}
\contentsline {subsection}{\numberline {5.3.8}SSVAL(buf,pos,val)}{69}{subsection.5.3.8}
\contentsline {subsection}{\numberline {5.3.9}SIVAL(buf,pos,val)}{69}{subsection.5.3.9}
\contentsline {subsection}{\numberline {5.3.10}SSVALS(buf,pos,val)}{69}{subsection.5.3.10}
\contentsline {subsection}{\numberline {5.3.11}SIVALS(buf,pos,val)}{69}{subsection.5.3.11}
\contentsline {subsection}{\numberline {5.3.12}RSVAL(buf,pos)}{69}{subsection.5.3.12}
\contentsline {subsection}{\numberline {5.3.13}RIVAL(buf,pos)}{69}{subsection.5.3.13}
\contentsline {subsection}{\numberline {5.3.14}RSSVAL(buf,pos,val)}{70}{subsection.5.3.14}
\contentsline {subsection}{\numberline {5.3.15}RSIVAL(buf,pos,val)}{70}{subsection.5.3.15}
\contentsline {section}{\numberline {5.4}LAN Manager Samba API}{70}{section.5.4}
\contentsline {subsection}{\numberline {5.4.1}Parameters}{70}{subsection.5.4.1}
\contentsline {subsection}{\numberline {5.4.2}Return value}{71}{subsection.5.4.2}
\contentsline {section}{\numberline {5.5}Code character table}{72}{section.5.5}
\contentsline {chapter}{Chapter~\numberline {6}\uppercase {Coding Suggestions}}{74}{chapter.6}
\contentsline {chapter}{Chapter~\numberline {7}\uppercase {Contributing code}}{78}{chapter.7}
\contentsline {chapter}{Chapter~\numberline {8}\uppercase {Modules}}{80}{chapter.8}
\contentsline {section}{\numberline {8.1}Advantages}{80}{section.8.1}
\contentsline {section}{\numberline {8.2}Loading modules}{80}{section.8.2}
\contentsline {subsection}{\numberline {8.2.1}Static modules}{80}{subsection.8.2.1}
\contentsline {subsection}{\numberline {8.2.2}Shared modules}{81}{subsection.8.2.2}
\contentsline {section}{\numberline {8.3}Writing modules}{81}{section.8.3}
\contentsline {subsection}{\numberline {8.3.1}Static/Shared selection in configure.in}{82}{subsection.8.3.1}
\contentsline {part}{Part III\hspace {1em}Samba Subsystems}{83}{part.3}
\contentsline {chapter}{Chapter~\numberline {9}\uppercase {RPC Pluggable Modules}}{85}{chapter.9}
\contentsline {section}{\numberline {9.1}About}{85}{section.9.1}
\contentsline {section}{\numberline {9.2}General Overview}{85}{section.9.2}
\contentsline {chapter}{Chapter~\numberline {10}\uppercase {VFS Modules}}{87}{chapter.10}
\contentsline {section}{\numberline {10.1}The Samba (Posix) VFS layer}{87}{section.10.1}
\contentsline {subsection}{\numberline {10.1.1}The general interface}{88}{subsection.10.1.1}
\contentsline {subsection}{\numberline {10.1.2}Possible VFS operation layers}{92}{subsection.10.1.2}
\contentsline {section}{\numberline {10.2}The Interaction between the Samba VFS subsystem and the modules}{93}{section.10.2}
\contentsline {subsection}{\numberline {10.2.1}Initialization and registration}{93}{subsection.10.2.1}
\contentsline {subsection}{\numberline {10.2.2}How the Modules handle per connection data}{94}{subsection.10.2.2}
\contentsline {section}{\numberline {10.3}Upgrading to the New VFS Interface}{98}{section.10.3}
\contentsline {subsection}{\numberline {10.3.1}Upgrading from 2.2.* and 3.0alpha modules}{98}{subsection.10.3.1}
\contentsline {section}{\numberline {10.4}Some Notes}{104}{section.10.4}
\contentsline {subsection}{\numberline {10.4.1}Implement TRANSPARENT functions}{104}{subsection.10.4.1}
\contentsline {subsection}{\numberline {10.4.2}Implement OPAQUE functions}{105}{subsection.10.4.2}
\contentsline {chapter}{Chapter~\numberline {11}\uppercase {The smb.conf file}}{106}{chapter.11}
\contentsline {section}{\numberline {11.1}Lexical Analysis}{106}{section.11.1}
\contentsline {subsection}{\numberline {11.1.1}Handling of Whitespace}{107}{subsection.11.1.1}
\contentsline {subsection}{\numberline {11.1.2}Handling of Line Continuation}{107}{subsection.11.1.2}
\contentsline {subsection}{\numberline {11.1.3}Line Continuation Quirks}{108}{subsection.11.1.3}
\contentsline {section}{\numberline {11.2}Syntax}{109}{section.11.2}
\contentsline {subsection}{\numberline {11.2.1}About params.c}{109}{subsection.11.2.1}
\contentsline {chapter}{Chapter~\numberline {12}\uppercase {Samba WINS Internals}}{110}{chapter.12}
\contentsline {section}{\numberline {12.1}WINS Failover}{110}{section.12.1}
\contentsline {chapter}{Chapter~\numberline {13}\uppercase {LanMan and NT Password Encryption}}{112}{chapter.13}
\contentsline {section}{\numberline {13.1}Introduction}{112}{section.13.1}
\contentsline {section}{\numberline {13.2}How does it work?}{112}{section.13.2}
\contentsline {section}{\numberline {13.3}The smbpasswd file}{113}{section.13.3}
\contentsline {part}{Part IV\hspace {1em}Debugging and tracing}{115}{part.4}
\contentsline {chapter}{Chapter~\numberline {14}\uppercase {Tracing samba system calls}}{117}{chapter.14}
\contentsline {chapter}{Chapter~\numberline {15}\uppercase {Samba Printing Internals}}{120}{chapter.15}
\contentsline {section}{\numberline {15.1}Abstract}{120}{section.15.1}
\contentsline {section}{\numberline {15.2}Printing Interface to Various Back ends}{120}{section.15.2}
\contentsline {section}{\numberline {15.3}Print Queue TDB's}{121}{section.15.3}
\contentsline {section}{\numberline {15.4}ChangeID and Client Caching of Printer Information}{123}{section.15.4}
\contentsline {section}{\numberline {15.5}Windows NT/2K Printer Change Notify}{123}{section.15.5}
\contentsline {part}{Part V\hspace {1em}Appendices}{125}{part.5}
\contentsline {chapter}{Chapter~\numberline {16}\uppercase {Notes to packagers}}{127}{chapter.16}
\contentsline {section}{\numberline {16.1}Versioning}{127}{section.16.1}
\contentsline {section}{\numberline {16.2}Modules}{127}{section.16.2}