Author: agaran Date: Sat Apr 1 16:30:54 2006 GMT Module: admin Tag: HEAD ---- Log message: - initial, crude script for processing acl file to rsyncd compatibile acl probably i will try to add syntax checking and some more in (near) future
---- Files affected: admin/cvs: genacl.pl (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: admin/cvs/genacl.pl diff -u /dev/null admin/cvs/genacl.pl:1.1 --- /dev/null Sat Apr 1 18:30:54 2006 +++ admin/cvs/genacl.pl Sat Apr 1 18:30:49 2006 @@ -0,0 +1,53 @@ +#!/usr/bin/perl -w +use strict; +use Getopt::Long qw/:config bundling/; +use IO::File qw//; +use IO::Handle qw//; + +my %Opts;# = (input => '', output => ''); + +unless(GetOptions(\%Opts, 'input|i=s','output|o=s')) { + print STDERR "Error, exiting\n"; + exit(1); +} + +$Opts{input} = '' unless defined $Opts{input}; +$Opts{output} = '' unless defined $Opts{output}; + +my ($Input,$Output); # input,output handles + +if($Opts{input} ne '') { + if(-f $Opts{input}) { + } + if(-r $Opts{input}) { + } + printf STDERR "%s\n",$Opts{input}; + $Input = new IO::File($Opts{input},'r'); +} else { + $Input = new_from_fd IO::Handle(fileno(STDIN),'r'); +} + +if($Opts{output} ne '') { + if(-f $Opts{output}) { + } + if(-r $Opts{output}) { + } + $Output = new IO::File($Opts{output},'w'); +} else { + $Output = new_from_fd IO::Handle(fileno(STDOUT),'w'); +} + + +my @ACL; +while(my $line = $Input->getline()) { + chomp $line; + next if($line =~ /^[#;]+/); + next if($line =~ /^[ ]*$/); + my ($addr,$contact,$host,$sync,$notify,$remarks) = split /[ \t]+/,$line; + + push @ACL,$addr; + $Output->print(sprintf "# %s %s\n",$addr,$host); +} +$Input->close(); +$Output->print(join(' ',@ACL)."\n"); +$Output->close(); ================================================================ _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit