]>
Commit | Line | Data |
---|---|---|
f110f47e | 1 | #!/bin/sh |
5b7168d1 | 2 | # |
3 | # Config script for UnrealIRCd | |
4 | # (C) 2001 The UnrealIRCd Team | |
5 | # | |
6 | # This configure script is free software; the UnrealIRCd Team gives | |
7 | # unlimited permission to copy, distribute and modify as long as the | |
8 | # copyright headers stay intact | |
9 | # | |
10 | # | |
82c52cb2 | 11 | # Rewritten completely to be an interface to autoconf by codemastr |
12 | # This was inspired by the config by Michael Graff (explorer@flame.org) | |
13 | # but was written from scratch | |
14 | ||
15 | # In order to be faster than the old Config, this assumes that all information | |
16 | # in the cache file is valid and therefore doesn't check it, so if you messed with | |
17 | # default values thats your problem :P | |
18 | ||
cdaaa80c | 19 | # some bits edited by baafie on March 17 2004, every change marked. |
20 | ||
12eabdba | 21 | |
22 | RUN_CONFIGURE () { | |
23 | ARG="" | |
704b6260 BM |
24 | # Do this even if we're not in advanced mode |
25 | if [ "$SHOWLISTMODES" = "1" ] ; then | |
26 | ARG="$ARG--with-showlistmodes " | |
27 | fi | |
28 | if [ "$ADVANCED" = "1" ] ; then | |
29 | if [ "$TOPICNICKISNUH" = "1" ] ; then | |
30 | ARG="$ARG--with-topicisnuhost " | |
31 | fi | |
32 | if [ "$SHUNNOTICES" = "1" ] ; then | |
33 | ARG="$ARG--with-shunnotices " | |
34 | fi | |
35 | if [ "$NOOPEROVERRIDE" = "1" ] ; then | |
36 | ARG="$ARG--with-no-operoverride " | |
37 | fi | |
38 | if [ "$DISABLEUSERMOD" = "1" ] ; then | |
39 | ARG="$ARG--with-disableusermod " | |
40 | fi | |
41 | if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then | |
42 | ARG="$ARG--with-operoverride-verify " | |
43 | fi | |
2c7a3f2e | 44 | if [ "$DISABLEEXTBANSTACKING" = "1" ]; then |
45 | ARG="$ARG--with-disable-extendedban-stacking "; | |
46 | fi | |
ca86e3b8 | 47 | ARG="$ARG--with-moduleswhich=$MODULESWHICH " |
704b6260 | 48 | fi |
12eabdba | 49 | if [ "$NOSPOOF" = "1" ] ; then |
50 | ARG="$ARG--enable-nospoof " | |
51 | fi | |
52 | if [ -n "$HUB" ] ; then | |
53 | ARG="$ARG--enable-hub " | |
54 | fi | |
55 | if [ "$CRYPTOIRCD" = "1" ] ; then | |
06dc8646 | 56 | if test x"$SSLDIR" = "x" ; then |
12eabdba | 57 | ARG="$ARG--enable-ssl " |
06dc8646 | 58 | else |
59 | ARG="$ARG--enable-ssl=$SSLDIR " | |
60 | fi | |
61 | fi | |
62 | if [ "$ZIPLINKS" = "1" ] ; then | |
63 | if test x"$ZIPLINKSDIR" = "x" ; then | |
64 | ARG="$ARG--enable-ziplinks " | |
65 | else | |
66 | ARG="$ARG--enable-ziplinks=$ZIPLINKSDIR " | |
67 | fi | |
12eabdba | 68 | fi |
3be92d02 | 69 | if [ "$REMOTEINC" = "1" ] ; then |
70 | ARG="$ARG--enable-libcurl=$CURLDIR " | |
71 | fi | |
d276e9a1 | 72 | if [ "$INET6" = "1" ] ; then |
73 | ARG="$ARG--enable-inet6 " | |
74 | fi | |
948b4e61 BM |
75 | if [ "$PREFIXAQ" = "1" ]; then |
76 | ARG="$ARG--enable-prefixaq " | |
77 | fi | |
12eabdba | 78 | ARG="$ARG--with-listen=$LISTEN_SIZE " |
79 | ARG="$ARG--with-dpath=$DPATH " | |
80 | ARG="$ARG--with-spath=$SPATH " | |
81 | ARG="$ARG--with-nick-history=$NICKNAMEHISTORYLENGTH " | |
82 | ARG="$ARG--with-sendq=$MAXSENDQLENGTH " | |
83 | ARG="$ARG--with-bufferpool=$BUFFERPOOL " | |
12eabdba | 84 | ARG="$ARG--with-permissions=$DEFPERM " |
85 | ARG="$ARG--with-fd-setsize=$MAXCONNECTIONS " | |
86 | ARG="$ARG--enable-dynamic-linking " | |
c6e8b4b2 | 87 | ARG="$ARG $EXTRAPARA " |
12eabdba | 88 | CONF="./configure $ARG" |
89 | echo $CONF | |
cbdd3138 BM |
90 | $CONF || exit 1 |
91 | cd "$UNREALCWD" | |
12eabdba | 92 | if [ "$CRYPTOIRCD" = "1" ] ; then |
93 | if [ ! -f server.req.pem ]; then | |
94 | export OPENSSLPATH | |
95 | make pem | |
96 | cat .SICI | |
97 | read cc | |
98 | else | |
99 | echo "SSL certificate already existing, no need to regenerate" | |
100 | fi | |
101 | fi | |
102 | } | |
103 | ||
704b6260 BM |
104 | RUN_ADVANCED () { |
105 | TEST="" | |
106 | while [ -z "$TEST" ] ; do | |
107 | if [ "$SHOWLISTMODES" = "1" ] ; then | |
108 | TEST="Yes" | |
109 | else | |
110 | TEST="No" | |
111 | fi | |
112 | echo "" | |
113 | echo "Do you want to show the modes a channel has set in the /list output?" | |
114 | echo $n "[$TEST] -> $c" | |
115 | read cc | |
116 | if [ -z "$cc" ] ; then | |
117 | cc=$TEST | |
118 | fi | |
119 | case "$cc" in | |
120 | [Yy]*) | |
121 | SHOWLISTMODES="1" | |
122 | ;; | |
123 | [Nn]*) | |
124 | SHOWLISTMODES="" | |
125 | ;; | |
126 | *) | |
127 | echo "" | |
128 | echo "You must enter either Yes or No" | |
129 | TEST="" | |
130 | ;; | |
131 | esac | |
132 | done | |
133 | ||
134 | TEST="" | |
135 | while [ -z "$TEST" ] ; do | |
136 | if [ "$TOPICNICKISNUH" = "1" ] ; then | |
137 | TEST="Yes" | |
138 | else | |
139 | TEST="No" | |
140 | fi | |
141 | echo "" | |
142 | echo "Do you want the /topic command to show the nick!user@host of the person" | |
143 | echo "who set the topic, rather than just the nickname?" | |
144 | echo $n "[$TEST] -> $c" | |
145 | read cc | |
146 | if [ -z "$cc" ] ; then | |
147 | cc=$TEST | |
148 | fi | |
149 | case "$cc" in | |
150 | [Yy]*) | |
151 | TOPICNICKISNUH="1" | |
152 | ;; | |
153 | [Nn]*) | |
154 | TOPICNICKISNUH="" | |
155 | ;; | |
156 | *) | |
157 | echo "" | |
158 | echo "You must enter either Yes or No" | |
159 | TEST="" | |
160 | ;; | |
161 | esac | |
162 | done | |
163 | ||
164 | TEST="" | |
165 | while [ -z "$TEST" ] ; do | |
166 | if [ "$SHUNNOTICES" = "1" ] ; then | |
167 | TEST="Yes" | |
168 | else | |
169 | TEST="No" | |
170 | fi | |
171 | echo "" | |
172 | echo "Should Unreal notify a user when they are no longer shunned?" | |
173 | echo $n "[$TEST] -> $c" | |
174 | read cc | |
175 | if [ -z "$cc" ] ; then | |
176 | cc=$TEST | |
177 | fi | |
178 | case "$cc" in | |
179 | [Yy]*) | |
180 | SHUNNOTICES="1" | |
181 | ;; | |
182 | [Nn]*) | |
183 | SHUNNOTICES="" | |
184 | ;; | |
185 | *) | |
186 | echo "" | |
187 | echo "You must enter either Yes or No" | |
188 | TEST="" | |
189 | ;; | |
190 | esac | |
191 | done | |
192 | ||
193 | TEST="" | |
194 | while [ -z "$TEST" ] ; do | |
195 | if [ "$NOOPEROVERRIDE" = "1" ] ; then | |
196 | TEST="Yes" | |
197 | else | |
198 | TEST="No" | |
199 | fi | |
200 | echo "" | |
201 | echo "Do you want to disable oper override?" | |
202 | echo $n "[$TEST] -> $c" | |
203 | read cc | |
204 | if [ -z "$cc" ] ; then | |
205 | cc=$TEST | |
206 | fi | |
207 | case "$cc" in | |
208 | [Yy]*) | |
209 | NOOPEROVERRIDE="1" | |
210 | ;; | |
211 | [Nn]*) | |
212 | NOOPEROVERRIDE="" | |
213 | ;; | |
214 | *) | |
215 | echo "" | |
216 | echo "You must enter either Yes or No" | |
217 | TEST="" | |
218 | ;; | |
219 | esac | |
220 | done | |
221 | ||
222 | TEST="" | |
223 | while [ -z "$TEST" ] ; do | |
224 | if [ "$DISABLEUSERMOD" = "1" ] ; then | |
225 | TEST="Yes" | |
226 | else | |
227 | TEST="No" | |
228 | fi | |
229 | echo "" | |
230 | echo "Do you want to disable /sethost, /setident, /chgname," | |
231 | echo "/chghost, and /chgident?" | |
232 | echo $n "[$TEST] -> $c" | |
233 | read cc | |
234 | if [ -z "$cc" ] ; then | |
235 | cc=$TEST | |
236 | fi | |
237 | case "$cc" in | |
238 | [Yy]*) | |
239 | DISABLEUSERMOD="1" | |
240 | ;; | |
241 | [Nn]*) | |
242 | DISABLEUSERMOD="" | |
243 | ;; | |
244 | *) | |
245 | echo "" | |
246 | echo "You must enter either Yes or No" | |
247 | TEST="" | |
248 | ;; | |
249 | esac | |
250 | done | |
251 | ||
252 | TEST="" | |
253 | while [ -z "$TEST" ] ; do | |
254 | if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then | |
255 | TEST="Yes" | |
256 | else | |
257 | TEST="No" | |
258 | fi | |
259 | echo "" | |
260 | echo "Do you want to require opers to /invite themselves into a +s or +p channel?" | |
261 | echo $n "[$TEST] -> $c" | |
262 | read cc | |
263 | if [ -z "$cc" ] ; then | |
264 | cc=$TEST | |
265 | fi | |
266 | case "$cc" in | |
267 | [Yy]*) | |
268 | OPEROVERRIDEVERIFY="1" | |
269 | ;; | |
270 | [Nn]*) | |
271 | OPEROVERRIDEVERIFY="" | |
272 | ;; | |
273 | *) | |
274 | echo "" | |
275 | echo "You must enter either Yes or No" | |
276 | TEST="" | |
277 | ;; | |
278 | esac | |
279 | done | |
280 | ||
2c7a3f2e | 281 | TEST="" |
282 | while [ -z "$TEST" ] ; do | |
283 | if [ "$DISABLEEXTBANSTACKING" = "1" ] ; then | |
284 | TEST="Yes" | |
285 | else | |
286 | TEST="No" | |
287 | fi | |
288 | echo "" | |
289 | echo "Do you want to disable extended ban stacking (~q:~c:#test, etc) support?" | |
290 | echo $n "[$TEST] -> $c" | |
291 | read cc | |
292 | if [ -z "$cc" ] ; then | |
293 | cc=$TEST | |
294 | fi | |
295 | case "$cc" in | |
296 | [Yy]*) | |
297 | DISABLEEXTBANSTACKING="1" | |
298 | ;; | |
299 | [Nn]*) | |
300 | DISABLEEXTBANSTACKING="0" | |
301 | ;; | |
302 | *) | |
303 | echo "" | |
304 | echo "You must enter either Yes or No" | |
305 | TEST="" | |
306 | ;; | |
307 | esac | |
308 | done | |
309 | ||
ca86e3b8 | 310 | TEST="" |
311 | while [ -z "$TEST" ]; do | |
312 | if [ "$MODULESWHICH" = "onlycommands" ]; then | |
313 | TEST="commands" | |
314 | elif [ "$MODULESWHICH" = "onlymodules" ]; then | |
315 | TEST="modules" | |
316 | else | |
317 | TEST="both" | |
318 | fi | |
319 | echo "" | |
320 | echo "Do you wish to compile commands.so, the m_*.so modules, or both?" | |
321 | echo $n "[$TEST] -> $c" | |
322 | read cc | |
323 | if [ -z "$cc" ]; then | |
324 | cc=$TEST | |
325 | fi | |
326 | case "$cc" in | |
327 | commands|commands.so|onlycommands|commandsonly) | |
328 | MODULESWHICH="onlycommands" | |
329 | ;; | |
330 | modules|m_\*.so|onlymodules|modulesonly) | |
331 | MODULESWHICH="onlymodules" | |
332 | ;; | |
333 | both|commandsandmodules|modulesandcommands) | |
334 | MODULESWHICH="commandsandmodules" | |
335 | ;; | |
336 | *) | |
337 | echo "" | |
338 | echo "Unrecognized response" | |
339 | TEST="" | |
340 | esac | |
341 | done | |
704b6260 | 342 | } |
82c52cb2 | 343 | c="" |
344 | n="" | |
cbdd3138 | 345 | UNREALCWD="`pwd`" |
5b7168d1 | 346 | NOSPOOF="" |
82c52cb2 | 347 | DPATH="`pwd`" |
d776eb39 | 348 | SPATH="`pwd`/src" |
5b7168d1 | 349 | HUB="1" |
82c52cb2 | 350 | DEFPERM="0600" |
351 | CRYPTOIRCD="" | |
06dc8646 | 352 | SSLDIR="" |
353 | ZIPLINKS="" | |
354 | ZIPLINKSDIR="" | |
f110f47e | 355 | LISTEN_SIZE="5" |
82c52cb2 | 356 | NICKNAMEHISTORYLENGTH="2000" |
f110f47e | 357 | MAXSENDQLENGTH="3000000" |
8a4856fa | 358 | BUFFERPOOL="18" |
f110f47e | 359 | MAXCONNECTIONS="1024" |
d276e9a1 | 360 | INET6="" |
3be92d02 | 361 | REMOTEINC="" |
362 | CURLDIR="" | |
cbdd3138 | 363 | PREFIXAQ="1" |
704b6260 BM |
364 | SHOWLISTMODES="1" |
365 | TOPICNICKISNUH="" | |
366 | SHUNNOTICES="" | |
367 | NOOPEROVERRIDE="" | |
368 | DISABLEUSERMOD="" | |
369 | OPEROVERRIDEVERIFY="" | |
2c7a3f2e | 370 | DISABLEEXTBANSTACKING="" |
ca86e3b8 | 371 | MODULESWHICH="" |
c6e8b4b2 | 372 | EXTRAPARA="" |
f110f47e | 373 | if [ "`eval echo -n 'a'`" = "-n a" ] ; then |
82c52cb2 | 374 | c="\c" |
f110f47e | 375 | else |
82c52cb2 | 376 | n="-n" |
377 | fi | |
378 | ||
379 | ||
380 | #parse arguments | |
381 | NOCACHE="" | |
382 | NOINTRO="" | |
704b6260 BM |
383 | CLEAN="" |
384 | ADVANCED="" | |
385 | while [ $# -ge 1 ] ; do | |
386 | if [ $1 = "--help" ] ; then | |
387 | echo "Config utility for UnrealIRCd" | |
388 | echo "-----------------------------" | |
389 | echo "Syntax: ./Config [options]" | |
390 | echo "-nocache Ignore settings saved in config.settings" | |
391 | echo "-nointro Skip intro (release notes, etc)" | |
392 | echo "-quick Skip questions, go straight to configure" | |
393 | echo "-advanced Include additional advanced questions" | |
394 | echo "-clean Clean ./configure cache" | |
395 | exit 0 | |
396 | elif [ $1 = "-nocache" ] ; then | |
397 | NOCACHE="1" | |
398 | elif [ $1 = "-nointro" ] ; then | |
399 | NOINTRO="1" | |
400 | elif [ $1 = "-quick" -o $1 = "-q" ] ; then | |
401 | echo "running quick config" | |
402 | if [ -f "config.settings" ] ; then | |
403 | . ./config.settings | |
404 | fi | |
405 | RUN_CONFIGURE | |
cbdd3138 | 406 | cd "$UNREALCWD" |
704b6260 BM |
407 | exit 0 |
408 | elif [ $1 = "-clean" -o $1 = "-C" ] ; then | |
409 | CLEAN="1" | |
410 | elif [ $1 = "-advanced" ] ; then | |
411 | PREADVANCED="1" | |
412 | fi | |
413 | shift 1 | |
414 | done | |
82c52cb2 | 415 | |
6eb05943 | 416 | if [ -f "config.settings" -a -z "$NOCACHE" ] ; then |
704b6260 | 417 | . ./config.settings |
f110f47e | 418 | fi |
419 | ||
704b6260 BM |
420 | if [ "$PREADVANCED" = "1" ] ; then |
421 | ADVANCED="1" | |
422 | elif [ "$ADVANCED" = "1" ]; then | |
423 | ADVANCED="" | |
6eb05943 | 424 | fi |
425 | ||
704b6260 BM |
426 | if [ -n "$CLEAN" ] ; then |
427 | rm -f config.cache | |
12eabdba | 428 | fi |
429 | ||
f110f47e | 430 | clear |
431 | ||
6eb05943 | 432 | if [ -f ".CHANGES.NEW" -a -z "$NOINTRO" ] ; then |
f110f47e | 433 | more .CHANGES.NEW |
82c52cb2 | 434 | echo $n "[Enter to continue]" |
f110f47e | 435 | read cc |
760dc8da | 436 | clear |
437 | fi | |
6eb05943 | 438 | if [ -f ".RELEASE.NOTES" -a -z "$NOINTRO" ] ; then |
760dc8da | 439 | more .RELEASE.NOTES |
82c52cb2 | 440 | echo $n "[Enter to continue]" |
760dc8da | 441 | read cc |
442 | clear | |
f110f47e | 443 | fi |
f110f47e | 444 | |
82c52cb2 | 445 | TEST="" |
446 | while [ -z "$TEST" ] ; do | |
447 | if [ "$NOSPOOF" = "1" ] ; then | |
448 | TEST="Yes" | |
f110f47e | 449 | else |
82c52cb2 | 450 | TEST="No" |
f110f47e | 451 | fi |
452 | echo "" | |
82c52cb2 | 453 | echo "Many older operating systems have an insecure TCP/IP stack" |
454 | echo "which may be vulnerable to IP spoofing attacks, if you run" | |
455 | echo "an operating system that is vulnerable to such attacks" | |
a68898df BM |
456 | echo "enable this option. This option can also be useful to prevent" |
457 | echo "blind proxies from connecting (eg: HTTP POST proxies)." | |
f110f47e | 458 | echo "" |
a68898df | 459 | echo "Do you want to enable the server anti-spoof protection?" |
82c52cb2 | 460 | echo $n "[$TEST] -> $c" |
f110f47e | 461 | read cc |
f110f47e | 462 | if [ -z "$cc" ] ; then |
82c52cb2 | 463 | cc=$TEST |
f110f47e | 464 | fi |
465 | case "$cc" in | |
466 | [Yy]*) | |
467 | NOSPOOF="1" | |
468 | ;; | |
469 | [Nn]*) | |
470 | NOSPOOF="" | |
471 | ;; | |
472 | *) | |
473 | echo "" | |
82c52cb2 | 474 | echo "You must enter either Yes or No" |
475 | TEST="" | |
f110f47e | 476 | ;; |
477 | esac | |
478 | done | |
479 | ||
a46aa2a4 | 480 | TEST="$DPATH" |
481 | echo "" | |
d776eb39 | 482 | echo "Where do you want to install the server configuration files?" |
a46aa2a4 | 483 | echo $n "[$TEST] -> $c" |
484 | read cc | |
485 | if [ -z "$cc" ] ; then | |
486 | DPATH=$TEST | |
487 | else | |
cdaaa80c | 488 | DPATH=`eval echo $cc` # modified |
a46aa2a4 | 489 | fi |
f110f47e | 490 | |
a46aa2a4 | 491 | TEST="$SPATH" |
492 | echo "" | |
d776eb39 | 493 | echo "Where do you want to install the server binary?" |
a46aa2a4 | 494 | echo $n "[$TEST] -> $c" |
495 | read cc | |
496 | if [ -z "$cc" ] ; then | |
497 | SPATH=$TEST | |
498 | else | |
cdaaa80c | 499 | SPATH=`eval echo $cc` # modified |
a46aa2a4 | 500 | fi |
f110f47e | 501 | |
82c52cb2 | 502 | TEST="" |
503 | while [ -z "$TEST" ] ; do | |
504 | if [ "$HUB" = "1" ] ; then | |
505 | TEST="Hub" | |
f110f47e | 506 | else |
82c52cb2 | 507 | TEST="Leaf" |
f110f47e | 508 | fi |
509 | echo "" | |
ee1c5102 | 510 | echo "Would you like to compile as a hub or as a leaf?" |
82c52cb2 | 511 | echo "Type Hub to select hub and Leaf to select leaf." |
512 | echo $n "[$TEST] -> $c" | |
f110f47e | 513 | read cc |
f110f47e | 514 | if [ -z "$cc" ] ; then |
82c52cb2 | 515 | cc=$TEST |
f110f47e | 516 | fi |
517 | case "$cc" in | |
518 | [Hh]*) | |
519 | HUB="1" | |
520 | ;; | |
521 | [Ll]*) | |
522 | HUB="" | |
523 | ;; | |
524 | *) | |
525 | echo "" | |
82c52cb2 | 526 | echo "You must enter either Hub or Leaf" |
527 | TEST="" | |
f110f47e | 528 | ;; |
529 | esac | |
530 | done | |
531 | ||
82c52cb2 | 532 | TEST="" |
533 | while [ -z "$TEST" ] ; do | |
534 | TEST="$DEFPERM" | |
c0a30f63 | 535 | echo "" |
82c52cb2 | 536 | echo "What should the default permissions for your configuration files be? (Set this to 0 to disable)" |
c0a30f63 | 537 | echo "It is strongly recommended that you use 0600 to prevent unwanted reading of the file" |
82c52cb2 | 538 | echo $n "[$TEST] -> $c" |
c0a30f63 | 539 | read cc |
c0a30f63 | 540 | if [ -z "$cc" ] ; then |
82c52cb2 | 541 | DEFPERM=$TEST |
542 | break | |
c0a30f63 | 543 | fi |
82c52cb2 | 544 | case "$cc" in |
545 | [0-9]*) | |
546 | DEFPERM="$cc" | |
547 | ;; | |
548 | *) | |
549 | echo "" | |
550 | echo "You must enter a number" | |
551 | TEST="" | |
552 | ;; | |
553 | esac | |
554 | ||
c0a30f63 | 555 | done |
c0a30f63 | 556 | |
82c52cb2 | 557 | TEST="" |
558 | while [ -z "$TEST" ] ; do | |
559 | if [ "$CRYPTOIRCD" = "1" ] ; then | |
560 | TEST="Yes" | |
fc26ef3e | 561 | else |
82c52cb2 | 562 | TEST="No" |
fc26ef3e | 563 | fi |
564 | echo "" | |
82c52cb2 | 565 | echo "Do you want to support SSL (Secure Sockets Layer) connections?" |
566 | echo $n "[$TEST] -> $c" | |
fc26ef3e | 567 | read cc |
fc26ef3e | 568 | if [ -z "$cc" ] ; then |
82c52cb2 | 569 | cc=$TEST |
fc26ef3e | 570 | fi |
571 | case "$cc" in | |
572 | [Yy]*) | |
573 | CRYPTOIRCD="1" | |
fc26ef3e | 574 | ;; |
575 | [Nn]*) | |
576 | CRYPTOIRCD="" | |
577 | ;; | |
578 | *) | |
579 | echo "" | |
82c52cb2 | 580 | echo "You must enter either Yes or No" |
581 | TEST="" | |
fc26ef3e | 582 | ;; |
583 | esac | |
584 | done | |
fc26ef3e | 585 | |
06dc8646 | 586 | if [ "$CRYPTOIRCD" = "1" ] ; then |
f21c3384 | 587 | TEST="$SSLDIR" |
06dc8646 | 588 | echo "" |
589 | echo "If you know the path to OpenSSL on your system, enter it here. If not" | |
590 | echo "leave this blank" | |
591 | echo $n "[$TEST] -> $c" | |
592 | read cc | |
593 | if [ -z "$cc" ] ; then | |
f21c3384 | 594 | SSLDIR="$TEST" |
06dc8646 | 595 | else |
cdaaa80c | 596 | SSLDIR=`eval echo $cc` # modified |
06dc8646 | 597 | fi |
598 | fi | |
599 | ||
d276e9a1 | 600 | TEST="" |
601 | while [ -z "$TEST" ] ; do | |
602 | if [ "$INET6" = "1" ] ; then | |
603 | TEST="Yes" | |
604 | else | |
605 | TEST="No" | |
606 | fi | |
607 | echo "" | |
608 | echo "Do you want to enable IPv6 support?" | |
609 | echo $n "[$TEST] -> $c" | |
610 | read cc | |
611 | if [ -z "$cc" ] ; then | |
612 | cc=$TEST | |
613 | fi | |
614 | case "$cc" in | |
615 | [Yy]*) | |
616 | INET6="1" | |
617 | ;; | |
618 | [Nn]*) | |
619 | INET6="" | |
620 | ;; | |
621 | *) | |
622 | echo "" | |
623 | echo "You must enter either Yes or No" | |
624 | TEST="" | |
625 | ;; | |
626 | esac | |
627 | done | |
628 | ||
06dc8646 | 629 | TEST="" |
630 | while [ -z "$TEST" ] ; do | |
631 | if [ "$ZIPLINKS" = "1" ] ; then | |
632 | TEST="Yes" | |
633 | else | |
634 | TEST="No" | |
635 | fi | |
636 | echo "" | |
637 | echo "Do you want to enable ziplinks support?" | |
638 | echo $n "[$TEST] -> $c" | |
639 | read cc | |
640 | if [ -z "$cc" ] ; then | |
641 | cc=$TEST | |
642 | fi | |
643 | case "$cc" in | |
644 | [Yy]*) | |
645 | ZIPLINKS="1" | |
646 | ;; | |
647 | [Nn]*) | |
648 | ZIPLINKS="" | |
649 | ;; | |
650 | *) | |
651 | echo "" | |
652 | echo "You must enter either Yes or No" | |
653 | TEST="" | |
654 | ;; | |
655 | esac | |
656 | done | |
657 | ||
658 | if [ "$ZIPLINKS" = "1" ] ; then | |
f21c3384 | 659 | TEST="$ZIPLINKSDIR" |
06dc8646 | 660 | echo "" |
661 | echo "If you know the path to zlib on your system, enter it here. If not" | |
662 | echo "leave this blank" | |
663 | echo $n "[$TEST] -> $c" | |
664 | read cc | |
665 | if [ -z "$cc" ] ; then | |
f21c3384 | 666 | ZIPLINKSDIR="$TEST" |
06dc8646 | 667 | else |
cdaaa80c | 668 | ZIPLINKSDIR=`eval echo $cc` # modified |
06dc8646 | 669 | fi |
670 | fi | |
671 | ||
3be92d02 | 672 | TEST="" |
673 | while [ -z "$TEST" ] ; do | |
674 | if [ "$REMOTEINC" = "1" ] ; then | |
675 | TEST="Yes" | |
676 | else | |
677 | TEST="No" | |
678 | fi | |
679 | echo "" | |
680 | echo "Do you want to enable remote includes?" | |
681 | echo $n "[$TEST] -> $c" | |
682 | read cc | |
683 | if [ -z "$cc" ] ; then | |
684 | cc=$TEST | |
685 | fi | |
686 | case "$cc" in | |
687 | [Yy]*) | |
688 | REMOTEINC="1" | |
689 | ;; | |
690 | [Nn]*) | |
691 | REMOTEINC="" | |
10aa5e99 | 692 | CURLDIR="" |
3be92d02 | 693 | ;; |
694 | *) | |
695 | echo "" | |
696 | echo "You must enter either Yes or No" | |
697 | TEST="" | |
698 | ;; | |
699 | esac | |
700 | done | |
701 | ||
702 | if [ "$REMOTEINC" = "1" ] ; then | |
703 | TEST="" | |
704 | while [ -z "$TEST" ] ; do | |
10aa5e99 | 705 | TEST="$CURLDIR" |
3be92d02 | 706 | echo "" |
707 | echo "Specify the directory you installed libcurl to" | |
708 | echo $n "[$TEST] -> $c" | |
709 | read cc | |
710 | if [ -z "$cc" ] ; then | |
10aa5e99 | 711 | cc=$TEST |
3be92d02 | 712 | else |
713 | TEST=$cc | |
cdaaa80c | 714 | CURLDIR=`eval echo $cc` # modified |
3be92d02 | 715 | fi |
716 | done | |
717 | fi | |
718 | ||
719 | ||
948b4e61 BM |
720 | TEST="" |
721 | while [ -z "$TEST" ] ; do | |
722 | if [ "$PREFIXAQ" = "1" ] ; then | |
723 | TEST="Yes" | |
724 | else | |
725 | TEST="No" | |
726 | fi | |
727 | echo "" | |
728 | echo "Do you want to enable prefixes for chanadmin and chanowner?" | |
729 | echo "This will give +a the & prefix and ~ for +q (just like +o is @)" | |
cbdd3138 BM |
730 | echo "Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient," |
731 | echo "PJIRC, irssi, CGI:IRC, etc.)" | |
948b4e61 BM |
732 | echo "This feature should be enabled/disabled network-wide." |
733 | echo $n "[$TEST] -> $c" | |
734 | read cc | |
735 | if [ -z "$cc" ] ; then | |
736 | cc=$TEST | |
737 | fi | |
738 | case "$cc" in | |
739 | [Yy]*) | |
740 | PREFIXAQ="1" | |
741 | ;; | |
742 | [Nn]*) | |
743 | PREFIXAQ="" | |
744 | ;; | |
745 | *) | |
746 | echo "" | |
747 | echo "You must enter either Yes or No" | |
748 | TEST="" | |
749 | ;; | |
750 | esac | |
751 | done | |
752 | ||
753 | ||
82c52cb2 | 754 | TEST="" |
755 | while [ -z "$TEST" ] ; do | |
756 | TEST="$LISTEN_SIZE" | |
f110f47e | 757 | echo "" |
82c52cb2 | 758 | echo "What listen() backlog value do you wish to use? Some older servers" |
759 | echo "have problems with more than 5, others work fine with many more." | |
760 | echo $n "[$TEST] -> $c" | |
f110f47e | 761 | read cc |
f110f47e | 762 | if [ -z "$cc" ] ; then |
82c52cb2 | 763 | LISTEN_SIZE=$TEST |
764 | break | |
f110f47e | 765 | fi |
766 | case "$cc" in | |
767 | [1-9]*) | |
768 | LISTEN_SIZE="$cc" | |
769 | ;; | |
770 | *) | |
771 | echo "" | |
82c52cb2 | 772 | echo "You must enter a number" |
773 | TEST="" | |
f110f47e | 774 | ;; |
775 | esac | |
776 | done | |
777 | ||
82c52cb2 | 778 | TEST="" |
779 | while [ -z "$TEST" ] ; do | |
780 | TEST="$NICKNAMEHISTORYLENGTH" | |
f110f47e | 781 | echo "" |
782 | echo "How far back do you want to keep the nickname history?" | |
82c52cb2 | 783 | echo $n "[$TEST] -> $c" |
f110f47e | 784 | read cc |
f110f47e | 785 | if [ -z "$cc" ] ; then |
82c52cb2 | 786 | NICKNAMEHISTORYLENGTH=$TEST |
787 | break | |
f110f47e | 788 | fi |
789 | case "$cc" in | |
790 | [1-9]*) | |
791 | NICKNAMEHISTORYLENGTH="$cc" | |
792 | ;; | |
793 | *) | |
794 | echo "" | |
82c52cb2 | 795 | echo "You must enter a number" |
796 | TEST="" | |
f110f47e | 797 | ;; |
798 | esac | |
799 | done | |
800 | ||
82c52cb2 | 801 | TEST="" |
802 | while [ -z "$TEST" ] ; do | |
803 | TEST="$MAXSENDQLENGTH" | |
f110f47e | 804 | echo "" |
82c52cb2 | 805 | echo "What is the maximum sendq length you wish to have?" |
806 | echo $n "[$TEST] -> $c" | |
f110f47e | 807 | read cc |
f110f47e | 808 | if [ -z "$cc" ] ; then |
82c52cb2 | 809 | MAXSENDQLENGTH=$TEST |
810 | break | |
f110f47e | 811 | fi |
812 | case "$cc" in | |
82c52cb2 | 813 | [1-9][0-9][0-9][0-9]*) |
f110f47e | 814 | MAXSENDQLENGTH="$cc" |
815 | ;; | |
816 | *) | |
817 | echo "" | |
82c52cb2 | 818 | echo "You must enter a number greater than or equal to 1000" |
819 | TEST="" | |
f110f47e | 820 | ;; |
821 | esac | |
822 | done | |
823 | ||
82c52cb2 | 824 | TEST="" |
825 | while [ -z "$TEST" ] ; do | |
826 | TEST="$BUFFERPOOL" | |
f110f47e | 827 | echo "" |
5b7168d1 | 828 | echo "How many buffer pools would you like?" |
82c52cb2 | 829 | echo "This number will be multiplied by MAXSENDQLENGTH." |
830 | echo $n "[$TEST] -> $c" | |
f110f47e | 831 | read cc |
f110f47e | 832 | if [ -z "$cc" ] ; then |
82c52cb2 | 833 | BUFFERPOOL=$TEST |
834 | break | |
f110f47e | 835 | fi |
836 | case "$cc" in | |
82c52cb2 | 837 | [1-9]*) |
ee1c5102 | 838 | BUFFERPOOL="$cc" |
f110f47e | 839 | ;; |
82c52cb2 | 840 | *) |
841 | echo "" | |
842 | echo "You must enter a number" | |
843 | TEST="" | |
844 | ;; | |
f110f47e | 845 | esac |
82c52cb2 | 846 | |
f110f47e | 847 | done |
ee1c5102 | 848 | |
a75432c9 | 849 | echo "" |
82c52cb2 | 850 | TEST="" |
851 | while [ -z "$TEST" ] ; do | |
852 | TEST="$MAXCONNECTIONS" | |
f110f47e | 853 | echo "" |
82c52cb2 | 854 | echo "How many file descriptors (or sockets) can the IRCd use?" |
855 | echo $n "[$TEST] -> $c" | |
f110f47e | 856 | read cc |
f110f47e | 857 | if [ -z "$cc" ] ; then |
82c52cb2 | 858 | MAXCONNECTIONS=$TEST |
859 | break | |
f110f47e | 860 | fi |
861 | case "$cc" in | |
862 | [1-9][0-9][0-9]*) | |
863 | MAXCONNECTIONS="$cc" | |
864 | ;; | |
865 | *) | |
866 | echo "" | |
82c52cb2 | 867 | echo "You must to enter a number greater than or equal to 100" |
868 | TEST="" | |
f110f47e | 869 | ;; |
870 | esac | |
871 | done | |
704b6260 BM |
872 | if [ -n "$ADVANCED" ] ; then |
873 | RUN_ADVANCED | |
874 | fi | |
c6e8b4b2 | 875 | echo "" |
876 | echo "Would you like any more parameters to configure?" | |
877 | echo "Write them here:" | |
878 | echo $n "[]-> $c" | |
879 | read EXTRAPARA | |
880 | ||
82c52cb2 | 881 | rm -f config.settings |
882 | cat > config.settings << __EOF__ | |
f110f47e | 883 | # |
f110f47e | 884 | NOSPOOF="$NOSPOOF" |
f110f47e | 885 | DPATH="$DPATH" |
886 | SPATH="$SPATH" | |
d276e9a1 | 887 | INET6="$INET6" |
948b4e61 | 888 | PREFIXAQ="$PREFIXAQ" |
f110f47e | 889 | LISTEN_SIZE="$LISTEN_SIZE" |
890 | MAXSENDQLENGTH="$MAXSENDQLENGTH" | |
891 | BUFFERPOOL="$BUFFERPOOL" | |
892 | MAXCONNECTIONS="$MAXCONNECTIONS" | |
893 | NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH" | |
894 | HUB="$HUB" | |
c0a30f63 | 895 | DEFPERM="$DEFPERM" |
d269e1a8 | 896 | CRYPTOIRCD="$CRYPTOIRCD" |
06dc8646 | 897 | SSLDIR="$SSLDIR" |
898 | ZIPLINKS="$ZIPLINKS" | |
899 | ZIPLINKSDIR="$ZIPLINKSDIR" | |
3be92d02 | 900 | REMOTEINC="$REMOTEINC" |
901 | CURLDIR="$CURLDIR" | |
704b6260 BM |
902 | SHOWLISTMODES="$SHOWLISTMODES" |
903 | TOPICNICKISNUH="$TOPICNICKISNUH" | |
904 | SHUNNOTICES="$SHUNNOTICES" | |
905 | NOOPEROVERRIDE="$NOOPEROVERRIDE" | |
906 | DISABLEUSERMOD="$DISABLEUSERMOD" | |
907 | OPEROVERRIDEVERIFY="$OPEROVERRIDEVERIFY" | |
2c7a3f2e | 908 | DISABLEEXTBANSTACKING="$DISABLEEXTBANSTACKING" |
ca86e3b8 | 909 | MODULESWHICH="$MODULESWHICH" |
c6e8b4b2 | 910 | EXTRAPARA="$EXTRAPARA" |
704b6260 | 911 | ADVANCED="$ADVANCED" |
f110f47e | 912 | __EOF__ |
12eabdba | 913 | RUN_CONFIGURE |
cbdd3138 | 914 | cd "$UNREALCWD" |
f110f47e | 915 | cat << __EOF__ |
916 | ||
82c52cb2 | 917 | _______________________________________________________________________ |
918 | | | | |
919 | | UnrealIRCd Compile-Time Config | | |
920 | |_______________________________________________________________________| | |
921 | |_______________________________________________________________________| | |
922 | | | | |
923 | | Now all you have to do is type 'make' and let it compile. When that's | | |
924 | | done, you will receive other instructions on what to do next. | | |
925 | | | | |
926 | |_______________________________________________________________________| | |
927 | |_______________________________________________________________________| | |
928 | | - The UnrealIRCd Team - | | |
929 | | | | |
930 | | * Stskeeps stskeeps@unrealircd.com | | |
931 | | * codemastr codemastr@unrealircd.com | | |
ae68ad49 | 932 | | * Syzop syzop@unrealircd.com | |
82c52cb2 | 933 | |_______________________________________________________________________| |
f110f47e | 934 | __EOF__ |
06dc8646 | 935 |