diff options
-rw-r--r-- | tests/ftpserver.pl | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index 52092337d..7a2ffe529 100644 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -207,6 +207,15 @@ sub sockfilt { } +sub sockfiltsecondary { + my $l; + foreach $l (@_) { + printf DWRITE "DATA\n%04x\n", length($l); + print DWRITE $l; + } +} + + # Send data to the client on the control stream, which happens to be plain # stdout. @@ -237,8 +246,17 @@ sub sendcontrol { sub senddata { my $l; foreach $l (@_) { - printf DWRITE "DATA\n%04x\n", length($l); - print DWRITE $l; + if(!$controldelay) { + # spit it all out at once + sockfiltsecondary $l; + } + else { + # pause between each byte + for (split(//,$l)) { + sockfiltsecondary $_; + select(undef, undef, undef, 0.01); + } + } } } |