aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/preauth-harness
diff options
context:
space:
mode:
authorRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
committerRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
commitd78b61e3efaea197a6e5b2b72bf2981a9ed69461 (patch)
tree1704e13ce5d767d59868a2d5e834cb2e988ed90f /contrib/preauth-harness
parentd9e84e176fe538e110d9612f9832d69846e8d3e7 (diff)
downloadfetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.gz
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.bz2
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.zip
Add files from ESR's dev directory that weren't under version control
svn path=/trunk/; revision=3881
Diffstat (limited to 'contrib/preauth-harness')
-rwxr-xr-xcontrib/preauth-harness53
1 files changed, 53 insertions, 0 deletions
diff --git a/contrib/preauth-harness b/contrib/preauth-harness
new file mode 100755
index 00000000..0bd0d842
--- /dev/null
+++ b/contrib/preauth-harness
@@ -0,0 +1,53 @@
+#!/usr/bin/perl
+
+BEGIN { $SIG{'__WARN__'} = sub {};};
+
+$hostname = "criens.u-psud.fr";
+$username = "p99dreyf";
+$passwd = "xxxxxxxx";
+$command = "exec ~/bin/imapd";
+
+use Net::Telnet ();
+$host = new Net::Telnet (Timeout => 10,
+ Port => 23,
+ Prompt => '/p99dreyf>\s?$/',
+ Cmd_remove_mode => 1);
+
+$host->option_accept(Dont => &Net::Telnet::TELOPT_ECHO,
+ Wont => &Net::Telnet::TELOPT_ECHO);
+ open (FILE,">log");
+$host->dump_log("log2");
+$host->input_log("log3");
+## Issue some commands.
+$host->open($hostname);
+#$host->login($username, $passwd);
+$host->waitfor('/login:\s?$/');
+$host->print("$username");
+$host->waitfor('/Password:\s?$/');
+$host->print("$passwd");
+$host->waitfor('/p99dreyf>\s?$/');
+
+$host->print("$command");
+$strip=1;
+while ($strip) {
+ $greeting=$host->getline();
+ if ($greeting=~/^\* PREAUTH.*$/) { print "$greeting"; $strip=0;};
+}
+ do {
+ do {
+ $cmd=<STDIN>;
+ chop $cmd;
+ } while ($cmd !~/[A-Za-z0-9]/);
+ $host->print("$cmd");
+ print FILE ">>$cmd<<\n";
+ do {
+ $line=$host->getline();
+ chop($line);
+ print "$line\n";
+ print FILE "<<$line<<\n";
+ } while (($line!~/^[A-Za-z0-9]+ (OK|BAD|Expunge).*$/) &&
+ ($line!~/^\* BAD.*$/));
+ print FILE "--next cmd\n";
+ } while ($line!~/^[A-Za-z0-9]+ OK LOGOUT.*$/);
+
+exit;