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