diff options
Diffstat (limited to 'fripost-searchdomain')
-rwxr-xr-x | fripost-searchdomain | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/fripost-searchdomain b/fripost-searchdomain deleted file mode 100755 index 0896683..0000000 --- a/fripost-searchdomain +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/perl - -use 5.010_000; -use strict; -use warnings; -use utf8; - -=head1 NAME - -fripost-searchdomain - List matching domains - -=head1 SYNOPSIS - -B<fripost-searchdomain> [B<--debug>] [I<domain> [I<owner>]] - -=head1 DESCRIPTION - -B<fripost-seardomain> list virtual domains matching exactly I<domain>, -and whose owner is I<owner>. -Wildcards I<*> can appear in I<domain>, to match zero or more characters. -If no I<owner> is given, list all domains I<domain>, regardless of the -owner; If I<owner> is the empty string I<''>, list only the non -self-managed domains. -If neither I<domain> nor I<owner> are given, B<fripost-searchdomain> lists -all existing virtual domains. - -=head1 OPTIONS - -=over 8 - -=item B<--server_host=>I<host> - -The LDAP URI to connect to. -The default value is read from the configuration file, see B<CONFIGURATION>. - -=item B<--bind_dn=>I<binddn> - -The Distinguished Name (DN) to bind to the LDAP directory. -(If not set, B<fripost-searchdomain> binds anonymously.) -The default value is read from the configuration file, see B<CONFIGURATION>. - -=item B<--bind_pw=>I<password> - -The password to to bind with. -The default value is read from the configuration file, see B<CONFIGURATION>. - -=item B<--base_dn=>I<basedn> - -The root DN for everything done by B<fripost-searchdomain>. -The default value is read from the configuration file, see B<CONFIGURATION>. - -=item B<-d>, B<--debug> - -Debug mode. - -=back - -=head1 CONFIGURATION - -The configuration is read from the file C<$HOME/.fripost.yml>. -Valid keys include: - -=over 4 - -=item I<server_host> - -The LDAP URI to connect to. Defaults to C<ldap://127.0.0.1:389>. - -=item I<bind_dn> - -The Distinguished Name (DN) to bind to the LDAP directory. -(If not set, B<fripost-searchdomain> binds anonymously.) - -=item I<bind_pw> - -The password to to bind with. - -=item I<base_dn> - -The root DN for everything done by B<fripost-searchdomain>. - -=back - -=cut - -use FindBin qw($Bin); -use lib "$Bin/lib"; - -use Env qw /HOME/; -use File::Spec::Functions; - -use Fripost::Schema; -use Getopt::Long qw /:config noauto_abbrev no_ignore_case - gnu_compat bundling permute nogetopt_compat - auto_version auto_help/; -use Pod::Usage; -use YAML::Syck; - - -## Get command line options -our $conf = LoadFile( catfile ($HOME, '.fripost.yml') ); - -GetOptions( - 'server_host=s' => \$conf->{server_host}, - 'base_dn=s' => \$conf->{base_dn}, - 'bind_dn=s' => \$conf->{bind_dn}, - 'bind_pw=s' => \$conf->{bind_pw}, - 'pretend' => \$conf->{pretend}, - 'debug|d' => \$conf->{debug}, - 'man' => sub { pod2usage(-exitstatus => 0, - -verbose => 2) } -) or pod2usage(2); - - -# Connect to the LDAP server -my $ldap = Fripost::Schema->new( $conf ); - -my %domain; -$domain{domain} = $ARGV[0] if defined $ARGV[0]; -$domain{owner} = $ARGV[1] if defined $ARGV[1]; - -foreach my $domain ($ldap->domain->search( \%domain )->entries) { - say '' . ($domain->{isActive} ? 'ACTIVE' : 'INACTIVE') - . ' domain ' . $domain->{domain} - . ' is owned by ' - . (defined $domain->{owner} ? join ', ', @{$domain->{owner}} - : '(none)'); -} - -$ldap->unbind(); - - -=head1 AUTHOR - -Guilhem Moulin C<< <guilhem at fripost.org> >> - -=head1 COPYRIGHT - -Copyright 2012 Guilhem Moulin. - -=head1 LICENSE - -This program is free software; you can redistribute it and/or modify it -under the same terms as perl itself. - -=cut |