The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::ISC::DHCPd - Interacts with ISC DHCPd

VERSION

0.02_0004

SYNOPSIS

 my $dhcpd = Net::ISC::DHCPd->new(
                 config => { file => "path/to/config" },
                 leases => { file => "path/to/leases" },
                 omapi => { ... },
             );

See tests for more documentation.

OBJECT ATTRIBUTES

config

 $config_obj = $self->config
 $bool = $self->has_config;

Instance of Net::ISC::DHCPd::Config class.

leases

 $leases_obj = $self->leases
 $bool = $self->has_leases;

Instance of Net::ISC::DHCPd::Leases class.

omapi

 $omapi_obj = $self->omapi;
 $bool = $self->has_omapi;

Instance of Net::ISC::DHCPd::OMAPI class.

binary

 $path_to_binary = $self->binary;

Default: "dhcpd3"

pidfile

 $path_to_pidfile = $self->pidfile;

Default: /var/run/dhcp3-server/dhcpd.pid

process

 $proc_obj = $self->process;
 $self->process($proc_obj);
 $self->process(\%args);
 $self->has_process;
 $self->clear_process;

The object holding the dhcpd process.

errstr

 $string = $self->errstr;

Holds the last know error.

METHODS

start

 $bool = $self->start($args);

Will start the dhcpd server, as long as there is no existing process.

$args:

 {
   user       || getpwuid $<
   group      || getgrgid $<
   interfaces || ""
 }

Returns:

 1     => OK
 0     => Already running
 undef => Failed. Check errstr()

TODO: Enable it to start the server as a differnet user/group.

stop

 $bool = $self->stop;

Return:

 1:     OK
 undef: Failed. Check errstr()

restart

 $bool = $self->restart;

Return:

 1     => OK
 undef => Failed. Check errstr()

status

 $string = $self->status;

Returns the status of the DHCPd server:

 stopped
 running

test

 $bool = $self->test("config");
 $bool = $self->test("leases");

Will test either config or leases file.

 1:     OK
 undef: Failed. Check errstr()

BUGS

Please report any bugs or feature requests to bug-net-isc-dhcpd at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-ISC-DHCPd. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

Copyright 2007 Jan Henning Thorsen, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Jan Henning Thorsen, <jhthorsen at cpan.org>