Merge branch 'sfhg/master' from MBSE BBS SourceForge Hg repo into 'master'.

This commit is contained in:
Robert James Clay 2015-05-18 13:00:22 -04:00
commit 8e2a71f399
31 changed files with 912 additions and 319 deletions

View File

@ -40,7 +40,7 @@ NERvOus nervous@nervous.it
Bobby Cabral bobbyc@digitelone.com Bobby Cabral bobbyc@digitelone.com
Johannes Beekhuizen 2:280/1018@fidonet Johannes Beekhuizen 2:280/1018@fidonet
Lukas De Groen 2:280/1027@fidonet Lukas De Groen 2:280/1027@fidonet
Vince Coen 2:257/609@fidonet Vincent Coen vbcoen@gmail.com 2:250/1@fidonet
Joachim Kuwan 2:249/591@fidonet Joachim Kuwan 2:249/591@fidonet
Greek greek@voyager.nnov.ru Greek greek@voyager.nnov.ru
Sergey Nechaev 2:5015/53@fidonet Sergey Nechaev 2:5015/53@fidonet
@ -57,4 +57,4 @@ val khokhlov 2:550/180@fidonet
Robert Wolfe 1:2613/4307@fidonet Robert Wolfe 1:2613/4307@fidonet
Alan Ianson Alan Ianson
Simon Voortman 2:280/1049.1@fidonet Simon Voortman 2:280/1049.1@fidonet
Andrew Leary 1:320/219@fidonet

137
ChangeLog
View File

@ -1,3 +1,140 @@
v1.0.5 02-Nov-2014 - Andrew Leary
1. Adjusted mbcico's .flo file logic to support a space
character as the first character of the .flo file line.
This character indicates that the file named in the
remainder of the line should be sent to the remote system.
This is needed to allow transmitting filenames that start
with .flo file reserved characters such as ^, #, -, or @.
2. Worked on increasing reliability of Binkp NR mode. It
is strongly recommended that CRC mode be enabled for any
node which NR mode is enabled for.
v1.0.4 03-Sep-2014 - Andrew Leary
1. Reverted Vince Coen's packaging changes until an upgrade
script can be written and tested.
2. Added Binkp CRC support (FSP-1020) to mbcico.
3. Changed the No Binkp/1.1 setting for nodes to be
effective on outbound calls only. It was causing issues
with other mailers (including BinkD) on inbound calls,
because mbcico was reporting binkp/1.1 in the VER string and
then downshifting to binkp/1.0.
4. Updated the Internet Rex binkp/1.1 bug workaround to
reflect that versions 2.31 and 2.67 are also affected.
v1.0.3 13-Jun-2014 - Vincent Coen
1. Changed unix/mbuseradd.c
Added extra arg to useradd -p 12345 to avoid a locked
record under Mageia v4 that prevents the password
adding a record due to a file busy may be: Lets see.
No it is not so reverted back.
2. Still looking for cause of bug.
v1.0.2 14-Mar-2014 - Vincent Coen
Changed packaging to use /home/mbse instead of /opt/mbse
to suit users with a seperate / and a /home partitions.
IT DOES NOT CHANGE THE RESULTS FOR AN EXISTING INSTALL
WHERE mbse & bbs users are set up to use /opt/mbse.
YOU WILL HAVE TO DO THIS MANUALLY.
The supplied INSTALL script has been changed.
To do this you will need to change:
1. Users mbse, bbs and all bbs users to reflect the change
of home directory from /opt/mbse to /home/mbse using your
distro's graphic system editing tool for users or if not
available use usermod via sudo etc:
usermod -m -d /home/mbse mbse
usermod -m -d /home/mbse/home/bbs bbs
usermod -m -d /home/mbse/home/user-name bbs user-name
Note that the '-m' option in usermod option is to move the
contents from the existing to the new location.
You can see the list of bbs users by running:
ls -la /opt/mbse/home
2. Using your favourite editor Change
/etc/services and
/etc/xinetd.d/mbsebbs
Replacing all instances of /opt/mbse with
/home/mbse
3. Now do the same with http and ftp config files in
/etc/httpd/conf/httpd.conf and
/etc/proftpd/proftpd.conf (or whatever ftp & web service
you use.
4. Having installed/upgraded the mbse system you must
reboot the system or stop and start mbse, xinetd, ftp,
httpd etc
services. It is easier just shuting down and starting
the system.
5. As su run cp -ap /opt/mbse /home
6. If not already done so, build the system using the usual
./configure & make and now run make install as su or if
not available do, sudo bash then su then make install
7. Change all crontab processes that deal with mbse both as
user mbse and root to reflect new directory using:
crontab -l to see what is current and then as crontab -e
to edit.
8. After rebooting the system check everything is working
Then I would suggest renaming /opt/mbse say from /opt/mbse
/opt/old-mbse and leave it a few days before deleting when
you are SURE that all is working.
9. Now when you change the /boot partition or install a new
version of your distro you can continue to use your /home
as is but do not forget to recreate the crontab, xinetd,
rc.d/init.d/mbseb etc as needed by using cp -vp from the
old partition to the new or failing that create a modified
version of SETUP.sh as needed and run it.
...........NOW READ THE ABOVE, AGAIN..................
lib/
libmbse.a:
Replaced ftscprod.014 with ftscprod.016
v1.0.1 Dec 2013 - Vincent Coen
lib/
libmbse.a:
Fixed packaging and compiling the correct ftscprod
file to ftscprod.014.
v1.0.0 Dec 2013?
This is the last version of mbsebbs submitted by me,
Michiel.
libmbse.a:
Updated to ftscprod.012.
v0.95.15 26-Dec-2012
mblogin:
Logs to facility LOG_AUTHPRIV instead of LOG_AUTH.
mbuseradd:
Logs to facility LOG_AUTHPRIV instead of LOG_AUTH.
mbpasswd:
Logs to facility LOG_AUTHPRIV instead of LOG_AUTH.
v0.95.14 01-Dec-2011 v0.95.14 01-Dec-2011
general: general:

View File

@ -17,8 +17,8 @@ Internal mail format is JAM (c) messagebase.
Full tic file support, including extended Full tic file support, including extended
tic files. tic files.
OS: GNU/Linux and *BSD, 32/64 bit versions. OS: GNU/Linux and *BSD, 32/64 bit versions.
Originating sites 2:280/2802@fidonet and http://sourceforge.net/projects/mbsebbs
http://www.mbse.eu/
Copyright by Michiel Broek. Copyright by Michiel Broek.
Released under the terms of the GNU Public Released under the terms of the GNU Public
License. License.

View File

@ -7,7 +7,7 @@ OTHER = AUTHORS ChangeLog COPYING DEBUG CRON.sh FILE_ID.DIZ.in \
INSTALL.in Makefile Makefile.global.in NEWS cpuflags \ INSTALL.in Makefile Makefile.global.in NEWS cpuflags \
ChangeLog_1998 ChangeLog_1999 ChangeLog_2000 ChangeLog_2001 \ ChangeLog_1998 ChangeLog_1999 ChangeLog_2000 ChangeLog_2001 \
ChangeLog_2002 ChangeLog_2003 ChangeLog_2004 ChangeLog_2005 \ ChangeLog_2002 ChangeLog_2003 ChangeLog_2004 ChangeLog_2005 \
README SETUP.sh \ ChangeLog_2006 ChangeLog_2007 README SETUP.sh \
TODO UPGRADE aclocal.m4 checkbasic config.h.in configure \ TODO UPGRADE aclocal.m4 checkbasic config.h.in configure \
configure.ac \ configure.ac \
paths.h.in README.Gentoo README.Ubuntu paths.h.in README.Gentoo README.Ubuntu

9
README
View File

@ -1,5 +1,3 @@
$Id: README,v 1.8 2006/07/03 20:27:21 mbse Exp $
MBSE BBS Packages. MBSE BBS Packages.
@ -26,3 +24,10 @@ For first time installing, see the file INSTALL. After installation, the html
guide is installed in /opt/mbse/html. guide is installed in /opt/mbse/html.
Since 1 August 2013 I (Michiel Broek) stopped developing this package. But this
is a GPL2 licensed open source package so feel free to continue to improve it.
I only ask to make it clear to others that it is a modified package. You can do
that by changing the version numbers and messages in the file configure.ac and
then run autoconf to update the configure scripts.

14
TODO
View File

@ -1,6 +1,6 @@
MBSE BBS V0.95.14 TODO list. MBSE BBS V1.0.1 TODO list.
---------------------------- --------------------------
These are a list of things that must be implemented one way or These are a list of things that must be implemented one way or
another. Some things are urgent and necessary to operate the bbs another. Some things are urgent and necessary to operate the bbs
@ -12,7 +12,6 @@
N = Normal, second priority. N = Normal, second priority.
L = Cosmetic or nice to have. L = Cosmetic or nice to have.
W = Feature request. W = Feature request.
X = Will not be done unless it's really needed.
everything: everything:
N: In BSO the i flavor should have been d flavor. N: In BSO the i flavor should have been d flavor.
@ -35,15 +34,8 @@ mbsebbs:
N: Only count posted messages in local mail areas. N: Only count posted messages in local mail areas.
X: OLR: include private email area in download packets. See also global
wish for private mail areas.
X: OLR: implement some global settings from the offline configuration.
N: OLR: qwk, check netmail entered from reader, fido address missing? N: OLR: qwk, check netmail entered from reader, fido address missing?
X: Implement kermit protocol, external versions don't work right.
mbfido: mbfido:
N: Don't log an error if no file_id.diz is found. N: Don't log an error if no file_id.diz is found.
@ -66,8 +58,6 @@ mbfido:
W: Add macro's for stats of all months. W: Add macro's for stats of all months.
X: Implement file requests for directory nodes.
W: Add %from command to areamgr/filemgr. W: Add %from command to areamgr/filemgr.
W: Add netmail notification of changed areas. W: Add netmail notification of changed areas.

272
configure vendored
View File

@ -1,11 +1,9 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68. # Generated by GNU Autoconf 2.69.
# #
# #
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
# Foundation, Inc.
# #
# #
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
@ -134,6 +132,31 @@ export LANGUAGE
# CDPATH. # CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
as_fn_exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh emulate sh
@ -167,7 +190,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else else
exitcode=1; echo positional parameters were not saved. exitcode=1; echo positional parameters were not saved.
fi fi
test x\$exitcode = x0 || exit 1" test x\$exitcode = x0 || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@ -212,6 +236,7 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then : if test "x$CONFIG_SHELL" != x; then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also # neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables. # works around shells that cannot unset nonexistent variables.
@ -219,14 +244,17 @@ IFS=$as_save_IFS
BASH_ENV=/dev/null BASH_ENV=/dev/null
ENV=/dev/null ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
case $- in # (((( case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;; *v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;; *v* ) as_opts=-v ;;
*x* ) as_opts=-x ;; *x* ) as_opts=-x ;;
* ) as_opts= ;; * ) as_opts= ;;
esac esac
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi fi
if test x$as_have_required = xno; then : if test x$as_have_required = xno; then :
@ -328,6 +356,14 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p } # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE # as_fn_append VAR VALUE
# ---------------------- # ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take # Append the text in VALUE to the end of the definition contained in VAR. Take
@ -449,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" || chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems # Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the # (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this). # original and so on. Autoconf is especially sensitive to this).
@ -483,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas: # ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'. # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p' as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln as_ln_s=ln
else else
as_ln_s='cp -p' as_ln_s='cp -pR'
fi fi
else else
as_ln_s='cp -p' as_ln_s='cp -pR'
fi fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null rmdir conf$$.dir 2>/dev/null
@ -504,28 +544,8 @@ else
as_mkdir_p=false as_mkdir_p=false
fi fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x' as_test_x='test -x'
else as_executable_p=as_fn_executable_p
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name. # Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@ -1169,8 +1189,6 @@ target=$target_alias
if test "x$host_alias" != x; then if test "x$host_alias" != x; then
if test "x$build_alias" = x; then if test "x$build_alias" = x; then
cross_compiling=maybe cross_compiling=maybe
$as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes cross_compiling=yes
fi fi
@ -1406,9 +1424,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
configure configure
generated by GNU Autoconf 2.68 generated by GNU Autoconf 2.69
Copyright (C) 2010 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it. gives unlimited permission to copy, distribute and modify it.
_ACEOF _ACEOF
@ -1594,7 +1612,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err test ! -s conftest.err
} && test -s conftest$ac_exeext && { } && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes || test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext test -x conftest$ac_exeext
}; then : }; then :
ac_retval=0 ac_retval=0
else else
@ -1928,7 +1946,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was It was created by $as_me, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2289,12 +2307,12 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
# After changeing the version number, run autoconf! # After changeing the version number, run autoconf!
# #
PACKAGE="mbsebbs" PACKAGE="mbsebbs"
MAJOR="0" MAJOR="1"
MINOR="95" MINOR="0"
REVISION="14" REVISION="5"
VERSION="$MAJOR.$MINOR.$REVISION" VERSION="$MAJOR.$MINOR.$REVISION"
COPYRIGHT="Copyright (C) 1997-2011 Michiel Broek, All Rights Reserved" COPYRIGHT="Copyright (C) 1997-2014 Michiel Broek, All Rights Reserved"
SHORTRIGHT="Copyright (C) 1997-2011 M. Broek" SHORTRIGHT="Copyright (C) 1997-2014 M. Broek"
GROUP="bbs" GROUP="bbs"
OWNER="mbse" OWNER="mbse"
ROWNER="`id -un root`" ROWNER="`id -un root`"
@ -2359,7 +2377,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MAKE="gmake" ac_cv_prog_MAKE="gmake"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2396,7 +2414,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MAKE="make" ac_cv_prog_MAKE="make"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2434,7 +2452,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="gawk" ac_cv_prog_AWK="gawk"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2471,7 +2489,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="nawk" ac_cv_prog_AWK="nawk"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2508,7 +2526,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="awk" ac_cv_prog_AWK="awk"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2546,7 +2564,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_INSTALL="ginstall" ac_cv_prog_INSTALL="ginstall"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2583,7 +2601,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_INSTALL="install" ac_cv_prog_INSTALL="install"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2626,7 +2644,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc" ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2666,7 +2684,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc" ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2719,7 +2737,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc" ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2760,7 +2778,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes ac_prog_rejected=yes
continue continue
@ -2818,7 +2836,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -2862,7 +2880,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog" ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3308,8 +3326,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* end confdefs.h. */
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
#include <sys/types.h> struct stat;
#include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; }; struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int); FILE * (*rcsopen) (struct buf *, struct stat *, int);
@ -3442,7 +3459,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3482,7 +3499,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib" ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3544,7 +3561,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_TAR="tar" ac_cv_prog_TAR="tar"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3581,7 +3598,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ZIP="zip" ac_cv_prog_ZIP="zip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3621,7 +3638,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_CHOWN="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_CHOWN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -3799,7 +3816,7 @@ do
for ac_prog in grep ggrep; do for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found. # Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP # Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in case `"$ac_path_GREP" --version 2>&1` in
@ -3865,7 +3882,7 @@ do
for ac_prog in egrep; do for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP # Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in case `"$ac_path_EGREP" --version 2>&1` in
@ -5491,11 +5508,11 @@ else
int int
main () main ()
{ {
/* FIXME: Include the comments suggested by Paul. */
#ifndef __cplusplus #ifndef __cplusplus
/* Ultrix mips cc rejects this. */ /* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2]; typedef int charset[2];
const charset cs; const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */ /* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc; char const *const *pcpcc;
char **ppc; char **ppc;
@ -5512,8 +5529,9 @@ main ()
++pcpcc; ++pcpcc;
ppc = (char**) pcpcc; ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc; pcpcc = (char const *const *) ppc;
{ /* SCO 3.2v4 cc rejects this. */ { /* SCO 3.2v4 cc rejects this sort of thing. */
char *t; char tx;
char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0; char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0; *t++ = 0;
@ -5529,10 +5547,10 @@ main ()
iptr p = 0; iptr p = 0;
++p; ++p;
} }
{ /* AIX XL C 1.02.0.0 rejects this saying { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; }; struct s { int j; const int *ap[3]; } bx;
struct s *b; b->j = 5; struct s *b = &bx; b->j = 5;
} }
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10; const int foo = 10;
@ -6003,7 +6021,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6044,7 +6062,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6085,7 +6103,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ARC="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ARC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6125,7 +6143,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_NOMARCH="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_NOMARCH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6165,7 +6183,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ARJ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ARJ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6205,7 +6223,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UNARJ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_UNARJ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6245,7 +6263,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_LHA="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_LHA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6285,7 +6303,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RAR="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_RAR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6325,7 +6343,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UNRAR="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_UNRAR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6365,7 +6383,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6405,7 +6423,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6445,7 +6463,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6485,7 +6503,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ZOO="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ZOO="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6525,7 +6543,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_HA="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_HA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6565,7 +6583,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ANTIVIR="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ANTIVIR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6605,7 +6623,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_FPROT="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_FPROT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6645,7 +6663,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_UVSCAN="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_UVSCAN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6685,7 +6703,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_CLAMAV="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_CLAMAV="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6725,7 +6743,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6765,7 +6783,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6805,7 +6823,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6845,7 +6863,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6885,7 +6903,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6925,7 +6943,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -6965,7 +6983,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7005,7 +7023,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7045,7 +7063,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7085,7 +7103,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7125,7 +7143,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7165,7 +7183,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7205,7 +7223,7 @@ do
IFS=$as_save_IFS IFS=$as_save_IFS
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_CONVERT="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_CONVERT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
@ -7810,16 +7828,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas: # ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'. # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p' as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln as_ln_s=ln
else else
as_ln_s='cp -p' as_ln_s='cp -pR'
fi fi
else else
as_ln_s='cp -p' as_ln_s='cp -pR'
fi fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null rmdir conf$$.dir 2>/dev/null
@ -7879,28 +7897,16 @@ else
as_mkdir_p=false as_mkdir_p=false
fi fi
if test -x / >/dev/null 2>&1; then
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x' as_test_x='test -x'
else as_executable_p=as_fn_executable_p
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name. # Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@ -7922,7 +7928,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by $as_me, which was This file was extended by $as_me, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_HEADERS = $CONFIG_HEADERS
@ -7988,10 +7994,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
config.status config.status
configured by $0, generated by GNU Autoconf 2.68, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it." gives unlimited permission to copy, distribute and modify it."
@ -8079,7 +8085,7 @@ fi
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then if \$ac_cs_recheck; then
set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL' CONFIG_SHELL='$SHELL'

View File

@ -10,12 +10,12 @@ AC_SUBST(SUBDIRS)
# After changeing the version number, run autoconf! # After changeing the version number, run autoconf!
# #
PACKAGE="mbsebbs" PACKAGE="mbsebbs"
MAJOR="0" MAJOR="1"
MINOR="95" MINOR="0"
REVISION="14" REVISION="5"
VERSION="$MAJOR.$MINOR.$REVISION" VERSION="$MAJOR.$MINOR.$REVISION"
COPYRIGHT="Copyright (C) 1997-2011 Michiel Broek, All Rights Reserved" COPYRIGHT="Copyright (C) 1997-2014 Michiel Broek, All Rights Reserved"
SHORTRIGHT="Copyright (C) 1997-2011 M. Broek" SHORTRIGHT="Copyright (C) 1997-2014 M. Broek"
GROUP="bbs" GROUP="bbs"
OWNER="mbse" OWNER="mbse"
ROWNER="`id -un root`" ROWNER="`id -un root`"

View File

@ -42,7 +42,7 @@ OBJS = ${COMMON_OBJS} ${DBASE_OBJS} ${MSGBASE_OBJS} ${MBINET_OBJS} \
${DIESEL_OBJS} ${NODELIST_OBJS} ${CHC_OBJS} ${DIESEL_OBJS} ${NODELIST_OBJS} ${CHC_OBJS}
HDRS = ${COMMON_HDRS} ${DBASE_HDRS} ${MSGBASE_HDRS} ${MBINET_HDRS} \ HDRS = ${COMMON_HDRS} ${DBASE_HDRS} ${MSGBASE_HDRS} ${MBINET_HDRS} \
${DIESEL_HDRS} ${NODELIST_HDRS} ${CHC_HDRS} ${OTHER_HDRS} ${DIESEL_HDRS} ${NODELIST_HDRS} ${CHC_HDRS} ${OTHER_HDRS}
OTHER = Makefile README ftscprod.010 mkprod.awk \ OTHER = Makefile README ftscprod.016 mkprod.awk \
README.diesel README.macro Diesel.doc nodelist.conf README.diesel README.macro Diesel.doc nodelist.conf
TARGET = libmbse.a libdbase.a libmsgbase.a libmbinet.a libdiesel.a \ TARGET = libmbse.a libdbase.a libmsgbase.a libmbinet.a libdiesel.a \
libnodelist.a libnodelist.a

302
lib/ftscprod.016 Normal file
View File

@ -0,0 +1,302 @@
0000,Fido,MS-DOS,Packer/mailer,Tom_Jennings,1:125/111
0001,Rover,MS-DOS,Packer/mailer,Bob_Hartman,1:104/501
0002,SEAdog,MS-DOS,Packer/mailer,Thom_Henderson,1:107/542.1
0003,WinDog,MS-DOS,Mailer,Solar_Wind_Computing,1:115/333
0004,Slick-150,HP-150,Packer/mailer,Jerry_Bain,????
0005,Opus,MS-DOS,Packer/mailer,Doug_Boone,1:124/4227
0006,Dutchie,MS-DOS,Packer/mailer,Henk_Wevers,2:500/1
0007,WPL_Library,Amiga,Mailer,Russell_McOrmand,1:163/109
0008,Tabby,Macintosh,Packer/mailer,Michael_Connick,1:107/412
0009,SWMail,OS/2,Mailer,Solar_Wind_Computing,1:115/333
000A,Wolf-68k,CPM-68k,Packer/mailer,Robert_Heller,1:321/153
000B,QMM,QNX,Packer/mailer,Rick_Duff,1:167/201
000C,FrontDoor,MS-DOS,Packer/mailer,Joaquim_Homrighausen,2:270/17
000D,GOmail,MS-DOS,Packer,Scott_Green,????
000E,FFGate,MS-DOS,Packer,Ruedi_Kneubuehler,2:301/580
000F,FileMgr,MS-DOS,Packer,Erik_van_Emmerik,2:281/611
0010,FIDZERCP,MS-DOS,Packer,Thorsten_Seidel,2:242/55
0011,MailMan,MS-DOS,Packer,Ron_Bemis,1:124/1113
0012,OOPS,MS-DOS,Packer,Tom_Kashuba,1:322/379
0013,GS-Point,Atari_ST,Packer/mailer,Harry_Lee,1:124/4230
0014,BGMail,????,????,Ray_Gwinn,1:265/104
0015,ComMotion/2,OS/2,Packer/mailer,Michael_Buenter,2:301/602
0016,OurBBS_Fidomailer,MS-DOS/Unix/Coherent,Packer/mailer,Brian_Keahl,1:133/524
0017,FidoPcb,MS-DOS,Packer,Matjaz_Koce,2:380/100
0018,WimpLink,Archimedes,Packer/mailer,Remco_de_Vreugd,2:283/307
0019,BinkScan,MS-DOS,Packer,Shawn_Stoddard,1:362/101
001A,D'Bridge,MS-DOS,Packer/mailer,Nick Andre,1:1/130,20110725
001B,BinkleyTerm,MS-DOS,Mailer,Vince_Perriello,1:343/491
001C,Yankee,MS-DOS,Packer,Randy_Edwards,????
001D,uuGate,MS-DOS,Packer,Geoff_Watts,3:690/710
001E,Daisy,Apple_][,Packer/mailer,Raymond_&_Ken_Lo,3:700/1
001F,Polar_Bear,????,Packer/mailer,Kenneth_McLeod,1:101/190
0020,The-Box,MS-DOS/Atari_ST,Packer/mailer,Jac_Kersing/Arjen_Lentz,2:283/333
0021,STARgate/2,OS/2,Packer/mailer,Shawn_Stoddard,1:362/101
0022,TMail,MS-DOS,Packer,Larry_Lewis,3:713/600.1701
0023,TCOMMail,MS-DOS,Packer/mailer,Mike_Ratledge,1:372/888
0024,GIGO,MS-DOS,Packer,Jason_Fesler,1:203/7707,,940228
0025,RBBSMail,MS-DOS,Packer,Jan_Terpstra,2:512/10
0026,Apple-Netmail,Apple_][,Packer/mailer,Bill_Fenner,1:129/87
0027,Chameleon,Amiga,Mailer,Juergen_Hermann,2:241/2.12
0028,Majik_Board,MS-DOS,Packer/mailer,Dale_Barnes,1:3601/14.20
0029,QM,MS-DOS,Packer,George_Peace,1:270/101
002A,Point_And_Click,Amiga,Packer,Rob_Tillotson,1:201/40.302
002B,Aurora_Three_Bundler,MS-DOS,Packer,Oliver_McDonald,????
002C,FourDog,MS-DOS,Packer,Shay_Walters,1:376/12
002D,MSG-PACK,MS-DOS,Packer,Tom_Hendricks,1:261/662
002E,AMAX,MS-DOS,Packer,Alan_Applegate,1:104/36
002F,Domain_Communication_System,????,????,Hal_Duprie,1:101/106
0030,LesRobot,????,Packer,Lennart_Svensonn,2:501/2
0031,Rose,MS-DOS,Packer/mailer,Glen_Jackson,1:100/617
0032,Paragon,Amiga,Packer/mailer,Jon_Radoff,1:322/545
0033,BinkleyTerm/oMMM/ST,Atari_ST,Packer/mailer,Bill_Scull,1:363/112,,19951209
0034,StarNet,Atari_ST,Mailer,Eric_Drewry,1:322/566
0035,ZzyZx,MS-DOS,Packer,Jason_Steck,1:124/424
0036,QEcho,MS-DOS,Packer,The_QuickBBS_Group,1:363/1701
0037,BOOM,MS-DOS,Packer,Andrew_Farmer,1:243/1
0038,PBBS,Amiga,Packer/mailer,Todd_Kover,1:261/1028
0039,TrapDoor,Amiga,Mailer,Maximilian_Hantsch,2:310/6
003A,Welmat,Amiga,Mailer,Russell_McOrmand,1:163/109
003B,NetGate,Unix-386,Packer,David_Nugent,3:632/348
003C,Odie,MS-DOS,Mailer,Matt_Farrenkopf,1:105/376
003D,Quick_Gimme,CPM-80/MS-DOS,Packer/mailer,Laeeth_Isaacs,2:254/18
003E,dbLink,MS-DOS,Packer/mailer,Chris_Irwin,1:18/68
003F,TosScan,MS-DOS,Packer,Joaquim_Homrighausen,2:270/17
0040,Beagle,MS-DOS,Mailer,Alexander_Holy,2:310/90
0041,Igor,MS-DOS,Mailer,Harry_Lee,1:124/4230
0042,TIMS,MS-DOS,Packer/mailer,Bit_Bucket_Software,1:104/501
0043,Phoenix,MS-DOS,Packer/mailer,International_Telecommunications,1:296/5,,19930624
0044,FrontDoor_APX,MS-DOS,Packer/mailer,Joaquim_Homrighausen,2:270/17
0045,XRS,MS-DOS,Packer,Mike_Ratledge,1:372/888
0046,Juliet_Mail_System,Amiga,Packer,Gregory_Kritsch,1:163/109.30
0047,Jabberwocky,Macintosh,Packer,Eric_Larson,1:2605/620
0048,XST,MS-DOS,Packer,Wayne_Michaels,1:380/100
0049,MailStorm,Amiga,Packer,Russel_Miranda,1:268/106
004A,BIX-Mail,????,Mailer,Bob_Hartman,1:104/501
004B,IMAIL,MS-DOS,Packer,IMAIL_INC.,2:246/47
004C,FTNGate,MS-DOS,Packer,Jason_Steck,1:104/424
004D,RealMail,MS-DOS,Packer,Taine_Gilliam,1:372/42
004E,Lora-CBIS,MS-DOS,Mailer,Marco_Maccaferri,2:332/402
004F,TDCS,PDP-11,Packer/mailer,Terry_Ebdon,2:254/6
0050,InterMail,MS-DOS,Packer/mailer,Peter_Stewart,1:369/35
0051,RFD,MS-DOS,Packer,Doug_Belkofer,1:234/10
0052,Yuppie!,MS-DOS,Packer,Leo_Moll,2:242/2
0053,EMMA,MS-DOS,Packer,Johan_Zwiekhorst,2:292/100
0054,QBoxMail,QDOS,Packer/mailer,Jan_Bredenbeek,2:283/500
0055,Number_4,MS-DOS,Packer/mailer,Ola_Garstad,2:502/15
0056,Number_5,MS-DOS,Packer/mailer,Ola_Garstad,2:502/15
0057,GSBBS,MS-DOS,Packer,Michelangelo_Jones,1:260/244
0058,Merlin,MS-DOS,Packer/mailer,Mark_Lewis,2:258/25
0059,TPCS,MS-DOS,Packer,Mikael_Kjellstrom,2:201/211
005A,Raid,MS-DOS,Packer,George_Peace,1:270/101
005B,Outpost,MS-DOS,Packer/mailer,Mike_Dailor,????
005C,Nizze,MS-DOS,Packer,Tomas_Nielsen,2:205/202
005D,Armadillo,Macintosh,Packer,Erik_Sea,1:221/109
005E,rfmail,Unix,Packer/mailer,Per_Lindqvist,2:201/332
005F,Msgtoss,MS-DOS,Packer,Mike_Zakharoff,1:343/36
0060,InfoTex,MS-DOS,Packer/mailer,Jan_Spooren,2:292/852
0061,GEcho,MS-DOS,Packer,Gerard_van_der_Land,2:283/555,951209
0062,CDEhost,MS-DOS,Packer,Dennis_D'Annunzio,1:379/28
0063,Pktize,MS-DOS,Packer,Joaquim_Homrighausen,2:270/17
0064,PC-RAIN,MS-DOS,Packer/mailer,Ray_Hyder,1:272/40
0065,Truffle,MS-DOS/OS2,Mailer,Mike_Rissa,2:504/59
0066,Foozle,Amiga,Packer,Peer_Hasselmeyer,2:247/4
0067,White_Pointer,Macintosh,Packer/mailer,Alastair_Rakine,3:680/820
0068,GateWorks,MS-DOS,Packer,Jamie_Penner,1:153/1025
0069,Portal_of_Power,MS-DOS,Mailer,Soren_Ager,2:230/12
006A,MacWoof,Macintosh,Packer/mailer,Craig_Vaughan,1:109/342
006B,Mosaic,MS-DOS,Packer,Christopher_King,1:103/315
006C,TPBEcho,MS-DOS,Packer,Gerd_Qualmann,2:242/1
006D,HandyMail,MS-DOS,Packer/mailer,jim_nutt,1:114/30
006E,EchoSmith,MS-DOS,Packer,Noel_Crow,1:170/409
006F,FileHost,MS-DOS,Packer,Mark_Cole,2:252/186
0070,SFTS,MS-DOS,Packer,Bruce_Anderson,1:3402/6
0071,Benjamin,MS-DOS,Packer/mailer,Stefan_Graf,2:245/4.5436
0072,RiBBS,OS9_(COCO),Packer/mailer,Ron_Bihler,1:104/54
0073,MP,MS-DOS,Packer,Ivan_Leong,6:600/28
0074,Ping,MS-DOS,Packer,David_Nugent,3:632/348
0075,Door2Europe,MS-DOS,Packer/mailer,Michaela_Schoebel,2:247/14
0076,SWIFT,MS-DOS,Packer/mailer,Hanno_van_der_Maas,2:500/2
0077,WMAIL,MS-DOS,Packer,Silvan_Calarco,2:334/100.2
0078,RATS,MS-DOS,Packer,Jason_DeCaro,1:260/205
0079,Harry_the_Dirty_Dog,OS2,Mailer/packer,George_Edwards,3:632/340.7
007A,Maximus-CBCS,MS-DOS/OS2,Packer,Scott_Dudley,1:249/106
007B,SwifEcho,MS-DOS,Packer,Dana_Bell,1:3801/8
007C,GCChost,Amiga,Packer,Davide_Massarenti,2:332/505.3
007D,RPX-Mail,MS-DOS,Packer,Joerg_Wirtgen,2:241/4034
007E,Tosser,MS-DOS,Packer,Albert_Ng,6:700/185
007F,TCL,MS-DOS,Packer,Ulf_Hedlund,2:201/602
0080,MsgTrack,MS-DOS,Packer,Andrew_Farmer,1:243/1
0081,FMail,MS-DOS/DOS_DPMI/OS2/WIN32,Packer,Folkert_Wijnstra,2:283/619
0082,Scantoss,MS-DOS,Packer,Michael_Matter,2:243/44.3443
0083,Point_Manager,Amiga,Packer,Pino_Aliberti,2:335/602.2,,19931012
0084,IMBINK,MS-DOS,Packer,Mike_Hartmann,2:246/48
0085,Simplex,MS-DOS/OS2,Packer,Chris_Laforet,1:152/401
0086,UMTP,MS-DOS,Packer,Byron_Copeland,1:272/26
0087,Indaba,MS-DOS,Packer,Pieter_Muller,5:7102/11
0088,Echomail_Engine,MS-DOS,Packer,Joe_Jared,1:103/200
0089,DragonMail,OS2,Packer,Patrick_O'Riva,1:143/37
008A,Prox,MS-DOS,Packer,Gerhard_Hoogterp,2:283/1.2
008B,Tick,MS-DOS/OS2,Packer,Barry_Geller,1:266/12
008C,RA-Echo,MS-DOS,Packer,Roger_Kirchhoff,2:245/4
008D,TrapToss,Amiga,Packer,Maximilian_Hantsch,2:310/6
008E,Babel,MS-DOS/OS2,Packer,Jorgen_Abrahamsen,2:230/100.9
008F,UMS,Amiga,Packer,Martin_Horneffer,2:242/7.9
0090,RWMail,MS-DOS,Packer,Remko_Westrik,2:285/309.5
0091,WildMail,MS-DOS,Packer,Derek_Koopowitz,1:161/502
0092,AlMAIL,MS-DOS,Packer,Alan_Leung,1:348/207
0093,XCS,MS-DOS,Packer,Rudi_Kusters,2:512/34.4
0094,Fone-Link,MS-DOS,Packer/mailer,Chris_Sloyan,1:269/602
0095,Dogfight,MS-DOS,Packer,Chris_Tyson,2:256/36
0096,Ascan,MS-DOS,Packer,Arjen_van_Loon,2:281/1.397
0097,FastMail,MS-DOS,Packer,Jan_Berends,2:282/5
0098,DoorMan,MS-DOS,Mailer,Christopher_Dean,1:105/70
0099,PhaedoZap,Atari_ST,Packer,Jeff_Mitchell,1:229/422
009A,SCREAM,MS-DOS,Packer/mailer,Jem_Miller,1:147/33
009B,MoonMail,MS-DOS,Packer/mailer,Hasse_Wigdahl,2:206/101
009C,Backdoor,Sinclair_QL,Packer,Erik_Slagter,2:283/500.3
009D,MailLink,Archimedes,Packer/mailer,Jan-Jaap_v._d._Geer,2:500/133.1138
009E,Mail_Manager,MS-DOS,Packer,Andreas_Brodowski,2:241/4006
009F,Black_Star,Xenix_386,Packer/mailer,Jac_Kersing,2:283/333
00A0,Bermuda,Atari_ST/MS-DOS,Packer,Jac_Kersing,2:283/333
00A1,PT,MS-DOS,Packer/mailer,Jerry_Andrew,1:109/426
00A2,UltiMail,MS-DOS,Mailer,Brett_Floren,1:363/1000
00A3,GMD,MS-DOS,Packer,John_Souvestre,1:396/1
00A4,FreeMail,MS-DOS,Packer,Chad_Nelson,1:109/536
00A5,Meliora,MS-DOS,Packer,Erik_van_Riper,1:107/230
00A6,Foodo,CPM-80,Packer/mailer,Ron_Murray,3:690/640.7
00A7,MSBBS,CPM-80,Packer,Marc_Newman,1:106/601
00A8,Boston_BBS,MS-DOS,Packer/mailer,Tom_Bradford,1:101/625
00A9,XenoMail,MS-DOS,Packer/mailer,Noah_Wood,1:284/14
00AA,XenoLink,Amiga,Packer/mailer,Jonathan_Forbes,1:250/642
00AB,ObjectMatrix,MS-DOS,Packer,Roberto_Ceccarelli,2:332/305.1
00AC,Milquetoast,Win3/MS-DOS,Mailer,Vince_Perriello,1:343/491
00AD,PipBase,MS-DOS,Packer,Roberto_Piola,2:334/306
00AE,EzyMail,MS-DOS,Packer,Peter_Davies,3:636/204
00AF,FastEcho,MS-DOS,Packer,Tobias_Burchhardt,2:245/39
00B0,IOS,Atari_ST/TT,Packer,Rinaldo_Visscher,2:280/3.1
00B1,Communique,MS-DOS,Packer,Ian_Harris,3:620/251
00B2,PointMail,MS-DOS,Packer,Michele_Clinco,2:331/302.11
00B3,Harvey's_Robot,MS-DOS,Packer,Harvey_Parisien,1:249/114
00B4,2daPoint,MS-DOS,Packer,Ron_Pritchett,1:376/74
00B5,CommLink,MS-DOS,Mailer,Steve_Shapiro,1:382/35
00B6,fronttoss,MS-DOS,Packer,Dirk_Astrath,2:241/5603
00B7,SysopPoint,MS-DOS,Packer,Rudolf_Heeb,2:243/44
00B8,PTMAIL,MS-DOS,Packer,Arturo_Krogulski,2:341/27.7
00B9,MHS,MS-DOS/OS2/WINNT,Packer/mailer,Matthias_Hertzog,2:301/402,,19940310
00BA,DLGMail,Amiga,Packer,Steve_Lewis,1:114/52
00BB,GatePrep,MS-DOS,Packer,Andrew_Allen,1:382/92
00BC,Spoint,MS-DOS,Packer,Conrad_Thompson,1:130/29.106
00BD,TurboMail,MS-DOS,Packer,B._J._Weschke,1:2606/403
00BE,FXMAIL,MS-DOS,Packer,Kenneth_Roach,1:208/401
00BF,NextBBS,MS-DOS,Packer/mailer,Tomas_Hood,1:352/777
00C0,EchoToss,MS-DOS,Packer,Mikel_Beck,1:107/218
00C1,SilverBox,Amiga,Packer,David_Lebel,1:240/516
00C2,MBMail,MS-DOS,Packer,Ruud_Uphoff,2:500/116.1928
00C3,SkyFreq,Amiga,Packer,Luca_Spada,2:331/106
00C4,ProMailer,Amiga,Mailer,Ivan_Pintori,2:335/311.21
00C5,Mega_Mail,MS-DOS,Packer/mailer,Mirko_Mucko,2:242/94
00C6,YaBom,MS-DOS,Packer,Berin_Lautenbach,3:620/248
00C7,TachEcho,MS-DOS,Packer,Tom_Zacios,1:107/376
00C8,XAP,MS-DOS,Packer,Jeroen_Smulders,2:512/1.8
00C9,EZMAIL,MS-DOS,Packer,Torben_Paving,2:234/41
00CA,Arc-Binkley,Archimedes,Mailer,Geoff_Riley,2:250/208
00CB,Roser,MS-DOS,Packer,Chan_Kafai,6:700/158
00CC,UU2,MS-DOS,Packer,Dmitri_Zavalishin,2:5020/32
00CD,NMS,MS-DOS,Packer/mailer,Michiel_de.Bruijn,2:285/505.2
00CE,BBCSCAN,Archimedes,Packer/mailer,E._G._Snel,2:512/222.17
00CF,XBBS,MS-DOS,Packer,Mark_Kimes,1:380/16
00D0,LoTek_Vzrul,,Packer/mailer,Kevin_Gates,gates@sasknet.sk.ca,19951229,20000122
00D1,Private_Point_Project,MS-DOS,Packer,Oliver_von_Bueren,2:301/701
00D2,NoSnail,MS-DOS,Packer,Eddie_Rowe,1:19/124
00D3,SmlNet,MS-DOS,Packer,Steve_T._Gove,1:106/6
00D4,STIR,MS-DOS,Packer,Paul_Martin,2:250/107.3
00D5,RiscBBS,Archimedes,Packer,Carl_Declerck,2:292/500.10
00D6,Hercules,Amiga,Packer/mailer,Andrew_Gray,1:231/590
00D7,AMPRGATE,MS-DOS,Packer/mailer,Mike_Bilow,1:323/120.1
00D8,BinkEMSI,MS-DOS,Mailer,Tobias_Burchhardt,2:245/39
00D9,EditMsg,MS-DOS,Packer,G._K._Pace,1:374/26
00DA,Roof,Amiga,Packer,Robert_Williamson,1:167/104
00DB,QwkPkt,MS-DOS,Packer,Ross_West,1:250/412
00DC,MARISCAN,MS-DOS,Packer,Mario_Elkati,2:341/14.9
00DD,NewsFlash,MS-DOS,Packer,Chris_Lueders,2:241/5306
00DE,Paradise,MS-DOS,Packer/mailer,Kenneth_Wall,1:300/5
00DF,DogMatic-ACB,N/A,Packer/mailer,Martin_Allard,2:245/48
00E0,T-Mail,MS-DOS,Packer/mailer,Andy_Elkin,2:5030/15
00E1,JetMail,Atari_ST/STE/TT,Packer,Daniel_Roesen,2:243/93.8
00E2,MainDoor,MS-DOS,Packer/mailer,Francisco_Sedano,2:341/20
00E3,Starnet_Products,MS-DOS/OS2,Mailer/Packer,Starnet_Software_Development,1:102/925,,19951209
00E4,BMB,Amiga,Packer,Dentato_Remo,2:335/311.33
00E5,BNP,MS-DOS,Packer,Nathan_Moschkin,1:109/427
00E6,MailMaster,MS-DOS,Packer/mailer,Gary_Murphy,1:130/85
00E7,Mail_Manager_+Plus+,MS-DOS,Packer,Chip_Morrow,1:226/1240
00E8,BloufGate,Atari_ST/Unix,Packer,Vincent_Pomey,2:320/100.2
00E9,CrossPoint,MS-DOS,Packer/mailer,Peter_Mandrella,2:2454/97.80,19920713,19960601
00EA,DeltaEcho,MS-DOS,Packer,Mikael_Staldal,2:201/337
00EB,ALLFIX,MS-DOS,Packer,Harald_Harms,2:512/145
00EC,NetWay,Archimedes,Mailer,Steve_Haslam,2:250/116.3
00ED,MARSmail,Atari_ST,Packer,Folkert_van_Heusden,2:285/750.2,,19940122
00EE,ITRACK,MS-DOS/OS2,Packer,Frank_Prade,2:2480/55,,19990119
00EF,GateUtil,MS-DOS,Packer,Michael_Skurka,1:397/2.1
00F0,Bert,MS-DOS,Packer/mailer,Arnim_Wiezer,2:241/2104.9
00F1,Techno,MS-DOS,Packer,Patrik_Holmsten,2:203/133
00F2,AutoMail,MS-DOS,Packer,Mats_Wallin,2:201/239
00F3,April,Amiga,Packer,Nick_de_Jong,2:282/309.3
00F4,Amanda,MS-DOS,Packer,David_Douthitt,1:121/99.14
00F5,NmFwd,MS-DOS,Packer,Alberto_Pasquale,2:332/504
00F6,FileScan,MS-DOS,Packer,Matthias_Duesterhoeft,2:241/4512.2
00F7,FredMail,MS-DOS,Packer,Michael_Butler,3:712/515
00F8,TP_Kom,MS-DOS,Packer/mailer,Per_Sten,2:201/124
00F9,FidoZerb,MS-DOS,Packer,Ulrich_Schlechte,2:241/3410.12
00FA,!!MessageBase,MS-DOS,Packer/mailer,Holger_Lembke,2:240/500.20
00FB,EMFido,Amiga,Packer,Gary_Glendown,2:249/3.999
00FC,GS-Toss,MS-DOS,Packer,Marco_Bungalski,2:241/2021
00FD,QWKDoor,Atari_ST,Packer,Christian_Limpach,2:270/20.1
00FE,No_product_id_allocated,Any,Packer,No_Author,3:3/20
00FF,16-bit_product_id,Any,Packer/Mailer,No_Author,3:3/20
0100,Reserved,None,None,No_Author,3:3/20,19951209
0101,The_Brake!,Mailer,John_Gladkih,2:5051/16,19951209
0102,Zeus_BBS,Amiga,Mailer,Alex_May,2:441/58.0,19951209
0103,XenoPhobe-Mailer,Msdos/Windows/OS2/Linux,Mailer,Peter_Kling,1:374/969.0,19951209
0104,None,None,None,None,0:0/0,
0105,Terminate,Msdos/Os2/Windows,Mailer/Packer,SerWiz_Comm_&_Bo_Bendtsen,2:254/261,19951209
0106,TeleMail,Msdos,Mailer/Packer,Juergen_Weigelt,2:2453/900,19951209
0107,CMBBS,Msdos/Os2,Mailer/Packer,Christof_Engel,2:2490/5110,19951209
0108,Shuttle,Windows,Mailer/Packer,MCH_Development_&_Marvin_Hart,1:106/500,19951209
0109,Quater,Amiga,Mailer,Felice_Murolo,2:335/206,19951209
010A,Windo,Windows,Mailer,Alan_Chavis,1:147/55,19951209
010B,Xenia,Msdos/Os2,Mailer,Arjen_Lentz,2:283/512,19960601
010C,GMS,AmigaOS,Mailer,Mirko_Viviani,2:331/213,19960601
010D,HNET,Msdos,???,Pedro_Jaramillo,1:102/160,19960601
010E,Shotgun_Professional,Msdos,???,Brent_Shellenberg,1:140/146,19960621
010F,SLIPgate,Msdos,???,Kieran_Morrissey,3:634/376,19960723
0110,BBBS,MSDOS/OS2/NT/Amiga/Unix,Mailer/Packer,Kim_Heino,2:22/222,19980216
0111,NewsGate,Windows/NT,Packer/Gateway,Leilo_denna_Pietra,2:335/244,19980216
01FF,BBBS,MSDOS/OS2/NT/Amiga/Unix,Mailer/Packer,Kim_Heino,2:22/222,19980216
02FF,NewsGate,Windows/NT,Packer/Gateway,Leilo_denna_Pietra,2:335/244,19980216
03FF,Ravel,Macintosh,Mailer/Packer,Cyril_Moorzin,2:5030/700,19980310
04FF,Beemail,Windows,Mailer/Packer,Andrius_Cepaitis,2:470/1,19980310
05FF,QuickToss,DOS,Packer,Sandra_Godinez,1:387/601.3,19980310
06FF,SpaceMail,???,Mailer,Andreas_Habicht,2:244/6121,19980710
07FF,Argus,Windows/NT,Mailer,Max_Masyutin,2:469/84,19990216
08FF,Hurricane,Windows/NT/Solaris,Packer,Paul_Walker,2:254/175.44,19990216
09FF,Hub_Mailer,OS2,Mailer,Viatcheslav_Odintsov,2:5020/181,19990216
0AFF,FDInt,MSDOS,Packer,Colin_Turner,2:443/13,19990216
0BFF,GPMail,OS2,Mailer,Igor_Vanin,2:5030/448,19990216
0CFF,FTrack,NT/OS2,Tracker,Fyodor_Ustinov,2:5020/79,19990313
0DFF,Nice_Tosser,DOS/OS2/Win32,Tosser,Robert_Agababyan,2:5020/234.1,19990518
0EFF,LuckyGate,DOS/OS2/Linux,Packer,Pavel_Gulchouck,2:463/68,19990709
0FFF,McMail,DOS,Mailer,Simon_Slater,2:443/777,20000102
10FF,HPT,DOS/OS2/Win32/Unix/BeOS,Packer,Dmitry_Sergienko,2:464/910,20030215
11FF,MBSEBBS,Linux/FreeBSD/NetBSD,Mailer/Packer,Michiel_Broek,2:280/2802,20030215
12FF,SBBSecho,DOS/OS2/Win32/Linux/FreeBSD/OpenBSD/Solaris,Packer,Rob_Swindell,1:103/705,20030215
13FF,binkd,DOS/OS2/Win32/Unix,Mailer,Pavel_Gulchouck,2:463/68,20030215
14FF,Mail-ennium/32,Win32,Mailer/Packer,Chris_Cranford,1:379/1200,20031231
15FF,Radius,Win32,Mailer,Denis_Voituk,2:5012/38,20040115
16FF,RNtrack,Linux/BSD/AIX/Solaris/MacOSX/OS2/DOS/Win32,Packer,Alex_Soukhotine,2:5030/1157,20050115
17FF,Msg2Pkt,DOS/OS2/Win32,Packer/Tools/ClpLib,Ulrich_Schroeter,2:244/1120,20080607
18FF,Marena,DOS,Repacker/Echotag_renamer,Michiel_van_der_Vlist,2:280/5555,20080608
19FF,jNode,Java_Virtual_Machine,Binkp_mailer/tosser/tracker,Ivan_Agarkov,2:5020/848,20120921
1AFF,mfreq,Linux,File_Request_Processor,Markus_Reschke,2:240/1661,20131116
1BFF,AfterShock,Android_>=V2.3,Binkp_Mailer/Tosser/Editor,Anatoly_Vdovichev,2:5000/26.180,20131128
1CFF,FTN::Packet,Perl,Tosser,Robert_James_Clay,1:120/419,20131219

View File

@ -1188,7 +1188,7 @@ struct sysconfig {
unsigned NoFreqs : 1; /* Don't allow requests */ unsigned NoFreqs : 1; /* Don't allow requests */
unsigned NoCall : 1; /* Don't call */ unsigned NoCall : 1; /* Don't call */
unsigned NoMD5 : 1; /* Don't do MD5 */ unsigned NoMD5 : 1; /* Don't do MD5 */
unsigned xNoCRC32 : 1; unsigned NoCRC32 : 1; /* Don't do Binkp CRC32 */
unsigned NoEMSI : 1; /* Don't do EMSI */ unsigned NoEMSI : 1; /* Don't do EMSI */
unsigned NoWazoo : 1; /* Don't do Yooho/2U2 */ unsigned NoWazoo : 1; /* Don't do Yooho/2U2 */
unsigned NoZmodem : 1; /* Don't do Zmodem */ unsigned NoZmodem : 1; /* Don't do Zmodem */
@ -1737,6 +1737,7 @@ struct _nodes {
unsigned Dir_in_waitclr : 1; /* Inbound wait for clear */ unsigned Dir_in_waitclr : 1; /* Inbound wait for clear */
unsigned Dir_in_mklck : 1; /* Inbound create lock */ unsigned Dir_in_mklck : 1; /* Inbound create lock */
unsigned Tic4d : 1; /* 4d addresses in ticfile */ unsigned Tic4d : 1; /* 4d addresses in ticfile */
unsigned DoCRC : 1; /* Enable Binkp CRC check */
/* FTP transfers */ /* FTP transfers */
char FTP_site[65]; /* Site name or IP address */ char FTP_site[65]; /* Site name or IP address */

View File

@ -11,7 +11,7 @@ SRCS = zmmisc.c zmrle.c zmrecv.c zmsend.c binkp.c md5b.c \
recvbark.c respfreq.c sendbark.c tcp.c tcpproto.c wazoo.c \ recvbark.c respfreq.c sendbark.c tcp.c tcpproto.c wazoo.c \
filetime.c ftsc.c atoul.c portsel.c telnet.c bopenfile.c \ filetime.c ftsc.c atoul.c portsel.c telnet.c bopenfile.c \
ttyio.c lutil.c scanout.c emsi.c ulock.c dirlock.c \ ttyio.c lutil.c scanout.c emsi.c ulock.c dirlock.c \
callstat.c session.c call.c mbcico.c \ callstat.c session.c call.c htoul.c mbcico.c \
outstat.c nlinfo.c mbout.c outstat.c nlinfo.c mbout.c
HDRS = zmodem.h binkp.h config.h statetbl.h md5b.h \ HDRS = zmodem.h binkp.h config.h statetbl.h md5b.h \
xmsend.h xmrecv.h m7recv.h m7send.h hydra.h inbound.h \ xmsend.h xmrecv.h m7recv.h m7send.h hydra.h inbound.h \
@ -20,7 +20,7 @@ HDRS = zmodem.h binkp.h config.h statetbl.h md5b.h \
recvbark.h respfreq.h sendbark.h tcp.h tcpproto.h wazoo.h \ recvbark.h respfreq.h sendbark.h tcp.h tcpproto.h wazoo.h \
filetime.h ftsc.h atoul.h portsel.h telnet.h bopenfile.h \ filetime.h ftsc.h atoul.h portsel.h telnet.h bopenfile.h \
ttyio.h lutil.h scanout.h emsi.h ulock.h dirlock.h \ ttyio.h lutil.h scanout.h emsi.h ulock.h dirlock.h \
callstat.h session.h call.h mbcico.h \ callstat.h session.h call.h htoul.h mbcico.h \
outstat.h nlinfo.h outstat.h nlinfo.h
MBCICO_OBJS = zmmisc.o zmrle.o zmrecv.o zmsend.o binkp.o md5b.o \ MBCICO_OBJS = zmmisc.o zmrle.o zmrecv.o zmsend.o binkp.o md5b.o \
xmsend.o xmrecv.o m7recv.o m7send.o hydra.o inbound.o \ xmsend.o xmrecv.o m7recv.o m7send.o hydra.o inbound.o \
@ -29,7 +29,7 @@ MBCICO_OBJS = zmmisc.o zmrle.o zmrecv.o zmsend.o binkp.o md5b.o \
recvbark.o respfreq.o sendbark.o tcp.o tcpproto.o wazoo.o \ recvbark.o respfreq.o sendbark.o tcp.o tcpproto.o wazoo.o \
filetime.o ftsc.o atoul.o portsel.o telnet.o bopenfile.o \ filetime.o ftsc.o atoul.o portsel.o telnet.o bopenfile.o \
ttyio.o lutil.o scanout.o emsi.o ulock.o dirlock.o \ ttyio.o lutil.o scanout.o emsi.o ulock.o dirlock.o \
callstat.o session.o call.o mbcico.o callstat.o session.o call.o htoul.o mbcico.o
MBOUT_OBJS = outstat.o nlinfo.o mbout.o scanout.o callstat.o MBOUT_OBJS = outstat.o nlinfo.o mbout.o scanout.o callstat.o
SLIBS = ../lib/libmbse.a ../lib/libmsgbase.a ../lib/libdbase.a ../lib/libnodelist.a SLIBS = ../lib/libmbse.a ../lib/libmsgbase.a ../lib/libdbase.a ../lib/libnodelist.a
OTHER = Makefile README OTHER = Makefile README
@ -130,6 +130,7 @@ dirlock.o: ../config.h ../lib/mbselib.h dirlock.h
callstat.o: ../config.h ../lib/mbselib.h callstat.h callstat.o: ../config.h ../lib/mbselib.h callstat.h
session.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ttyio.h statetbl.h emsi.h ftsc.h session.h yoohoo.h mbcico.h binkp.h callstat.h inbound.h opentcp.h telnet.h session.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ttyio.h statetbl.h emsi.h ftsc.h session.h yoohoo.h mbcico.h binkp.h callstat.h inbound.h opentcp.h telnet.h
call.o: ../config.h ../lib/mbselib.h ../lib/users.h ../lib/nodelist.h ../lib/mbsedb.h session.h callstat.h call.h config.h dial.h lutil.h portsel.h openport.h opentcp.h rdoptions.h inbound.h call.o: ../config.h ../lib/mbselib.h ../lib/users.h ../lib/nodelist.h ../lib/mbsedb.h session.h callstat.h call.h config.h dial.h lutil.h portsel.h openport.h opentcp.h rdoptions.h inbound.h
htoul.o: ../config.h ../lib/mbselib.h htoul.h
mbcico.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ../lib/users.h ../lib/mbsedb.h config.h answer.h call.h lutil.h mbcico.h session.h binkp.h mbcico.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ../lib/users.h ../lib/mbsedb.h config.h answer.h call.h lutil.h mbcico.h session.h binkp.h
outstat.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ../lib/users.h ../lib/mbsedb.h scanout.h callstat.h outstat.h outstat.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h ../lib/users.h ../lib/mbsedb.h scanout.h callstat.h outstat.h
nlinfo.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h nlinfo.h nlinfo.o: ../config.h ../lib/mbselib.h ../lib/nodelist.h nlinfo.h

View File

@ -161,6 +161,8 @@ struct binkprec {
int rxcompressed; /* Receiver compressed bytes */ int rxcompressed; /* Receiver compressed bytes */
char *ropts; /* Receiver M_FILE optional args */ char *ropts; /* Receiver M_FILE optional args */
int rmode; /* Receiver compression mode */ int rmode; /* Receiver compression mode */
int rcrc32; /* Receiver file crc32 */
int rcrcerr; /* Receiver CRC error count */
struct timezone tz; /* Timezone */ struct timezone tz; /* Timezone */
@ -197,12 +199,15 @@ struct binkprec {
int BZ2we; /* BZ2 compression flag */ int BZ2we; /* BZ2 compression flag */
int BZ2they; int BZ2they;
#endif #endif
int NRwe; /* NR mode */ int NRwe; /* NR mode */
int NRthey; int NRthey;
int NDwe; /* ND mode */ int NDwe; /* ND mode */
int NDthey; int NDthey;
int NDAwe; /* NDA mode */ int NDAwe; /* NDA mode */
int NDAthey; int NDAthey;
int CRCwe; /* CRC mode */
int CRCthey;
}; };
@ -236,7 +241,7 @@ char *binkp2unix(char *); /* Unix -> Binkp escape */
void fill_binkp_list(binkp_list **, file_list *, off_t); /* Build pending files */ void fill_binkp_list(binkp_list **, file_list *, off_t); /* Build pending files */
int binkp_pendingfiles(void); /* Count pending files */ int binkp_pendingfiles(void); /* Count pending files */
void binkp_clear_filelist(int); /* Clear current filelist */ void binkp_clear_filelist(int); /* Clear current filelist */
unsigned int htoul(char *); /* Convert ASCII hex to uns int */
static int orgbinkp(void); /* Originate session state */ static int orgbinkp(void); /* Originate session state */
static int ansbinkp(void); /* Answer session state */ static int ansbinkp(void); /* Answer session state */
static int file_transfer(void); /* File transfer state */ static int file_transfer(void); /* File transfer state */
@ -264,6 +269,7 @@ int binkp(int role)
bp.txbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char)); bp.txbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char));
bp.rname = calloc(512, sizeof(char)); bp.rname = calloc(512, sizeof(char));
bp.ropts = calloc(512, sizeof(char)); bp.ropts = calloc(512, sizeof(char));
bp.rcrcerr = 0;
bp.rxfp = NULL; bp.rxfp = NULL;
bp.local_EOB = FALSE; bp.local_EOB = FALSE;
bp.remote_EOB = FALSE; bp.remote_EOB = FALSE;
@ -300,6 +306,10 @@ int binkp(int role)
bp.NRwe = Can; bp.NRwe = Can;
else else
bp.NRwe = Want; bp.NRwe = Want;
if (localoptions & NOCRC)
bp.CRCthey = bp.CRCwe = No;
else
bp.CRCthey = bp.CRCwe = Can;
bp.NRthey = Can; bp.NRthey = Can;
bp.NDwe = No; bp.NDwe = No;
bp.NDthey = No; bp.NDthey = No;
@ -321,7 +331,7 @@ int binkp(int role)
goto binkpend; goto binkpend;
} }
if (((Loaded && nodes.NoBinkp11) || bp.buggyIrex) && (bp.Major == 1) && (bp.Minor != 0)) { if ((bp.buggyIrex) && (bp.Major == 1) && (bp.Minor != 0)) {
Syslog('+', "Binkp: forcing downgrade to binkp/1.0 protocol"); Syslog('+', "Binkp: forcing downgrade to binkp/1.0 protocol");
bp.Major = 1; bp.Major = 1;
bp.Minor = 0; bp.Minor = 0;
@ -705,6 +715,14 @@ SM_STATE(WaitConn)
} }
} }
if (!CFG.NoCRC32) {
char s[8]; /* Send OPT CRC if it's not disabled. */
strcpy(s, "OPT CRC");
if ((rc = binkp_send_command(MM_NUL, "%s", s))) {
SM_ERROR;
}
}
if ((rc = binkp_banner(FALSE))) { if ((rc = binkp_banner(FALSE))) {
SM_ERROR; SM_ERROR;
} }
@ -935,6 +953,10 @@ SM_STATE(Opts)
Syslog('b', "Binkp: no PLZ compression for this node"); Syslog('b', "Binkp: no PLZ compression for this node");
} }
#endif #endif
if (localoptions & NOCRC) {
bp.CRCwe = bp.CRCthey = No;
Syslog('b', "Binkp: no CRC mode for this node");
}
binkp_send_comp_opts(FALSE); binkp_send_comp_opts(FALSE);
binkp_set_comp_state(); binkp_set_comp_state();
@ -1061,6 +1083,7 @@ TrType binkp_receiver(void)
off_t rxbytes; off_t rxbytes;
int bcmd, rc = 0; int bcmd, rc = 0;
int rc1 = 0, nget = bp.blklen, zavail, nput; int rc1 = 0, nget = bp.blklen, zavail, nput;
int rc2 = 0;
char zbuf[ZBLKSIZE]; char zbuf[ZBLKSIZE];
char *buf = bp.rxbuf; char *buf = bp.rxbuf;
@ -1148,6 +1171,13 @@ TrType binkp_receiver(void)
bp.rmode = CompGZ; bp.rmode = CompGZ;
else if (strcmp((char *)"BZ2", bp.ropts) == 0) else if (strcmp((char *)"BZ2", bp.ropts) == 0)
bp.rmode = CompBZ2; bp.rmode = CompBZ2;
if (bp.CRCthey == Active) {
bp.rcrc32 = htoul(bp.ropts);
if (bp.rcrc32 == 0xffffffff) {
Syslog('b', "Binkp: No CRC in M_FILE - disabling CRC check");
bp.CRCthey = bp.CRCwe = No;
}
}
} else { } else {
/* /*
* Corrupted command, in case this was serious, send the M_GOT back so it's * Corrupted command, in case this was serious, send the M_GOT back so it's
@ -1219,7 +1249,7 @@ TrType binkp_receiver(void)
if ((bp.rsize / (sfs.f_bsize + 1)) >= sfs.f_bfree) { if ((bp.rsize / (sfs.f_bsize + 1)) >= sfs.f_bfree) {
Syslog('!', "Binkp: only %u blocks free (need %u) in %s for this file", sfs.f_bfree, Syslog('!', "Binkp: only %u blocks free (need %u) in %s for this file", sfs.f_bfree,
(unsigned int)(bp.rsize / (sfs.f_bsize + 1)), tempinbound); (unsigned int)(bp.rsize / (sfs.f_bsize + 1)), tempinbound);
bclosefile(FALSE); bclosefile(FALSE, FALSE, 0);
bp.rxfp = NULL; /* Force SKIP command */ bp.rxfp = NULL; /* Force SKIP command */
} }
} }
@ -1290,7 +1320,7 @@ TrType binkp_receiver(void)
return Ok; return Ok;
} else if (bcmd == MM_FILE) { } else if (bcmd == MM_FILE) {
Syslog('+', "Binkp: partial received file, saving"); Syslog('+', "Binkp: partial received file, saving");
bclosefile(FALSE); bclosefile(FALSE, FALSE, 0);
bp.rxfp = NULL; bp.rxfp = NULL;
bp.RxState = RxAccF; bp.RxState = RxAccF;
return Continue; return Continue;
@ -1378,8 +1408,28 @@ TrType binkp_receiver(void)
bp.rxpos += written; bp.rxpos += written;
if (bp.rxpos == bp.rsize) { if (bp.rxpos == bp.rsize) {
rc2 = bclosefile(TRUE, (bp.CRCwe == Active), bp.rcrc32);
if (rc2) {
if (rc2 == 2) {
bp.rcrcerr++;
if (bp.rcrcerr == 1) {
/* First CRC error */
rc = binkp_send_command(MM_SKIP, "%s %ld %ld", bp.rname, bp.rsize, bp.rtime);
bp.RxState = RxWaitF;
if (rc)
return Failure;
else
return Ok;
} else {
rc = binkp_send_command(MM_ERR, "Too many CRC errors - session aborted.");
bp.RxState = RxDone;
bp.rxfp = NULL;
bp.rc = MBERR_FTRANSFER;
return Failure;
}
}
}
rc = binkp_send_command(MM_GOT, "%s %ld %ld", bp.rname, bp.rsize, bp.rtime); rc = binkp_send_command(MM_GOT, "%s %ld %ld", bp.rname, bp.rsize, bp.rtime);
bclosefile(TRUE);
bp.rxpos = bp.rxpos - bp.rxbytes; bp.rxpos = bp.rxpos - bp.rxbytes;
gettimeofday(&rxtvend, &bp.tz); gettimeofday(&rxtvend, &bp.tz);
#if defined(HAVE_ZLIB_H) || defined(HAVE_BZLIB_H) #if defined(HAVE_ZLIB_H) || defined(HAVE_BZLIB_H)
@ -1536,7 +1586,9 @@ TrType binkp_transmitter(void)
bp.tmode = CompNone; bp.tmode = CompNone;
extra = (char *)""; extra = (char *)"";
if ((bp.CRCwe == Active)) {
Syslog('b', "Binkp: CRC mode active - GZ/BZ2 compression disabled");
} else {
if ((tmp->compress == CompGZ) || (tmp->compress == CompBZ2)) { if ((tmp->compress == CompGZ) || (tmp->compress == CompBZ2)) {
bp.tmode = tmp->compress; bp.tmode = tmp->compress;
Syslog('b', "Binkp: compress_init start"); Syslog('b', "Binkp: compress_init start");
@ -1552,6 +1604,7 @@ TrType binkp_transmitter(void)
Syslog('b', "Binkp: compress_init ok, extra=%s", extra); Syslog('b', "Binkp: compress_init ok, extra=%s", extra);
} }
} }
}
bp.txpos = bp.txcpos = bp.stxpos = tmp->offset; bp.txpos = bp.txcpos = bp.stxpos = tmp->offset;
bp.txcompressed = 0; bp.txcompressed = 0;
@ -1559,8 +1612,13 @@ TrType binkp_transmitter(void)
Syslog('+', "Binkp: send \"%s\" as \"%s\"", MBSE_SS(tmp->local), MBSE_SS(tmp->remote)); Syslog('+', "Binkp: send \"%s\" as \"%s\"", MBSE_SS(tmp->local), MBSE_SS(tmp->remote));
Syslog('+', "Binkp: size %u bytes, dated %s, comp %s", Syslog('+', "Binkp: size %u bytes, dated %s, comp %s",
(unsigned int)tmp->size, date(tmp->date), cpstate[bp.tmode]); (unsigned int)tmp->size, date(tmp->date), cpstate[bp.tmode]);
if ((bp.CRCwe == Active)) {
Syslog('b', "Binkp: CRC active - file %s CRC %x", MBSE_SS(tmp->local), (int)tmp->crc32);
rc = binkp_send_command(MM_FILE, "%s %u %d %d %x", MBSE_SS(tmp->remote), (unsigned int)tmp->size, (int)tmp->date, (unsigned int)tmp->offset, (int)tmp->crc32);
} else {
rc = binkp_send_command(MM_FILE, "%s %u %d %d%s", MBSE_SS(tmp->remote), rc = binkp_send_command(MM_FILE, "%s %u %d %d%s", MBSE_SS(tmp->remote),
(unsigned int)tmp->size, (int)tmp->date, (unsigned int)tmp->offset, extra); (unsigned int)tmp->size, (int)tmp->date, (unsigned int)tmp->offset, extra);
}
if (rc) { if (rc) {
bp.TxState = TxDone; bp.TxState = TxDone;
return Failure; return Failure;
@ -2014,15 +2072,12 @@ int binkp_banner(int originate)
return rc; return rc;
} }
/* /*
* Send compression options * Send compression options
*/ */
int binkp_send_comp_opts(int originate) int binkp_send_comp_opts(int originate)
{ {
int rc = 0, nr = FALSE; int rc = 0, nr = FALSE, crc = FALSE;
#if defined(HAVE_ZLIB_H) || defined(HAVE_BZLIB_H)
int plz = FALSE, gz = FALSE, bz2 = FALSE; int plz = FALSE, gz = FALSE, bz2 = FALSE;
char *p = NULL; char *p = NULL;
@ -2046,6 +2101,11 @@ int binkp_send_comp_opts(int originate)
} }
#endif #endif
if ((bp.CRCwe == Can) || (bp.CRCthey == Can) || (bp.CRCthey == Want)) {
crc = TRUE;
bp.CRCwe = Want;
}
Syslog('b', "Binkp: binkp_send_comp_opts(%s) NRwe=%s NRthey=%s", Syslog('b', "Binkp: binkp_send_comp_opts(%s) NRwe=%s NRthey=%s",
originate ?"TRUE":"FALSE", opstate[bp.NRwe], opstate[bp.NRthey]); originate ?"TRUE":"FALSE", opstate[bp.NRwe], opstate[bp.NRthey]);
if (originate) { if (originate) {
@ -2061,7 +2121,7 @@ int binkp_send_comp_opts(int originate)
} }
} }
if (plz || gz || bz2 || nr) { if (plz || gz || bz2 || nr || crc) {
p = xstrcpy((char *)"OPT"); p = xstrcpy((char *)"OPT");
if (bz2 || gz) { if (bz2 || gz) {
bp.EXTCMDwe = Want; bp.EXTCMDwe = Want;
@ -2075,10 +2135,11 @@ int binkp_send_comp_opts(int originate)
p = xstrcat(p, (char *)" PLZ"); p = xstrcat(p, (char *)" PLZ");
if (nr) if (nr)
p = xstrcat(p, (char *)" NR"); p = xstrcat(p, (char *)" NR");
if (crc)
p = xstrcat(p, (char *)" CRC");
rc = binkp_send_command(MM_NUL,"%s", p); rc = binkp_send_command(MM_NUL,"%s", p);
free(p); free(p);
} }
#endif
return rc; return rc;
} }
@ -2123,6 +2184,11 @@ void binkp_set_comp_state(void)
bp.NRwe = bp.NRthey = Active; bp.NRwe = bp.NRthey = Active;
Syslog('+', "Binkp: NR mode active"); Syslog('+', "Binkp: NR mode active");
} }
Syslog('b', "Binkp: CRC they=%s we=%s", opstate[bp.CRCthey], opstate[bp.CRCwe]);
if ((bp.CRCthey == Want) && (bp.CRCwe == Want)) {
bp.CRCwe = bp.CRCthey = Active;
Syslog ('+', "Binkp: CRC mode active");
}
} }
@ -2203,13 +2269,13 @@ void parse_m_nul(char *msg)
bp.Minor = atoi(q + 1); bp.Minor = atoi(q + 1);
} }
/* /*
* Irex 2.24 upto 2.29 claims binkp/1.1 while it is binkp/1.0 * Irex 2.24 upto 2.67 claims binkp/1.1 while it is binkp/1.0
* Set a flag so we can activate a workaround. This only works * Set a flag so we can activate a workaround. This only works
* for incoming sessions. * for incoming sessions.
*/ */
if ((p = strstr(msg+4, "Internet Rex 2."))) { if ((p = strstr(msg+4, "Internet Rex 2."))) {
q = strtok(p + 15, (char *)" \0"); q = strtok(p + 15, (char *)" \0");
if ((atoi(q) >= 24) && (atoi(q) <= 29)) { if ((atoi(q) >= 24) && (atoi(q) <= 67)) {
Syslog('b', " : Irex bug detected, workaround activated"); Syslog('b', " : Irex bug detected, workaround activated");
bp.buggyIrex = TRUE; bp.buggyIrex = TRUE;
} }
@ -2280,9 +2346,16 @@ void parse_m_nul(char *msg)
} else if (strcmp(q, (char *)"ND") == 0) { } else if (strcmp(q, (char *)"ND") == 0) {
Syslog('b', "Binkp: remote wants ND mode, NOT SUPPORTED HERE YET"); Syslog('b', "Binkp: remote wants ND mode, NOT SUPPORTED HERE YET");
bp.NDthey = Want; bp.NDthey = Want;
} else if (strcmp(q, (char *)"CRC") == 0) {
Syslog('b', "Binkp: remote requests CRC mode");
if (bp.CRCthey == Can) {
bp.CRCthey = Want;
binkp_set_comp_state();
} }
} }
}
} else { } else {
Syslog('+', "Binkp: M_NUL \"%s\"", msg); Syslog('+', "Binkp: M_NUL \"%s\"", msg);
} }
@ -2761,6 +2834,7 @@ void fill_binkp_list(binkp_list **bkll, file_list *fal, off_t offs)
(*tmpl)->size = tstat.st_size; (*tmpl)->size = tstat.st_size;
(*tmpl)->date = tstat.st_mtime; (*tmpl)->date = tstat.st_mtime;
(*tmpl)->compress = CompNone; (*tmpl)->compress = CompNone;
(*tmpl)->crc32 = file_crc(fal->local, FALSE);
/* /*
* Search compression method, but only if GZ or BZ2 compression is active. * Search compression method, but only if GZ or BZ2 compression is active.

View File

@ -81,6 +81,7 @@ typedef struct _binkp_list {
time_t date; /* File date & time */ time_t date; /* File date & time */
off_t offset; /* Start offset */ off_t offset; /* Start offset */
int compress; /* Compression state */ int compress; /* Compression state */
int crc32; /* File CRC32 checksum */
} binkp_list; } binkp_list;

View File

@ -127,16 +127,17 @@ FILE *bopenfile(char *fname, time_t remtime, off_t remsize, off_t *resofs)
* file so that in a next session we know we must append to that file instead of * file so that in a next session we know we must append to that file instead of
* trying to get the file again. * trying to get the file again.
*/ */
int bclosefile(int success) int bclosefile(int success, int CRCflag, int crc)
{ {
int rc = 0; int rc = 0;
int tmpcrc;
struct utimbuf ut; struct utimbuf ut;
char *temp; char *temp;
Syslog('b', "Binkp: closefile(), for file \"%s\"", MBSE_SS(infpath)); Syslog('b', "Binkp: closefile(), for file \"%s\"", MBSE_SS(infpath));
if ((infp == NULL) || (infpath == NULL)) { if ((infp == NULL) || (infpath == NULL)) {
Syslog('+', "Binkp: closefile(), nothing to close"); Syslog('+', "Binkp: bclosefile(), nothing to close");
return 1; return 1;
} }
@ -169,9 +170,24 @@ int bclosefile(int success)
else else
Syslog('b', "Binkp: unlinked %s", temp); Syslog('b', "Binkp: unlinked %s", temp);
/* If CRC mode is active, check the CRC of the received file. */
if (CRCflag) {
tmpcrc = file_crc(infpath, FALSE);
if (tmpcrc != crc) { /* CRC check failed. */
Syslog('!', "Binkp: CRC error %s Expected %x Got %x", infpath, crc, tmpcrc);
unlink(infpath); /* Remove file with incorrect CRC. */
isfreq = FALSE;
free(infpath);
infpath = NULL;
return 2;
}
}
/* /*
* Move file from extra tmp to normal tempinbound. * Move file from extra tmp to normal tempinbound.
*/ */
snprintf(temp, PATH_MAX, "%s/%s", tempinbound, basename(infpath)); snprintf(temp, PATH_MAX, "%s/%s", tempinbound, basename(infpath));
if (rc == 0) { if (rc == 0) {

View File

@ -4,6 +4,6 @@
#define _BOPENFILE_H #define _BOPENFILE_H
FILE *bopenfile(char *, time_t, off_t, off_t *); FILE *bopenfile(char *, time_t, off_t, off_t *);
int bclosefile(int); int bclosefile(int, int, int);
#endif #endif

View File

@ -180,6 +180,7 @@ static void check_flo(file_list **lst, char *nm)
case '#': p=buf+1; disposition=TFS; break; case '#': p=buf+1; disposition=TFS; break;
case '-': case '-':
case '^': p=buf+1; disposition=KFS; break; case '^': p=buf+1; disposition=KFS; break;
case ' ':
case '@': p=buf+1; disposition=LEAVE; break; case '@': p=buf+1; disposition=LEAVE; break;
case 0: continue; case 0: continue;
default: p=buf; disposition=LEAVE; break; default: p=buf; disposition=LEAVE; break;

44
mbcico/htoul.c Normal file
View File

@ -0,0 +1,44 @@
/*****************************************************************************
*
* $Id: htoul.c,v 1.6 2005/10/11 20:49:46 mbse Exp $
* Purpose ...............: Fidonet mailer
*
*****************************************************************************
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
* 1971 BV IJmuiden
* the Netherlands
*
* This file is part of MBSE BBS.
*
* This BBS is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2, or (at your option) any
* later version.
*
* MBSE BBS is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MBSE BBS; see the file COPYING. If not, write to the Free
* Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*****************************************************************************/
#include "../config.h"
#include "../lib/mbselib.h"
#include "htoul.h"
unsigned int htoul(char *str)
{
unsigned int x;
if (sscanf(str,"%x",&x) == 1)
return x;
else return 0xffffffff;
}

9
mbcico/htoul.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef _HTOUL_H
#define _HTOUL_H
/* $Id: htoul.h,v 1.2 2005/10/11 20:49:46 mbse Exp $ */
unsigned int htoul(char *);
#endif

View File

@ -53,6 +53,7 @@ static struct _ktab {
{(char *)"PLZ", NOPLZ}, {(char *)"PLZ", NOPLZ},
{(char *)"GZ/BZ2", NOGZBZ2}, {(char *)"GZ/BZ2", NOGZBZ2},
{(char *)"NR", NONR}, {(char *)"NR", NONR},
{(char *)"CRC", NOCRC},
{NULL, 0} {NULL, 0}
}; };
@ -93,6 +94,8 @@ void rdoptions(int Loaded)
localoptions |= NOZEDZAP; localoptions |= NOZEDZAP;
if (CFG.NoHydra) if (CFG.NoHydra)
localoptions |= NOHYDRA; localoptions |= NOHYDRA;
if (CFG.NoCRC32)
localoptions |= NOCRC;
localoptions |= NONR; localoptions |= NONR;
#ifndef HAVE_ZLIB_H #ifndef HAVE_ZLIB_H
@ -131,6 +134,8 @@ void rdoptions(int Loaded)
localoptions |= NOGZBZ2; localoptions |= NOGZBZ2;
if (nodes.DoNR) if (nodes.DoNR)
localoptions &= ~NONR; localoptions &= ~NONR;
if (nodes.DoCRC)
localoptions &= ~NOCRC;
logoptions(); logoptions();
} }

View File

@ -67,6 +67,7 @@ extern int localoptions;
#define NOPLZ 0x0400 #define NOPLZ 0x0400
#define NOGZBZ2 0x0800 #define NOGZBZ2 0x0800
#define NONR 0x1000 #define NONR 0x1000
#define NOCRC 0x2000
struct _history history; /* History record for sessions */ struct _history history; /* History record for sessions */

View File

@ -54,7 +54,7 @@ void ProgName(void)
return; return;
mbse_colour(WHITE, BLACK); mbse_colour(WHITE, BLACK);
printf("\nMBAFF: MBSE BBS %s Announce new files and FileFind\n", VERSION); printf("\nMBAFF: MBSE BBS %s Announce New Files and FileFind\n", VERSION);
mbse_colour(YELLOW, BLACK); mbse_colour(YELLOW, BLACK);
printf(" %s\n", COPYRIGHT); printf(" %s\n", COPYRIGHT);
} }

View File

@ -59,7 +59,7 @@ void ProgName(void)
return; return;
mbse_colour(WHITE, BLACK); mbse_colour(WHITE, BLACK);
printf("\nMBDIFF: MBSE BBS %s Nodelist diff processor\n", VERSION); printf("\nMBDIFF: MBSE BBS %s Nodelist Diff Processor\n", VERSION);
mbse_colour(YELLOW, BLACK); mbse_colour(YELLOW, BLACK);
printf(" %s\n", COPYRIGHT); printf(" %s\n", COPYRIGHT);
} }

View File

@ -157,7 +157,7 @@ void ProgName(void)
return; return;
mbse_colour(WHITE, BLACK); mbse_colour(WHITE, BLACK);
printf("\nMBFIDO: MBSE BBS %s - Fidonet File and Mail processor\n", VERSION); printf("\nMBFIDO: MBSE BBS %s - Fidonet File and Mail Processor\n", VERSION);
mbse_colour(YELLOW, BLACK); mbse_colour(YELLOW, BLACK);
printf(" %s\n", COPYRIGHT); printf(" %s\n", COPYRIGHT);
} }

View File

@ -52,7 +52,7 @@ void ProgName(void)
return; return;
mbse_colour(WHITE, BLACK); mbse_colour(WHITE, BLACK);
printf("\nMBFILE: MBSE BBS %s File maintenance utility\n", VERSION); printf("\nMBFILE: MBSE BBS %s File Maintenance Utility\n", VERSION);
mbse_colour(YELLOW, BLACK); mbse_colour(YELLOW, BLACK);
printf(" %s\n", COPYRIGHT); printf(" %s\n", COPYRIGHT);
} }

View File

@ -1877,7 +1877,7 @@ unsigned int BlueWave_PackArea(unsigned int ulLast, int Area)
strncpy((char *)Fti.subject, Msg.Subject, 72); strncpy((char *)Fti.subject, Msg.Subject, 72);
tp = localtime(&Msg.Written); tp = localtime(&Msg.Written);
snprintf((char *)Fti.date, 20, "%2d %.3s %2d %2d:%02d:%02d", tp->tm_mday, snprintf((char *)Fti.date, 20, "%2d %.3s %2d %2d:%02d:%02d", tp->tm_mday,
(char *) Language(398 + tp->tm_mon), tp->tm_year, tp->tm_hour, tp->tm_min, tp->tm_sec); (char *) Language(398 + tp->tm_mon), tp->tm_year % 100, tp->tm_hour, tp->tm_min, tp->tm_sec);
Fti.msgnum = le_us((tWORD)Number); Fti.msgnum = le_us((tWORD)Number);
Fti.msgptr = le_int((tLONG)ftell(fdm)); Fti.msgptr = le_int((tLONG)ftell(fdm));
Fti.replyto = le_us((tWORD)Msg.Original); Fti.replyto = le_us((tWORD)Msg.Original);

View File

@ -1302,19 +1302,19 @@ void s_mailer(void)
mbse_mvprintw(15, 2, "9. No callout"); mbse_mvprintw(15, 2, "9. No callout");
mbse_mvprintw(16, 2, "10. No EMSI session"); mbse_mvprintw(16, 2, "10. No EMSI session");
mbse_mvprintw(17, 2, "11. No Yooho/2U2"); mbse_mvprintw(17, 2, "11. No Yooho/2U2");
mbse_mvprintw(12,31, "12. No CRC");
mbse_mvprintw(13,31, "13. No Zmodem");
mbse_mvprintw(14,31, "14. No Zedzap");
mbse_mvprintw(15,31, "15. No Hydra");
mbse_mvprintw(16,31, "16. No MD5");
mbse_mvprintw(17,31, "17. Zero Locks OK");
mbse_mvprintw(13,31, "12. No Zmodem"); mbse_mvprintw(12,59, "18. Phonetrans 1-10");
mbse_mvprintw(14,31, "13. No Zedzap"); mbse_mvprintw(13,59, "19. Phonetrans 11-20");
mbse_mvprintw(15,31, "14. No Hydra"); mbse_mvprintw(14,59, "20. Phonetrans 21-30");
mbse_mvprintw(16,31, "15. No MD5"); mbse_mvprintw(15,59, "21. Phonetrans 31-40");
mbse_mvprintw(17,31, "16. Zero Locks OK"); mbse_mvprintw(16,59, "22. Max. files");
mbse_mvprintw(17,59, "23. Max. MB.");
mbse_mvprintw(12,59, "17. Phonetrans 1-10");
mbse_mvprintw(13,59, "18. Phonetrans 11-20");
mbse_mvprintw(14,59, "19. Phonetrans 21-30");
mbse_mvprintw(15,59, "20. Phonetrans 31-40");
mbse_mvprintw(16,59, "21. Max. files");
mbse_mvprintw(17,59, "22. Max. MB.");
} }
@ -1368,7 +1368,7 @@ void e_mailer(void)
show_bool(15,23, CFG.NoCall); show_bool(15,23, CFG.NoCall);
show_bool(16,23, CFG.NoEMSI); show_bool(16,23, CFG.NoEMSI);
show_bool(17,23, CFG.NoWazoo); show_bool(17,23, CFG.NoWazoo);
show_bool(12,52, CFG.NoCRC32);
show_bool(13,52, CFG.NoZmodem); show_bool(13,52, CFG.NoZmodem);
show_bool(14,52, CFG.NoZedzap); show_bool(14,52, CFG.NoZedzap);
show_bool(15,52, CFG.NoHydra); show_bool(15,52, CFG.NoHydra);
@ -1378,7 +1378,7 @@ void e_mailer(void)
show_int( 16,75, CFG.Req_Files); show_int( 16,75, CFG.Req_Files);
show_int( 17,75, CFG.Req_MBytes); show_int( 17,75, CFG.Req_MBytes);
switch(select_menu(22)) { switch(select_menu(23)) {
case 0: return; case 0: return;
case 1: E_LOGL(CFG.cico_loglevel, "1.14.1", s_mailer) case 1: E_LOGL(CFG.cico_loglevel, "1.14.1", s_mailer)
case 2: E_STR( 8,23,20,CFG.IP_Phone, "The mailer ^TCP/IP \"phone\" number^ for this system, empty is no TCP/IP") case 2: E_STR( 8,23,20,CFG.IP_Phone, "The mailer ^TCP/IP \"phone\" number^ for this system, empty is no TCP/IP")
@ -1389,21 +1389,21 @@ void e_mailer(void)
case 7: E_INT( 13,23, CFG.dialdelay, "The ^random dialdelay^ in seconds ((^n^ <= delay) and (^n^ > (delay / 10)))") case 7: E_INT( 13,23, CFG.dialdelay, "The ^random dialdelay^ in seconds ((^n^ <= delay) and (^n^ > (delay / 10)))")
case 8: E_BOOL(14,23, CFG.NoFreqs, "Set to true if ^No Filerequests^ are allowed") case 8: E_BOOL(14,23, CFG.NoFreqs, "Set to true if ^No Filerequests^ are allowed")
case 9: E_BOOL(15,23, CFG.NoCall, "Set to true if ^No Calls^ are allowed") case 9: E_BOOL(15,23, CFG.NoCall, "Set to true if ^No Calls^ are allowed")
case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is diabled") case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is disabled")
case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled") case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled")
case 12:E_BOOL(12,52, CFG.NoCRC32, "If set then ^CRC32^ in binkp sessions is disabled")
case 13:E_BOOL(13,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled")
case 14:E_BOOL(14,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled")
case 15:E_BOOL(15,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled")
case 16:E_BOOL(16,52, CFG.NoMD5, "Disable ^MD5 crypted^ passwords with binkp sessions")
case 17:E_BOOL(17,52, CFG.ZeroLocks, "Allow ^zero byte node lockfiles^ created by another OS")
case 12:E_BOOL(13,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled") case 18:e_trans(0, 17); break;
case 13:E_BOOL(14,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled") case 19:e_trans(10, 18); break;
case 14:E_BOOL(15,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled") case 20:e_trans(20, 19); break;
case 15:E_BOOL(16,52, CFG.NoMD5, "Disable ^MD5 crypted^ passwords with binkp sessions") case 21:e_trans(30, 20); break;
case 16:E_BOOL(17,52, CFG.ZeroLocks, "Allow ^zero byte node lockfiles^ created by another OS") case 22:E_INT(16,75, CFG.Req_Files, "Maximum ^files^ to request, 0 is unlimited")
case 23:E_INT(17,75, CFG.Req_MBytes, "Maximum ^MBytes^ to request, 0 is unlimited")
case 17:e_trans(0, 17); break;
case 18:e_trans(10, 18); break;
case 19:e_trans(20, 19); break;
case 20:e_trans(30, 20); break;
case 21:E_INT(16,75, CFG.Req_Files, "Maximum ^files^ to request, 0 is unlimited")
case 22:E_INT(17,75, CFG.Req_MBytes, "Maximum ^MBytes^ to request, 0 is unlimited")
} }
} }
} }
@ -2270,6 +2270,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
add_webtable(wp, (char *)"No Calls", getboolean(CFG.NoCall)); add_webtable(wp, (char *)"No Calls", getboolean(CFG.NoCall));
add_webtable(wp, (char *)"No EMSI", getboolean(CFG.NoEMSI)); add_webtable(wp, (char *)"No EMSI", getboolean(CFG.NoEMSI));
add_webtable(wp, (char *)"No YooHoo/2U2", getboolean(CFG.NoWazoo)); add_webtable(wp, (char *)"No YooHoo/2U2", getboolean(CFG.NoWazoo));
add_webtable(wp, (char *)"No CRC32", getboolean(CFG.NoCRC32));
add_webtable(wp, (char *)"No Zmodem", getboolean(CFG.NoZmodem)); add_webtable(wp, (char *)"No Zmodem", getboolean(CFG.NoZmodem));
add_webtable(wp, (char *)"No Zedzap", getboolean(CFG.NoZedzap)); add_webtable(wp, (char *)"No Zedzap", getboolean(CFG.NoZedzap));
add_webtable(wp, (char *)"No Hydra", getboolean(CFG.NoHydra)); add_webtable(wp, (char *)"No Hydra", getboolean(CFG.NoHydra));
@ -2294,6 +2295,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
fprintf(fp, " No Calls %s\n", getboolean(CFG.NoCall)); fprintf(fp, " No Calls %s\n", getboolean(CFG.NoCall));
fprintf(fp, " No EMSI %s\n", getboolean(CFG.NoEMSI)); fprintf(fp, " No EMSI %s\n", getboolean(CFG.NoEMSI));
fprintf(fp, " No YooHoo/2U2 %s\n", getboolean(CFG.NoWazoo)); fprintf(fp, " No YooHoo/2U2 %s\n", getboolean(CFG.NoWazoo));
fprintf(fp, " No CRC32 %s\n", getboolean(CFG.NoCRC32));
fprintf(fp, " No Zmodem %s\n", getboolean(CFG.NoZmodem)); fprintf(fp, " No Zmodem %s\n", getboolean(CFG.NoZmodem));
fprintf(fp, " No Zedzap %s\n", getboolean(CFG.NoZedzap)); fprintf(fp, " No Zedzap %s\n", getboolean(CFG.NoZedzap));
fprintf(fp, " No Hydra %s\n", getboolean(CFG.NoHydra)); fprintf(fp, " No Hydra %s\n", getboolean(CFG.NoHydra));

View File

@ -807,32 +807,32 @@ void SessionScreen(void)
{ {
clr_index(); clr_index();
set_color(WHITE, BLACK); set_color(WHITE, BLACK);
mbse_mvprintw( 5, 6, "7.3 EDIT NODE SESSION"); mbse_mvprintw( 5, 2, "7.3 EDIT NODE SESSION");
set_color(CYAN, BLACK); set_color(CYAN, BLACK);
mbse_mvprintw( 7, 6, "1. Session passwd"); mbse_mvprintw( 7, 2, "1. Session passwd");
mbse_mvprintw( 8, 6, "2. Dial command"); mbse_mvprintw( 8, 2, "2. Dial command");
mbse_mvprintw( 9, 6, "3. Phone number 1"); mbse_mvprintw( 9, 2, "3. Phone number 1");
mbse_mvprintw(10, 6, "4. Phone number 2"); mbse_mvprintw(10, 2, "4. Phone number 2");
mbse_mvprintw(11, 6, "5. Nodelist flags"); mbse_mvprintw(11, 2, "5. Nodelist flags");
mbse_mvprintw(12, 6, "6. Inet hostname"); mbse_mvprintw(12, 2, "6. Inet hostname");
mbse_mvprintw(13, 6, "7. Outbound sess."); mbse_mvprintw(13, 2, "7. Outbound sess.");
mbse_mvprintw(14, 6, "8. Inbound sess."); mbse_mvprintw(14, 2, "8. Inbound sess.");
mbse_mvprintw(15, 6, "9. No EMSI"); mbse_mvprintw(15, 2, "9. No EMSI");
mbse_mvprintw(16, 6, "10. No YooHoo/2U2"); mbse_mvprintw(16, 2, "10. No YooHoo/2U2");
mbse_mvprintw(17, 6, "11. No Filerequest"); mbse_mvprintw(17, 2, "11. No Filerequest");
mbse_mvprintw(18, 6, "12. Don't call"); mbse_mvprintw(18, 2, "12. Don't call");
mbse_mvprintw(19, 6, "13. 8.3 names"); mbse_mvprintw(19, 2, "13. 8.3 names");
mbse_mvprintw(20, 6, "14. NR mode"); mbse_mvprintw(13,33, "14. NR mode");
mbse_mvprintw(14,33, "15. CRC mode");
mbse_mvprintw(13,41, "15. No PLZ"); mbse_mvprintw(15,33, "16. No PLZ");
mbse_mvprintw(14,41, "16. No GZ/BZ2"); mbse_mvprintw(16,33, "17. No GZ/BZ2");
mbse_mvprintw(15,41, "17. No Zmodem"); mbse_mvprintw(17,33, "18. No Zmodem");
mbse_mvprintw(16,41, "18. No Zedzap"); mbse_mvprintw(18,33, "19. No Zedzap");
mbse_mvprintw(17,41, "19. No Hydra"); mbse_mvprintw(19,33, "20. No Hydra");
mbse_mvprintw(18,41, "20. Binkp old esc"); mbse_mvprintw(17,57, "21. Binkp old esc");
mbse_mvprintw(19,41, "21. No binkp/1.1"); mbse_mvprintw(18,57, "22. No binkp/1.1");
mbse_mvprintw(20,41, "22. Ign. Hold"); mbse_mvprintw(19,57, "23. Ign. Hold");
} }
@ -850,25 +850,25 @@ void SessionEdit(void)
show_str( 10,26,20, nodes.phone[1]); show_str( 10,26,20, nodes.phone[1]);
show_str( 11,26,54, nodes.Nl_flags); show_str( 11,26,54, nodes.Nl_flags);
show_str( 12,26,40, nodes.Nl_hostname); show_str( 12,26,40, nodes.Nl_hostname);
show_sessiontype(13,26,nodes.Session_out); show_sessiontype(13,23,nodes.Session_out);
show_sessiontype(14,26,nodes.Session_in); show_sessiontype(14,23,nodes.Session_in);
show_bool(15,26, nodes.NoEMSI); show_bool(15,23, nodes.NoEMSI);
show_bool(16,26, nodes.NoWaZOO); show_bool(16,23, nodes.NoWaZOO);
show_bool(17,26, nodes.NoFreqs); show_bool(17,23, nodes.NoFreqs);
show_bool(18,26, nodes.NoCall); show_bool(18,23, nodes.NoCall);
show_bool(19,26, nodes.FNC); show_bool(19,23, nodes.FNC);
show_bool(20,26, nodes.DoNR); show_bool(13,52, nodes.DoNR);
show_bool(14,52, nodes.DoCRC);
show_bool(15,52, nodes.NoPLZ);
show_bool(16,52, nodes.NoGZ);
show_bool(17,52, nodes.NoZmodem);
show_bool(18,52, nodes.NoZedzap);
show_bool(19,52, nodes.NoHydra);
show_bool(17,76, nodes.WrongEscape);
show_bool(18,76, nodes.NoBinkp11);
show_bool(19,76, nodes.IgnHold);
show_bool(13,61, nodes.NoPLZ); switch(select_menu(23)) {
show_bool(14,61, nodes.NoGZ);
show_bool(15,61, nodes.NoZmodem);
show_bool(16,61, nodes.NoZedzap);
show_bool(17,61, nodes.NoHydra);
show_bool(18,61, nodes.WrongEscape);
show_bool(19,61, nodes.NoBinkp11);
show_bool(20,61, nodes.IgnHold);
switch(select_menu(22)) {
case 0: return; case 0: return;
case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node") case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node")
case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node") case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node")
@ -876,25 +876,25 @@ void SessionEdit(void)
case 4: E_STR( 10,26,20, nodes.phone[1], "Enter ^phone number^ to override the nodelist") case 4: E_STR( 10,26,20, nodes.phone[1], "Enter ^phone number^ to override the nodelist")
case 5: E_STR( 11,26,54, nodes.Nl_flags, "^Nodelist flags^ override") case 5: E_STR( 11,26,54, nodes.Nl_flags, "^Nodelist flags^ override")
case 6: E_STR( 12,26,40, nodes.Nl_hostname, "Node internet ^hostname/IP address^ override") case 6: E_STR( 12,26,40, nodes.Nl_hostname, "Node internet ^hostname/IP address^ override")
case 7: nodes.Session_out = edit_sessiontype(13,26, nodes.Session_out); case 7: nodes.Session_out = edit_sessiontype(13,23, nodes.Session_out);
break; break;
case 8: nodes.Session_in = edit_sessiontype(14,26, nodes.Session_in); case 8: nodes.Session_in = edit_sessiontype(14,23, nodes.Session_in);
break; break;
case 9: E_BOOL(15,26, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node") case 9: E_BOOL(15,23, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node")
case 10:E_BOOL(16,26, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node") case 10:E_BOOL(16,23, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node")
case 11:E_BOOL(17,26, nodes.NoFreqs, "Disallow ^file requests^ from this node") case 11:E_BOOL(17,23, nodes.NoFreqs, "Disallow ^file requests^ from this node")
case 12:E_BOOL(18,26, nodes.NoCall, "Don't ^call^ this node") case 12:E_BOOL(18,23, nodes.NoCall, "Don't ^call^ this node")
case 13:E_BOOL(19,26, nodes.FNC, "Node needs ^DOS 8.3^ filenames") case 13:E_BOOL(19,23, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
case 14:E_BOOL(20,26, nodes.DoNR, "Use ^NR-mode^ in outgoing binkp sessions") case 14:E_BOOL(13,52, nodes.DoNR, "Use ^NR-mode^ in outgoing binkp sessions")
case 15:E_BOOL(14,52, nodes.DoCRC, "Use ^Binkp CRC^ error checking")
case 15:E_BOOL(13,61, nodes.NoPLZ, "Disable ^Binkp PLZ^ compression with this node") case 16:E_BOOL(15,52, nodes.NoPLZ, "Disable ^Binkp PLZ^ compression with this node")
case 16:E_BOOL(14,61, nodes.NoGZ, "Disable ^Binkp GZ and BZ2^ compression with this node") case 17:E_BOOL(16,52, nodes.NoGZ, "Disable ^Binkp GZ and BZ2^ compression with this node")
case 17:E_BOOL(15,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node") case 18:E_BOOL(17,52, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
case 18:E_BOOL(16,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node") case 19:E_BOOL(18,52, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
case 19:E_BOOL(17,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node") case 20:E_BOOL(19,52, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
case 20:E_BOOL(18,61, nodes.WrongEscape, "Use the ^old escape^ for long filenames (Argus, Irex)") case 21:E_BOOL(17,76, nodes.WrongEscape, "Use the ^old escape^ for long filenames (Argus, Irex)")
case 21:E_BOOL(19,61, nodes.NoBinkp11, "Disable ^binkp/1.1^ (fallback to binkp/1.0) mode for this node") case 22:E_BOOL(18,76, nodes.NoBinkp11, "Disable ^binkp/1.1^ (fallback to binkp/1.0) mode for this node")
case 22:E_BOOL(20,61, nodes.IgnHold, "Ignore node ^Hold or Down^ nodelist status") case 23:E_BOOL(19,76, nodes.IgnHold, "Ignore node ^Hold or Down^ nodelist status")
} }
} }
} }

View File

@ -1,11 +1,10 @@
/***************************************************************************** /*****************************************************************************
* *
* $Id: mblogin.c,v 1.9 2007/08/26 15:05:33 mbse Exp $
* Purpose ...............: Login program for MBSE BBS. * Purpose ...............: Login program for MBSE BBS.
* Shadow Suite (c) ......: Julianne Frances Haugh * Shadow Suite (c) ......: Julianne Frances Haugh
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2007 * Copyright (C) 1997-2012
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -462,7 +461,7 @@ int main(int argc, char **argv)
memzero(utent.ut_host, sizeof utent.ut_host); memzero(utent.ut_host, sizeof utent.ut_host);
#endif #endif
openlog("mblogin", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTH); openlog("mblogin", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTHPRIV);
setup_tty(); setup_tty();
umask(getdef_num("UMASK", 007)); umask(getdef_num("UMASK", 007));
@ -813,9 +812,9 @@ auth_ok:
endsgent(); /* stop access to shadow group file */ endsgent(); /* stop access to shadow group file */
#endif #endif
if (pwent.pw_uid == 0) if (pwent.pw_uid == 0)
syslog(LOG_NOTICE, ROOT_LOGIN, fromhost); syslog(LOG_WARNING, ROOT_LOGIN, fromhost);
else else
syslog(LOG_INFO, REG_LOGIN, username, fromhost); syslog(LOG_WARNING, REG_LOGIN, username, fromhost);
closelog(); closelog();
shell (pwent.pw_shell, (char *) 0); /* exec the shell finally. */ shell (pwent.pw_shell, (char *) 0); /* exec the shell finally. */

View File

@ -4,7 +4,7 @@
* Shadow Suite (c) ......: Julianne Frances Haugh * Shadow Suite (c) ......: Julianne Frances Haugh
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2011 * Copyright (C) 1997-2012
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -901,7 +901,7 @@ int main(int argc, char *argv[])
* We don't log into MBSE BBS logfiles but to the system logfiles, * We don't log into MBSE BBS logfiles but to the system logfiles,
* because we are modifying system files not belonging to MBSE BBS. * because we are modifying system files not belonging to MBSE BBS.
*/ */
openlog("mbpasswd", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTH); openlog("mbpasswd", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTHPRIV);
/* /*
* Find out the name of our parent. * Find out the name of our parent.

View File

@ -1,10 +1,9 @@
/***************************************************************************** /*****************************************************************************
* *
* $Id: mbuseradd.c,v 1.24 2007/05/28 10:40:24 mbse Exp $
* Purpose ...............: setuid root version of useradd * Purpose ...............: setuid root version of useradd
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2007 * Copyright (C) 1997-2012
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -342,7 +341,7 @@ int main(int argc, char *argv[])
* We don't log into MBSE BBS logfiles but to the system logfiles, * We don't log into MBSE BBS logfiles but to the system logfiles,
* because we are modifying system files not belonging to MBSE BBS. * because we are modifying system files not belonging to MBSE BBS.
*/ */
openlog("mbuseradd", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTH); openlog("mbuseradd", LOG_PID|LOG_CONS|LOG_NOWAIT, LOG_AUTHPRIV);
syslog(LOG_WARNING, "mbuseradd %s %s %s %s", argv[1], argv[2], argv[3], argv[4]); syslog(LOG_WARNING, "mbuseradd %s %s %s %s", argv[1], argv[2], argv[3], argv[4]);
/* /*