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}
|