1 diff -burN eggdrop1.6.17.orig/aclocal.m4 eggdrop1.6.17/aclocal.m4
2 --- eggdrop1.6.17.orig/aclocal.m4 2004-11-01 14:40:44.093457768 +0100
3 +++ eggdrop1.6.17/aclocal.m4 2004-11-01 14:41:51.767169800 +0100
10 +AC_DEFUN(EGG_SSL_CRAP, [dnl
12 +AC_MSG_CHECKING(whether to include SSL support)
14 +[ --with-ssl[=PATH] Include SSL support (DIR is OpenSSL's install dir).],
18 + AC_MSG_RESULT(no) ;;
21 + AC_CHECK_LIB(ssl,SSL_accept,[AC_DEFINE(EGG_SSL_EXT)
22 + SSL_LIBS="-lssl -lcrypto"],[AC_MSG_ERROR([You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL])],-lcrypto)
25 +dnl A whole whack of possible places where this might be
26 + test -f $withval/openssl/ssl.h && SSL_INCLUDE="$withval"
27 + test -f $withval/include/openssl/ssl.h && SSL_INCLUDE="$withval/include"
29 + test -f $withval/lib/libssl.a && SSL_LIB="$withval/lib"
30 + test -f $withval/lib/ssl/libssl.a && SSL_LIB="$withval/lib/ssl"
31 + test -f $withval/lib/openssl/libssl.a && SSL_LIB="$withval/lib/openssl/ssl"
32 + test -f $withval/libssl.a && SSL_LIB="$withval"
33 + test -f $withval/ssl/libssl.a && SSL_LIB="$withval/ssl"
34 + test -f $withval/openssl/libssl.a && SSL_LIB="$withval/openssl"
36 + test -f $withval/lib/libcrypto.a && CRYPTO_LIB="$withval/lib"
37 + test -f $withval/lib/ssl/libcrypto.a && CRYPTO_LIB="$withval/lib/ssl"
38 + test -f $withval/lib/openssl/libcrypto.a && CRYPTO_LIB="$withval/lib/openssl/ssl"
39 + test -f $withval/libcrypto.a && CRYPTO_LIB="$withval"
40 + test -f $withval/ssl/libcrypto.a && CRYPTO_LIB="$withval/ssl"
41 + test -f $withval/openssl/libcrypto.a && CRYPTO_LIB="$withval/openssl"
43 + if test -n "$SSL_INCLUDE" && test -n "$SSL_LIB" && test -n "$CRYPTO_LIB"; then
44 + SSL_LIBS="-lssl -lcrypto -L$SSL_LIB -L$CRYPTO_LIB";
45 + AC_DEFINE([EGG_SSL_EXT], [], [SSL support])
49 + AC_MSG_ERROR([You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL])
53 + AC_MSG_RESULT(will try to find)
54 + AC_CHECK_LIB(ssl,SSL_accept,[AC_DEFINE(EGG_SSL_EXT)
55 + SSL_LIBS="-lssl -lcrypto"],[AC_MSG_ERROR([OpenSSL was not found. Please supply a pathname to OpenSSL])],-lcrypto)
56 + AC_CHECK_HEADERS("openssl/ssl.h",,[AC_MSG_ERROR([OpenSSL was not found. Please supply a pathname to OpenSSL])],)
58 + AC_SUBST(SSL_LIBS)dnl
59 + AC_SUBST(SSL_INCLUDE)dnl
62 +#end of ssl checks - hoe (.16 by poci)
66 dnl EGG_MSG_CONFIGURE_END()
68 AC_DEFUN([EGG_MSG_CONFIGURE_END],
69 diff -burN eggdrop1.6.17.orig/config.h.in eggdrop1.6.17/config.h.in
70 --- eggdrop1.6.17.orig/config.h.in 2004-11-01 14:40:44.110455184 +0100
71 +++ eggdrop1.6.17/config.h.in 2004-11-01 14:41:51.769169496 +0100
73 /* Define to 1 if you have the `clock' function. */
76 +/* Defines ssl mode */
79 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
82 diff -burN eggdrop1.6.17.orig/configure eggdrop1.6.17/configure
83 --- eggdrop1.6.17.orig/configure 2004-11-01 14:40:44.098457008 +0100
84 +++ eggdrop1.6.17/configure 2004-11-01 14:43:30.021232912 +0100
89 -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS egg_ac_parameters CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB LN_S HEAD_1 STRIP AWK BASENAME UNAME DEFAULT_MAKE MOD_EXT MODULE_XLIBS MOD_LD MOD_CC MOD_STRIP SHLIB_LD SHLIB_CC SHLIB_STRIP EGGEXEC TCLLIB TCLLIBFN TCLINC TCLINCFN TCL_REQS TCL_LIBS EGGVERSION DESTDIR MOD_UPDIR LIBOBJS LTLIBOBJS'
90 +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS egg_ac_parameters CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE RANLIB ac_ct_RANLIB LN_S HEAD_1 STRIP AWK BASENAME UNAME DEFAULT_MAKE MOD_EXT MODULE_XLIBS MOD_LD MOD_CC MOD_STRIP SHLIB_LD SHLIB_CC SHLIB_STRIP EGGEXEC TCLLIB TCLLIBFN TCLINC TCLINCFN TCL_REQS TCL_LIBS SSL_LIBS SSL_INCLUDE EGGVERSION DESTDIR MOD_UPDIR LIBOBJS LTLIBOBJS'
93 # Initialize some variables set by options.
95 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
96 --with-tcllib=PATH full path to Tcl library
97 --with-tclinc=PATH full path to Tcl header
98 + --with-ssl=PATH Include SSL support (DIR is OpenSSL's install dir).
100 Some influential environment variables:
101 CC C compiler command
102 @@ -10100,6 +10101,374 @@
107 +echo "$as_me:$LINENO: checking whether to include SSL support" >&5
108 +echo $ECHO_N "checking whether to include SSL support... $ECHO_C" >&6
110 +# Check whether --with-ssl or --without-ssl was given.
111 +if test "${with_ssl+set}" = set; then
112 + withval="$with_ssl"
116 + echo "$as_me:$LINENO: result: no" >&5
117 +echo "${ECHO_T}no" >&6 ;;
119 + echo "$as_me:$LINENO: result: yes" >&5
120 +echo "${ECHO_T}yes" >&6
121 + echo "$as_me:$LINENO: checking for SSL_accept in -lssl" >&5
122 +echo $ECHO_N "checking for SSL_accept in -lssl... $ECHO_C" >&6
123 +if test "${ac_cv_lib_ssl_SSL_accept+set}" = set; then
124 + echo $ECHO_N "(cached) $ECHO_C" >&6
126 + ac_check_lib_save_LIBS=$LIBS
127 +LIBS="-lssl -lcrypto $LIBS"
128 +cat >conftest.$ac_ext <<_ACEOF
131 +cat confdefs.h >>conftest.$ac_ext
132 +cat >>conftest.$ac_ext <<_ACEOF
133 +/* end confdefs.h. */
135 +/* Override any gcc2 internal prototype to avoid an error. */
139 +/* We use char because int might match the return type of a gcc2
140 + builtin and then its argument prototype would still apply. */
150 +rm -f conftest.$ac_objext conftest$ac_exeext
151 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
152 + (eval $ac_link) 2>conftest.er1
154 + grep -v '^ *+' conftest.er1 >conftest.err
156 + cat conftest.err >&5
157 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
158 + (exit $ac_status); } &&
159 + { ac_try='test -z "$ac_c_werror_flag"
160 + || test ! -s conftest.err'
161 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
162 + (eval $ac_try) 2>&5
164 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
165 + (exit $ac_status); }; } &&
166 + { ac_try='test -s conftest$ac_exeext'
167 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
168 + (eval $ac_try) 2>&5
170 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
171 + (exit $ac_status); }; }; then
172 + ac_cv_lib_ssl_SSL_accept=yes
174 + echo "$as_me: failed program was:" >&5
175 +sed 's/^/| /' conftest.$ac_ext >&5
177 +ac_cv_lib_ssl_SSL_accept=no
179 +rm -f conftest.err conftest.$ac_objext \
180 + conftest$ac_exeext conftest.$ac_ext
181 +LIBS=$ac_check_lib_save_LIBS
183 +echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_accept" >&5
184 +echo "${ECHO_T}$ac_cv_lib_ssl_SSL_accept" >&6
185 +if test $ac_cv_lib_ssl_SSL_accept = yes; then
186 + cat >>confdefs.h <<\_ACEOF
187 +#define EGG_SSL_EXT 1
190 + SSL_LIBS="-lssl -lcrypto"
192 + { { echo "$as_me:$LINENO: error: You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL" >&5
193 +echo "$as_me: error: You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL" >&2;}
194 + { (exit 1); exit 1; }; }
199 + test -f $withval/openssl/ssl.h && SSL_INCLUDE="$withval"
200 + test -f $withval/include/openssl/ssl.h && SSL_INCLUDE="$withval/include"
202 + test -f $withval/lib/libssl.a && SSL_LIB="$withval/lib"
203 + test -f $withval/lib/ssl/libssl.a && SSL_LIB="$withval/lib/ssl"
204 + test -f $withval/lib/openssl/libssl.a && SSL_LIB="$withval/lib/openssl/ssl"
205 + test -f $withval/libssl.a && SSL_LIB="$withval"
206 + test -f $withval/ssl/libssl.a && SSL_LIB="$withval/ssl"
207 + test -f $withval/openssl/libssl.a && SSL_LIB="$withval/openssl"
209 + test -f $withval/lib/libcrypto.a && CRYPTO_LIB="$withval/lib"
210 + test -f $withval/lib/ssl/libcrypto.a && CRYPTO_LIB="$withval/lib/ssl"
211 + test -f $withval/lib/openssl/libcrypto.a && CRYPTO_LIB="$withval/lib/openssl/ssl"
212 + test -f $withval/libcrypto.a && CRYPTO_LIB="$withval"
213 + test -f $withval/ssl/libcrypto.a && CRYPTO_LIB="$withval/ssl"
214 + test -f $withval/openssl/libcrypto.a && CRYPTO_LIB="$withval/openssl"
216 + if test -n "$SSL_INCLUDE" && test -n "$SSL_LIB" && test -n "$CRYPTO_LIB"; then
217 + SSL_LIBS="-lssl -lcrypto -L$SSL_LIB -L$CRYPTO_LIB";
218 + cat >>confdefs.h <<\_ACEOF
219 +#define EGG_SSL_EXT 1
222 + echo "$as_me:$LINENO: result: yes" >&5
223 +echo "${ECHO_T}yes" >&6
225 + echo "$as_me:$LINENO: result: no" >&5
226 +echo "${ECHO_T}no" >&6
227 + { { echo "$as_me:$LINENO: error: You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL" >&5
228 +echo "$as_me: error: You requested SSL support, but OpenSSL was not found. Please supply a pathname to OpenSSL" >&2;}
229 + { (exit 1); exit 1; }; }
235 + echo "$as_me:$LINENO: result: will try to find" >&5
236 +echo "${ECHO_T}will try to find" >&6
237 + echo "$as_me:$LINENO: checking for SSL_accept in -lssl" >&5
238 +echo $ECHO_N "checking for SSL_accept in -lssl... $ECHO_C" >&6
239 +if test "${ac_cv_lib_ssl_SSL_accept+set}" = set; then
240 + echo $ECHO_N "(cached) $ECHO_C" >&6
242 + ac_check_lib_save_LIBS=$LIBS
243 +LIBS="-lssl -lcrypto $LIBS"
244 +cat >conftest.$ac_ext <<_ACEOF
247 +cat confdefs.h >>conftest.$ac_ext
248 +cat >>conftest.$ac_ext <<_ACEOF
249 +/* end confdefs.h. */
251 +/* Override any gcc2 internal prototype to avoid an error. */
255 +/* We use char because int might match the return type of a gcc2
256 + builtin and then its argument prototype would still apply. */
266 +rm -f conftest.$ac_objext conftest$ac_exeext
267 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
268 + (eval $ac_link) 2>conftest.er1
270 + grep -v '^ *+' conftest.er1 >conftest.err
272 + cat conftest.err >&5
273 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
274 + (exit $ac_status); } &&
275 + { ac_try='test -z "$ac_c_werror_flag"
276 + || test ! -s conftest.err'
277 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
278 + (eval $ac_try) 2>&5
280 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
281 + (exit $ac_status); }; } &&
282 + { ac_try='test -s conftest$ac_exeext'
283 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
284 + (eval $ac_try) 2>&5
286 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
287 + (exit $ac_status); }; }; then
288 + ac_cv_lib_ssl_SSL_accept=yes
290 + echo "$as_me: failed program was:" >&5
291 +sed 's/^/| /' conftest.$ac_ext >&5
293 +ac_cv_lib_ssl_SSL_accept=no
295 +rm -f conftest.err conftest.$ac_objext \
296 + conftest$ac_exeext conftest.$ac_ext
297 +LIBS=$ac_check_lib_save_LIBS
299 +echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_accept" >&5
300 +echo "${ECHO_T}$ac_cv_lib_ssl_SSL_accept" >&6
301 +if test $ac_cv_lib_ssl_SSL_accept = yes; then
302 + cat >>confdefs.h <<\_ACEOF
303 +#define EGG_SSL_EXT 1
306 + SSL_LIBS="-lssl -lcrypto"
308 + { { echo "$as_me:$LINENO: error: OpenSSL was not found. Please supply a pathname to OpenSSL" >&5
309 +echo "$as_me: error: OpenSSL was not found. Please supply a pathname to OpenSSL" >&2;}
310 + { (exit 1); exit 1; }; }
314 +for ac_header in "openssl/ssl.h"
316 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
317 +if eval "test \"\${$as_ac_Header+set}\" = set"; then
318 + echo "$as_me:$LINENO: checking for $ac_header" >&5
319 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
320 +if eval "test \"\${$as_ac_Header+set}\" = set"; then
321 + echo $ECHO_N "(cached) $ECHO_C" >&6
323 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
324 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
326 + # Is the header compilable?
327 +echo "$as_me:$LINENO: checking $ac_header usability" >&5
328 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
329 +cat >conftest.$ac_ext <<_ACEOF
332 +cat confdefs.h >>conftest.$ac_ext
333 +cat >>conftest.$ac_ext <<_ACEOF
334 +/* end confdefs.h. */
335 +$ac_includes_default
336 +#include <$ac_header>
338 +rm -f conftest.$ac_objext
339 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
340 + (eval $ac_compile) 2>conftest.er1
342 + grep -v '^ *+' conftest.er1 >conftest.err
344 + cat conftest.err >&5
345 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
346 + (exit $ac_status); } &&
347 + { ac_try='test -z "$ac_c_werror_flag"
348 + || test ! -s conftest.err'
349 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
350 + (eval $ac_try) 2>&5
352 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
353 + (exit $ac_status); }; } &&
354 + { ac_try='test -s conftest.$ac_objext'
355 + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
356 + (eval $ac_try) 2>&5
358 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
359 + (exit $ac_status); }; }; then
360 + ac_header_compiler=yes
362 + echo "$as_me: failed program was:" >&5
363 +sed 's/^/| /' conftest.$ac_ext >&5
365 +ac_header_compiler=no
367 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
368 +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
369 +echo "${ECHO_T}$ac_header_compiler" >&6
371 +# Is the header present?
372 +echo "$as_me:$LINENO: checking $ac_header presence" >&5
373 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
374 +cat >conftest.$ac_ext <<_ACEOF
377 +cat confdefs.h >>conftest.$ac_ext
378 +cat >>conftest.$ac_ext <<_ACEOF
379 +/* end confdefs.h. */
380 +#include <$ac_header>
382 +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
383 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
385 + grep -v '^ *+' conftest.er1 >conftest.err
387 + cat conftest.err >&5
388 + echo "$as_me:$LINENO: \$? = $ac_status" >&5
389 + (exit $ac_status); } >/dev/null; then
390 + if test -s conftest.err; then
391 + ac_cpp_err=$ac_c_preproc_warn_flag
392 + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
399 +if test -z "$ac_cpp_err"; then
400 + ac_header_preproc=yes
402 + echo "$as_me: failed program was:" >&5
403 +sed 's/^/| /' conftest.$ac_ext >&5
405 + ac_header_preproc=no
407 +rm -f conftest.err conftest.$ac_ext
408 +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
409 +echo "${ECHO_T}$ac_header_preproc" >&6
411 +# So? What about this header?
412 +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
414 + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
415 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
416 + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
417 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
418 + ac_header_preproc=yes
421 + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
422 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
423 + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
424 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
425 + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
426 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
427 + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
428 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
429 + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
430 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
431 + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
432 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
435 +## -------------------------------- ##
436 +## Report this to bugs@eggheads.org ##
437 +## -------------------------------- ##
440 + sed "s/^/$as_me: WARNING: /" >&2
443 +echo "$as_me:$LINENO: checking for $ac_header" >&5
444 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
445 +if eval "test \"\${$as_ac_Header+set}\" = set"; then
446 + echo $ECHO_N "(cached) $ECHO_C" >&6
448 + eval "$as_ac_Header=\$ac_header_preproc"
450 +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
451 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
454 +if test `eval echo '${'$as_ac_Header'}'` = yes; then
455 + cat >>confdefs.h <<_ACEOF
456 +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
460 + { { echo "$as_me:$LINENO: error: OpenSSL was not found. Please supply a pathname to OpenSSL" >&5
461 +echo "$as_me: error: OpenSSL was not found. Please supply a pathname to OpenSSL" >&2;}
462 + { (exit 1); exit 1; }; }
471 +#end of ssl checks - hoe (.16 by poci)
475 # Substitute Makefile variables.
477 @@ -10811,6 +11180,8 @@
478 s,@TCLINCFN@,$TCLINCFN,;t t
479 s,@TCL_REQS@,$TCL_REQS,;t t
480 s,@TCL_LIBS@,$TCL_LIBS,;t t
481 +s,@SSL_LIBS@,$SSL_LIBS,;t t
482 +s,@SSL_INCLUDE@,$SSL_INCLUDE,;t t
483 s,@EGGVERSION@,$EGGVERSION,;t t
484 s,@DESTDIR@,$DESTDIR,;t t
485 s,@MOD_UPDIR@,$MOD_UPDIR,;t t
486 diff -burN eggdrop1.6.17.orig/configure.ac eggdrop1.6.17/configure.ac
487 --- eggdrop1.6.17.orig/configure.ac 2004-11-01 14:40:44.109455336 +0100
488 +++ eggdrop1.6.17/configure.ac 2004-11-01 14:41:51.866154752 +0100
496 # Substitute Makefile variables.
498 diff -burN eggdrop1.6.17.orig/disabled_modules eggdrop1.6.17/disabled_modules
499 --- eggdrop1.6.17.orig/disabled_modules 2004-11-01 14:40:44.110455184 +0100
500 +++ eggdrop1.6.17/disabled_modules 1970-01-01 01:00:00.000000000 +0100
502 -# disabled_modules -- File which lists all Eggdrop modules that are
503 -# disabled by default.
508 -# - Lines which start with a '#' character are ignored.
509 -# - Every module name needs to be on its own line
511 -# Woobie only serves as an example for module programming. No need to
512 -# compile it for normal bots ...
514 diff -burN eggdrop1.6.17.orig/eggdrop.conf.orig eggdrop1.6.17/eggdrop.conf.orig
515 --- eggdrop1.6.17.orig/eggdrop.conf.orig 2004-11-01 14:40:44.107455640 +0100
516 +++ eggdrop1.6.17/eggdrop.conf.orig 1970-01-01 01:00:00.000000000 +0100
519 -# ^- This should contain a fully qualified path to your Eggdrop executable.
523 -# This is a sample Eggdrop configuration file which includes all possible
524 -# settings that can be used to configure your bot.
526 -# The pound signs (#) that you see at the beginning of some lines mean that
527 -# the remainder of that line is a comment, or just for your information. By
528 -# adding or deleting pound signs, you can comment or uncomment a setting,
531 -# Arguments for a command or setting may be inclosed in <>'s or []'s in the
532 -# example/description. Arguments in <>'s are required, while [] means optional.
534 -# More detailed descriptions of all these settings can be found in
539 -##### BASIC SETTINGS #####
541 -# This setting defines the username the bot uses on IRC. This setting has
542 -# no effect if an ident daemon is running on your bot's machine.
543 -set username "lamest"
545 -# This setting defines which contact person should be shown in .status,
546 -# /msg help, and other places. You really should include this information.
547 -set admin "Lamer <email: lamer@lamest.lame.org>"
549 -# This setting is used only for info to share with others on your botnet.
550 -# Set this to the IRC network your bot is connected to.
551 -set network "I.didn't.edit.my.config.file.net"
553 -# This setting defines the timezone is your bot in. It's used for internal
554 -# routines as well as for logfile timestamping and scripting purposes.
555 -# The timezone string specifies the name of the timezone and must be three
556 -# or more alphabetic characters. For example, Central European Time(UTC+1)
560 -# The offset setting specifies the time value to be added to the local
561 -# time to get Coordinated Universal Time (UTC aka GMT). The offset is
562 -# positive if the local timezone is west of the Prime Meridian and
563 -# negative if it is east. The value (in hours) must be between -23 and
564 -# 23. For example, if the timezone is UTC+1, the offset is -1.
567 -# If you don't want to use the timezone setting for scripting purposes only,
568 -# but instead everywhere possible, un-comment the following line.
569 -#set env(TZ) "$timezone $offset"
571 -# If you're using virtual hosting (your machine has more than 1 IP), you
572 -# may want to specify the particular IP to bind to. You can specify either
573 -# by hostname or by IP. You may also want to set the hostname here if
574 -# Eggdrop has trouble detecting it when it starts up.
575 -#set my-hostname "virtual.host.com"
576 -#set my-ip "99.99.0.0"
578 -# If you want to have your Eggdrop messages displayed in a language other
579 -# than English, change this setting to match your preference. An alternative
580 -# would be to set the environment variable EGG_LANG to that value.
582 -# Languages included with Eggdrop: Danish, English, French, Finnish, German.
586 -##### LOG FILES #####
588 -# Eggdrop is capable of logging various things, from channel chatter to
589 -# commands people use on the bot and file transfers. Logfiles are normally
590 -# kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday".
591 -# After 48 hours, they will be overwritten by the logfile of the next day.
593 -# Events are logged by certain categories. This way, you can specify
594 -# exactly what kind of events you want sent to various logfiles.
597 -# b - information about bot linking and userfile sharing
599 -# d - misc debug information
600 -# h - raw share traffic
601 -# j - joins, parts, quits, and netsplits on the channel
602 -# k - kicks, bans, and mode changes on the channel
603 -# m - private msgs, notices and ctcps to the bot
604 -# o - misc info, errors, etc (IMPORTANT STUFF)
605 -# p - public text on the channel
606 -# r - raw incoming server traffic
607 -# s - server connects, disconnects, and notices
608 -# t - raw botnet traffic
609 -# v - raw outgoing server traffic
610 -# w - wallops (make sure the bot sets +w in init-server)
611 -# x - file transfers and file-area commands
613 -# Note that modes d, h, r, t, and v can fill disk quotas quickly. There are
614 -# also eight user-defined levels (1-8) which can be used by Tcl scripts.
616 -# Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p'
617 -# are logged to whatever channel they happened on. Most other events are
618 -# currently logged to every channel. You can make a logfile belong to all
619 -# channels by assigning it to channel "*".
621 -# This is the maximum number of logfiles allowed. This setting can be
622 -# increased; however, don't decrease it.
625 -# This is the maximum size of your logfiles. Set it to 0 to disable.
626 -# This value is in kilobytes, so '550' would mean cycle logs when it
627 -# reaches the size of 550 kilobytes. Note that this only works if you
628 -# have keep-all-logs 0 (OFF).
631 -# This could be good if you have had problem with the logfile filling
632 -# your quota/hard disk or if you log +p and publish it to the web and
633 -# need more up-to-date info. Note that this setting might increase the
634 -# CPU usage of your bot (on the other hand it will decrease your mem usage).
637 -# This setting allows you the logging of raw incoming server traffic via
638 -# console/log flag 'r', raw outgoing server traffic via console/log mode 'v',
639 -# raw botnet traffic via console/log mode 't', and raw share traffic via
640 -# console/log mode 'h'. These flags can create a large security hole,
641 -# allowing people to see user passwords. This is now restricted to +n users
642 -# only. Please choose your owners with care.
645 -# This creates a logfile named eggdrop.log containing private msgs/ctcps,
646 -# commands, errors, and misc. info from any channel.
647 -logfile mco * "logs/eggdrop.log"
649 -# This creates a logfile named lamest.log containing joins, parts,
650 -# netsplits, kicks, bans, mode changes, and public chat on the
652 -logfile jpk #lamest "logs/lamest.log"
654 -# Use this feature to timestamp entries in the log file.
657 -# If you want to keep your logfiles forever, turn this setting on. All
658 -# logfiles will get suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]".
659 -# Note that your quota/hard-disk might be filled by this, so check your
660 -# logfiles often and download them.
663 -# If keep-all-logs is 1, this setting will define the suffix of the logfiles.
664 -# The default will result in a suffix like "04May2000". "%Y%m%d" will produce
665 -# the often used yyyymmdd format. Read the strftime manpages for more options.
666 -# NOTE: On systems which don't support strftime, the default format will
668 -set logfile-suffix ".%d%b%Y"
670 -# You can specify when Eggdrop should switch logfiles and start fresh. You
671 -# must use military time for this setting. 300 is the default, and describes
673 -set switch-logfiles-at 300
675 -# "Writing user file..." and "Writing channel file..." messages won't be
676 -# logged anymore if this option is enabled.
682 -# This is the default console mode. It uses the same event flags as the log
683 -# files do. The console channel is automatically set to your "primary" channel,
684 -# which is set in the modules section of the config file. Masters can change
685 -# their console channel and modes with the '.console' command.
687 -set console "mkcobxs"
690 -##### FILES AND DIRECTORIES #####
692 -# Specify here the filename your userfile should be saved as.
693 -set userfile "LamestBot.user"
695 -# Specify here the filename Eggdrop will save its pid to. If no pidfile is
696 -# specified, pid.(botnet-nick) will be used.
697 -#set pidfile "pid.LamestBot"
699 -# If you want your userfile to be sorted upon saving, enable this setting.
700 -# This causes the bot to use bit more CPU when saving the usefile.
703 -# Specify here where Eggdrop should look for help files. Don't modify this
704 -# setting unless you know what you're doing!
705 -set help-path "/usr/share/eggdrop/help/"
707 -# Specify here where Eggdrop should look for text files. This is used for
708 -# certain Tcl and DCC commands.
709 -set text-path "/usr/share/eggdrop/"
711 -# Set here a place to store temporary files.
712 -set temp-path "/tmp"
714 -# The MOTD (Message Of The day) is displayed when people dcc chat or telnet
715 -# to the bot. Look at doc/TEXT-SUBSTITUTIONS for options.
716 -set motd "/usr/share/eggdrop/motd"
718 -# This banner will be displayed on telnet connections. Look at
719 -# doc/TEXT-SUBSTITUTIONS for options.
720 -set telnet-banner "/usr/share/eggdrop/banner"
722 -# This specifies what permissions the user, channel, and notes files should
723 -# be set to. The octal values are the same as for the chmod system command.
728 -# 0600 rw------- 0400 r-------- 0200 -w------- u - user
729 -# 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group
730 -# 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others
732 -# Note that the default 0600 is the most secure one and should only be changed
733 -# if you need your files for shell scripting or other external applications.
734 -set userfile-perm 0600
737 -##### BOTNET/DCC/TELNET #####
739 -# Settings in this section should be unimportant for you until you deal
740 -# with botnets (multiple Eggdrops connected together to maximize efficiency).
741 -# You should read doc/BOTNET before modifying these settings.
743 -# If you want to use a different nickname on the botnet than you use on
744 -# IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
745 -# and set it to the nick you would like to use.
746 -#set botnet-nick "LlamaBot"
748 -# This opens a telnet port by which you and other bots can interact with the
749 -# Eggdrop by telneting in.
751 -# There are more options for the listen command in doc/tcl-commands.doc. Note
752 -# that if you are running more than one bot on the same machine, you will want
753 -# to space the telnet ports at LEAST 5 apart, although 10 is even better.
755 -# Valid ports are typically anything between 1025 and 65535 assuming the
756 -# port is not already in use.
758 -# If you would like the bot to listen for users and bots in separate ports,
759 -# use the following format:
764 -# If you wish to use only one port, use this format:
768 -# You need to un-comment this line and change the port number in order to open
769 -# the listen port. You should not keep this set to 3333.
772 -# This setting defines whether or not people can boot users on the Eggdrop
773 -# from other bots in your botnet. Valid settings are:
774 -# 0 - allow *no* outside boots
775 -# 1 - allow boots from sharebots
776 -# 2 - allow any boots
779 -# This setting prohibits remote bots from telling your Eggdrop to unlink from
783 -# This setting will drop telnet connections not matching a known host. It
784 -# greatly improves protection from IRCops, but makes it impossible to add
785 -# hosts on limbo (NOIRC) bots or have NEW as a valid login.
786 -set protect-telnet 0
788 -# This setting will make the bot ignore DCC chat requests which appear to
789 -# have bogus information on the grounds that the user may have been trying
790 -# to make the bot connect to somewhere that will get it into trouble, or
791 -# that the user has a broken client (like mIRC tends to do), in which case
792 -# the connect wouldn't work anyway. It's suggested that you turn this on.
793 -set dcc-sanitycheck 0
795 -# This settings defines a time in seconds that the bot should wait before
796 -# a dcc chat, telnet, or relay connection times out.
799 -# Define here whether or not a +o user still needs the +p flag to dcc the bot.
802 -# If you want people allow to telnet in and type 'NEW' to become a new user,
803 -# set this to 1. This is similar to the 'hello' msg command. The protect-telnet
804 -# setting must be set to 0 to use this.
807 -# If you don't want Eggdrop to identify itself as an eggdrop on a telnet
808 -# connection, set this setting to 1. Eggdrop will display 'Nickname' instead.
809 -set stealth-telnets 0
811 -# If you want Eggdrop to display a banner when telneting in, set this setting
812 -# to 1. The telnet banner is set by 'set telnet-banner'.
813 -set use-telnet-banner 0
815 -# This settings defines a time in seconds that the bot should wait before
816 -# a dcc chat, telnet, or relay connection times out.
817 -set connect-timeout 15
819 -# Specify here the number of lines to accept from a user on the partyline
820 -# within 1 second before they are considered to be flooding and therefore
824 -# Define here how many telnet connection attempts in how many seconds from
825 -# the same host constitute a flood. The correct format is Attempts:Seconds.
826 -set telnet-flood 5:60
828 -# If you want telnet-flood to apply even to +f users, set this setting to 1.
829 -set paranoid-telnet-flood 1
831 -# Set here the amount of seconds before giving up on hostname/address
832 -# lookup (you might want to increase this if you are on a slow network).
833 -set resolve-timeout 15
836 -##### MORE ADVANCED SETTINGS #####
838 -# Set this to your socks host if your Eggdrop sits behind a firewall. If
839 -# you use a Sun "telnet passthru" firewall, prefix the host with a '!'.
840 -#set firewall "!sun-barr.ebay:3666"
842 -# If you have a NAT firewall (you box has an IP in one of the following
843 -# ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255,
844 -# 10.0.0.0-10.255.255.255 and your firewall transparently changes your
845 -# address to a unique address for your box) or you have IP masquerading
846 -# between you and the rest of the world, and /dcc chat, /ctcp chat or
847 -# userfile sharing aren't working, enter your outside IP here. Do not
848 -# enter anything for my-ip or my-hostname if you use this setting.
849 -#set nat-ip "127.0.0.1"
851 -# If you want all dcc file transfers to use a particular portrange either
852 -# because you're behind a firewall, or for other security reasons, set it
854 -#set reserved-portrange 2010:2020
856 -# Set the time in minutes that temporary ignores should last.
859 -# Define here what Eggdrop considers 'hourly'. All calls to it, including such
860 -# things as note notifying or userfile saving, are affected by this.
863 -# set hourly-updates 15
865 -# The bot will save its userfile 15 minutes past every hour.
866 -set hourly-updates 00
868 -# Un-comment the next line and set the list of owners of the bot.
869 -# You NEED to change this setting.
870 -#set owner "MrLame, MrsLame"
872 -# Who should a note be sent to when new users are learned?
873 -set notify-newusers "$owner"
875 -# Enter the flags that all new users should get by default. See '.help whois'
876 -# on the partyline for a list of flags and their descriptions.
877 -set default-flags "hp"
879 -# Enter all user-defined fields that should be displayed in a '.whois'.
880 -# This will only be shown if the user has one of these extra fields.
881 -# You might prefer to comment this out and use the userinfo1.0.tcl script
882 -# which provides commands for changing all of these.
883 -set whois-fields "url birthday"
885 -# Enable this setting if you want your Eggdrop to die upon receiving a SIGHUP
886 -# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.
889 -# Enable this setting if you want your Eggdrop to die upon receiving a SIGTERM
890 -# kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.
891 -set die-on-sigterm 1
893 -# Comment these two lines if you wish to enable the .tcl and .set commands.
894 -# If you select your owners wisely, you should be okay enabling these.
895 -unbind dcc n tcl *dcc:tcl
896 -unbind dcc n set *dcc:set
898 -# If you enable this setting, only permanent owners (owner setting) will be
899 -# able to use .tcl and .set. Moreover, if you want only let permanent owners
900 -# use .dump, then set this to 2.
903 -# Comment out this line to add the 'simul' partyline command (owners can
904 -# manipulate other people on the party line). Please select owners wisely
905 -# and use this command ethically!
906 -unbind dcc n simul *dcc:simul
908 -# Set here the maximum number of dcc connections you will allow. You can
909 -# increase this later, but never decrease it.
912 -# Enable this setting if you want +d & +k users to use commands bound as -|-.
915 -# If your Eggdrop rejects bots that actually have already disconnected from
916 -# another hub, but the disconnect information has not yet spread over the
917 -# botnet due to lag, use this setting. The bot will wait dupwait-timeout
918 -# seconds before it checks again and then finally reject the bot.
919 -set dupwait-timeout 5
921 -# You MUST remove this line for your bot to start. This has been added to
922 -# prevent you from starting up a bot that is not fully configured. Bots
923 -# that have not been fully configured may join the wrong IRC network, the
924 -# wrong channels, or generally do things that you do not want. Please make
925 -# sure that you have double-checked every setting. There's also a similar line
926 -# lower down, just to make sure you're reading :)
927 -die "Please make sure you edit your config file completely."
932 -# Below are various settings for the modules included with Eggdrop.
933 -# PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at
934 -# Eggdrop, things change.
936 -# This path specifies the path were Eggdrop should look for its modules.
937 -# If you run the bot from the compilation directory, you will want to set
938 -# this to "". If you use 'make install' (like all good kiddies do ;), this
939 -# is a fine default. Otherwise, use your head :)
940 -set mod-path "/usr/lib/eggdrop/modules/"
943 -#### DNS MODULE ####
945 -# This module provides asynchronous dns support. This will avoid long
946 -# periods where the bot just hangs there, waiting for a hostname to
947 -# resolve, which will often let it timeout on all other connections.
951 -#### CHANNELS MODULE ####
953 -# This module provides channel related support for the bot. Without it,
954 -# you won't be able to make the bot join a channel or save channel
955 -# specific userfile information.
958 -# Enter here the filename where dynamic channel settings are stored.
959 -set chanfile "LamestBot.chan"
961 -# Set this setting to 1 if you want your bot to expire bans/exempts/invites set
962 -# by other opped bots on the channel.
965 -# Set this setting to 1 if you want your bot to share user greets with other
966 -# bots on the channel if sharing user data.
969 -# Set this setting to 1 if you want to allow users to store an info line.
972 -# The following settings are used as default values when you .+chan #chan or .tcl
973 -# channel add #chan. Look in the section below for explanation of every option.
975 -set global-flood-chan 10:60
976 -set global-flood-deop 3:10
977 -set global-flood-kick 3:10
978 -set global-flood-join 5:60
979 -set global-flood-ctcp 3:60
980 -set global-flood-nick 5:60
981 -set global-aop-delay 5:30
982 -set global-idle-kick 0
983 -set global-chanmode "nt"
984 -set global-stopnethack-mode 0
985 -set global-revenge-mode 0
986 -set global-ban-time 120
987 -set global-exempt-time 60
988 -set global-invite-time 60
990 -set global-chanset {
993 - +dontkickops +dynamicbans
994 - +dynamicexempts +dynamicinvites
995 - -enforcebans +greet
996 - -inactive -nodesynch
997 - -protectfriends +protectops
998 - -revenge -revengebot
1000 - +shared +statuslog
1001 - +userbans +userexempts
1002 - +userinvites -protecthalfops
1006 -# Add each static channel you want your bot to sit in using the following
1007 -# command. There are many different possible settings you can insert into
1008 -# this command, which are explained below.
1010 -# channel add #lamest {
1011 -# chanmode "+nt-likm"
1013 -# stopnethack-mode 0
1019 -# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }
1020 -# need-invite { putserv "PRIVMSG #lamest :let me in!" }
1021 -# need-key { putserv "PRIVMSG #lamest :let me in!" }
1022 -# need-unban { putserv "PRIVMSG #lamest :let me in!" }
1023 -# need-limit { putserv "PRIVMSG #lamest :let me in!" }
1032 -# chanmode +/-<modes>
1033 -# This setting makes the bot enforce channel modes. It will always add
1034 -# the +<modes> and remove the -<modes> modes.
1036 -# This setting will make the bot check every minute for idle
1037 -# users. Set this to 0 to disable idle check.
1039 -# stopnethack-mode 0
1040 -# This setting will make the bot de-op anyone who enters the channel
1041 -# with serverops. There are seven different modes for this settings:
1043 -# 1 isoptest (allow serverop if registered op)
1044 -# 2 wasoptest (allow serverop if op before split)
1045 -# 3 allow serverop if isop or wasop
1046 -# 4 allow serverop if isop and wasop.
1047 -# 5 If the channel is -bitch, see stopnethack-mode 3
1048 -# If the channel is +bitch, see stopnethack-mode 1
1049 -# 6 If the channel is -bitch, see stopnethack-mode 2
1050 -# If the channel is +bitch, see stopnethack-mode 4
1053 -# This settings defines how the bot should punish bad users when
1054 -# revenging. There are four possible settings:
1056 -# 1 Deop the user and give them the +d flag for the channel.
1057 -# 2 Deop the user, give them the +d flag for the channel, and kick them.
1058 -# 3 Deop the user, give them the +d flag for the channel, kick, and ban them.
1061 -# Set here how long temporary bans will last (in minutes). If you
1062 -# set this setting to 0, the bot will never remove them.
1065 -# Set here how long temporary exempts will last (in minutes). If you
1066 -# set this setting to 0, the bot will never remove them. The bot will
1067 -# check the exempts every X minutes, but will not remove the exempt if
1068 -# a ban is set on the channel that matches that exempt. Once the ban is
1069 -# removed, then the exempt will be removed the next time the bot checks.
1070 -# Please note that this is an IRCnet feature.
1073 -# Set here how long temporary invites will last (in minutes). If you
1074 -# set this setting to 0, the bot will never remove them. The bot will
1075 -# check the invites every X minutes, but will not remove the invite if
1076 -# a channel is set to +i. Once the channel is -i then the invite will be
1077 -# removed the next time the bot checks. Please note that this is an IRCnet
1080 -# aop-delay (minimum:maximum)
1081 -# This is used for autoop, autohalfop, autovoice. If an op or voice joins a
1082 -# channel while another op or voice is pending, the bot will attempt to put
1083 -# both modes on one line.
1084 -# aop-delay 0 No delay is used.
1085 -# aop-delay X An X second delay is used.
1086 -# aop-delay X:Y A random delay between X and Y is used.
1088 -# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }
1089 -# This setting will make the bot run the script enclosed in brackets
1090 -# if it does not have ops. This must be shorter than 120 characters.
1091 -# If you use scripts like getops.tcl or botnetop.tcl, you don't need
1092 -# to set this setting.
1094 -# need-invite { putserv "PRIVMSG #lamest :let me in!" }
1095 -# This setting will make the bot run the script enclosed in brackets
1096 -# if it needs an invite to the channel. This must be shorter than 120
1097 -# characters. If you use scripts like getops.tcl or botnetop.tcl, you
1098 -# don't need to set this setting.
1100 -# need-key { putserv "PRIVMSG #lamest :let me in!" }
1101 -# This setting will make the bot run the script enclosed in brackets
1102 -# if it needs the key to the channel. This must be shorter than 120
1103 -# characters. If you use scripts like getops.tcl or botnetop.tcl, you
1104 -# don't need to set this setting
1106 -# need-unban { putserv "PRIVMSG #lamest :let me in!" }
1107 -# This setting will make the bot run the script enclosed in brackets
1108 -# if it needs to be unbanned on the channel. This must be shorter than
1109 -# 120 characters. If you use scripts like getops.tcl or botnetop.tcl,
1110 -# you don't need to set this setting
1112 -# need-limit { putserv "PRIVMSG #lamest :let me in!" }
1113 -# This setting will make the bot run the script enclosed in brackets
1114 -# if it needs the limit to be raised on the channel. This must be
1115 -# shorter than 120 characters. If you use scripts like getops.tcl or
1116 -# botnetop.tcl, you don't need to set this setting
1119 -# Set here how many channel messages in how many seconds from one
1120 -# host constitutes a flood. Setting this to 0 or 0:0 disables
1121 -# flood protection for the channel.
1124 -# Set here how many deops in how many seconds from one host constitutes
1125 -# a flood. Setting this to 0 or 0:0 disables deop flood protection for
1129 -# Set here how many kicks in how many seconds from one host constitutes
1130 -# a flood. Setting this to 0 or 0:0 disables kick flood protection for
1134 -# Set here how many joins in how many seconds from one host constitutes
1135 -# a flood. Setting this to 0 or 0:0 disables join flood protection for
1139 -# Set here how many channel ctcps in how many seconds from one host
1140 -# constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood
1141 -# protection for the channel.
1144 -# Set here how many nick changes in how many seconds from one host
1145 -# constitutes a flood. Setting this to 0 or 0:0 disables nick flood
1146 -# protection for the channel.
1148 -# There are many different options for channels which you can
1149 -# define. They can be enabled or disabled using the channel set command by a
1150 -# plus or minus in front of them.
1152 -# channel set #lamest +enforcebans +dynamicbans +userbans +dynamicexempts
1153 -# channel set #lamest +userexempts +dynamicinvites +userinvites +protectops
1154 -# channel set #lamest +protectfriends +statuslog +revenge -protecthalfops
1155 -# channel set #lamest +revengebot +dontkickops +autovoice -autoop -autohalfop
1156 -# channel set #lamest -bitch -secret -shared +greet +cycle
1158 -# A complete list of all available channel settings:
1161 -# When a ban is set, kick people who are on the channel and match
1165 -# Only activate bans on the channel when necessary? This keeps
1166 -# the channel's ban list from getting excessively long. The bot
1167 -# still remembers every ban, but it only activates a ban on the
1168 -# channel when it sees someone join who matches that ban.
1171 -# Allow bans to be made by users directly? If turned off, the bot
1172 -# will require all bans to be made through the bot's console.
1175 -# Only activate exempts on the channel when necessary? This keeps
1176 -# the channel's exempt list from getting excessively long. The bot
1177 -# still remembers every exempt, but it only activates a exempt on
1178 -# the channel when it sees a ban set that matches the exempt. The
1179 -# exempt remains active on the channel for as long as the ban is
1183 -# Allow exempts to be made by users directly? If turned off, the
1184 -# bot will require all exempts to be made through the bot's console.
1187 -# Only activate invites on the channel when necessary? This keeps
1188 -# the channel's invite list from getting excessively long. The bot
1189 -# still remembers every invite, but the invites are only activated
1190 -# when the channel is set to invite only and a user joins after
1191 -# requesting an invite. Once set, the invite remains until the
1192 -# channel goes to -i.
1195 -# Allow invites to be made by users directly? If turned off, the
1196 -# bot will require all invites to be made through the bot's console.
1199 -# Op users with the +o flag as soon as they join the channel?
1200 -# This is insecure and not recommended.
1203 -# Halfop users with the +l flag as soon as they join the channel?
1204 -# This is insecure and not recommended.
1207 -# Only let users with +o) flag be opped on the channel?
1210 -# Say a user's info line when they join the channel?
1213 -# Re-op a user with the +o flag if they get deopped?
1216 -# Re-halfop a user with the +l flag if they get dehalfopped?
1219 -# Re-op a user with the +f flag if they get deopped?
1222 -# Log the channel status line every 5 minutes? This shows the bot's
1223 -# status on the channel (op, voice, etc.), the channel's modes, and
1224 -# the number of +m/+o/+v/+n/+b/+e/+I users on the channel. A sample
1225 -# status line follows:
1227 -# [01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7]
1230 -# Remember people who deop/kick/ban the bot, valid ops, or friends
1231 -# and punish them? Users with the +f flag are exempt from revenge.
1234 -# This is similar to to the 'revenge' option, but it only triggers
1235 -# if a bot gets deopped, kicked or banned.
1238 -# Voice users with the +v flag when they join the channel?
1241 -# Prevent this channel from being listed on the botnet?
1244 -# Share channel-related user info for this channel?
1247 -# Cycle the channel when it has no ops?
1250 -# Do you want the bot not to be able to kick users who have the +o
1251 -# flag, letting them kick-flood for instance to protect the channel
1252 -# against clone attacks.
1255 -# This prevents the bot from joining the channel (or makes it leave
1256 -# the channel if it is already there). It can be useful to make the
1257 -# bot leave a channel without losing its settings, channel-specific
1258 -# user flags, channel bans, and without affecting sharing.
1261 -# Respond to seen requests in the channel? The seen module must be
1262 -# loaded for this to work.
1265 -# Allow non-ops to perform channel modes? This can stop the bot from
1266 -# fighting with services such as ChanServ, or from kicking IRCops when
1267 -# setting channel modes without having ops.
1269 -# Here is a shorter example:
1271 -# channel add #botcentral {
1272 -# chanmode "+mntisl 1"
1275 -# channel set #botcentral +bitch +enforcebans -greet +revenge
1278 -#### SERVER MODULE ####
1280 -# This module provides the core server support. You have to load this
1281 -# if you want your bot to come on IRC. Not loading this is equivalent
1282 -# to the old NO_IRC define.
1285 -# What is your network?
1290 -# 4 = +e/+I/max-modes 20 Hybrid
1294 -# Set the nick the bot uses on IRC, and on the botnet unless you specify a
1295 -# separate botnet-nick, here.
1296 -set nick "Lamestbot"
1298 -# Set the alternative nick which the bot uses on IRC if the nick specified
1299 -# by 'set nick' is unavailable. All '?' characters will be replaced by random
1301 -set altnick "Llamab?t"
1303 -# Set what should be displayed in the real-name field for the bot on IRC.
1304 -set realname "/msg LamestBot hello"
1306 -# This is a Tcl script to be run immediately after connecting to a server.
1307 -bind evnt - init-server evnt:init_server
1309 -proc evnt:init_server {type} {
1311 - putquick "MODE $botnick +i-ws"
1314 -# Set the default port which should be used if none is specified with
1315 -# '.jump' or in 'set servers'.
1316 -set default-port 6667
1318 -# This is the bot's server list. The bot will start at the first server listed,
1319 -# and cycle through them whenever it gets disconnected. You need to change these
1320 -# servers to YOUR network's servers.
1323 -# server[:port[:password]]
1325 -# Both the port and password fields are optional; however, if you want to set a
1326 -# password you must also set a port. If a port isn't specified it will default to
1327 -# your default-port setting.
1329 - you.need.to.change.this:6667
1330 - another.example.com:7000:password
1333 -# This setting makes the bot try to get his original nickname back if its
1334 -# primary nickname is already in use.
1337 -# Set this to 1 if you don't want your the bot to strip a leading '~' on
1341 -# This setting makes the bot squelch the error message when rejecting a DCC
1342 -# CHAT, SEND or message command. Normally, Eggdrop notifies the user that the
1343 -# command has been rejected because they don't have access. Note that sometimes
1344 -# IRC server operators detect bots that way.
1347 -# If you want your bot to answer lower case ctcp requests (non rfc-
1348 -# compliant), set this setting to 1. mIRC will do this, most other
1349 -# clients will not.
1350 -set lowercase-ctcp 0
1352 -# Set how many ctcps should be answered at once.
1355 -# Set here how many msgs in how many seconds from one host constitutes
1356 -# a flood. If you set this to 0:0, msg flood protection will be disabled.
1359 -# Set here how many ctcps in how many seconds from one host constitutes
1360 -# a flood. If you set this to 0:0, ctcp flood protection will be disabled.
1361 -set flood-ctcp 3:60
1363 -# This settings makes the bot cycle forever through the server list until
1364 -# it successfully connects to one.
1365 -set never-give-up 1
1367 -# This setting defines how long Eggdrop should wait before moving from one
1368 -# server to another on disconnect. If you set 0 here, Eggdrop will not wait
1369 -# at all and will connect instantly. Setting this too low could result in
1370 -# your bot being K:Lined.
1371 -set server-cycle-wait 60
1373 -# Set here how long Eggdrop should wait for a response when connecting to a
1374 -# server before giving up and moving on to next server.
1375 -set server-timeout 60
1377 -# If the number of servers on the net gets below this number, the bot
1378 -# will jump to a new server (it will assume it's on the losing end of
1379 -# a netsplit). Set this to 0 to turn off. If your bot is running on
1380 -# any major IRC network, this should probably be turned off.
1383 -# Set this to 1 if Eggdrop should check for stoned servers? (where the
1384 -# server connection has died, but Eggdrop hasn't been notified yet).
1387 -# If you want your bot to exit the server if it receives an ERROR message,
1389 -set serverror-quit 1
1391 -# Set here the maximum number of lines to queue to the server. If you're
1392 -# going to dump large chunks of text to people over IRC, you will probably
1393 -# want to raise this. 300 is fine for most people though.
1394 -set max-queue-msg 300
1396 -# If you want Eggdrop to trigger binds for ignored users, set this to 1.
1397 -set trigger-on-ignore 0
1399 -# Allow identical messages in the mode queue?
1402 -# Allow identical messages in the server queue?
1403 -set double-server 1
1405 -# Allow identical messages in the help queue?
1408 -# This optimizes the kick queue. It also traces nick changes and parts in
1409 -# the channel and changes the kick queue accordingly. There are three
1410 -# different options for this setting:
1412 -# 1 = Optimize the kick queue by summarizing kicks.
1413 -# 2 = Trace nick changes and parts on the channel and change the queue
1414 -# accordingly. For example, bot will not try to kick users who have
1415 -# already parted the channel.
1416 -# ATTENTION: Setting 2 is very CPU intensive.
1417 -set optimize-kicks 1
1419 -# If your network supports more recipients per command then 1, you can
1420 -# change this behavior here. Set this to the number of recipients per
1421 -# command, or set this to 0 for unlimited.
1424 -### SERVER MODULE - OTHER NETWORKS (net-type 5) ###
1426 -# This settings defines how umode +r is understood by Eggdrop. Some networks
1427 -# use +r to indicate a restricted connection. If this is your case, and you
1428 -# want your bot to leave restricted servers and jump to the next server on its
1429 -# list, then set it to 1.
1430 -#set check-mode-r 1
1432 -# This setting allows you to specify the maximum nick-length supported by your
1433 -# network. The default setting is 9. The maximum supported length by Eggdrop
1437 -#### CTCP MODULE ####
1439 -# This module provides the normal ctcp replies that you'd expect.
1440 -# Without it loaded, CTCP CHAT will not work. The server module
1441 -# is required for this module to function.
1444 -# Set here how the ctcp module should answer ctcps. There are 3 possible
1446 -# 0: Normal behavior is used.
1447 -# 1: The bot ignores all ctcps, except for CHAT and PING requests
1448 -# by users with the +o flag.
1449 -# 2: Normal behavior is used, however the bot will not answer more
1450 -# than X ctcps in Y seconds (defined by 'set flood-ctcp').
1453 -# There are also several variables to help make your bot less noticeable.
1454 -# They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set
1455 -# them to values you'd like.
1458 -#### IRC MODULE ####
1460 -# This module provides basic IRC support for your bot. You have to
1461 -# load this if you want your bot to come on IRC. The server and channels
1462 -# modules must be loaded for this module to function.
1465 -# Set this to 1 if you want to bounce all server bans.
1468 -# Set this to 1 if you want to bounce all server exemptions (+e modes).
1469 -# This is disabled if use-exempts is disabled.
1470 -set bounce-exempts 0
1472 -# Set this to 1 if you want to bounce all server invitations (+I modes).
1473 -# This is disabled if use-invites is disabled.
1474 -set bounce-invites 0
1476 -# Set this to 1 if you want to bounce all server modes.
1479 -# Set here the maximum number of bans you want the bot to set on a channel.
1480 -# Eggdrop will not place any more bans if this limit is reached. Undernet
1481 -# currently allows 45 bans, IRCnet allows 30, EFnet allows 100, and DALnet
1485 -# Set here the maximum number of exempts you want Eggdrop to set on a channel.
1486 -# Eggdrop will not place any more exempts if this limit is reached.
1489 -# Set here the maximum number of invites you want Eggdrop to set on a channel.
1490 -# Eggdrop will not place any more invites if this limit is reached.
1493 -# There is a global limit for +b/+e/+I modes. This limit should be set to
1494 -# the same value as max-bans for networks that do not support +e/+I.
1497 -# The following settings should be left commented unless the default values
1498 -# are being overridden. By default, exempts and invites are on for EFnet and
1499 -# IRCnet, but off for all other large networks. This behavior can be modified
1500 -# with the following 2 flags. If your network doesn't support +e/+I modes then
1501 -# you will be unable to use these features.
1503 -# Do you want to enable exempts (+e modes)?
1506 -# Do you want to enable invites (+I modes)?
1509 -# Set this to 1 if you want the bot to kick for control character/ctcp
1510 -# avalanches to a channel. Remember that if it does, it won't ban them.
1511 -# This can start kick floods.
1514 -# Set this to 1 if you want the bot to ban for control character/ctcp
1515 -# avalanches to a channel. This can prevent kick floods, but it also can
1516 -# fill the banlist.
1519 -# If you want people to be able to add themselves to the bot's userlist
1520 -# with the default userflags (defined above in the config file) via the
1521 -# 'hello' msg command, set this to 1.
1524 -# Set here the time (in seconds) to wait for someone to return from a netsplit
1525 -# (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since its
1526 -# nick delay stops after 30 minutes.
1529 -# Set here the time (in seconds) that someone must have been off-channel
1530 -# before re-displaying their info line.
1533 -# Set this to the maximum number of bytes to send in the arguments
1534 -# of modes sent to the server. Most servers default this to 200.
1535 -set mode-buf-length 200
1537 -# Many IRCops find bots by seeing if they reply to 'hello' in a msg.
1538 -# You can change this to another word by un-commenting the following
1539 -# two lines and changing "myword" to the word wish to use instead of
1540 -# 'hello'. It must be a single word.
1541 -#unbind msg - hello *msg:hello
1542 -#bind msg - myword *msg:hello
1544 -# Many takeover attempts occur due to lame users blindly /msg ident'ing to
1545 -# the bot and attempting to guess passwords. We now unbind this command by
1546 -# default to discourage them. You can enable these commands by commenting the
1547 -# following two lines.
1548 -unbind msg - ident *msg:ident
1549 -unbind msg - addhost *msg:addhost
1551 -# Some IRC servers are using some non-standard op-like channel prefixes/modes.
1552 -# Define them here so the bot can recognize them. Just "@" should be fine for
1553 -# most networks. Un-comment the second line for some UnrealIRCds.
1558 -# If you are so lame you want the bot to display peoples info lines, even
1559 -# when you are too lazy to add their chanrecs to a channel, set this to 1.
1560 -# *NOTE* This means *every* user with an info line will have their info
1561 -# line displayed on EVERY channel they join (provided they have been gone
1562 -# longer than wait-info).
1563 -set no-chanrec-info 0
1565 -### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type 1) ###
1567 -# Attention: Use these settings *only* if you set 'net-type' to 1!
1569 -# At the moment, the current IRCnet IRCd version (2.10) doesn't support the
1570 -# mixing of b, o and v modes with e and I modes. This might be changed in the
1571 -# future, so use 1 at the moment for this setting.
1572 -set prevent-mixing 1
1574 -### IRC MODULE - OTHER NETWORKS (net-type 5) ###
1576 -# Attention: Use these settings *only* if you set 'net-type' to 5!
1578 -# If your network supports more users per kick command then 1, you can
1579 -# change this behavior here. Set this to the number of users to kick at
1580 -# once, or set this to 0 for all at once.
1583 -# Some networks allow you to stack lots of channel modes into one line.
1584 -# They're all guaranteed to support at least 3, so that's the default.
1585 -# If you know your network supports more, you may want to adjust this.
1586 -# This setting is limited to 6, although if you want to use a higher value,
1587 -# you can modify this by changing the value of MODES_PER_LINE_MAX in
1588 -# src/chan.h and recompiling the bot.
1589 -#set modes-per-line 3
1591 -# Some networks don't include the +l limit and +k or -k key modes
1592 -# in the modes-per-line (see above) limitation. Set include-lk to 0 for
1596 -# Set this to 1 if your network uses IRCu2.10.01 specific /who requests.
1597 -# Eggdrop can, therefore, ask only for exactly what's needed.
1600 -# If your network doesn't use rfc 1459 compliant string matching routines,
1602 -#set rfc-compliant 1
1605 -#### TRANSFER MODULE ####
1607 -# The transfer module provides DCC SEND/GET support and userfile transfer
1608 -# support for userfile sharing. Un-comment the next line to load it if you
1609 -# need this functionality.
1610 -#loadmodule transfer
1612 -# Set here the maximum number of simultaneous downloads to allow for
1616 -# Set here the block size for dcc transfers. ircII uses 512 bytes,
1617 -# but admits that it may be too small. 1024 is standard these days.
1618 -# 0 is turbo-dcc (recommended).
1621 -# Enable this setting if you want to copy files into the /tmp directory
1622 -# before sending them. This is useful on most systems for file stability,
1623 -# but if your directories are NFS mounted, it's a pain, and you'll want
1624 -# to set this to 0. If you are low on disk space, you may also want to
1628 -# Set here the time (in seconds) to wait before an inactive transfer times out.
1629 -set xfer-timeout 30
1632 -#### SHARE MODULE ####
1634 -# This module provides userfile sharing support between two directly
1635 -# linked bots. The transfer and channels modules are required for this
1636 -# module to correctly function. Un-comment the following line to load
1637 -# the share module.
1640 -# Settings in this section must be un-commented before setting.
1642 -# When two bots get disconnected, this setting allows them to create a
1643 -# resync buffer which saves all changes done to the userfile during
1644 -# the disconnect. When they reconnect, they will not have to transfer
1645 -# the complete user file, but, instead, just send the resync buffer.
1647 -# NOTE: This has been known to cause loss of channel flags and other
1648 -# problems. Using this setting is not recommended.
1649 -#set allow-resync 0
1651 -# This setting specifies how long to hold another bots resync data
1652 -# before flushing it.
1653 -#set resync-time 900
1655 -# When sharing user lists, DON'T ACCEPT global flag changes from other bots?
1656 -# NOTE: The bot will still send changes made on the bot, it just won't accept
1657 -# any global flag changes from other bots. This overrides the private-globals
1659 -#set private-global 0
1661 -# When sharing user lists, if private-global isn't set, which global flag
1662 -# changes from other bots should be ignored?
1663 -#set private-globals "mnot"
1665 -# When sharing user lists, which channel flags changes from other bots
1666 -# should be ignored?
1667 -#set private-chanflags "mn"
1669 -# When sharing user lists, don't accept ANY userfile changes from other
1670 -# bots? Paranoid people should use this feature on their hub bot. This
1671 -# will force all userlist changes to be made via the hub.
1672 -#set private-user 0
1674 -# When you have multilevel botnet, this option permits hub, to make changes,
1675 -# even when private-global, private-chanflags and/or private-user are set.
1676 -# NOTE: this option doesn't permit hub to force flags filtered by
1680 -# This setting makes the bot discard its own bot records in favor of
1681 -# the ones sent by the hub.
1682 -# NOTE: No passwords or botflags are shared, only ports and
1683 -# address are added to sharing procedure. This only works with hubs that
1684 -# are v1.5.1 or higher.
1685 -#set override-bots 0
1688 -#### COMPRESS MODULE ####
1690 -# This module provides provides support for file compression. This allows the
1691 -# bot to transfer compressed user files and therefore save a significant amount
1692 -# of bandwidth. The share module must be loaded to load this module. Un-comment
1693 -# the following line to the compress module.
1694 -#loadmodule compress
1696 -# Allow compressed sending of user files? The user files are compressed with
1697 -# the compression level defined in `compress-level'.
1698 -set share-compressed 1
1700 -# This is the default compression level used. These levels are the same as
1701 -# those used by GNU gzip.
1702 -#set compress-level 9
1705 -#### FILESYSTEM MODULE ####
1707 -# This module provides an area within the bot where users can store and
1708 -# manage files. With this module, the bot is usable as a file server. The
1709 -# transfer module is required for this module to function. Un-comment
1710 -# the following line to load the filesys module.
1711 -#loadmodule filesys
1713 -# Set here the 'root' directory for the file system.
1714 -set files-path "/home/mydir/filesys"
1716 -# If you want to allow uploads, set this to the directory uploads
1717 -# should be put into. Set this to "" if you don't want people to
1718 -# upload files to your bot.
1719 -set incoming-path "/home/mydir/filesys/incoming"
1721 -# If you don't want to have a central incoming directory, but instead
1722 -# want uploads to go to the current directory that a user is in, set
1723 -# this setting to 1.
1724 -set upload-to-pwd 0
1726 -# Eggdrop creates a '.filedb' file in each subdirectory of your file area
1727 -# to keep track of its own file system information. If you can't do that (for
1728 -# example, if the dcc path isn't owned by you, or you just don't want it to do
1729 -# that) specify a path here where you'd like all of the database files to be
1733 -# Set here the maximum number of people that can be in the file area at once.
1734 -# Setting this to 0 makes it effectively infinite.
1735 -set max-file-users 20
1737 -# Set here the maximum allowable file size that will be received (in KB).
1738 -# Setting this to 0 makes it effectively infinite.
1739 -set max-filesize 1024
1742 -#### NOTES MODULE ####
1744 -# This module provides support for storing of notes for users from each other.
1745 -# Note sending between currently online users is supported in the core, this is
1746 -# only for storing the notes for later retrieval.
1749 -# Set here the filename where private notes between users are stored.
1750 -set notefile "LamestBot.notes"
1752 -# Set here the maximum number of notes to allow to be stored for each user
1753 -# (to prevent flooding).
1756 -# Set here how long (in days) to store notes before expiring them.
1759 -# Set this to 1 if you want to allow users to specify a forwarding address
1760 -# for forwarding notes to another account on another bot.
1763 -# Set this to 1 if you want the bot to let people know hourly if they have
1767 -# Set this to 1 if you want the bot to let people know on join if they have
1769 -set notify-onjoin 1
1771 -# Comment out this next line. Otherwise, your bot won't start.
1772 -die "You didn't edit your config file completely like you were told, did you?"
1775 -#### CONSOLE MODULE ####
1777 -# This module provides storage of console settings when you exit the
1778 -# bot or type .store on the partyline.
1781 -# Save users console settings automatically? Otherwise, they have
1782 -# to use the .store command.
1783 -set console-autosave 1
1785 -# If a user doesn't have any console settings saved, which channel
1786 -# do you want them automatically put on?
1787 -set force-channel 0
1789 -# Enable this setting if a user's global info line should be displayed
1790 -# when they join a botnet channel.
1794 -#### WOOBIE MODULE ####
1796 -# This is for demonstrative purposes only. If you are looking for starting
1797 -# point in writing modules, woobie is the right thing.
1801 -#### SEEN MODULE ####
1803 -# This module provides very basic seen commands via msg, on channel or via dcc.
1804 -# This module works only for users in the bot's userlist. If you are looking for
1805 -# a better and more advanced seen module, try the gseen module by G'Quann. You
1806 -# can find it at http://www.visions-of-fantasy.de/gseen.mod/.
1810 -#### BLOWFISH MODULE ####
1812 -# IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER
1813 -# Eggdrop encrypts its userfile, so users can have secure passwords.
1814 -# Please note that when you change your encryption method later (i.e.
1815 -# using other modules like a md5 module), you can't use your current
1816 -# userfile anymore. Eggdrop will not start without an encryption module.
1817 -#loadmodule blowfish
1820 -#### ASSOC MODULE ####
1822 -# This module provides assoc support, i.e. naming channels on the botnet.
1823 -# You can load it by un-commenting the following line.
1827 -#### WIRE MODULE ####
1829 -# This module provides all the standard .wire commands via dcc. It is an
1830 -# encrypted partyline communication tool, compatible with wire.tcl. An
1831 -# encryption module must be loaded to use this module. Un-comment the
1832 -# following line to load the wire module.
1835 -#### UPTIME MODULE ####
1837 -# This module reports uptime statistics to http://uptime.eggheads.org.
1838 -# Go look and see what your uptime is! It takes about 9 hours to show up,
1839 -# so if your bot isn't listed, try again later. The server module must be
1840 -# loaded for this module to function.
1842 -# Information sent to the server includes the bot's uptime, botnet-nick,
1843 -# server, version, and IP address. This information is stored in a temporary
1844 -# logfile for debugging purposes only. The only publicly available information
1845 -# will be the bot's botnet-nick, version and uptime. If you do not wish for this
1846 -# information to be sent, comment out the following line.
1849 -##### SCRIPTS #####
1851 -# This is a good place to load scripts to use with your bot.
1853 -# This line loads script.tcl from the scripts directory inside your Eggdrop's
1854 -# directory. All scripts should be put there, although you can place them where
1855 -# you like as long as you can supply a fully qualified path to them.
1857 -# source /usr/share/eggdrop/scripts/script.tcl
1859 -source /usr/share/eggdrop/scripts/alltools.tcl
1860 -source /usr/share/eggdrop/scripts/action.fix.tcl
1862 -# Use this script for Tcl and Eggdrop downwards compatibility.
1863 -# NOTE: This can also cause problems with some newer scripts.
1864 -source /usr/share/eggdrop/scripts/compat.tcl
1866 -# This script provides many useful informational functions, like setting
1867 -# users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add
1869 -source /usr/share/eggdrop/scripts/userinfo.tcl
1870 -loadhelp userinfo.help
1871 diff -burN eggdrop1.6.17.orig/Makefile eggdrop1.6.17/Makefile
1872 --- eggdrop1.6.17.orig/Makefile 2004-11-01 14:40:44.093457768 +0100
1873 +++ eggdrop1.6.17/Makefile 1970-01-01 01:00:00.000000000 +0100
1877 - @echo "Before you can compile your bot you have to configure it."
1878 - @echo "Please start the configure script now:"
1880 - @echo " % ./configure"
1883 diff -burN eggdrop1.6.17.orig/Makefile.in eggdrop1.6.17/Makefile.in
1884 --- eggdrop1.6.17.orig/Makefile.in 2004-11-01 14:40:44.109455336 +0100
1885 +++ eggdrop1.6.17/Makefile.in 2004-11-01 14:41:51.766169952 +0100
1890 +XSSL_LIBS = @SSL_LIBS@
1891 +XSSL_INCLUDE = @SSL_INCLUDE@
1893 TCLLIBFN = @TCLLIBFN@
1896 MAKE_MODEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD)' \
1897 'STRIP=$(MOD_STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS)' \
1898 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
1899 -'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(standard build)' 'MODOBJS='
1900 +'XSSL_LIBS=$(XSSL_LIBS)' 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' \
1901 +'XSSL_INCLUDE=$(XSSL_INCLUDE)' 'EGGBUILD=' 'MODOBJS='
1903 MAKE_MODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \
1904 'STRIP=$(SHLIB_STRIP)' 'CFLGS=$(CFLGS)' 'XLIBS=$(XLIBS)' 'MOD_EXT=$(MOD_EXT)' \
1905 @@ -99,12 +102,13 @@
1906 'STRIP=$(STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS) -DSTATIC' \
1907 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
1908 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static version)' \
1910 +'XSSL_INCLUDE=$(XSSL_INCLUDE)' 'XSSL_LIBS=$(XSSL_LIBS)' 'MODOBJS=mod/*.o'
1912 MAKE_DEBEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD) -g' \
1913 'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=-g3 $(DEBCFLAGS) $(CFLGS)' \
1914 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
1915 -'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(debug version)' 'MODOBJS='
1916 +'XSSL_LIBS=$(XSSL_LIBS)' 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' \
1917 +'XSSL_INCLUDE=$(XSSL_INCLUDE)' 'EGGBUILD=(debug version)' 'MODOBJS='
1919 MAKE_DEBMODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \
1920 'XLIBS=$(XLIBS)' 'STRIP=touch' 'CFLGS=-g3 $(DEBCFLAGS) $(CFLGS)' \
1922 MAKE_SDEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD) -g' \
1923 'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=-g3 $(DEBCFLAGS) -DSTATIC $(CFLGS)' \
1924 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' 'XLIBS=$(XLIBS)' \
1925 -'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static debug version)' 'MODOBJS=mod/*.o'
1926 +'XSSL_INCLUDE=$(XSSL_INCLUDE)' 'XSSL_LIBS=$(XSSL_LIBS)' 'EGGEXEC=$(EGGEXEC)' \
1927 +'EGGBUILD=(static and debug version)' 'MODOBJS=mod/*.o'
1929 MAKE_DEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
1930 'STRIP=$(STRIP)' 'CFLGS=$(CFLGS)'
1931 diff -burN eggdrop1.6.17.orig/src/dcc.c eggdrop1.6.17/src/dcc.c
1932 --- eggdrop1.6.17.orig/src/dcc.c 2004-11-01 14:40:44.050464304 +0100
1933 +++ eggdrop1.6.17/src/dcc.c 2004-11-01 14:41:51.870154144 +0100
1937 /* Includes for botnet md5 challenge/response code <cybah> */
1938 +#ifndef EGG_SSL_EXT
1939 #include "md5/md5.h"
1941 +#include "openssl/md5.h"
1944 extern struct userrec *userlist;
1945 extern struct chanset_t *chanset;
1946 diff -burN eggdrop1.6.17.orig/src/dccutil.c eggdrop1.6.17/src/dccutil.c
1947 --- eggdrop1.6.17.orig/src/dccutil.c 2004-11-01 14:40:44.053463848 +0100
1948 +++ eggdrop1.6.17/src/dccutil.c 2004-11-01 14:41:51.872153840 +0100
1951 #include "modules.h"
1955 extern struct dcc_t *dcc;
1956 extern int dcc_total, max_dcc, dcc_flood_thr, backgrd, copy_to_tmp, MAXSOCKS;
1957 diff -burN eggdrop1.6.17.orig/src/eggdrop.h eggdrop1.6.17/src/eggdrop.h
1958 --- eggdrop1.6.17.orig/src/eggdrop.h 2004-11-01 14:40:44.068461568 +0100
1959 +++ eggdrop1.6.17/src/eggdrop.h 2004-11-01 14:41:51.873153688 +0100
1960 @@ -616,17 +616,6 @@
1964 -/* This is used by the net module to keep track of sockets and what's
1972 - unsigned long outbuflen; /* Outbuf could be binary data */
1973 - unsigned long inbuflen; /* Inbuf could be binary data */
1977 EGG_OPTION_SET = 1, /* Set option(s). */
1978 diff -burN eggdrop1.6.17.orig/src/main.c eggdrop1.6.17/src/main.c
1979 --- eggdrop1.6.17.orig/src/main.c 2004-11-01 14:40:44.069461416 +0100
1980 +++ eggdrop1.6.17/src/main.c 2004-11-01 14:41:51.875153384 +0100
1989 void fatal(const char *s, int recoverable)
1992 for (i = 0; i < dcc_total; i++)
1993 if (dcc[i].sock >= 0)
1994 killsock(dcc[i].sock);
1995 + #ifdef EGG_SSL_EXT
2000 bg_send_quit(BG_ABORT);
2001 diff -burN eggdrop1.6.17.orig/src/Makefile.in eggdrop1.6.17/src/Makefile.in
2002 --- eggdrop1.6.17.orig/src/Makefile.in 2004-11-01 14:40:44.067461720 +0100
2003 +++ eggdrop1.6.17/src/Makefile.in 2004-11-01 14:41:51.868154448 +0100
2005 INSTALL_PROGRAM = @INSTALL_PROGRAM@
2006 INSTALL_DATA = @INSTALL_DATA@
2007 INSTALL_SCRIPT = @INSTALL_SCRIPT@
2008 +XSSL_LIBS = @SSL_LIBS@
2009 +XSSL_INCLUDE = @SSL_INCLUDE@
2014 @echo "Linking eggdrop $(EGGBUILD)."
2016 @touch mod/mod.xlibs
2017 - $(LD) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs`
2018 + $(LD) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs` $(XSSL_LIBS) $(XSSL_INCLUDE)
2019 $(STRIP) ../$(EGGEXEC)
2021 @echo "Successful compile: $(EGGEXEC)"
2022 diff -burN eggdrop1.6.17.orig/src/md5/md5c.c eggdrop1.6.17/src/md5/md5c.c
2023 --- eggdrop1.6.17.orig/src/md5/md5c.c 2004-11-01 14:40:43.906486192 +0100
2024 +++ eggdrop1.6.17/src/md5/md5c.c 2004-11-01 14:41:51.920146544 +0100
2029 +#ifndef EGG_SSL_EXT
2032 +#include "openssl/md5.h"
2035 #include "compat/compat.h"
2037 +typedef unsigned long MD5_u32plus;
2040 + MD5_u32plus lo, hi;
2041 + MD5_u32plus a, b, c, d;
2042 + unsigned char buffer[64];
2043 + MD5_u32plus block[16];
2047 * The basic MD5 functions.
2049 diff -burN eggdrop1.6.17.orig/src/md5/md5.h eggdrop1.6.17/src/md5/md5.h
2050 --- eggdrop1.6.17.orig/src/md5/md5.h 2004-11-01 14:40:43.905486344 +0100
2051 +++ eggdrop1.6.17/src/md5/md5.h 2004-11-01 14:41:51.876153232 +0100
2053 * Written by Solar Designer <solar@openwall.com> in 2001, and placed in
2054 * the public domain. See md5c.c for more information.
2056 +#include "../config.h"
2057 +#ifndef EGG_SSL_EXT
2063 extern void MD5_Final(unsigned char *result, MD5_CTX *ctx);
2067 diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/chan.c eggdrop1.6.17/src/mod/irc.mod/chan.c
2068 --- eggdrop1.6.17.orig/src/mod/irc.mod/chan.c 2004-11-01 14:40:44.040465824 +0100
2069 +++ eggdrop1.6.17/src/mod/irc.mod/chan.c 2004-11-01 14:41:51.953141528 +0100
2070 @@ -952,10 +952,10 @@
2075 + set_keyegg(chan, p);
2079 + set_keyegg(chan, p);
2083 diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/irc.c eggdrop1.6.17/src/mod/irc.mod/irc.c
2084 --- eggdrop1.6.17.orig/src/mod/irc.mod/irc.c 2004-11-01 14:40:44.037466280 +0100
2085 +++ eggdrop1.6.17/src/mod/irc.mod/irc.c 2004-11-01 14:41:51.987136360 +0100
2090 -static void set_key(struct chanset_t *chan, char *k)
2091 +static void set_keyegg(struct chanset_t *chan, char *k)
2093 nfree(chan->channel.key);
2095 diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/irc.h eggdrop1.6.17/src/mod/irc.mod/irc.h
2096 --- eggdrop1.6.17.orig/src/mod/irc.mod/irc.h 2004-11-01 14:40:44.039465976 +0100
2097 +++ eggdrop1.6.17/src/mod/irc.mod/irc.h 2004-11-01 14:41:51.988136208 +0100
2100 static void reset_chan_info(struct chanset_t *);
2101 static void recheck_channel(struct chanset_t *, int);
2102 -static void set_key(struct chanset_t *, char *);
2103 +static void set_keyegg(struct chanset_t *, char *);
2104 static void maybe_revenge(struct chanset_t *, char *, char *, int);
2105 static int detect_chan_flood(char *, char *, char *, struct chanset_t *, int,
2107 diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/mode.c eggdrop1.6.17/src/mod/irc.mod/mode.c
2108 --- eggdrop1.6.17.orig/src/mod/irc.mod/mode.c 2004-11-01 14:40:44.041465672 +0100
2109 +++ eggdrop1.6.17/src/mod/irc.mod/mode.c 2004-11-01 14:41:51.991135752 +0100
2110 @@ -1128,7 +1128,7 @@
2112 check_tcl_mode(nick, from, u, chan->dname, ms2, op);
2113 if (ms2[0] == '+') {
2114 - set_key(chan, op);
2115 + set_keyegg(chan, op);
2116 if (channel_active(chan))
2117 got_key(chan, nick, from, op);
2119 @@ -1139,7 +1139,7 @@
2120 !chan_master(user) && !match_my_nick(nick))
2121 add_mode(chan, '+', 'k', chan->key_prot);
2123 - set_key(chan, NULL);
2124 + set_keyegg(chan, NULL);
2128 diff -burN eggdrop1.6.17.orig/src/mod/module.h eggdrop1.6.17/src/mod/module.h
2129 --- eggdrop1.6.17.orig/src/mod/module.h 2004-11-01 14:40:43.926483152 +0100
2130 +++ eggdrop1.6.17/src/mod/module.h 2004-11-01 14:41:51.995135144 +0100
2131 @@ -471,13 +471,23 @@
2132 /* IPv6 leftovers: 286 */
2133 /* IPv6 leftovers: 287 */
2135 -/* IPv6 leftovers: 288 */
2137 +#define net_switch_to_ssl ((int (*)(int))global[289])
2138 +#define use_ssl (*(int *)global[290]) /* kyotou */
2139 +#define strip_mirc_codes ((void (*)(int, char *))global[291])
2140 +#define check_ansi ((int (*) (char *))global[292])
2141 +#define oatoi ((int (*) (const char *))global[293])
2143 +#define str_isdigit ((int (*) (const char *))global[294])
2144 +#define remove_crlf ((void (*)(char **))global[295])
2146 #define strip_mirc_codes ((void (*)(int, char *))global[289])
2147 #define check_ansi ((int (*) (char *))global[290])
2148 #define oatoi ((int (*) (const char *))global[291])
2150 #define str_isdigit ((int (*) (const char *))global[292])
2151 #define remove_crlf ((void (*)(char **))global[293])
2155 #define maskhost(a,b) _maskhost((a),(b),1)
2156 diff -burN eggdrop1.6.17.orig/src/mod/server.mod/servmsg.c eggdrop1.6.17/src/mod/server.mod/servmsg.c
2157 --- eggdrop1.6.17.orig/src/mod/server.mod/servmsg.c 2004-11-01 14:40:43.987473880 +0100
2158 +++ eggdrop1.6.17/src/mod/server.mod/servmsg.c 2004-11-01 14:41:52.036128912 +0100
2159 @@ -1239,6 +1239,14 @@
2160 fatal("NO SERVERS WILL ACCEPT MY CONNECTION.", 0);
2162 dcc[servidx].sock = serv;
2163 + #ifdef EGG_SSL_EXT
2164 + if (use_ssl) { /* kyotou */
2165 + if (net_switch_to_ssl(serv)==0) {
2166 + putlog(LOG_SERV, "*", "SSL %s %s (Error while switching to SSL)", IRC_FAILEDCONNECT, dcc[servidx].host);
2171 /* Queue standard login */
2172 dcc[servidx].timeval = now;
2173 SERVER_SOCKET.timeout_val = &server_timeout;
2174 diff -burN eggdrop1.6.17.orig/src/modules.c eggdrop1.6.17/src/modules.c
2175 --- eggdrop1.6.17.orig/src/modules.c 2004-11-01 14:40:44.071461112 +0100
2176 +++ eggdrop1.6.17/src/modules.c 2004-11-01 14:41:52.041128152 +0100
2179 #include "modules.h"
2182 +#ifndef EGG_SSL_EXT
2183 #include "md5/md5.h"
2185 +#include "openssl/md5.h"
2196 password_timeout, force_expire, protect_readonly, reserved_port_min,
2197 reserved_port_max, copy_to_tmp, quiet_reject;
2200 +extern int use_ssl; /* kyotou */
2203 extern party_t *party;
2204 extern time_t now, online_since;
2205 extern tand_t *tandbot;
2206 @@ -128,6 +140,10 @@
2211 +int net_switch_to_ssl(int);
2215 /* The null functions */
2217 @@ -564,7 +580,13 @@
2218 (Function) 0, /* IPv6 leftovers: 286 */
2219 (Function) 0, /* IPv6 leftovers: 287 */
2222 (Function) 0, /* IPv6 leftovers: 288 */
2223 + (Function) net_switch_to_ssl,
2224 + (Function) & use_ssl, /* kyotou */
2226 + (Function) 0, /* IPv6 leftovers: 288 */
2228 (Function) strip_mirc_codes,
2229 (Function) check_ansi,
2231 diff -burN eggdrop1.6.17.orig/src/net.c eggdrop1.6.17/src/net.c
2232 --- eggdrop1.6.17.orig/src/net.c 2004-11-01 14:40:44.052464000 +0100
2233 +++ eggdrop1.6.17/src/net.c 2004-11-01 14:41:52.044127696 +0100
2239 +# ifndef EGG_SSL_INCS
2240 +# include <openssl/ssl.h>
2241 +# include <openssl/err.h>
2242 +# include <openssl/rand.h>
2243 +# define EGG_SSL_INCS 1
2250 extern struct dcc_t *dcc;
2251 extern int backgrd, use_stderr, resolve_timeout, dcc_total;
2252 extern unsigned long otraffic_irc_today, otraffic_bn_today, otraffic_dcc_today,
2254 int firewallport = 1080; /* Default port of socks 4/5 firewalls. */
2255 char botuser[21] = "eggdrop"; /* Username of the user running the bot. */
2256 int dcc_sanitycheck = 0; /* Do some sanity checking on dcc connections. */
2259 +SSL_CTX *ssl_ctx=NULL;
2260 +char *tls_rand_file = NULL;
2261 +int use_ssl = 0; /* kyotou */
2263 sock_list *socklist = NULL; /* Enough to be safe. */
2265 jmp_buf alarmret; /* Env buffer for alarm() returns. */
2271 +int seed_PRNG(void)
2273 + char stackdata[1024];
2274 + static char rand_file[300];
2277 +#if OPENSSL_VERSION_NUMBER >= 0x00905100
2278 + if (RAND_status())
2279 + return 0; /* PRNG already good seeded */
2281 + /* if the device '/dev/urandom' is present, OpenSSL uses it by default.
2282 + * check if it's present, else we have to make random data ourselfs.
2284 + if ((fh = fopen("/dev/urandom", "r"))) {
2288 + if (RAND_file_name(rand_file, sizeof(rand_file)))
2289 + tls_rand_file = rand_file;
2292 + if (!RAND_load_file(rand_file, 1024)) {
2293 + /* no .rnd file found, create new seed */
2296 + RAND_seed(&c, sizeof(c));
2298 + RAND_seed(&c, sizeof(c));
2299 + RAND_seed(stackdata, sizeof(stackdata));
2301 +#if OPENSSL_VERSION_NUMBER >= 0x00905100
2302 + if (!RAND_status())
2303 + return 2; /* PRNG still badly seeded */
2310 /* Initialize the socklist
2315 for (i = 0; i < MAXSOCKS; i++) {
2316 socklist[i].flags = SOCK_UNUSED;
2318 + socklist[i].ssl=NULL;
2322 + /* good place to init ssl stuff */
2323 + SSL_load_error_strings();
2324 + OpenSSL_add_ssl_algorithms();
2325 + ssl_ctx=SSL_CTX_new(SSLv23_client_method());
2327 + fatal("SSL_CTX_new() failed",0);
2329 + fatal("Wasn't able to properly seed the PRNG!",0);
2334 +/* cleanup mess when quiting */
2337 + SSL_CTX_free(ssl_ctx);
2340 + if (tls_rand_file)
2341 + RAND_write_file(tls_rand_file);
2348 @@ -289,6 +371,13 @@
2350 for (i = 0; i < MAXSOCKS; i++) {
2351 if ((socklist[i].sock == sock) && !(socklist[i].flags & SOCK_UNUSED)) {
2353 + if (socklist[i].ssl) {
2354 + SSL_shutdown(socklist[i].ssl);
2355 + SSL_free(socklist[i].ssl);
2356 + socklist[i].ssl=NULL;
2359 close(socklist[i].sock);
2360 if (socklist[i].inbuf != NULL) {
2361 nfree(socklist[i].inbuf);
2362 @@ -428,6 +517,63 @@
2367 +int net_switch_to_ssl(int sock) {
2370 + debug0("net_switch_to_ssl()");
2371 + while (i<MAXSOCKS) {
2372 + if (socklist[i].sock==sock) {
2377 + if (i==MAXSOCKS) {
2378 + debug0("Error while swithing to SSL - sock not found in list");
2382 + if (socklist[i].ssl) {
2383 + debug0("Error while swithing to SSL - already in ssl");
2386 + socklist[i].ssl = SSL_new(ssl_ctx);
2387 + if (!socklist[i].ssl) {
2388 + debug0("Error while swithing to SSL - SSL_new() error");
2392 + SSL_set_fd(socklist[i].ssl, socklist[i].sock);
2393 + err = SSL_connect(socklist[i].ssl);
2395 + while (err <= 0) {
2397 + errs=SSL_get_error(socklist[i].ssl,err);
2398 + if ((errs!=SSL_ERROR_WANT_READ)&&(errs!=SSL_ERROR_WANT_WRITE)&&
2399 + (errs!=SSL_ERROR_WANT_X509_LOOKUP)) {
2400 + putlog(LOG_DEBUG,"*", "SSL_connect() = %d, %s", err,
2401 + (char *)ERR_error_string(ERR_get_error(), NULL));
2402 + SSL_shutdown(socklist[i].ssl);
2403 + SSL_free(socklist[i].ssl);
2404 + socklist[i].ssl = NULL;
2408 + err = SSL_connect(socklist[i].ssl);
2412 + debug0("SSL_connect() success");
2415 + debug0("Error while SSL_connect()");
2416 + SSL_shutdown(socklist[i].ssl);
2417 + SSL_free(socklist[i].ssl);
2418 + socklist[i].ssl = NULL;
2423 /* Ordinary non-binary connection attempt */
2424 int open_telnet(char *server, int port)
2427 for (i = 0; i < MAXSOCKS; i++) {
2428 if ((!(socklist[i].flags & SOCK_UNUSED)) &&
2429 ((FD_ISSET(socklist[i].sock, &fd)) ||
2431 + ((socklist[i].ssl)&&(SSL_pending(socklist[i].ssl))) ||
2433 ((socklist[i].sock == STDOUT) && (!backgrd) &&
2434 (FD_ISSET(STDIN, &fd))))) {
2435 if (socklist[i].flags & (SOCK_LISTEN | SOCK_CONNECT)) {
2436 @@ -663,7 +812,31 @@
2437 if ((socklist[i].sock == STDOUT) && !backgrd)
2438 x = read(STDIN, s, grab);
2442 + if (socklist[i].ssl) {
2443 + x=SSL_read(socklist[i].ssl,s,grab);
2445 + int err = SSL_get_error(socklist[i].ssl, x);
2448 + case SSL_ERROR_WANT_READ:
2451 + case SSL_ERROR_WANT_WRITE:
2454 + case SSL_ERROR_WANT_X509_LOOKUP:
2460 x = read(socklist[i].sock, s, grab);
2463 + x = read(socklist[i].sock, s, grab);
2465 if (x <= 0) { /* eof */
2466 if (errno != EAGAIN) { /* EAGAIN happens when the operation would
2467 * block on a non-blocking socket, if the
2468 @@ -956,6 +1129,26 @@
2469 socklist[i].outbuflen += len;
2473 + if (socklist[i].ssl) {
2474 + x=SSL_write(socklist[i].ssl,s,len);
2476 + int err = SSL_get_error(socklist[i].ssl, x);
2479 + case SSL_ERROR_WANT_READ:
2482 + case SSL_ERROR_WANT_WRITE:
2485 + case SSL_ERROR_WANT_X509_LOOKUP:
2493 x = write(z, s, len);
2495 @@ -1022,6 +1215,27 @@
2496 (socklist[i].outbuf != NULL) && (FD_ISSET(socklist[i].sock, &wfds))) {
2497 /* Trick tputs into doing the work */
2500 + if (socklist[i].ssl) {
2501 + x = write(socklist[i].sock, socklist[i].outbuf,
2502 + socklist[i].outbuflen);
2504 + int err = SSL_get_error(socklist[i].ssl, x);
2507 + case SSL_ERROR_WANT_READ:
2510 + case SSL_ERROR_WANT_WRITE:
2513 + case SSL_ERROR_WANT_X509_LOOKUP:
2520 x = write(socklist[i].sock, socklist[i].outbuf, socklist[i].outbuflen);
2521 if ((x < 0) && (errno != EAGAIN)
2523 diff -burN eggdrop1.6.17.orig/src/net.h eggdrop1.6.17/src/net.h
2524 --- eggdrop1.6.17.orig/src/net.h 1970-01-01 01:00:00.000000000 +0100
2525 +++ eggdrop1.6.17/src/net.h 2004-11-01 14:41:52.045127544 +0100
2530 +# ifndef EGG_SSL_INCS
2531 +# include <openssl/ssl.h>
2532 +# include <openssl/err.h>
2533 +# include <openssl/rand.h>
2534 +# define EGG_SSL_INCS 1
2538 +/* This is used by the net module to keep track of sockets and what's
2549 + unsigned long outbuflen; /* Outbuf could be binary data */
2550 + unsigned long inbuflen; /* Inbuf could be binary data */
2553 +#endif /* USE_IPV6 */
2556 +#endif /* _EGG_NET_H */
2557 diff -burN eggdrop1.6.17.orig/src/patch.h eggdrop1.6.17/src/patch.h
2558 --- eggdrop1.6.17.orig/src/patch.h 2004-11-01 14:40:44.074460656 +0100
2559 +++ eggdrop1.6.17/src/patch.h 2004-11-01 14:42:19.178002720 +0100
2564 -/* PATCH GOES HERE */
2571 diff -burN eggdrop1.6.17.orig/src/patch.h.orig eggdrop1.6.17/src/patch.h.orig
2572 --- eggdrop1.6.17.orig/src/patch.h.orig 2004-11-01 14:40:44.071461112 +0100
2573 +++ eggdrop1.6.17/src/patch.h.orig 1970-01-01 01:00:00.000000000 +0100
2577 - * header file for adding patches to Eggdrop's version string
2579 - * PLACE YOUR PATCHES HERE...
2583 - * replace a *** PATCH GOES HERE *** line with a patch("patchname");
2584 - * statement, leave the rest of the file alone, this allows better
2585 - * overlapping patches.
2590 - * Copyright (C) 1997 Robey Pointer
2591 - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team
2593 - * This program is free software; you can redistribute it and/or
2594 - * modify it under the terms of the GNU General Public License
2595 - * as published by the Free Software Foundation; either version 2
2596 - * of the License, or (at your option) any later version.
2598 - * This program is distributed in the hope that it will be useful,
2599 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
2600 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2601 - * GNU General Public License for more details.
2603 - * You should have received a copy of the GNU General Public License
2604 - * along with this program; if not, write to the Free Software
2605 - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2607 -#ifndef _EGG_PATCH_H
2608 -#define _EGG_PATCH_H
2613 -patch("multilevel_sharing");
2618 -/* PATCH GOES HERE */
2623 -/* PATCH GOES HERE */
2628 -/* PATCH GOES HERE */
2633 -/* PATCH GOES HERE */
2638 -/* PATCH GOES HERE */
2643 -/* PATCH GOES HERE */
2648 -/* PATCH GOES HERE */
2653 -/* PATCH GOES HERE */
2658 -/* PATCH GOES HERE */
2663 -/* PATCH GOES HERE */
2668 -/* PATCH GOES HERE */
2673 -/* PATCH GOES HERE */
2678 -/* PATCH GOES HERE */
2683 -/* PATCH GOES HERE */
2688 -/* PATCH GOES HERE */
2693 -/* PATCH GOES HERE */
2698 -/* PATCH GOES HERE */
2703 -/* PATCH GOES HERE */
2708 -/* PATCH GOES HERE */
2713 -/* PATCH GOES HERE */
2718 -/* PATCH GOES HERE */
2723 -/* PATCH GOES HERE */
2728 -/* PATCH GOES HERE */
2733 -/* PATCH GOES HERE */
2738 -/* PATCH GOES HERE */
2743 -/* PATCH GOES HERE */
2748 -/* PATCH GOES HERE */
2753 -/* PATCH GOES HERE */
2758 -/* PATCH GOES HERE */
2763 -/* PATCH GOES HERE */
2768 -/* PATCH GOES HERE */
2773 -/* if that's not enough, maybe you should release a new version :) */
2774 -#endif /* _EGG_PATCH_H */
2775 diff -burN eggdrop1.6.17.orig/src/tcl.c eggdrop1.6.17/src/tcl.c
2776 --- eggdrop1.6.17.orig/src/tcl.c 2004-11-01 14:40:44.052464000 +0100
2777 +++ eggdrop1.6.17/src/tcl.c 2004-11-01 14:41:52.049126936 +0100
2780 extern time_t online_since;
2782 +#ifdef EGG_SSL_EXT
\r
2783 +extern int use_ssl; /* kyotou */
\r
2786 extern char origbotname[], botuser[], motdfile[], admin[], userfile[],
2787 firewall[], helpdir[], notify_new[], hostname[], myip[], moddir[],
2788 tempdir[], owner[], network[], botnetnick[], bannerfile[],
2790 {"enable-simul", &enable_simul, 0}, /* compat */
2791 {"debug-output", &debug_output, 0}, /* compat */
2792 {"use-console-r", &use_console_r, 0}, /* compat */
2793 +#ifdef EGG_SSL_EXT
\r
2794 + {"use-ssl", &use_ssl, 0}, /* kyotou */
\r
2799 diff -burN eggdrop1.6.17.orig/src/tclmisc.c eggdrop1.6.17/src/tclmisc.c
2800 --- eggdrop1.6.17.orig/src/tclmisc.c 2004-11-01 14:40:44.070461264 +0100
2801 +++ eggdrop1.6.17/src/tclmisc.c 2004-11-01 14:41:52.089120856 +0100
2804 #include "modules.h"
2806 -#include "md5/md5.h"
2808 +#ifndef EGG_SSL_EXT
\r
2809 + #include "md5/md5.h"
\r
2811 +#include "openssl/md5.h"
\r
2815 #ifdef TIME_WITH_SYS_TIME
2816 # include <sys/time.h>