1 /*
2  * 'new' config.h:
3  *	A configuration file designed to make best use of the abilities
4  *	of ircII, and trying to make things more intuitively understandable.
5  *
6  * Original: Michael Sandrof
7  * V2 by Carl V. Loesch (lynx@dm.unirm1.it)
8  * V2.EPIC by jfn (jnelson@acronet.net)
9  */
10 
11 #ifndef _CONFIG_H_
12 #define _CONFIG_H_
13 
14 /*
15  * Notes to the unwary:
16  *
17  *  -- You cant just add a ``#define DEFAULT_X'' and expect it to work.
18  *     Those things that do not have defaults are that way on purpose.
19  *     Either they have their own defaults, or a default is inappropriate.
20  *
21  *  -- Unless the description expliclity says that the #define is optional,
22  *     you may NOT remove it or #undef it, else the client will not compile
23  *     properly.
24  */
25 
26 
27 /*
28  *  This is where you define a list of ``fallback'' servers in case the client
29  *  cannot under other circumstances figure out where to connect.   Normally,
30  *  the server to use is determined by the ``SERVERS_FILE'' (see below), or
31  *  by a server specified on the command line.   But if for some reason your
32  *  ``SERVERS_FILE'' isnt there or isnt readable, or the user doesnt specify
33  *  a server, then this list will be used.
34  *
35  *  The list should be a space seperated list of the form
36  *  hostname:portnum:password.  The portnum and password are optional.
37  *  An example is:
38  *
39  *	#define DEFAULT_SERVER "irc.iastate.edu irc-2.mit.edu:6666:lag-2sux"
40  *
41  *  THIS DEFINE IS -!-NOT-!- OPTIONAL.  You must provide a fallback list or
42  *  the client will NOT compile and work properly!  Use the default here if
43  *  you dont have other servers to use.
44  */
45 #define DEFAULT_SERVER "localhost irc.efnet.net irc.undernet.org irc.dal.net"
46 
47 /*
48  * Maildir support is experimental in EPIC4.  More complete support is
49  * available in EPIC5, including support for switching back and forth
50  * between mbox and maildir at runtime.  For now, you must pick one or
51  * the other at compile time.
52  *	0 - Mail checking for mbox
53  *	1 - Mail checking for maildir
54  */
55 #define MAIL_CHECKING_TYPE 0
56 
57 /*
58  * This is an experimental feature to thwart infinite recursion.  It is not
59  * very sophisticated so it's not turned on by default.  In the future I
60  * will probably do something less lame.
61  *
62  * When this many stack frames are created, epic will refuse to make any
63  * more.  This will stop epic from crashing with a segfault when you do
64  * infinite recursion, but it's possible that epic may infinitely recurse
65  * if your alias is tricky enough.  Pick your poison
66  */
67 #define MAX_STACK_FRAMES 20000
68 
69 /*
70  * The left and right brace characters ('{', '}') are special characters in
71  * the IRC character set, becuase they represent scandanavian characters and
72  * are not expected to be treated any differently than any other alphanumeric
73  * character.  When this is #define'd, the client makes a best guess attempt
74  * to determine if a { is being used as a brace, or as an alphanumeric char.
75  *
76  * The way it determines is simple:
77  *	An lbrace ('{') is a normal character UNLESS ONE OF THE FOLLOWING:
78  *		* It is the first character on a line
79  *		* It is preceeded by whitespace
80  *		* It is preceeded by a right paren (')')
81  *		* It is preceeded by a right brace ('}')
82  * Similarly,
83  *	An rbrace ('}') is a normal character UNLESS ONE OF THE FOLLOWING:
84  *		* It is the last character on a line
85  *		* It is followed by whitespace
86  *		* It is followed by a left paren ('(')
87  *		* It is followed by a left brace ('{')
88  *
89  * If the following is #define'd, the above rules are in effect.  If the
90  * following is #undef'd, then the normal, traditional rules apply and every
91  * { and } is counted for bracing purposes.
92  *
93  * Some day, if this works out, this will become the default behavior --
94  * but not today.
95  */
96 #undef BRACE_LOAD_HACK
97 
98 /*
99  * A recent change was to make the %S status line expando always display
100  * the server information, even if you were connected to only one server.
101  * However, a few people expressly dislike this change and want the old
102  * behavior.  If this is #define'd, you get the old behavior.  If this is
103  * #undef'd, you get the new behavior.
104  */
105 #define OLD_STATUS_S_EXPANDO_BEHAVIOR
106 
107 /*
108  * Oooops!  This was supposed to be here, but it never did make it.  Which
109  * explains a lot.  Anyhow, #define this if you want to have the option of
110  * doing floating point math in EPIC.  #undef this if you always want integer
111  * operations to always be done.  The client can still do integer operations
112  * if this is defined, just /set floating_point_math OFF.
113  *
114  * Note that if this is defined, the client actually will do all of your
115  * operations in floating point and then the *result* will be truncated.
116  * This is different from when this is #undef when *each term* will be
117  * truncated.  For example:
118  *
119  * 	#undef'd  4.2 - 2.6 	-> (4 - 2) -> 2
120  *	#define'd 4.2 - 2.6     -> 1.6 -> 1
121  */
122 #define FLOATING_POINT_SUPPORT
123 
124 /*
125  * Undef this if your FIONREAD is not useful.  At this time, it makes very
126  * little difference because we dont use FIONREAD for anything useful.  But
127  * nevertheless, if youre allergic to mild bsd-isms, then you can #undef this.
128  */
129 #define HAVE_USEFUL_FIONREAD
130 
131 /*
132  * This sets how you want to see the 368 numeric to be hooked.  The default
133  * (#undef) is the traditional EPIC behavior.
134  *		EPIC		ircII
135  *	$0	server		server
136  *	$1	number of bans	channel name
137  *	$2	channel name	<nothing -- now number of bans>
138  */
139 #undef IRCII_LIKE_BAN_SUMMARY
140 
141 /*
142  * When this is define'd, the -z flag, the IRCUSER and USER environment
143  * variables, as well as the /IRCUSER command will be honored.  This is
144  * not nearly as big a deal as it used to be, because every server uses
145  * identd and ignores the client-specified username.  There is no compelling
146  * reason for any site using identd to forbid this behavior by default.
147  * Any site that wont run identd i dont have a lot of sympathy for.
148  */
149 #define ALLOW_USER_SPECIFIED_LOGIN
150 
151 /*
152  * I moved this here because it seemed to be the most appropriate
153  * place for it.  Define this if you want support for ``/window create''
154  * and its related features.  If you dont want it, youll save some code,
155  * and you wont need 'wserv', and if you do want it, you can have it in
156  * all of its broken glory.
157  */
158 #define WINDOW_CREATE
159 
160 /*
161  * Define this if you want an mIRC compatable /dcc resume capability.
162  * Note that this BREAKS THE IRC PROTOCOL, and if you use this feature,
163  * the behavior is NON COMPLIANT.  If this warning doesnt bother you,
164  * and you really want this feature, then go ahead and #define this.
165  *
166  * Unfortunately, due to popular pressure, im having to #define this by
167  * default.  The capability wont be turned on, however, unless you also
168  * do a /set mirc_broken_dcc_resume on,   which is OFF by default.  No,
169  * there will not be a way to default it to ON short of modifying vars.c.
170  * This is a comprimise, and i wont give any further.  Those who dont want
171  * this feature can #undef this, or can hook /on set "mirc_broken_dcc_resume".
172  */
173 #define MIRC_BROKEN_DCC_RESUME
174 
175 /*
176  * Youll want to define this if your system is missing the glob()
177  * call, or if its broken (solaris).
178  *
179  * Actually, you should #define this if you can compile the supplied
180  * glob.c.  If it works, dont mess with it.
181  */
182 #define NEED_GLOB
183 
184 /*
185  *  ircII has a security feature for paranoid sysadmins or for those
186  *  users whose sysadmins are paranoid.  The security feature allows
187  *  you to restrict who may use the ircII client.  You have four options:
188  *
189  *	1) compile into the binary a list of uids who can use the program
190  *		*Pros: cant be hacked -- very secure
191  *		*Cons: cant be changed w/o recompiling
192  *	2) compile into the binary a file which will contain the uids of
193  *	   the people who can use the program
194  *		*Pros: can be changed as you need by just editing the file
195  *		*Cons: since the uids are in a file, prone to hacking
196  *	3) compile into the binary a file which will contain the uids of
197  *	   the people who cannot use the program
198  *		*Pros: allows for public use and allow you to exclude
199  *		       troublemakers without enumerating everyone else
200  *		*Cons: since the uids are in a file, prone to hacking
201  *	4) compile into the binary a password
202  *		*Pros: cant be hacked -- secure
203  *		*Cons: cant be changed w/o recompiling
204  *
205  *    The first two options are mutually exclusive.  The third and fourth
206  *    options can be specified at your option.  If you specify both the
207  *    first and second options, the first option has precedence.
208  */
209 
210 /*
211  *   To use the first security feature, #define HARD_SECURE.  You will also
212  *   have to #define VALID_UIDS which will be a list of those uids (integers,
213  *   not usernames) which will be allowed to execute the resulting program.
214  *   If you #define HARD_SECURE but do not define #VALID_UIDS, then noone
215  *   will be able to execute the program!
216  */
217 #undef HARD_SECURE
218 #define VALID_UIDS "100 101"
219 
220 /*
221  *  To use the second security measure, simply #define SOFT_SECURE to a
222  *  filename that will be world-readable that will contain the uids of
223  *  all the users who will be allowed to execute the program.  It is important
224  *  that this file be readable by at least every person who can execute the
225  *  program or this security measure will be comprimised.
226  *
227  *  The uid file should have one uid per line (integer, not username).
228  *
229  *  You can define VALID_UID_FILE, but if SOFT_SECURE is not defined, it will
230  *  not be used.
231  */
232 #undef SOFT_SECURE
233 #define VALID_UID_FILE "/home/jnelson/..."
234 
235 /*
236  *  This allows you to use the third security option.  If you define this,
237  *  it should be assigned to a file that will contain a listing of all of
238  *  the uids (integers, not usernames) that will not be allowed to execute
239  *  the resulting program.
240  */
241 /*#define INVALID_UID_FILE "/home/jnelson/...."*/
242 
243 /*
244  * This part lets you deny certain hosts from running your irc client.
245  * For instance, my university does not allow irc'ing from dialup machines,
246  * So by putting the dialup's hostnames in the specified file, they can't
247  * Run irc.
248  *  -- Chris Mattingly <Chris_Mattingly@ncsu.edu>
249  *
250  * If you define this, it *absolutely* must be in double quotes ("s)!
251  */
252 #undef HOST_SECURE
253 
254 #ifdef HOST_SECURE
255 #define INVALID_HOST_FILE "/home/jnelson/...host.deny"
256 #endif
257 
258 
259 /*
260  *  This allows you to use the fourth security option.  If you define this,
261  *  the program will prompt the user to enter this prompt before it will
262  *  continue executing the program.  This password does not affect in any
263  *  way the other protection schemes.  A user who is not allowed to run
264  *  the program will not be allowed to use the program even if they know
265  *  the password.
266  */
267 /*#define PASSWORD "booya"*/
268 
269 /*
270  * This is the fun part.  If someone runs your program who shouldnt run
271  * it, either because the dont know the password or because they arent
272  * on the valid list or whatever, ircII will execute this program to
273  * "spoof" them into thinking your program is actually some other program.
274  *
275  * This can be defined to any valid C expression that will resolve to a
276  * character string. (ie, a character literal or function call)
277  */
278 #define SPOOF_PROGRAM getenv("SHELL")
279 
280 /*
281  * If you define UNAME_HACK, the uname information displayed in the
282  * CTCP VERSION info will appear as "*IX" regardless of any other
283  * settings.  Useful for paranoid users who dont want others to know
284  * that theyre running a buggy SunOS machine. >;-)
285  */
286 #undef UNAME_HACK
287 
288 
289 /* And here is the port number for default client connections.  */
290 #define IRC_PORT 6667
291 
292 /*
293  * If you want to have a file containing the list of irc servers to
294  * use, define SERVERS_FILE to be that filename.  Put the file in the
295  * ircII library directory.  This file should be whitespace seperated
296  * hostname:portnum:password (with the portnum and password being
297  * optional).  This server list will supercede the DEFAULT_SERVER
298  */
299 #define SERVERS_FILE "ircII.servers"
300 
301 
302 /*
303  * define this if you want your irc client to exit after an
304  * operator kill.  I have no idea why you would, though.
305  */
306 #undef QUIT_ON_OPERATOR_KILL
307 
308 /*
309  * The compile sequence records the user/host/time of the compile,
310  * which can be useful for tampering and newbie reasons.  If you want
311  * the compile to remain anonymous, define this option.  In this case,
312  * the host and the time will remain, but the 'user' field will not
313  * be displayed to the user.
314  *
315  * Please dont define this on a whim -- be sure you really want it.
316  */
317 #undef ANONYMOUS_COMPILE
318 
319 /*
320  * The /LOAD path is now generated at runtime, rather than at compile time.
321  * This is to allow you to change IRCLIB and have its script library be
322  * resepected without having to change IRCPATH as well.  This is a printf
323  * format of what the default load path is to be.  The %s format indicates
324  * the runtime IRCLIB value.  This value is only used at startup time.
325  */
326 #define DEFAULT_IRCPATH "~/.epic:~/.irc:%s/script:."
327 
328 
329 /*
330  * Below are the IRCII variable defaults.  For boolean variables, use 1 for
331  * ON and 0 for OFF.  You may set string variable to NULL if you wish them to
332  * have no value.  None of these are optional.  You may *not* comment out or
333  * remove them.  They are default values for variables and are required for
334  * proper compilation.
335  */
336 #define DEFAULT_ALLOW_C1_CHARS 0
337 #define DEFAULT_ALT_CHARSET 1
338 #define DEFAULT_ALWAYS_SPLIT_BIGGEST 1
339 #define DEFAULT_AUTO_NEW_NICK 1
340 #define DEFAULT_AUTO_RECONNECT 1
341 #define DEFAULT_AUTO_RECONNECT_DELAY 0
342 #define DEFAULT_AUTO_REJOIN 0
343 #define DEFAULT_AUTO_REJOIN_CONNECT 1
344 #define DEFAULT_AUTO_REJOIN_DELAY 0
345 #define DEFAULT_AUTO_UNMARK_AWAY 0
346 #define DEFAULT_AUTO_WHOWAS 1
347 #define DEFAULT_BAD_STYLE 0
348 #define DEFAULT_BANNER "***"
349 #define DEFAULT_BEEP 1
350 #define DEFAULT_BEEP_MAX 3
351 #define DEFAULT_BEEP_ON_MSG "NONE"
352 #define DEFAULT_BEEP_WHEN_AWAY 1
353 #define DEFAULT_BLINK_VIDEO 1
354 #define	DEFAULT_BOLD_VIDEO 1
355 #define DEFAULT_CHANNEL_NAME_WIDTH 0
356 #define DEFAULT_CLOCK 1
357 #define DEFAULT_CLOCK_24HOUR 0
358 #define DEFAULT_CLOCK_FORMAT NULL
359 #define DEFAULT_CLOCK_INTERVAL 60
360 #define DEFAULT_CMDCHARS "/"
361 #define DEFAULT_COLOR 1
362 #define DEFAULT_COMMAND_MODE 0
363 #define DEFAULT_COMMENT_HACK 1
364 #define DEFAULT_CONNECT_TIMEOUT 30
365 #define DEFAULT_CONTINUED_LINE "+"
366 #define DEFAULT_CPU_SAVER_AFTER 0
367 #define DEFAULT_CPU_SAVER_EVERY 60
368 #define DEFAULT_CURRENT_WINDOW_LEVEL NULL
369 #define DEFAULT_DCC_AUTO_SEND_REJECTS 1
370 #define DEFAULT_DCC_DEQUOTE_FILENAMES 1
371 #define DEFAULT_DCC_LONG_PATHNAMES 1
372 #define DEFAULT_DCC_SLIDING_WINDOW 1
373 #define DEFAULT_DCC_TIMEOUT 3600
374 #define DEFAULT_DISPATCH_UNKNOWN_COMMANDS 0
375 #define DEFAULT_DISPLAY 1
376 #define DEFAULT_DISPLAY_ANSI 1
377 #define DEFAULT_DISPLAY_PC_CHARACTERS 4
378 #define DEFAULT_DO_NOTIFY_IMMEDIATELY 1
379 #define DEFAULT_EIGHT_BIT_CHARACTERS 1
380 #define DEFAULT_EXEC_PROTECTION 0
381 #define DEFAULT_FLOATING_POINT_MATH 0
382 #define DEFAULT_FLOATING_POINT_PRECISION 16
383 #define DEFAULT_FLOOD_AFTER 3
384 #define DEFAULT_FLOOD_IGNORE 0
385 #define DEFAULT_FLOOD_MASKUSER 0
386 #define DEFAULT_FLOOD_RATE 3
387 #define DEFAULT_FLOOD_RATE_PER 1
388 #define DEFAULT_FLOOD_USERS 3
389 #define DEFAULT_FLOOD_WARNING 0
390 #define DEFAULT_FULL_STATUS_LINE 1
391 #define DEFAULT_HELP_PAGER 1
392 #define DEFAULT_HELP_PROMPT 1
393 #define DEFAULT_HELP_WINDOW 0
394 #define DEFAULT_HIDE_PRIVATE_CHANNELS 0
395 #define DEFAULT_HIGH_BIT_ESCAPE 2
396 #define DEFAULT_HIGHLIGHT_CHAR "BOLD"
397 #define DEFAULT_HISTORY 150
398 #define DEFAULT_HISTORY_CIRCLEQ 1
399 #define DEFAULT_HOLD_INTERVAL 10
400 #define DEFAULT_HOLD_MODE 0
401 #define DEFAULT_HOLD_SLIDER 100
402 #define DEFAULT_INDENT 0
403 #define DEFAULT_INPUT_ALIASES 0
404 #define DEFAULT_INPUT_PROMPT "> "
405 #define DEFAULT_INPUT_PROTECTION 1
406 #define DEFAULT_INSERT_MODE 1
407 #define DEFAULT_INVERSE_VIDEO 1
408 #define DEFAULT_KEY_INTERVAL 1000
409 #define DEFAULT_LASTLOG 256
410 #define DEFAULT_LASTLOG_LEVEL "ALL"
411 #define DEFAULT_LOG 0
412 #define DEFAULT_LOGFILE "irc.log"
413 #define DEFAULT_MAIL 2
414 #define DEFAULT_MAIL_INTERVAL 60
415 #define DEFAULT_MAIL_TYPE "mbox"
416 #define DEFAULT_MAX_RECONNECTS 4
417 #define DEFAULT_METRIC_TIME 0
418 #define DEFAULT_MODE_STRIPPER 0
419 #define DEFAULT_ND_SPACE_MAX 160
420 #define DEFAULT_NEW_SERVER_LASTLOG_LEVEL "ALL,-DCC"
421 #define DEFAULT_NO_CTCP_FLOOD 1
422 #define DEFAULT_NO_FAIL_DISCONNECT 0
423 #define DEFAULT_NOTIFY 1
424 #define DEFAULT_NOTIFY_INTERVAL 60
425 #define DEFAULT_NOTIFY_LEVEL "ALL"
426 #define DEFAULT_NOTIFY_ON_TERMINATION 1
427 #define DEFAULT_NOTIFY_USERHOST_AUTOMATIC 1
428 #define DEFAULT_NO_CONTROL_LOG 0
429 #define DEFAULT_NUM_OF_WHOWAS 1
430 #define DEFAULT_PAD_CHAR ' '
431 #define DEFAULT_QUIT_MESSAGE "ircII %s -- Are we there yet?"
432 #define DEFAULT_RANDOM_LOCAL_PORTS 0
433 #define DEFAULT_RANDOM_SOURCE 0
434 #define DEFAULT_REVERSE_STATUS_LINE 1
435 #define DEFAULT_SCROLLBACK 256
436 #define DEFAULT_SCROLLBACK_RATIO 50
437 #define DEFAULT_SCROLL_LINES 1
438 #define DEFAULT_SECURITY 0
439 #define DEFAULT_SHELL "/bin/sh"
440 #define DEFAULT_SHELL_FLAGS "-c"
441 #define DEFAULT_SHELL_LIMIT 0
442 #define DEFAULT_SHOW_CHANNEL_NAMES 1
443 #define DEFAULT_SHOW_END_OF_MSGS 1
444 #define DEFAULT_SHOW_NUMERICS 0
445 #define	DEFAULT_SHOW_STATUS_ALL 0
446 #define DEFAULT_SHOW_WHO_HOPCOUNT 1
447 #define DEFAULT_STATUS_AWAY " (Away)"
448 #define DEFAULT_STATUS_CHANNEL " %C"
449 #define DEFAULT_STATUS_CHANOP "@"
450 #define DEFAULT_STATUS_HALFOP "%"
451 #define DEFAULT_STATUS_SSL_ON "*SSL*"
452 #define DEFAULT_STATUS_SSL_OFF "*RAW*"
453 #define DEFAULT_STATUS_CLOCK " %T"
454 #define DEFAULT_STATUS_CPU_SAVER " (%L)"
455 #define DEFAULT_STATUS_FORMAT "%T [%R] %*%=%@%N%#%S%H%B%Q%A%C%+%I%O%M%F%L %D %U %W"
456 #define DEFAULT_STATUS_FORMAT1 "%T [%R] %*%=%@%N%#%S%H%B%Q%A%C%+%I%O%M%F%L %U "
457 #define DEFAULT_STATUS_FORMAT2 "%W %X %Y %Z "
458 #define DEFAULT_STATUS_HOLD " Held: "
459 #define DEFAULT_STATUS_HOLD_LINES "%B"
460 #define DEFAULT_STATUS_INSERT ""
461 #define DEFAULT_STATUS_MODE " (+%+)"
462 #define DEFAULT_STATUS_MAIL " (Mail: %M)"
463 #define DEFAULT_STATUS_NICK "%N"
464 #define DEFAULT_STATUS_NO_REPEAT 0
465 #define	DEFAULT_STATUS_NOSWAP "(NOSWAP)"
466 #define	DEFAULT_STATUS_NOTIFY " (W: %F)"
467 #define DEFAULT_STATUS_OPER "*"
468 #define DEFAULT_STATUS_OVERWRITE " (Overwrite)"
469 #define DEFAULT_STATUS_QUERY " (Query: %Q)"
470 #define DEFAULT_STATUS_SCROLLBACK " (Scroll)"
471 #define DEFAULT_STATUS_SERVER " (%S)"
472 #define DEFAULT_STATUS_TRUNCATE_RHS 1
473 #define DEFAULT_STATUS_UMODE " (+%#)"
474 #define DEFAULT_STATUS_USER "ircII-EPIC4 -- Type /help for help"
475 #define DEFAULT_STATUS_USER1 ""
476 #define DEFAULT_STATUS_USER2 ""
477 #define DEFAULT_STATUS_USER3 ""
478 #define DEFAULT_STATUS_USER4 ""
479 #define DEFAULT_STATUS_USER5 ""
480 #define DEFAULT_STATUS_USER6 ""
481 #define DEFAULT_STATUS_USER7 ""
482 #define DEFAULT_STATUS_USER8 ""
483 #define DEFAULT_STATUS_USER9 ""
484 #define DEFAULT_STATUS_USER10 ""
485 #define DEFAULT_STATUS_USER11 ""
486 #define DEFAULT_STATUS_USER12 ""
487 #define DEFAULT_STATUS_USER13 ""
488 #define DEFAULT_STATUS_USER14 ""
489 #define DEFAULT_STATUS_USER15 ""
490 #define DEFAULT_STATUS_USER16 ""
491 #define DEFAULT_STATUS_USER17 ""
492 #define DEFAULT_STATUS_USER18 ""
493 #define DEFAULT_STATUS_USER19 ""
494 #define DEFAULT_STATUS_USER20 ""
495 #define DEFAULT_STATUS_USER21 ""
496 #define DEFAULT_STATUS_USER22 ""
497 #define DEFAULT_STATUS_USER23 ""
498 #define DEFAULT_STATUS_USER24 ""
499 #define DEFAULT_STATUS_USER25 ""
500 #define DEFAULT_STATUS_USER26 ""
501 #define DEFAULT_STATUS_USER27 ""
502 #define DEFAULT_STATUS_USER28 ""
503 #define DEFAULT_STATUS_USER29 ""
504 #define DEFAULT_STATUS_USER30 ""
505 #define DEFAULT_STATUS_USER31 ""
506 #define DEFAULT_STATUS_USER32 ""
507 #define DEFAULT_STATUS_USER33 ""
508 #define DEFAULT_STATUS_USER34 ""
509 #define DEFAULT_STATUS_USER35 ""
510 #define DEFAULT_STATUS_USER36 ""
511 #define DEFAULT_STATUS_USER37 ""
512 #define DEFAULT_STATUS_USER38 ""
513 #define DEFAULT_STATUS_USER39 ""
514 #define DEFAULT_STATUS_VOICE "+"
515 #define DEFAULT_STATUS_WINDOW "^^^^^^^^"
516 #define DEFAULT_SUPPRESS_FROM_REMOTE_SERVER 0
517 #define DEFAULT_SUPPRESS_SERVER_MOTD 0
518 #define DEFAULT_SWITCH_CHANNEL_ON_PART 1
519 #define DEFAULT_SWITCH_CHANNELS_BETWEEN_WINDOWS 1
520 #define DEFAULT_TAB 1
521 #define	DEFAULT_TAB_MAX 0
522 #define DEFAULT_TERM_DOES_BRIGHT_BLINK 0
523 #define DEFAULT_UNDERLINE_VIDEO 1
524 #define DEFAULT_USERINFO "EPIC4 -- Get your laundry brighter, not just whiter!"
525 #define DEFAULT_VERBOSE_CTCP 1
526 #define DEFAULT_WORD_BREAK ".,; \t"
527 #define DEFAULT_WSERV_TYPE "screen"
528 #define DEFAULT_XTERM "xterm"
529 #define DEFAULT_XTERM_OPTIONS NULL
530 
531 /*
532  * People have wanted me to explain some of these #defines.  Well,
533  * Ill tell you what i will do.  I will tell you that some of these
534  * defines turn on obscure features, and others turn on features that
535  * are specificly placed there at the request of one of the debuggers,
536  * but i am making the option of using it available to the general
537  * public.  You should always be aware of what changing one of these
538  * #defines might do to affect the operation of the client.  You can get
539  * a good feel for the impact by grepping the source code for them.
540  * General "themes" of what the defines do are listed on the right.
541  * These "themes" describe the *spirit* of the define, but do NOT
542  * annotate every reprocussion of defining it!
543  *
544  * Also, i dont guarantee that changing any of these defines will
545  * or wont compile correctly, so you may have to be prepared to do
546  * some minor debugging in that case (send patches along to me if
547  * you do =)  Dont change any of these unless you know what it will do.
548  */
549 #undef EMACS_KEYBINDINGS	/* meta-key keybindings. */
550 #undef EPIC_DEBUG		/* force coredump on panic */
551 #define EXEC_COMMAND		/* allow /exec comamnd */
552 #undef HACKED_DCC_WARNING	/* warn if handshake != sender */
553 #undef HARD_UNFLASH		/* do a hard reset instead of soft on refresh */
554 #undef NO_BOTS			/* no bots allowed */
555 #undef NO_CHEATING		/* always do it the "right" way, no shortcuts */
556 #undef STRIP_EXTRANEOUS_SPACES	/* strip leading and trailing spaces */
557 
558 #undef	I_DONT_TRUST_MY_USERS	/* There are certain things that the stock
559 				   ircII client doesnt allow users to do
560 				   that are neither illegal by the letter of
561 				   the protocol nor the spirit of the protocol.
562 				   These are the things that only a really
563 				   anal retentive person would want to totaly
564 				   prohibit his users from doing without any
565 				   exceptions.  When i find these things, i
566 				   #ifdef them out under this define.  The
567 				   specific list of what may or may not be
568 				   contained under this define can change
569 				   from release to release.  This replaces
570 				   the I_AM_A_FASCIST_BASTARD define which
571 				   several people found offensive because
572 				   they wanted to define it =) */
573 
574 /* Dont change these -- theyre important. */
575 #if defined(VALID_UIDS) && !defined(HARD_SECURE)
576 #undef VALID_UIDS
577 #endif
578 
579 #if defined(PASSWORD) && !defined(HARD_SECURE) && !defined(SOFT_SECURE)
580 #undef PASSWORD
581 #endif
582 
583 #if defined(HARD_SECURE) && !defined(VALID_UIDS)
584 #error You must #define VALID_UIDS if you #define HARD_SECURE
585 #endif
586 
587 #if defined(VALID_UID_FILE) && !defined(SOFT_SECURE)
588 #undef VALID_UID_FILE
589 #endif
590 
591 #if defined(SOFT_SECURE) && !defined(VALID_UID_FILE)
592 #error You must #define VALID_UID_FILE if you #define SOFT_SECURE
593 #endif
594 
595 #ifndef SPOOF_PROGRAM
596 #define SPOOF_PROGRAM "/bin/sh"
597 #endif
598 /* end of section not to change */
599 
600 #undef ALLOC_DEBUG
601 
602 #endif /* _CONFIG_H_ */
603 
604