22d1b2a08e0e0f39e78c0b082d0b15586030cfcb
[kai/samba.git] / source3 / include / local.h
1 /* local definitions for file server */
2 #ifndef _LOCAL_H
3 #define _LOCAL_H
4
5 /* This defines the section name in the configuration file that will contain */
6 /* global parameters - that is, parameters relating to the whole server, not */
7 /* just services. This name is then reserved, and may not be used as a       */
8 /* a service name. It will default to "global" if not defined here.          */
9 #define GLOBAL_NAME "global"
10 #define GLOBAL_NAME2 "globals"
11
12 /* This defines the section name in the configuration file that will
13    refer to the special "homes" service */
14 #define HOMES_NAME "homes"
15
16 /* This defines the section name in the configuration file that will
17    refer to the special "printers" service */
18 #define PRINTERS_NAME "printers"
19
20 /* This defines the name of the printcap file. It is MOST UNLIKELY that
21    this will change BUT! Specifying a file with the format of a printcap
22    file but containing only a subset of the printers actually in your real 
23    printcap file is a quick-n-dirty way to allow dynamic access to a subset
24    of available printers.
25 */
26 #define PRINTCAP_NAME "/etc/printcap"
27
28 /* set these to define the limits of the server. NOTE These are on a
29    per-client basis. Thus any one machine can't connect to more than
30    MAX_CONNECTIONS services, but any number of machines may connect at
31    one time. */
32 #define MAX_CONNECTIONS 127
33 #define MAX_OPEN_FILES 100
34
35 /* the max number of connections that the smbstatus program will show */
36 #define MAXSTATUS 1000
37
38 /* max number of directories open at once */
39 /* note that with the new directory code this no longer requires a
40    file handle per directory, but large numbers do use more memory */
41 #define MAXDIR 64
42
43 #define WORDMAX 0xFFFF
44
45 /* the maximum password length before we declare a likely attack */
46 #define MAX_PASS_LEN 200
47
48 /* separators for lists */
49 #define LIST_SEP " \t,;:\n\r"
50
51 #ifndef LOCKDIR
52 /* this should have been set in the Makefile */
53 #define LOCKDIR "/tmp/samba"
54 #endif
55
56 /* this is where browse lists are kept in the lock dir */
57 #define SERVER_LIST "browse.dat"
58
59 /* shall guest entries in printer queues get changed to user entries,
60    so they can be deleted using the windows print manager? */
61 #define LPQ_GUEST_TO_USER
62
63 /* shall filenames with illegal chars in them get mangled in long
64    filename listings? */
65 #define MANGLE_LONG_FILENAMES 
66
67 /* define this if you want to stop spoofing with .. and soft links
68    NOTE: This also slows down the server considerably */
69 #define REDUCE_PATHS
70
71 /* the size of the directory cache */
72 #define DIRCACHESIZE 20
73
74 /* what type of filesystem do we want this to show up as in a NT file
75    manager window? */
76 #define FSTYPE_STRING "Samba"
77
78 /* do you want smbd to send a 1 byte packet to nmbd to trigger it to start 
79    when smbd starts? */
80 #ifndef PRIME_NMBD
81 #define PRIME_NMBD 1
82 #endif
83
84 /* do you want session setups at user level security with a invalid
85    password to be rejected or allowed in as guest? WinNT rejects them
86    but it can be a pain as it means "net view" needs to use a password 
87
88    You have 3 choices:
89
90    GUEST_SESSSETUP = 0 means session setups with an invalid password
91    are rejected.
92
93    GUEST_SESSSETUP = 1 means session setups with an invalid password
94    are rejected, unless the username does not exist, in which case it
95    is treated as a guest login
96
97    GUEST_SESSSETUP = 2 means session setups with an invalid password
98    are treated as a guest login
99
100    Note that GUEST_SESSSETUP only has an effect in user or server
101    level security.
102    */
103 #ifndef GUEST_SESSSETUP
104 #define GUEST_SESSSETUP 0
105 #endif
106
107 /* the default pager to use for the client "more" command. Users can
108    override this with the PAGER environment variable */
109 #ifndef PAGER
110 #define PAGER "more"
111 #endif
112
113 /* the size of the uid cache used to reduce valid user checks */
114 #define UID_CACHE_SIZE 4
115
116 /* the following control timings of various actions. Don't change 
117    them unless you know what you are doing. These are all in seconds */
118 #define DEFAULT_SMBD_TIMEOUT (60*60*24*7)
119 #define SMBD_RELOAD_CHECK (60)
120 #define IDLE_CLOSED_TIMEOUT (60)
121 #define DPTR_IDLE_TIMEOUT (120)
122 #define SMBD_SELECT_LOOP (10)
123 #define NMBD_SELECT_LOOP (10)
124 #define BROWSE_INTERVAL (60)
125 #define REGISTRATION_INTERVAL (10*60)
126 #define NMBD_INETD_TIMEOUT (120)
127 #define NMBD_MAX_TTL (24*60*60)
128 #define LPQ_LOCK_TIMEOUT (5)
129
130 /* the following are in milliseconds */
131 #define LOCK_RETRY_TIMEOUT (100)
132
133 /* do you want to dump core (carefully!) when an internal error is
134    encountered? Samba will be careful to make the core file only
135    accessible to root */
136 #define DUMP_CORE 1
137
138 /* what is the longest significant password available on your system? 
139  Knowing this speeds up password searches a lot */
140 #ifndef PASSWORD_LENGTH
141 #define PASSWORD_LENGTH 8
142 #endif
143
144 #define SMB_ALIGNMENT 1
145
146
147 /* shall we support browse requests via a FIFO to nmbd? */
148 #define ENABLE_FIFO 1
149
150 /* keep the password server open, this uses up a aocket, but is needed
151    by many apps */
152 #define KEEP_PASSWORD_SERVER_OPEN 1
153
154 /* how long to wait for a socket connect to happen */
155 #define LONG_CONNECT_TIMEOUT 30
156 #define SHORT_CONNECT_TIMEOUT 5
157
158
159 /* the directory to sit in when idle */
160 /* #define IDLE_DIR "/" */
161
162 /* Timout (in seconds) to wait for an oplock breal
163    message to return. */
164
165 #define OPLOCK_BREAK_TIMEOUT 30
166
167 #endif