1#!/usr/bin/perl 2# Bootstrap Samba and run a number of tests against it. 3# Copyright (C) 2005-2007 Jelmer Vernooij <jelmer@samba.org> 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 19 20package SocketWrapper; 21 22use Exporter; 23@ISA = qw(Exporter); 24@EXPORT_OK = qw(setup_dir setup_pcap set_default_iface); 25 26use strict; 27use FindBin qw($RealBin); 28 29sub setup_dir($$) 30{ 31 my ($dir, $pcap) = @_; 32 my $pcap_dir = undef; 33 34 if (defined($dir)) { 35 if ( -d $dir ) { 36 unlink <$dir/*>; 37 } else { 38 mkdir($dir, 0777); 39 } 40 41 if ($pcap) { 42 $pcap_dir = $dir."/pcap"; 43 44 if ( -d $pcap_dir ) { 45 unlink <$pcap_dir/*>; 46 } else { 47 mkdir($pcap_dir, 0777); 48 } 49 } 50 } 51 52 if (defined($pcap_dir)) { 53 $ENV{SOCKET_WRAPPER_PCAP_DIR} = $pcap_dir; 54 } else { 55 delete $ENV{SOCKET_WRAPPER_PCAP_DIR}; 56 } 57 58 if (defined($dir)) { 59 $ENV{SOCKET_WRAPPER_DIR} = $dir; 60 } else { 61 delete $ENV{SOCKET_WRAPPER_DIR}; 62 } 63 64 return $dir; 65} 66 67sub setup_pcap($) 68{ 69 my ($pcap_file) = @_; 70 71 $ENV{SOCKET_WRAPPER_PCAP_FILE} = $pcap_file; 72} 73 74sub set_default_iface($) 75{ 76 my ($i) = @_; 77 $ENV{SOCKET_WRAPPER_DEFAULT_IFACE} = $i; 78} 79 801; 81