]> jfr.im git - irc/unrealircd/unrealircd.git/blob - Config
- Undid that. Version is now 3.3-willneverbereleased.
[irc/unrealircd/unrealircd.git] / Config
1 #!/bin/sh
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 #
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
19 # some bits edited by baafie on March 17 2004, every change marked.
20
21
22 RUN_CONFIGURE () {
23 ARG=""
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
44 if [ "$DISABLEEXTBANSTACKING" = "1" ]; then
45 ARG="$ARG--with-disable-extendedban-stacking ";
46 fi
47 ARG="$ARG--with-moduleswhich=$MODULESWHICH "
48 fi
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
56 if test x"$SSLDIR" = "x" ; then
57 ARG="$ARG--enable-ssl "
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
68 fi
69 if [ "$REMOTEINC" = "1" ] ; then
70 ARG="$ARG--enable-libcurl=$CURLDIR "
71 fi
72 if [ "$INET6" = "1" ] ; then
73 ARG="$ARG--enable-inet6 "
74 fi
75 if [ "$PREFIXAQ" = "1" ]; then
76 ARG="$ARG--enable-prefixaq "
77 fi
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 "
84 ARG="$ARG--with-permissions=$DEFPERM "
85 ARG="$ARG--with-fd-setsize=$MAXCONNECTIONS "
86 ARG="$ARG--enable-dynamic-linking "
87 ARG="$ARG $EXTRAPARA "
88 CONF="./configure $ARG"
89 echo $CONF
90 $CONF || exit 1
91 cd "$UNREALCWD"
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
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
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
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
342 }
343 c=""
344 n=""
345 UNREALCWD="`pwd`"
346 NOSPOOF=""
347 DPATH="`pwd`"
348 SPATH="`pwd`/src"
349 HUB="1"
350 DEFPERM="0600"
351 CRYPTOIRCD=""
352 SSLDIR=""
353 ZIPLINKS=""
354 ZIPLINKSDIR=""
355 LISTEN_SIZE="5"
356 NICKNAMEHISTORYLENGTH="2000"
357 MAXSENDQLENGTH="3000000"
358 BUFFERPOOL="18"
359 MAXCONNECTIONS="1024"
360 INET6=""
361 REMOTEINC=""
362 CURLDIR=""
363 PREFIXAQ="1"
364 SHOWLISTMODES="1"
365 TOPICNICKISNUH=""
366 SHUNNOTICES=""
367 NOOPEROVERRIDE=""
368 DISABLEUSERMOD=""
369 OPEROVERRIDEVERIFY=""
370 DISABLEEXTBANSTACKING=""
371 MODULESWHICH=""
372 EXTRAPARA=""
373 if [ "`eval echo -n 'a'`" = "-n a" ] ; then
374 c="\c"
375 else
376 n="-n"
377 fi
378
379
380 #parse arguments
381 NOCACHE=""
382 NOINTRO=""
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
406 cd "$UNREALCWD"
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
415
416 if [ -f "config.settings" -a -z "$NOCACHE" ] ; then
417 . ./config.settings
418 fi
419
420 if [ "$PREADVANCED" = "1" ] ; then
421 ADVANCED="1"
422 elif [ "$ADVANCED" = "1" ]; then
423 ADVANCED=""
424 fi
425
426 if [ -n "$CLEAN" ] ; then
427 rm -f config.cache
428 fi
429
430 clear
431
432 if [ -f ".CHANGES.NEW" -a -z "$NOINTRO" ] ; then
433 more .CHANGES.NEW
434 echo $n "[Enter to continue]"
435 read cc
436 clear
437 fi
438 if [ -f ".RELEASE.NOTES" -a -z "$NOINTRO" ] ; then
439 more .RELEASE.NOTES
440 echo $n "[Enter to continue]"
441 read cc
442 clear
443 fi
444
445 TEST=""
446 while [ -z "$TEST" ] ; do
447 if [ "$NOSPOOF" = "1" ] ; then
448 TEST="Yes"
449 else
450 TEST="No"
451 fi
452 echo ""
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"
456 echo "enable this option. This option can also be useful to prevent"
457 echo "blind proxies from connecting (eg: HTTP POST proxies)."
458 echo ""
459 echo "Do you want to enable the server anti-spoof protection?"
460 echo $n "[$TEST] -> $c"
461 read cc
462 if [ -z "$cc" ] ; then
463 cc=$TEST
464 fi
465 case "$cc" in
466 [Yy]*)
467 NOSPOOF="1"
468 ;;
469 [Nn]*)
470 NOSPOOF=""
471 ;;
472 *)
473 echo ""
474 echo "You must enter either Yes or No"
475 TEST=""
476 ;;
477 esac
478 done
479
480 TEST="$DPATH"
481 echo ""
482 echo "Where do you want to install the server configuration files?"
483 echo $n "[$TEST] -> $c"
484 read cc
485 if [ -z "$cc" ] ; then
486 DPATH=$TEST
487 else
488 DPATH=`eval echo $cc` # modified
489 fi
490
491 TEST="$SPATH"
492 echo ""
493 echo "Where do you want to install the server binary?"
494 echo $n "[$TEST] -> $c"
495 read cc
496 if [ -z "$cc" ] ; then
497 SPATH=$TEST
498 else
499 SPATH=`eval echo $cc` # modified
500 fi
501
502 TEST=""
503 while [ -z "$TEST" ] ; do
504 if [ "$HUB" = "1" ] ; then
505 TEST="Hub"
506 else
507 TEST="Leaf"
508 fi
509 echo ""
510 echo "Would you like to compile as a hub or as a leaf?"
511 echo "Type Hub to select hub and Leaf to select leaf."
512 echo $n "[$TEST] -> $c"
513 read cc
514 if [ -z "$cc" ] ; then
515 cc=$TEST
516 fi
517 case "$cc" in
518 [Hh]*)
519 HUB="1"
520 ;;
521 [Ll]*)
522 HUB=""
523 ;;
524 *)
525 echo ""
526 echo "You must enter either Hub or Leaf"
527 TEST=""
528 ;;
529 esac
530 done
531
532 TEST=""
533 while [ -z "$TEST" ] ; do
534 TEST="$DEFPERM"
535 echo ""
536 echo "What should the default permissions for your configuration files be? (Set this to 0 to disable)"
537 echo "It is strongly recommended that you use 0600 to prevent unwanted reading of the file"
538 echo $n "[$TEST] -> $c"
539 read cc
540 if [ -z "$cc" ] ; then
541 DEFPERM=$TEST
542 break
543 fi
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
555 done
556
557 TEST=""
558 while [ -z "$TEST" ] ; do
559 if [ "$CRYPTOIRCD" = "1" ] ; then
560 TEST="Yes"
561 else
562 TEST="No"
563 fi
564 echo ""
565 echo "Do you want to support SSL (Secure Sockets Layer) connections?"
566 echo $n "[$TEST] -> $c"
567 read cc
568 if [ -z "$cc" ] ; then
569 cc=$TEST
570 fi
571 case "$cc" in
572 [Yy]*)
573 CRYPTOIRCD="1"
574 ;;
575 [Nn]*)
576 CRYPTOIRCD=""
577 ;;
578 *)
579 echo ""
580 echo "You must enter either Yes or No"
581 TEST=""
582 ;;
583 esac
584 done
585
586 if [ "$CRYPTOIRCD" = "1" ] ; then
587 TEST="$SSLDIR"
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
594 SSLDIR="$TEST"
595 else
596 SSLDIR=`eval echo $cc` # modified
597 fi
598 fi
599
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
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
659 TEST="$ZIPLINKSDIR"
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
666 ZIPLINKSDIR="$TEST"
667 else
668 ZIPLINKSDIR=`eval echo $cc` # modified
669 fi
670 fi
671
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=""
692 CURLDIR=""
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
705 TEST="$CURLDIR"
706 echo ""
707 echo "Specify the directory you installed libcurl to"
708 echo $n "[$TEST] -> $c"
709 read cc
710 if [ -z "$cc" ] ; then
711 cc=$TEST
712 else
713 TEST=$cc
714 CURLDIR=`eval echo $cc` # modified
715 fi
716 done
717 fi
718
719
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 @)"
730 echo "Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,"
731 echo "PJIRC, irssi, CGI:IRC, etc.)"
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
754 TEST=""
755 while [ -z "$TEST" ] ; do
756 TEST="$LISTEN_SIZE"
757 echo ""
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"
761 read cc
762 if [ -z "$cc" ] ; then
763 LISTEN_SIZE=$TEST
764 break
765 fi
766 case "$cc" in
767 [1-9]*)
768 LISTEN_SIZE="$cc"
769 ;;
770 *)
771 echo ""
772 echo "You must enter a number"
773 TEST=""
774 ;;
775 esac
776 done
777
778 TEST=""
779 while [ -z "$TEST" ] ; do
780 TEST="$NICKNAMEHISTORYLENGTH"
781 echo ""
782 echo "How far back do you want to keep the nickname history?"
783 echo $n "[$TEST] -> $c"
784 read cc
785 if [ -z "$cc" ] ; then
786 NICKNAMEHISTORYLENGTH=$TEST
787 break
788 fi
789 case "$cc" in
790 [1-9]*)
791 NICKNAMEHISTORYLENGTH="$cc"
792 ;;
793 *)
794 echo ""
795 echo "You must enter a number"
796 TEST=""
797 ;;
798 esac
799 done
800
801 TEST=""
802 while [ -z "$TEST" ] ; do
803 TEST="$MAXSENDQLENGTH"
804 echo ""
805 echo "What is the maximum sendq length you wish to have?"
806 echo $n "[$TEST] -> $c"
807 read cc
808 if [ -z "$cc" ] ; then
809 MAXSENDQLENGTH=$TEST
810 break
811 fi
812 case "$cc" in
813 [1-9][0-9][0-9][0-9]*)
814 MAXSENDQLENGTH="$cc"
815 ;;
816 *)
817 echo ""
818 echo "You must enter a number greater than or equal to 1000"
819 TEST=""
820 ;;
821 esac
822 done
823
824 TEST=""
825 while [ -z "$TEST" ] ; do
826 TEST="$BUFFERPOOL"
827 echo ""
828 echo "How many buffer pools would you like?"
829 echo "This number will be multiplied by MAXSENDQLENGTH."
830 echo $n "[$TEST] -> $c"
831 read cc
832 if [ -z "$cc" ] ; then
833 BUFFERPOOL=$TEST
834 break
835 fi
836 case "$cc" in
837 [1-9]*)
838 BUFFERPOOL="$cc"
839 ;;
840 *)
841 echo ""
842 echo "You must enter a number"
843 TEST=""
844 ;;
845 esac
846
847 done
848
849 echo ""
850 TEST=""
851 while [ -z "$TEST" ] ; do
852 TEST="$MAXCONNECTIONS"
853 echo ""
854 echo "How many file descriptors (or sockets) can the IRCd use?"
855 echo $n "[$TEST] -> $c"
856 read cc
857 if [ -z "$cc" ] ; then
858 MAXCONNECTIONS=$TEST
859 break
860 fi
861 case "$cc" in
862 [1-9][0-9][0-9]*)
863 MAXCONNECTIONS="$cc"
864 ;;
865 *)
866 echo ""
867 echo "You must to enter a number greater than or equal to 100"
868 TEST=""
869 ;;
870 esac
871 done
872 if [ -n "$ADVANCED" ] ; then
873 RUN_ADVANCED
874 fi
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
881 rm -f config.settings
882 cat > config.settings << __EOF__
883 #
884 NOSPOOF="$NOSPOOF"
885 DPATH="$DPATH"
886 SPATH="$SPATH"
887 INET6="$INET6"
888 PREFIXAQ="$PREFIXAQ"
889 LISTEN_SIZE="$LISTEN_SIZE"
890 MAXSENDQLENGTH="$MAXSENDQLENGTH"
891 BUFFERPOOL="$BUFFERPOOL"
892 MAXCONNECTIONS="$MAXCONNECTIONS"
893 NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH"
894 HUB="$HUB"
895 DEFPERM="$DEFPERM"
896 CRYPTOIRCD="$CRYPTOIRCD"
897 SSLDIR="$SSLDIR"
898 ZIPLINKS="$ZIPLINKS"
899 ZIPLINKSDIR="$ZIPLINKSDIR"
900 REMOTEINC="$REMOTEINC"
901 CURLDIR="$CURLDIR"
902 SHOWLISTMODES="$SHOWLISTMODES"
903 TOPICNICKISNUH="$TOPICNICKISNUH"
904 SHUNNOTICES="$SHUNNOTICES"
905 NOOPEROVERRIDE="$NOOPEROVERRIDE"
906 DISABLEUSERMOD="$DISABLEUSERMOD"
907 OPEROVERRIDEVERIFY="$OPEROVERRIDEVERIFY"
908 DISABLEEXTBANSTACKING="$DISABLEEXTBANSTACKING"
909 MODULESWHICH="$MODULESWHICH"
910 EXTRAPARA="$EXTRAPARA"
911 ADVANCED="$ADVANCED"
912 __EOF__
913 RUN_CONFIGURE
914 cd "$UNREALCWD"
915 cat << __EOF__
916
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 |
932 | * Syzop syzop@unrealircd.com |
933 |_______________________________________________________________________|
934 __EOF__
935