pf-tools commit: r818 [ccaillet-guest] - in /branches/next-gen: ./ debian/ filters/ lib/PFTools/ sbin/ tools/
parmelan-guest at users.alioth.debian.org
parmelan-guest at users.alioth.debian.org
Sat Aug 7 06:43:50 UTC 2010
Author: ccaillet-guest
Date: Sat Aug 7 06:43:44 2010
New Revision: 818
URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=818
Log:
* RC2 : work in progress
* sbin/update-config :
- feat: adding check for update in pf-tools.conf, deactivate if not present
or if his value is 0
* lib/PFTools/Conf.pm
- small fixes on Get_source for order and substitution regex
- rollback for CONFIG: alias with the 0.33-stable substitution value
* lib/Utils.pm
- fix on Ini_TOOLS : if storable file doesn't exist we need to parse
Modified:
branches/next-gen/TODO
branches/next-gen/debian/changelog
branches/next-gen/filters/filter_distrib
branches/next-gen/filters/filter_privateresolve
branches/next-gen/filters/filter_vlan2if
branches/next-gen/lib/PFTools/Conf.pm
branches/next-gen/lib/PFTools/Utils.pm
branches/next-gen/sbin/fix_hosts
branches/next-gen/sbin/mk_dhcp
branches/next-gen/sbin/mk_grubopt
branches/next-gen/sbin/mk_interfaces
branches/next-gen/sbin/mk_pxelinuxcfg
branches/next-gen/sbin/mk_resolvconf
branches/next-gen/sbin/mk_sitezone
branches/next-gen/sbin/mk_sourceslist
branches/next-gen/sbin/update-config
branches/next-gen/tools/Display_IP_config
Modified: branches/next-gen/TODO
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/TODO?rev=818&op=diff
==============================================================================
--- branches/next-gen/TODO (original)
+++ branches/next-gen/TODO Sat Aug 7 06:43:44 2010
@@ -1,21 +1,18 @@
/--Priority: Low/Medium/Urgent
|/-Difficulty: Easy/Medium/Hard
||
-UE check that all mandatory entries are defined (ie: tag)
-UM use Net::IP for ipstart.* and check it is ok wrt the subnet declaration
-MM [Need validation] source = CVS:config/%HOST_TYPE%/%SECTIONNAME%
-LE Add %SERIAL% in addition to %CONSOLE% for PXE, if it is really interesting ("serial 0 115200" by default)
-LE Obsolete mk_packages and update-links (just have to be sure no one uses them anymore)
-MH Adding an abstract layer on package installation method for interfacing other than deb package like RPM
-MH Adding scope for networks. Needed for using same subnets on different site
-MH IPv6 support
+LM split $FUNCTIONS{'XXX'} from PFTools::Update to PFTools::Update::XXX
+LM creating a tool to see vlan mapping e.g. all hosts defined for a specified vlan
+ on a given site (including empty range into this vlan)
+LH alias definition like CONFIG: in pf-tools.conf file for using in Get_source
+NM interface 0.0.0.0 promisc pour uml (ex: sondes)
+NM permit interface with no IP in promisc mode (ex: for probing hosts)
+NH implementing monitoring as defined in hostfile-syntax with PFTools::Monitoring
+MH rewrite pflaunch and other tools
UH br0/trunk sur uml (2e couche bridge?)
-NM Pouvoir forcer une version particulière d'un paquet (apt-get install paquet=version)
NM apc/serial/yasser dans private-network
-NM interface 0.0.0.0 promisc pour uml (ex: sondes)
NM detection reutilisation disque autre machine (-> reinstall par defaut)
-NH conf nagios/rrdtool dans private-network
NH mtu 1500 partout -> 1504 en trunk (tuntap > 1500?)
LM umlshutdown
NH Actions groupees (ex reload postfix)
Modified: branches/next-gen/debian/changelog
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/debian/changelog?rev=818&op=diff
==============================================================================
--- branches/next-gen/debian/changelog (original)
+++ branches/next-gen/debian/changelog Sat Aug 7 06:43:44 2010
@@ -1,3 +1,18 @@
+pf-tools (0.99.99-1) unstable; urgency=low
+
+ * RC2 : work in progress
+ [Christophe Caillet]
+ * sbin/update-config :
+ - feat: adding check for update in pf-tools.conf, deactivate if not present
+ or if his value is 0
+ * lib/PFTools/Conf.pm
+ - small fixes on Get_source for order and substitution regex
+ - rollback for CONFIG: alias with the 0.33-stable substitution value
+ * lib/Utils.pm
+ - fix on Ini_TOOLS : if storable file doesn't exist we need to parse
+
+ -- Christophe Caillet <quadchris at free.fr> Sat, 07 Aug 2010 08:38:00 +0200
+
pf-tools (0.99.98-1) unstable; urgency=low
* The road to RC1 release for Next-Gen pf-tools
Modified: branches/next-gen/filters/filter_distrib
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/filters/filter_distrib?rev=818&op=diff
==============================================================================
--- branches/next-gen/filters/filter_distrib (original)
+++ branches/next-gen/filters/filter_distrib Sat Aug 7 06:43:44 2010
@@ -81,7 +81,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Modified: branches/next-gen/filters/filter_privateresolve
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/filters/filter_privateresolve?rev=818&op=diff
==============================================================================
--- branches/next-gen/filters/filter_privateresolve (original)
+++ branches/next-gen/filters/filter_privateresolve Sat Aug 7 06:43:44 2010
@@ -93,7 +93,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Modified: branches/next-gen/filters/filter_vlan2if
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/filters/filter_vlan2if?rev=818&op=diff
==============================================================================
--- branches/next-gen/filters/filter_vlan2if (original)
+++ branches/next-gen/filters/filter_vlan2if Sat Aug 7 06:43:44 2010
@@ -86,7 +86,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Modified: branches/next-gen/lib/PFTools/Conf.pm
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/lib/PFTools/Conf.pm?rev=818&op=diff
==============================================================================
--- branches/next-gen/lib/PFTools/Conf.pm (original)
+++ branches/next-gen/lib/PFTools/Conf.pm Sat Aug 7 06:43:44 2010
@@ -30,6 +30,7 @@
use PFTools::Host;
use PFTools::Parser;
use PFTools::Logger;
+use Sys::Hostname;
use Fcntl ':mode';
use Data::Dumper;
use Storable;
@@ -200,7 +201,7 @@
$DEF_SECTIONS->{'network'}->{'service'} = {
'MANDATORY_KEYS' => [ 'site','@host' ],
'comment' => 'undefined',
- '@host' => '[\w\-]+'
+ '@host' => '[\w\-\:\/]+'
};
$DEF_SECTIONS->{'network'}->{'server'} = {
'MANDATORY_KEYS' => [ 'site', 'number', ],
@@ -310,7 +311,8 @@
'preseed_dir' => '/var/www/preseed',
'checkout_dir' => '/var/lib/cvsguest',
'templates_dir' => '/usr/share/pf-tools/templates',
- 'common_config' => 'update-common'
+ 'common_config' => 'update-common',
+ 'start_file' => 'private-network'
};
$PF_CONFIG->{'features'} = {
'ipv4' => 1,
@@ -355,6 +357,7 @@
'site' => '',
'zone' => ''
};
+
sub Init_PF_CONFIG (;$) {
my ( $config_file ) = @_;
@@ -399,7 +402,7 @@
return ;
}
elsif ( defined $host ) {
- $ref_subst->{'HOSTNAME'} = $host ;
+ $ref_subst->{'HOSTNAME'} = ( $host ne "" ) ? $host : hostname ;
$ref_subst->{'DOMAINNAME'} = $domain || $pf_config->{'location'}->{'zone'} || "";
}
else {
@@ -451,12 +454,13 @@
my $vcs_work_dir = $pf_config->{'path'}->{'checkout_dir'};
my $module = $pf_config->{'vcs'}->{'module'};
$source =~ s!^CONFSITE_([^:]+):!$vcs_work_dir/$module/SITE/$1/CONFIG!;
- $source =~ s!^SITE(_([^:]+))?:!$vcs_work_dir/$module/SITE/$1!;
+ $source =~ s!^CONF:!$vcs_work_dir/$module/CONFIG!;
+ $source =~ s!^SITE_([^:]+):!$vcs_work_dir/$module/SITE/$1!;
+ $source =~ s!^SITE:!$vcs_work_dir/$module/SITE!;
+ $source =~ s!^HOSTSITE_([^:]+):!$vcs_work_dir/$module/SITE/$1/$hash_subst->{'HOSTTYPE'}!;
$source =~ s!^HOST:!$vcs_work_dir/$module/$hash_subst->{'HOSTTYPE'}!;
- $source =~ s!^HOSTSITE_([^:]+):!$vcs_work_dir/$module/SITE/$1/$hash_subst->{'HOSTTYPE'}!;
- $source =~ s!^CONFIG:!$vcs_work_dir/$module/CONFIG!;
$source =~ s!^COMMON:!$vcs_work_dir/$module/COMMON!;
- $source =~ s!^MODVCS:!$vcs_work_dir/$module/!;
+ $source =~ s!^CONFIG:!$vcs_work_dir/$module/!;
$source =~ s!^CVS:!$vcs_work_dir/!;
$source =~ s!^GLOBAL:!$vcs_work_dir/$module/GLOBAL!;
return $source;
Modified: branches/next-gen/lib/PFTools/Utils.pm
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/lib/PFTools/Utils.pm?rev=818&op=diff
==============================================================================
--- branches/next-gen/lib/PFTools/Utils.pm (original)
+++ branches/next-gen/lib/PFTools/Utils.pm Sat Aug 7 06:43:44 2010
@@ -75,8 +75,8 @@
#########################################################################
# Functions
-sub Init_TOOLS ($$) {
- my ( $pf_config_file, $global_store_file ) = @_;
+sub Init_TOOLS ($$$) {
+ my ( $hostname, $pf_config_file, $global_store_file ) = @_;
my ( $pf_config, $global_struct );
if ( $pf_config_file ne '' ) {
@@ -96,10 +96,24 @@
}
$global_store_file = $pf_config->{'path'}->{'global_struct'} if ( $global_store_file eq '' );
- $global_struct = Retrieve_GLOBAL ( $global_store_file );
- if ( ! defined $global_struct ) {
- Abort ( $CODE->{'UNDEF_KEY'},
- "An error occured during retrieve from the storable file ".$global_store_file );
+ if ( ! -e $global_store_file ) {
+ my $source = Get_source ( 'COMMON:/'.$pf_config->{'path'}->{'start_file'}, $hostname, {}, $pf_config );
+ if ( ! -e $source ) {
+ Set_deferredlog ();
+ if ( ! VCS_update ( $hostname, $pf_config, {} ) ) {
+ Abort ( $CODE->{'EXEC'},
+ "Unable to checkout configuration from VCS system" );
+ }
+ Unset_deferredlog ();
+ }
+ $global_struct = Init_GLOBAL_NETCONFIG ( $source, $hostname, $pf_config );
+ }
+ else {
+ $global_struct = Retrieve_GLOBAL ( $global_store_file );
+ if ( ! defined $global_struct ) {
+ Abort ( $CODE->{'UNDEF_KEY'},
+ "An error occured during retrieve from the storable file ".$global_store_file );
+ }
}
return ( $pf_config, $global_struct );
}
@@ -911,7 +925,7 @@
&& ! defined( $host_config->{$section}->{'done'} )
) {
$host_config->{$section}->{'doing'} = 1;
- Get_depends_for_action ( $host_config->{$section}->{'action'}, $host_config->{$section}, $section, $options );
+# Get_depends_for_action ( $host_config->{$section}->{'action'}, $host_config->{$section}, $section, $options );
if ( defined( $host_config->{$section}->{'depends'} ) ) {
my @dependsraw;
my @depends;
@@ -939,13 +953,13 @@
}
}
Log( "[".$section."]" );
- if ( Exec_action ( $host_config->{$section}->{'action'}, $host_config->{$section}, $section, $options, $hash_subst, $global_config ) ) {
- FlushLog();
- $errorcount++;
- }
- else {
- DelLog();
- }
+# if ( Exec_action ( $host_config->{$section}->{'action'}, $host_config->{$section}, $section, $options, $hash_subst, $global_config ) ) {
+# FlushLog();
+# $errorcount++;
+# }
+# else {
+# DelLog();
+# }
$host_config->{$section}->{'done'} = 1;
}
}
Modified: branches/next-gen/sbin/fix_hosts
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/fix_hosts?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/fix_hosts (original)
+++ branches/next-gen/sbin/fix_hosts Sat Aug 7 06:43:44 2010
@@ -87,7 +87,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( ! $PF_CONFIG->{'features'}->{$IP_TYPE} ) {
print Dumper $PF_CONFIG;
Modified: branches/next-gen/sbin/mk_dhcp
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_dhcp?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_dhcp (original)
+++ branches/next-gen/sbin/mk_dhcp Sat Aug 7 06:43:44 2010
@@ -79,7 +79,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( "", $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' && ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Abort ( $CODE->{'UNDEF_KEY'},
Modified: branches/next-gen/sbin/mk_grubopt
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_grubopt?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_grubopt (original)
+++ branches/next-gen/sbin/mk_grubopt Sat Aug 7 06:43:44 2010
@@ -86,7 +86,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $OUTPUT eq "" ) {
Abort ( $CODE->{'UNDEF_KEY'},
Modified: branches/next-gen/sbin/mk_interfaces
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_interfaces?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_interfaces (original)
+++ branches/next-gen/sbin/mk_interfaces Sat Aug 7 06:43:44 2010
@@ -79,7 +79,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Modified: branches/next-gen/sbin/mk_pxelinuxcfg
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_pxelinuxcfg?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_pxelinuxcfg (original)
+++ branches/next-gen/sbin/mk_pxelinuxcfg Sat Aug 7 06:43:44 2010
@@ -83,7 +83,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( "", $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( ! -e $PF_CONFIG->{'path'}->{'preseed_dir'} ) {
mkdir $PF_CONFIG->{'path'}->{'preseed_dir'} ;
Modified: branches/next-gen/sbin/mk_resolvconf
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_resolvconf?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_resolvconf (original)
+++ branches/next-gen/sbin/mk_resolvconf Sat Aug 7 06:43:44 2010
@@ -79,7 +79,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
@@ -108,4 +108,4 @@
"An error occured during build of file ".$OUTPUT_FILE );
}
-exit 0;
+exit 0;
Modified: branches/next-gen/sbin/mk_sitezone
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_sitezone?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_sitezone (original)
+++ branches/next-gen/sbin/mk_sitezone Sat Aug 7 06:43:44 2010
@@ -77,7 +77,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( "", $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' && ! defined $PF_CONFIG->{'location'}->{'site'} ) {
Abort ( $CODE->{'UNDEF_KEY'},
Modified: branches/next-gen/sbin/mk_sourceslist
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/mk_sourceslist?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/mk_sourceslist (original)
+++ branches/next-gen/sbin/mk_sourceslist Sat Aug 7 06:43:44 2010
@@ -26,13 +26,14 @@
use PFTools::Utils;
use PFTools::Logger;
+use Sys::Hostname;
use Getopt::Long qw( :config ignore_case_always bundling );
############################################
# Vars
my $HELP = 0;
-my $HOSTNAME = "";
+my $HOSTNAME = hostname;
my $OUTPUT_FILE = "";
my $TEMPLATE = "";
my $SITE = "";
@@ -123,7 +124,7 @@
"Unable to build sources.list for an undefined hostname" );
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
@@ -151,4 +152,4 @@
$SECTIONS .= " ".$TO_ADD;
Mk_sourceslist ( $HOSTNAME, $SITE, $OUTPUT_FILE, $SECTIONS, $TEMPLATE, $BACKPORTS, $GLOBAL_STRUCT, $PF_CONFIG ) ;
-exit 0;
+exit 0;
Modified: branches/next-gen/sbin/update-config
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/sbin/update-config?rev=818&op=diff
==============================================================================
--- branches/next-gen/sbin/update-config (original)
+++ branches/next-gen/sbin/update-config Sat Aug 7 06:43:44 2010
@@ -27,6 +27,7 @@
use Getopt::Long qw( :config ignore_case_always bundling );
use PFTools::Utils;
+use PFTools::Conf;
use PFTools::Logger;
use Sys::Hostname;
use Data::Dumper;
@@ -94,9 +95,17 @@
exit 0;
}
$options->{'store'} = "" if ( ! defined $options->{'store'} );
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $options->{'config'}, $options->{'store'} );
+my $HOSTNAME = $options->{'host'} || hostname;
my $SITE = $options->{'site'} || "";
-my $HOSTNAME = $options->{'host'} || hostname;
+
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $HOSTNAME, $options->{'config'}, $options->{'store'} );
+
+#### VERIFYING UPDATE FEATURE IN PF-TOOLS CONFIG ABORTING IF DEACTIVATED !!!
+if ( ! $PF_CONFIG->{'features'}->{'update'} ) {
+ Abort ( $CODE->{'OK'},
+ "update-config command has been deactivated in features section in pf-tools.conf" );
+}
+
if ( $SITE eq '' ) {
if ( ! defined $PF_CONFIG->{'location'}->{'site'} ) {
my $site_list = Get_site_from_hostname ( $HOSTNAME, $GLOBAL_STRUCT );
Modified: branches/next-gen/tools/Display_IP_config
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/tools/Display_IP_config?rev=818&op=diff
==============================================================================
--- branches/next-gen/tools/Display_IP_config (original)
+++ branches/next-gen/tools/Display_IP_config Sat Aug 7 06:43:44 2010
@@ -170,7 +170,7 @@
exit 0;
}
-( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
+( $PF_CONFIG, $GLOBAL_STRUCT ) = Init_TOOLS ( "", $PF_CONFIG_FILE, $GLOBAL_STORE_FILE );
if ( $SITE eq '' && ! defined $PF_CONFIG->{'location'}->{'site'} ) {
my $site_list = Get_site_from_hostname ( $HOSTNAME, $GLOBAL_STRUCT );
More information about the pf-tools-commits
mailing list