Index: ossp-pkg/lmtp2nntp/lmtp2nntp_config.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_config.c,v rcsdiff -q -kk '-r1.41' '-r1.42' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_config.c,v' 2>/dev/null --- lmtp2nntp_config.c 2002/02/05 14:14:54 1.41 +++ lmtp2nntp_config.c 2002/02/05 14:56:47 1.42 @@ -637,6 +637,7 @@ else if (strcasecmp(cp, "feed") == 0) ctx->option_operationmode = OPERATIONMODE_FEED; else { + ctx->option_operationmode = OPERATIONMODE_FAKE; if (strlen(cp) != 9) { log1(ctx, ERROR, "option --operationmode, invalid length (%s)", cp); throw(0,0,0); @@ -669,6 +670,10 @@ } } } + else { + log0(ctx, ERROR, "option --operationmode, is mandatory but neither given nor preset (internal)"); + throw(0,0,0); + } } catch (ex) rethrow; Index: ossp-pkg/lmtp2nntp/lmtp2nntp_main.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_main.c,v rcsdiff -q -kk '-r1.36' '-r1.37' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_main.c,v' 2>/dev/null --- lmtp2nntp_main.c 2002/02/05 10:42:39 1.36 +++ lmtp2nntp_main.c 2002/02/05 14:56:47 1.37 @@ -1531,6 +1531,7 @@ */ rcpt = NULL; while ((rcpt = argz_next(ctx->msg->azRcpt, ctx->msg->asRcpt, rcpt)) != NULL) { + log1(ctx, DEBUG, "ctx->option_operationmode=%d", ctx->option_operationmode); if (ctx->option_operationmode == OPERATIONMODE_FAKE) { res.statuscode = ctx->option_operationmodefakestatus; res.dsncode = ctx->option_operationmodefakedsn; Index: ossp-pkg/lmtp2nntp/lmtp2nntp_option.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_option.c,v rcsdiff -q -kk '-r1.11' '-r1.12' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_option.c,v' 2>/dev/null --- lmtp2nntp_option.c 2002/02/05 14:14:54 1.11 +++ lmtp2nntp_option.c 2002/02/05 14:56:47 1.12 @@ -649,7 +649,7 @@ #endif //val_apply(o->vo, "", 9, dumper, "vorher" ); - rc = option_parse_internal(o, argc, argv); + rc = option_parse_internal(o, argc, argv); //FIXME should fail for syntax errors and unknown options //val_apply(o->vo, "", 9, dumper, "nachher" ); return rc; } Index: ossp-pkg/lmtp2nntp/test.sh RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/test.sh,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/test.sh,v' 2>/dev/null --- test.sh 2002/02/05 14:14:54 1.9 +++ test.sh 2002/02/05 14:56:47 1.10 @@ -103,6 +103,10 @@ RC=`cat ${STDOUT} | egrep 'lmtp2nntp[ ]+[0-9]+\.[0-9]+[ab\.][0-9]+[ ]+\([0-9]+-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-[0-9]+\)' | wc -l` if [ ${RC} -ne 1 -o ".`cat ${STDERR}`" != . ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -145,6 +149,10 @@ if [ 1 -eq `egrep <${STDOUT} -- '--usage' | wc -l` ]; then RC="${RC}--usage "; fi if [ "${RC}" != "-C -D -K -P -a -b -c -d -g -h -i --timeoutlmtpaccept --timeoutlmtpread --timeoutlmtpwrite --timeoutnntpconnect --timeoutnntpread --timeoutnntpwrite -l -m -n -o -r -s -u -v --newsgroup -? --usage " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -152,8 +160,7 @@ echon "checking whether a valid fake posting succeeds ... " prolog newmsg -echo ./lmtp2nntp ${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} ${STDOUT} 2${STDERR} ; RC=$ -./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$ +./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$ RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi if [ 1 -eq `egrep <${STDOUT} '^250[- ].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi @@ -164,10 +171,10 @@ if [ 1 -eq `egrep <${STDOUT} '^221[- ]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then echo "NO (got ${RC})" - echo STDIN cat ${STDIN} - echo STDOUT cat ${STDOUT} - echo STDERR cat ${STDERR} - echo LOG cat ${L2FILE} + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -175,7 +182,7 @@ echon "checking whether -m option blocks invalid sender ... " prolog newmsg -( MFILT=".*@is.invalid" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? +( MFILT=".*@is.invalid" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi if [ 1 -eq `egrep <${STDOUT} '^250[- ].+pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi @@ -186,6 +193,10 @@ if [ 1 -eq `egrep <${STDOUT} '^221[- ]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -193,7 +204,7 @@ echon "checking whether -s option rejects article with invalid size ... " prolog newmsg -./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 100 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$? +./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 100 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$? RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi if [ 1 -eq `egrep <${STDOUT} '^250[- ].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi @@ -204,6 +215,10 @@ if [ 1 -eq `egrep <${STDOUT} '^221[- ]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -211,12 +226,16 @@ echon "checking whether -c option fails on invalid local host address ... " prolog newmsg -( LOCAL="10.255.255.255" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? +( LOCAL="10.255.255.255" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi -if [ 1 -eq `egrep <${FILE} 'error.+binding' | wc -l` ]; then RC="${RC}bind "; fi +if [ 1 -eq `egrep <${L2FILE} 'error.+binding' | wc -l` ]; then RC="${RC}bind "; fi if [ "${RC}" != "init bind " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -224,7 +243,7 @@ echon "checking whether -g envelope option blocks invalid group ... " prolog newmsg -( GROUP="foo.*" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g envelope -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? +( GROUP="foo.*" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g envelope -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi if [ 1 -eq `egrep <${STDOUT} '^250[- ].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi @@ -236,6 +255,10 @@ if [ 1 -eq `egrep <${STDOUT} '^221[- ]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi if [ "${RC}" != "init LHLO MAIL RCPT RCPT DATA post QUIT " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes" @@ -243,12 +266,16 @@ echon "checking whether -d option times out for invalid host ... " prolog newmsg -( HOST="10.255.255.255" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 -t nntp:connect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? +( HOST="10.255.255.255" ; ./lmtp2nntp <${STDIN} -c ${LOCAL} -o 250/2.0.0 -g arg -d ${HOST} ${LOG} -m "${MFILT}" -n ${NODE} -s 1500 --timeoutnntpconnect=1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$? RC=""; if [ 1 -eq `egrep <${STDOUT} '^220[- ]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi -if [ 1 -eq `egrep <${FILE} 'warning.+connect.+failed' | wc -l` ]; then RC="${RC}conn "; fi +if [ 1 -eq `egrep <${L2FILE} 'warning.+connect.+failed' | wc -l` ]; then RC="${RC}conn "; fi if [ "${RC}" != "init conn " ]; then echo "NO (got ${RC})" + echo "STDIN cat ${STDIN}" + echo "STDOUT cat ${STDOUT}" + echo "STDERR cat ${STDERR}" + echo "LOG cat ${L2FILE}" exit 1; fi echo "yes"