Annotation of embedaddon/curl/tests/tftpserver.pl, revision 1.1.1.1

1.1       misho       1: #!/usr/bin/env perl
                      2: #***************************************************************************
                      3: #                                  _   _ ____  _
                      4: #  Project                     ___| | | |  _ \| |
                      5: #                             / __| | | | |_) | |
                      6: #                            | (__| |_| |  _ <| |___
                      7: #                             \___|\___/|_| \_\_____|
                      8: #
                      9: # Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
                     10: #
                     11: # This software is licensed as described in the file COPYING, which
                     12: # you should have received as part of this distribution. The terms
                     13: # are also available at https://curl.haxx.se/docs/copyright.html.
                     14: #
                     15: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
                     16: # copies of the Software, and permit persons to whom the Software is
                     17: # furnished to do so, under the terms of the COPYING file.
                     18: #
                     19: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
                     20: # KIND, either express or implied.
                     21: #
                     22: #***************************************************************************
                     23: 
                     24: BEGIN {
                     25:     push(@INC, $ENV{'srcdir'}) if(defined $ENV{'srcdir'});
                     26:     push(@INC, ".");
                     27: }
                     28: 
                     29: use strict;
                     30: use warnings;
                     31: 
                     32: use serverhelp qw(
                     33:     server_pidfilename
                     34:     server_logfilename
                     35:     );
                     36: 
                     37: use sshhelp qw(
                     38:     exe_ext
                     39:     );
                     40: 
                     41: my $verbose = 0;     # set to 1 for debugging
                     42: my $port = 8997;     # just a default
                     43: my $ipvnum = 4;      # default IP version of tftp server
                     44: my $idnum = 1;       # default tftp server instance number
                     45: my $proto = 'tftp';  # protocol the tftp server speaks
                     46: my $pidfile;
                     47: my $portfile;
                     48: my $logfile;
                     49: my $srcdir;
                     50: my $fork;
                     51: 
                     52: my $flags  = "";
                     53: my $path   = '.';
                     54: my $logdir = $path .'/log';
                     55: 
                     56: while(@ARGV) {
                     57:     if($ARGV[0] eq '--pidfile') {
                     58:         if($ARGV[1]) {
                     59:             $pidfile = $ARGV[1];
                     60:             shift @ARGV;
                     61:         }
                     62:     }
                     63:     elsif($ARGV[0] eq '--portfile') {
                     64:         if($ARGV[1]) {
                     65:             $portfile = $ARGV[1];
                     66:             shift @ARGV;
                     67:         }
                     68:     }
                     69:     elsif($ARGV[0] eq '--logfile') {
                     70:         if($ARGV[1]) {
                     71:             $logfile = $ARGV[1];
                     72:             shift @ARGV;
                     73:         }
                     74:     }
                     75:     elsif($ARGV[0] eq '--srcdir') {
                     76:         if($ARGV[1]) {
                     77:             $srcdir = $ARGV[1];
                     78:             shift @ARGV;
                     79:         }
                     80:     }
                     81:     elsif($ARGV[0] eq '--ipv4') {
                     82:         $ipvnum = 4;
                     83:     }
                     84:     elsif($ARGV[0] eq '--ipv6') {
                     85:         $ipvnum = 6;
                     86:     }
                     87:     elsif($ARGV[0] eq '--port') {
                     88:         if($ARGV[1] =~ /^(\d+)$/) {
                     89:             $port = $1;
                     90:             shift @ARGV;
                     91:         }
                     92:     }
                     93:     elsif($ARGV[0] eq '--id') {
                     94:         if($ARGV[1] =~ /^(\d+)$/) {
                     95:             $idnum = $1 if($1 > 0);
                     96:             shift @ARGV;
                     97:         }
                     98:     }
                     99:     elsif($ARGV[0] eq '--verbose') {
                    100:         $verbose = 1;
                    101:     }
                    102:     else {
                    103:         print STDERR "\nWarning: tftpserver.pl unknown parameter: $ARGV[0]\n";
                    104:     }
                    105:     shift @ARGV;
                    106: }
                    107: 
                    108: if(!$srcdir) {
                    109:     $srcdir = $ENV{'srcdir'} || '.';
                    110: }
                    111: if(!$pidfile) {
                    112:     $pidfile = "$path/". server_pidfilename($proto, $ipvnum, $idnum);
                    113: }
                    114: if(!$logfile) {
                    115:     $logfile = server_logfilename($logdir, $proto, $ipvnum, $idnum);
                    116: }
                    117: 
                    118: $flags .= "--pidfile \"$pidfile\" ".
                    119:     "--portfile \"$portfile\" ".
                    120:     "--logfile \"$logfile\" ";
                    121: $flags .= "--ipv$ipvnum --port $port --srcdir \"$srcdir\"";
                    122: 
                    123: exec("server/tftpd".exe_ext('SRV')." $flags");

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>