t/lib/Aux.pm
changeset 144 be90bcd14ae1
parent 143 c26b5fa3f646
child 148 b0fd381a4b53
child 150 3db363880766
equal deleted inserted replaced
143:c26b5fa3f646 144:be90bcd14ae1
    14     my ($c) = @_;
    14     my ($c) = @_;
    15 
    15 
    16     my $f = File::Temp->new or die "Config file creation failed\n";
    16     my $f = File::Temp->new or die "Config file creation failed\n";
    17 
    17 
    18     if (ref $c eq 'HASH') {
    18     if (ref $c eq 'HASH') {
    19         map { print $f "$_ = $c->$_\n" } keys %{$c};
    19         map { print $f "$_ = $c->{$_}\n" } keys %{$c};
    20     } else {
    20     } elsif (defined $c) {
    21         # assuming just a string
    21         # assuming just a string
    22         print $f $c;
    22         print $f $c;
       
    23     } else {
       
    24         # make a default configuration
       
    25         my ($bd, $md, $cd);
       
    26         for ($bd, $md, $cd) {
       
    27             my $d = File::Temp::tempdir CLEANUP => 1 or die "Can't make temporary directory";
       
    28             $_ = $d->filename;
       
    29         }
       
    30 
       
    31         print $f <<__EOF;
       
    32 bind_dir = $bd
       
    33 master_dir = $md
       
    34 zone_conf_dir = $cd
       
    35 
       
    36 key_counter_end = 15
       
    37 sign_alert_time = 168
       
    38 abl_zeit = 24
       
    39 
       
    40 secondary = hh.schlittermann.de
       
    41 primary   = pu.schlittermann.de
       
    42 hostmaster = hostmaster\@schlittermann.de
       
    43 
       
    44 indexzone = idx.tld
       
    45 template_dir = ./templates
       
    46 __EOF
       
    47 
    23     }
    48     }
    24 
    49 
    25     return $f;
    50     return $f;
    26 
    51 
    27 }
    52 }