pf-tools commit: r773 [ccaillet-guest] - /branches/next-gen/lib/PFTools/Net.pm
parmelan-guest at users.alioth.debian.org
parmelan-guest at users.alioth.debian.org
Tue Jul 20 12:21:35 UTC 2010
Author: ccaillet-guest
Date: Tue Jul 20 12:21:33 2010
New Revision: 773
URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=773
Log:
Removing dead code : using NetAddr::Ip object for getting address, prefix, broadcast and co ...
Modified:
branches/next-gen/lib/PFTools/Net.pm
Modified: branches/next-gen/lib/PFTools/Net.pm
URL: http://svn.debian.org/wsvn/pf-tools/branches/next-gen/lib/PFTools/Net.pm?rev=773&op=diff
==============================================================================
--- branches/next-gen/lib/PFTools/Net.pm (original)
+++ branches/next-gen/lib/PFTools/Net.pm Tue Jul 20 12:21:33 2010
@@ -1161,8 +1161,10 @@
my $host_number = ( $hostnode ) ? $hostnum.$hostnode : $hostnum;
$iface =~ /^(eth|bond[\d]+)(\.(TAG[\d]+))?$/;
( $ifraw, $iftag ) = ( $1, $3 );
- $vlan = $ref_host->{$iface_section}->{'vlan.'.$host_number} || $ref_host->{$iface_section}->{'vlan'};
- $add_if->{'vlan'} = $vlan;
+ $vlan = $ref_host->{$iface_section}->{'vlan.'.$host_number} || $ref_host->{$iface_section}->{'vlan'};
+ $iface_opt = $ref_host->{$iface_section}->{'iface_opt.'.$host_number} || $ref_host->{$iface_section}->{'iface_opt'};
+ $add_if->{'vlan'} = $vlan;
+ $add_if->{'iface_opt'} = $iface_opt if ( defined $iface_opt );
# Check MAC address if defined
if ( defined $ref_host->{$iface_section}->{'mac.'.$host_number} ) {
my $mac = $ref_host->{$iface_section}->{'mac.'.$host_number};
@@ -1408,694 +1410,6 @@
}
#
-# HASHREF Init_lib_net (STRING $fic_conf)
-#
-# Initialisation de la structure de donnees a partir du fichier $fic_conf
-# Une reference sur la structure est retournee.
-#
-#=============================================================================================
-# sub Init_lib_net {
-# my ( $fic_conf, $syntax ) = @_;
-#
-# my $C;
-# my $Z;
-# my $s;
-#
-# # Initialisation de la structure de donnees
-# $Z = {};
-# $Z->{'NETWORK'} = { { 'BY_ADDR', {} }, { 'BY_NAME', {} } };
-# $Z->{'SERVERS'} = { { 'BY_ADDR', {} }, { 'BY_NAME', {} } };
-# $Z->{'SOA'} = {};
-# $Z->{'NS'} = [];
-# $Z->{'MX'} = [];
-# $Z->{'ALIAS'} = {};
-#
-# # Chargement du fichier de configuration reseau
-# $C = Load_conf( $fic_conf, \%SUBST, 'network', $syntax );
-#
-# # Calcul de la conf reseau et de la zone
-# foreach $s ( keys %$C ) {
-# if ( $C->{$s}->{'type'} =~ /network$/ ) {
-# Add_network( $Z, $C->{$s}, $s );
-# }
-#
-# # Prise en compte de la zone
-# if ( $C->{$s}->{'type'} =~ /zone$/ ) {
-# Add_zone( $Z, $C->{$s}, $s );
-# }
-# }
-#
-# # Calcul de la conf serveur
-# # (Il doit obligatoirement etre fait en seconde passe
-# # il utilise les donnees reseau et zone)
-# foreach $s ( keys %$C ) {
-# if ( $C->{$s}->{'type'} =~ /server$/ ) {
-# Add_server( $Z, $C->{$s}, $s );
-# }
-# }
-#
-# # Retour de la structure de donnees
-# return ($Z);
-# }
-
-#
-# VOID Add_server (HASHREF $Z, HASHREF $S, STRING $srv)
-#
-# Ajoute une description de serveur a la structure de donnee $Z
-# En entree $S contient les informations sur les serveurs de type $srv
-#
-#===================================================================================
-# sub Add_server {
-# my ( $Z, $S, $srv ) = @_;
-# my $start;
-# my $s;
-#
-# # Calcul de la plage d'adresse alouee et du nombre de serveurs a definir
-#
-# if ( !defined( $S->{'nodes'} ) ) {
-# $S->{'nodes'} = 1;
-# }
-# my $nodeslast = $S->{'nodes'} - 1;
-# if ( $nodeslast < 0 ) {
-# $nodeslast = 0;
-# }
-#
-# if ( !defined( $S->{'number'} ) ) {
-# $S->{'number'} = 1;
-# }
-# my $last = $S->{'number'} - 1;
-# if ( $last < 0 ) {
-# $last = 0;
-# }
-#
-# $srv =~ s/(_*)$//;
-# my $nodes = length($1);
-# $srv =~ s/(%*)$//;
-# my $digit = length($1);
-#
-# # Pas de nodes et plusieurs nodes
-# if ( $nodeslast > 0 && ( !defined($nodes) || $nodes <= 0 ) ) {
-# Abort( $ERR_SYNTAX,
-# "Plusieurs nodes " . $srv . " et pas de place pour l'index!" );
-# }
-#
-# # Pas assez de nodes pour le nombre de nodes
-# if ( $nodeslast > 1 && ceil( log($nodeslast) / log(26) ) > $nodes ) {
-# Warn( $ERR_SYNTAX,
-# "Dernier node "
-# . $srv . " = "
-# . $nodeslast
-# . " et pas assez de place ("
-# . $nodes
-# . ") pour l'index!" );
-# }
-#
-# # Pas de digits et plusieurs machines
-# if ( $last > 0 && ( !defined($digit) || $digit <= 0 ) ) {
-# Abort( $ERR_SYNTAX,
-# "Plusieurs " . $srv . " et pas de place pour le numero!" );
-# }
-#
-# # Pas assez de digits pour le nombre de machines
-# if ( $last > 1 && length( sprintf( "%s", $last ) ) > $digit ) {
-# Warn( $ERR_SYNTAX,
-# "Dernier "
-# . $srv . " = "
-# . $last
-# . " et pas assez de place ("
-# . $digit
-# . ") pour le numero!" );
-# }
-#
-# # Initialisation de la structure pour ces serveurs
-# my $N = {};
-# $N->{'comment'} = $S->{'comment'} || "Server $srv <no comment specified>";
-# $N->{'type'} = $S->{'type'};
-#
-# #$N->{range} = $S->{range};
-# $N->{'number'} = $S->{'number'};
-# $N->{'nodes'} = $S->{'nodes'};
-#
-# $N->{'order'} = $S->{'order'};
-#
-# $N->{SRVLIST} = {};
-#
-# my $ipincrement = 1;
-# if ( defined $S->{'ipincrement'} ) {
-# $ipincrement = $S->{'ipincrement'};
-# }
-#
-# # Traitement de chaque occurence
-# my $ipindex = -$ipincrement;
-# foreach $s ( 0 .. $last ) {
-# for my $n ( 0 .. $nodeslast ) {
-# my $M = {};
-# my $i;
-# my $j;
-# my $mnam;
-#
-# $ipindex += $ipincrement;
-#
-# # Definition du nom
-# my $cnamindex = "";
-# my $cnamindexnum = "";
-# if ( defined($digit) && $digit > 0 ) {
-# $cnamindex .= sprintf( "%0" . $digit . "s", $s );
-# $cnamindexnum .= sprintf( "%s", $s );
-# }
-# my $mnamindex = $cnamindex;
-# my $mnamindexnum = $cnamindexnum;
-# if ( defined($nodes) && $nodes > 0 ) {
-# $mnamindex
-# = $cnamindex
-# . sprintf( "%0" . $nodes . "s",
-# node2index( $n, $nodes ) );
-# $mnamindexnum
-# = $cnamindexnum
-# . sprintf( "%0" . $nodes . "s",
-# node2index( $n, $nodes ) );
-# }
-#
-# $mnam = $srv . $mnamindex;
-# if ( $cnamindexnum eq "" ) {
-# $cnamindexnum = "0";
-# }
-# if ( $mnamindexnum eq "" ) {
-# $mnamindexnum = "0";
-# }
-#
-# $M->{'name'} = $mnam;
-# $M->{'zone'} = {};
-# $M->{'ifup'} = {};
-# $M->{'route'} = {};
-# $M->{'delroute'} = {};
-#
-# my @common_keys = (
-# 'filename',
-# 'pxefilename',
-# 'umlfilename',
-# 'vmwfilename',
-# 'pxelinuxconf',
-# 'pxetemplate',
-# 'deploymode',
-# 'dns',
-# 'arch',
-# 'distrib',
-# 'initrd',
-# 'cmdline',
-# 'console'
-# ) ;
-# foreach my $key ( @common_keys ) {
-# if ( defined ( $S->{$key}->{$mnamindexnum} ) ) {
-# if ( $key eq 'arch' && $S->{$key}->{$mnamindexnum} !~ /^$ALLOWED_ARCH$/ ) {
-# Abort( $ERR_SYNTAX, "Invalid architecture for host ".$srv.$mnamindexnum." : ".$S->{$key}->{$mnamindexnum} ) ;
-# } elsif ( $key eq 'deploymode' ) {
-# Abort ( $ERR_SYNTAX, "Invalid deploymode key for host ".$srv.$mnamindexnum." : ".$S->{$key}->{$mnamindexnum} )
-# if ( $S->{$key}->{$mnamindexnum} !~ /^$ALLOWED_DEPLOYMODE$/ ) ;
-# }
-# $M->{$key} = $S->{$key}->{$mnamindexnum} ;
-# }
-# elsif ( defined ( $S->{$key}->{'default'} ) ) {
-# if ( $key eq 'arch' && $S->{$key}->{'default'} !~ /^$ALLOWED_ARCH$/ ) {
-# Abort( $ERR_SYNTAX, "Invalid default architecture for host ".$srv." : ".$S->{$key}->{'default'} ) ;
-# } elsif ( $key eq 'deploymode' ) {
-# Abort ( $ERR_SYNTAX, "Invalid default deploymode key ".$S->{$key}->{'default'} )
-# if ( $S->{$key}->{'default'} !~ /^$ALLOWED_DEPLOYMODE$/ ) ;
-# }
-# $M->{$key} = $S->{$key}->{'default'} ;
-# }
-# elsif ( $key eq 'deploymode' ) {
-# $M->{'deploymode'} = 'pf-tools' ;
-# }
-# elsif ( $key eq 'initrd' && $M->{'deploymode'} eq 'pf-tools' ) {
-# $M->{'initrd'} = 'initrd' ;
-# }
-# elsif ( $key eq 'arch' ) {
-# $M->{'arch'} = 'i386' ;
-# }
-# elsif ( $key eq 'console' && defined $Z->{'SOA'}->{'console'} ) {
-# $M->{'console'} = $Z->{'SOA'}->{'console'};
-# }
-# }
-#
-# delete $M->{'console'} if $M->{'console'} and $M->{'console'} eq 'default';
-#
-# if ( defined $S->{'bonding'} ) {
-# foreach my $bond ( keys %{$S->{'bonding'}} ) {
-# if ( defined $S->{'bonding'}->{$bond}->{$mnamindexnum} ) {
-# @{$M->{'bonding'}->{$bond}} = split ( /,/, $S->{'bonding'}->{$bond}->{$mnamindexnum} ) ;
-# }
-# elsif ( defined $S->{'bonding'}->{$bond}->{'default'} ) {
-# @{$M->{'bonding'}->{$bond}} = split ( /,/, $S->{'bonding'}->{$bond}->{'default'} ) ;
-# }
-# else {
-# Abort( $ERR_SYNTAX, "No default bonding config defined for interface ".$bond ) ;
-# }
-# foreach my $iface ( @{$M->{'bonding'}->{$bond}} ) {
-# if ( defined $S->{'interface'}->{$iface} ) {
-# if ( ref ( $S->{'interface'}->{$iface} ) eq 'HASH' ) {
-# if ( defined $S->{'interface'}->{$iface}->{$mnamindexnum} ) {
-# Abort( $ERR_SYNTAX, "Cannot define interface $iface: already used in bonding definition $bond" );
-# }
-# }
-# else {
-# Abort( $ERR_SYNTAX, "Cannot define interface $iface: already used in bonding definition $bond" );
-# }
-# }
-# }
-# }
-# }
-#
-# # vrrp?
-# my $vrrp;
-# foreach $j ( keys %{ $S->{'vrrp'} } ) {
-# if ( $S->{'vrrp'}->{$j} eq $s
-# || ( $S->{'vrrp'}->{$j} eq "last" && $s == $last ) )
-# {
-# $vrrp = $j;
-# $mnam = $j;
-# }
-# }
-#
-# my $goteth1 = 0;
-#
-# # Traitement de chaque interface (ou reseau)
-# foreach $i ( sort { cmpif( $a, $b ) }
-# keys %{ $S->{'interface'} } )
-# {
-# my $nam;
-#
-# if ( $i eq 'eth1' ) {
-# $goteth1 = 1;
-# }
-#
-# $j = $i;
-# if ( $j =~ m/^eth3/ && $NOETH3 ) {
-# if ($goteth1) {
-# $j = 'eth1' . $' . ':9999';
-# }
-# else {
-# $j = 'eth1' . $';
-# }
-# }
-#
-# # Definition de l'entree DNS pour cette interface
-# my $lan ;
-# if ( ref ( $S->{'interface'}->{$i} ) eq 'HASH' ) {
-# if ( defined $S->{'interface'}->{$i}->{$mnamindexnum} ) {
-# $lan = $S->{'interface'}->{$i}->{$mnamindexnum} ;
-# }
-# elsif ( ! defined $S->{'interface'}->{$i}->{'default'} ) {
-# Warn( $ERR_SYNTAX, "No default vlan defined for interface ".$i." skipping this interface for host $mnam" ) ;
-# next ;
-# }
-# else {
-# $lan = $S->{'interface'}->{$i}->{'default'} ;
-# }
-# }
-# else {
-# $lan = $S->{'interface'}->{$i} ;
-# }
-#
-# if ( $i =~ /^(?:eth|bond)[\d]+\.((TAG)?[\d]+)$/ ) {
-# my $tag = $1 ;
-# if ( defined $Z->{'NETWORK'}->{'BY_NAME'}->{$lan}->{'tag'} ) {
-# Warn ( $ERR_SYNTAX, "Tag ".$tag." differs from defined tag "
-# .$Z->{'NETWORK'}->{'BY_NAME'}->{$lan}->{'tag'}." for vlan ".$lan." on ".$i." for host ".$mnam )
-# if ( $tag =~ /^[\d]+/ && $tag != $Z->{'NETWORK'}->{'BY_NAME'}->{$lan}->{'tag'} );
-# }
-# else {
-# Abort ( $ERR_SYNTAX, "Tag is not defined for vlan ".$lan ); # if ( $1 =~ /^TAG/ );
-# }
-# }
-#
-# $nam = $mnam . "." . $lan;
-#
-# if ( $M->{'ifup'}->{$nam} ) {
-# Abort ( $ERR_SYNTAX, "Cannot define $i on vlan ".$lan." ".$M->{'ifup'}->{$nam}." is already on this vlan for host ".$mnam ) ;
-# }
-#
-# my $addr = $Z->{'NETWORK'}->{'BY_NAME'}->{$lan}->{'network'};
-#
-# if ( defined $S->{'ip'}->{$lan}->{$mnamindexnum} ) {
-# $start = $S->{'ip'}->{$lan}->{$mnamindexnum}
-# }
-# elsif ( defined $S->{'ipstart'}->{$lan} ) {
-# $start = $S->{'ipstart'}->{$lan};
-# }
-# elsif ( defined $S->{'ipstart'}->{'default'} ) {
-# $start = $S->{'ipstart'}->{'default'};
-# }
-# elsif ( defined $S->{'shortname'} ) {
-# $start = $S->{'ipstart'}->{ $S->{'shortname'} };
-# }
-#
-# if ( !defined $start ) {
-# Abort( $ERR_SYNTAX, "No ipstart for " . $nam );
-# }
-#
-# $M->{'zone'}->{$nam} = {};
-# if ( defined $S->{'ip'}->{$lan}->{$mnamindexnum} ) {
-# $M->{'zone'}->{$nam}->{'FIELD'}
-# = Address ( $addr, $start, 0 ) ;
-# }
-# else {
-# $M->{'zone'}->{$nam}->{'FIELD'}
-# = Address( $addr, $start, $ipindex );
-# }
-#
-# $M->{'zone'}->{$nam}->{'TYPE'} = 'A';
-#
-# # Adresse ethernet (pas forcement avec dhcp, eg tftp)
-# if ( defined( $S->{'ether'}->{$mnamindexnum} ) ) {
-# $M->{'zone'}->{$nam}->{'ether'}
-# = $S->{'ether'}->{$mnamindexnum};
-# }
-#
-# if ( defined( $S->{'vmether'}->{$mnamindexnum} ) ) {
-# $M->{'zone'}->{$nam}->{'vmether'}
-# = $S->{'vmether'}->{$mnamindexnum};
-# }
-# elsif ( defined( $S->{'ether'}->{$mnamindexnum} ) ) {
-# $M->{'zone'}->{$nam}->{'vmether'} = '00:50:56:' . sprintf(
-# "%02x:%02x:%02x",
-# unpack( "L", $mnam ) % 255, # L : long unsigned,
-# unpack( "L", reverse $mnam ) % 255,
-# $start + $ipindex
-# );
-# }
-#
-# # Definition de l'alias DNS principal
-# if ( defined $S->{'shortname'} && $S->{'shortname'} eq $lan ) {
-# $M->{'zone'}->{$mnam} = {};
-# $M->{'zone'}->{$mnam}->{'FIELD'} = $nam;
-# $M->{'zone'}->{$mnam}->{'TYPE'} = 'CNAME';
-# }
-#
-# # Alias de vlan pour la classe
-# if ( !defined( $Z->{'ALIAS'}->{ $srv . '.' . $lan } ) ) {
-# $Z->{'ALIAS'}->{ $srv . '.' . $lan } = [];
-# }
-# if (scalar(
-# grep( /^$nam$/, $Z->{'ALIAS'}->{ $srv . '.' . $lan } )
-# ) == 0
-# )
-# {
-# push(
-# @{ $Z->{'ALIAS'}->{ $srv . '.' . $lan } },
-# $M->{'zone'}->{$nam}->{'FIELD'}
-# );
-# }
-#
-# # Alias de vlan pour le cluster
-# if ( $nodeslast > 0 ) {
-# if (!defined(
-# $Z->{'ALIAS'}->{ $srv . $cnamindex . '.' . $lan }
-# )
-# )
-# {
-# $Z->{'ALIAS'}->{ $srv . $cnamindex . '.' . $lan }
-# = [];
-# }
-# if (scalar(
-# grep( /^$nam$/,
-# $Z->{'ALIAS'}
-# ->{ $srv . $cnamindex . '.' . $lan } )
-# ) == 0
-# )
-# {
-# push(
-# @{ $Z->{'ALIAS'}
-# ->{ $srv . $cnamindex . '.' . $lan }
-# },
-# $M->{'zone'}->{$nam}->{'FIELD'}
-# );
-# }
-# }
-#
-# # Traduction du tag si format <iface>\.TAG[\d]+
-# if ( $j =~ /TAG[\d]+$/ ) {
-# $j =~ s/TAG[\d]+$/$Z->{'NETWORK'}->{'BY_NAME'}->{$lan}->{'tag'}/ ;
-# }
-#
-# # Definition de l'entree dans /etc/network/interface
-# if ( defined( $S->{'dhcp'} ) && $i eq $S->{'dhcp'} ) {
-# $M->{'ifup'}->{'dhcp'} = $j;
-# }
-# else {
-# $M->{'ifup'}->{$nam} = $j;
-# }
-#
-# # Traitement des routes
-# my $r;
-# foreach $r ( keys %{ $S->{$i} } ) {
-# if ( $r =~ m/^(route|delroute)/ ) {
-# my $act = $1 ;
-# if ( ref ( $S->{$i}->{$r} ) eq 'HASH' ) {
-# if ( defined $S->{$i}->{$r}->{$mnamindexnum} ) {
-# $M->{$act}->{$j}->{$r} = $S->{$i}->{$r}->{$mnamindexnum} ;
-# } elsif ( ! defined $S->{$i}->{$r}->{'default'} ) {
-# Warn ( $ERR_SYNTAX, "No default route defined for interface ".$i." skipping this route for host $mnam" ) ;
-# } else {
-# $M->{$act}->{$j}->{$r} = $S->{$i}->{$r}->{'default'} ;
-# }
-# } else {
-# $M->{$act}->{$j}->{$r} = $S->{$i}->{$r};
-# }
-# }
-# }
-#
-# # Traitement des mtu
-# if ( defined( $S->{$i}->{'mtu'} ) ) {
-# $M->{'mtu'}->{$j} = $S->{$i}->{'mtu'};
-# }
-#
-# # Traitement des media
-# if ( defined( $S->{$i}->{'media'} ) ) {
-# $M->{'media'}->{$j} = $S->{$i}->{'media'};
-# }
-#
-# # Traitement des noarp
-# if ( defined( $S->{$i}->{'noarp'} ) ) {
-# $M->{'noarp'}->{$j} = $S->{$i}->{'noarp'};
-# }
-# }
-#
-# # Definition des alias DNS
-# foreach $j ( keys %{ $S->{'alias'} } ) {
-# my $lan;
-# my $nam;
-# my $addr;
-#
-# # Alias par machine
-# $lan = $S->{'alias'}->{$j};
-# $nam = $j . $mnamindex;
-#
-# # ne pas ecraser si shortname deja existant
-# if ( !defined $M->{'zone'}->{$nam} ) {
-# $M->{'zone'}->{$nam} = {};
-# $M->{'zone'}->{$nam}->{'FIELD'} = $mnam . "." . $lan;
-# $M->{'zone'}->{$nam}->{'TYPE'} = 'CNAME';
-# }
-#
-# # Alias "round robin" pour l'ensemble de cette classe de serveurs
-# $nam = $mnam . "." . $lan;
-#
-# #if ( !defined( $Z->{ALIAS}->{$j} ) ) {
-# # $Z->{ALIAS}->{$j} = [];
-# #}
-# #push ( @{ $Z->{ALIAS}->{$j} }, $M->{zone}->{$nam}->{FIELD} );
-# if ( $s == 0 && $n == 0 && !defined $M->{'zone'}->{$j} ) {
-# $M->{'zone'}->{$j} = {};
-# $M->{'zone'}->{$j}->{'FIELD'} = $srv . "." . $lan;
-# $M->{'zone'}->{$j}->{'TYPE'} = 'CNAME';
-# }
-# if ( $nodeslast > 0
-# && $s == 0
-# && $n == 0
-# && !defined $M->{'zone'}->{ $j . $cnamindex } )
-# {
-# $M->{'zone'}->{ $j . $cnamindex } = {};
-# $M->{'zone'}->{ $j . $cnamindex }->{'FIELD'}
-# = $srv . $cnamindex . "." . $lan;
-# $M->{'zone'}->{ $j . $cnamindex }->{'TYPE'} = 'CNAME';
-# }
-# }
-#
-# # Insertion du serveur dans sa classe
-# $N->{'SRVLIST'}->{$mnam} = $M;
-# }
-#
-# # Vips du cluster
-# }
-#
-# # Insertion de la classe de serveurs dans la structure principale
-# if ( defined $S->{'shortname'} ) {
-# if ( defined $S->{'ipstart'}->{ $S->{'shortname'} } ) {
-# $start = $S->{'ipstart'}->{ $S->{'shortname'} };
-# }
-# else {
-# $start = $S->{'ipstart'}->{'default'};
-# }
-#
-# my $srv_addr = Address ( $Z->{'NETWORK'}->{'BY_NAME'}->{ $S->{'shortname'} }->{'network'}, $start, 0 );
-# if ( defined $Z->{'SERVERS'}->{'BY_ADDR'}->{$srv_addr} ) {
-# Warn ( $ERR_SYNTAX, "Address ".$srv_addr." for server ".$srv." is already in use" );
-# }
-# else {
-# push ( @{$Z->{'SERVERS'}->{'BY_ADDR'}->{$srv_addr}}, $N );
-# }
-# }
-#
-# $Z->{'SERVERS'}->{'BY_NAME'}->{$srv} = $N;
-#
-# # Remapping UM
-# if ($PFTOOLS_VARS->{'UML'}) {
-# my $mnam;
-# foreach $mnam ( keys %{ $N->{'SRVLIST'} } ) {
-# UMRemap_If( $Z, $mnam );
-# }
-# }
-# }
-
-#
-# VOID Add_zone (HASHREF $Z, HASHREF $S, STRING $zone)
-#
-# Ajoute la description de la zone $zone (SOA MX et NS) a la
-# structure de donnees $Z a partir des informations contenues
-# dans la section $S
-#
-#================================================================================
-# sub Add_zone {
-# my ( $Z, $S, $zone ) = @_;
-#
-# my $c;
-# my $t_secs;
-# my $t_text;
-# my $mail;
-# my $soa;
-#
-# # Verification de l'unicite de la declaration
-# if ( defined( $Z->{'SOA'}->{'name'} ) ) {
-# Abort( $ERR_SYNTAX,
-# "Declaration zone dupliquee ("
-# . $Z->{'SOA'}->{'name'}
-# . ") et ("
-# . $zone
-# . ")" );
-# }
-#
-# # Ajout des informations SOA
-# # Le numero de serie est genere automatiquement, on prends
-# # l'heure system en seconde.
-# # l'adresse mail est corrigee si besoin (@ => .)
-# # Les adresse SOA et Mail sont complettes (.$)
-#
-# $t_secs = time();
-# $t_text = localtime($t_secs);
-#
-# $mail = $S->{'mail'};
-# $mail =~ s/@/\./;
-# $mail =~ s/([^\.])$/$1./;
-#
-# $soa = $S->{'soa'};
-# $soa =~ s/([^\.])$/$1./;
-#
-# if ( defined $S->{'serial'} && $S->{'serial'} =~ m|([\d.]+)| ) {
-# my $rev = $1;
-#
-# $rev =~ s/\.//g;
-#
-# $Z->{'SOA'}->{'serial'}
-# = $rev . "\t; Serial (" . $S->{'serial'} . ")";
-# }
-# else {
-# $Z->{'SOA'}->{'serial'} = $t_secs . "\t; Serial (" . $t_text . ")";
-# }
-# $Z->{'SOA'}->{'name'} = $zone;
-# $Z->{'SOA'}->{'comment'} = $S->{'comment'}
-# || "Zone $zone <no comment specified>";
-# $Z->{'SOA'}->{'soa'} = $soa;
-# $Z->{'SOA'}->{'mail'} = $mail;
-# $Z->{'SOA'}->{'refresh'} = $S->{'refresh'};
-# $Z->{'SOA'}->{'retry'} = $S->{'retry'};
-# $Z->{'SOA'}->{'expire'} = $S->{'expire'};
-# $Z->{'SOA'}->{'negttl'} = $S->{'negttl'};
-# $Z->{'SOA'}->{'ttl'} = $S->{'ttl'};
-#
-# if ( defined $S->{'dhcpvlan'} ) {
-# @{ $Z->{'SOA'}->{'dhcpvlan'} } = split( /[,\s]+/, $S->{'dhcpvlan'} );
-# }
-# else {
-# @{ $Z->{SOA}->{'dhcpvlan'} } = @DEFAULTDHCPVLAN;
-# }
-#
-# if ( $S->{'console'} and $S->{'console'} ne 'default' ) {
-# $Z->{SOA}->{'console'} = $S->{'console'};
-# }
-#
-# # Ajout des champs NS
-# foreach $c ( sort ( keys %{ $S->{'ns'} } ) ) {
-# push( @{ $Z->{'NS'} }, $S->{'ns'}->{$c} );
-# }
-#
-# # Ajout des champs MX
-# foreach $c ( sort ( keys %{ $S->{'mx'} } ) ) {
-# push( @{ $Z->{'MX'} }, $S->{'mx'}->{$c} );
-# }
-# }
-
-#
-# VOID Add_network (HASHREF $Z, HASHREF $S, STRING $net)
-#
-# Ajoute une description de reseau a la structure de donnee $Z
-# En entree $S contient les informations sur les reseaux de type $net
-#
-#===================================================================================
-# sub Add_network {
-# my ( $Z, $S, $net ) = @_;
-#
-# my $N = {};
-#
-# # Verification des declarations
-# if ( !defined( $S->{'network'} ) ) {
-# Abort( $ERR_SYNTAX,
-# "Adresse de reseau manquante pour le reseau " . $net );
-# }
-#
-# if ( !defined( $S->{'netmask'} ) ) {
-# Abort( $ERR_SYNTAX,
-# "Masque de reseau manquant pour le reseau " . $net );
-# }
-#
-# if ( defined( $Z->{'NETWORK'}->{'BY_ADDR'}->{ $S->{'network'} } ) ) {
-# Abort( $ERR_SYNTAX,
-# "Adresse de reseau dupliquee ("
-# . $S->{'network'}
-# . ") pour le reseau "
-# . $net . " avec le reseau "
-# . $Z->{'NETWORK'}->{'BY_ADDR'}->{ $S->{'network'} }->{'name'} );
-# }
-#
-# # Calcul des adresses, netmasks et broadcasts
-# $N->{'name'} = $net;
-# $N->{'network'} = $S->{'network'};
-# $N->{'netmask'} = $S->{'netmask'};
-# $N->{'broadcast'} = Broadcast( $N->{'network'}, $N->{'netmask'} );
-# $N->{'prefix'} = netmask2prefix( $S->{'netmask'} );
-# $N->{'mtu'} = $S->{'mtu'};
-# $N->{'tag'} = $S->{'tag'};
-# $N->{'media'} = $S->{'media'};
-# $N->{'comment'} = $S->{'comment'}
-# || "Network $net <no comment specified>";
-# $N->{'scope'} = $S->{'scope'} if ( defined $S->{'scope'} );
-#
-# # Insertion dans la structure principale
-# $Z->{'NETWORK'}->{'BY_ADDR'}->{ $N->{'network'} } = $N;
-# $Z->{'NETWORK'}->{'BY_NAME'}->{ $N->{'name'} } = $N;
-# }
-
-#
# STRING Host_class (STRING $host)
#
# Retourne la classe de serveur a laquelle appartient le serveur $h
@@ -2119,84 +1433,6 @@
$h =~ s/\d+$//;
return ($h);
}
-
-#
-# STRING Broadcast (STRING $a, STRING $s)
-#
-# Retourne l'adresse de broadcast correspondant
-# au reseau d'adresse $a et au netmask $n
-#
-#==================================================================
-sub Broadcast {
- my ( $a, $n ) = @_;
-
- my $i;
-
- my (@A) = split( /\./, $a );
- my (@N) = split( /\./, $n );
-
- foreach $i ( 0 .. 3 ) {
- $A[$i] += 0;
- $N[$i] += 0;
- $A[$i] = $A[$i] + ( ( ~( $N[$i] ) ) & 255 );
- }
- return join( '.', @A );
-
-}
-
-#
-# STRING Address (STRING $b, STRING $o)
-#
-# Retourne l'adresse correspondant
-# a la base $b et a l'offset $o
-# ex: $b=192.168.22.0 $o=102 => 192.168.22.102
-#
-#============================================================
-#sub Address {
-# my ( $b, $o ) = @_;
-#
-# ## Cette fonction ne fonctionne que pour les /24, a refaire si autre !!
-#
-# $b =~ s/[^\.]+$//;
-# return ( $b . $o );
-#}
-
-sub Address {
- my ( $b, $o, $n ) = @_;
-
- my @b = split( '\.', $b );
- my @o = split( '\.', $o );
- my @r;
-
- while ( $#o < $#b ) {
- unshift @o, 0;
- }
-
- while ( $#o > 0 && $o[0] == 0 ) {
- push @r, shift @b;
- shift @o;
- }
-
- while ( $#o >= 0 ) {
- push @r, $o[0];
- shift @b;
- shift @o;
- }
-
- $r[3] += $n;
-
- my $i = 3;
- my $c = 0;
- while ( $i >= 0 ) {
- $r[$i] += $c;
- $c = $r[$i] / 256;
- $r[$i] %= 256;
- $i--;
- }
-
- return ( join( '.', @r ) );
-}
-
sub Mk_zoneheader {
my ( $fic_zone, $Z ) = @_;
More information about the pf-tools-commits
mailing list