]> git.datanom.net - pve-dhcp-server.git/commitdiff
Some minor fixes
authorMichael Rasmussen <mir@datanom.net>
Fri, 25 Jul 2014 18:47:01 +0000 (20:47 +0200)
committerMichael Rasmussen <mir@datanom.net>
Fri, 25 Jul 2014 18:47:01 +0000 (20:47 +0200)
DHCPServer.pm

index 5569e96994a42787c9691c445b05a253ce368113..10d72cb1181eeb9a8309b79e763788a7418a0219 100644 (file)
@@ -914,20 +914,21 @@ my $request_ip4 = sub {
 };
 
 my $release_ip4 = sub {
-       my ($self, $dhcpreq) = @_;
+       my ($self, $req) = @_;
        my ($ip, $mac);
 
-       $self->$logger($dhcpreq->toString());
-       $ip = $dhcpreq->ciaddr();
-       $mac = $self->$get_mac_ip4($dhcpreq);
+       $self->$logger($req->toString());
+       $ip = $req->ciaddr();
+       $mac = $self->$get_mac_ip4($req);
        $self->$logger("Release request for IP: $ip MAC: $mac", INFO);
 
        if ($self->{_leases}->{$ip}) {
                my $lease = $self->{_leases}->{$ip};
                if ($lease->{'hardware ethernet'} eq $mac) {
+                       $self->$logger("Set binding state free IP: $ip MAC: $mac", INFO);
                        $lease->{'binding state'} = 'free';
+                       $self->$write_lease_file();
                }
-               $self->$write_lease_file();
        }
        $self->$logger("Transaction:\n".Dumper($self->{_transaction}), INFO);
 };
@@ -940,7 +941,7 @@ my $excuse_me_ip6 = sub {
        my ($self, $addr, $req) = @_;
 
        $self->$logger("IPv6 request from [$addr]: $req", INFO);
-       $self->{_sock_out_ip6} = IO::Socket::IP->new(
+       my $sock = IO::Socket::IP->new(
                Domain    => PF_INET6,
                V6Only    => 1,
                Broadcast => 1,
@@ -953,7 +954,8 @@ my $excuse_me_ip6 = sub {
                die "[excuse_me_ip6] Socket creation error: $err\n";
        };
        $self->$logger("$addr: Not implemented here", INFO);
-       $self->{_sock_out_ip6}->send("Not implemented here") || die "Error sending excuse: $!\n";
+       $sock->send("Not implemented here") || die "Error sending excuse: $!\n";
+       $sock->close;
 };
 
 #########################################################################
@@ -1087,7 +1089,7 @@ sub run {
                                foreach $socket (@ready) {
                                        if ($socket == $self->{_sock_in_ip4}) {
                                                # receive ipv4 packet
-                                               $fromaddr = $self->{_sock_in_ip4}->recv($buf, 4096)
+                                               $fromaddr = $socket->recv($buf, 4096)
                                                        || $self->$logger("recv: $!", ERROR);
                                                next if ($!);   # continue loop if an error occured
 
@@ -1118,9 +1120,9 @@ sub run {
                                                }
                                        } else {
                                                # Receive ipv6 packet
-                                               my $myaddr = $self->{_sock_in_ip6}->sockhost;
+                                               my $myaddr = $socket->sockhost;
 
-                                               $fromaddr = $self->{_sock_in_ip6}->recv($buf, 4096)
+                                               $fromaddr = $socket->recv($buf, 4096)
                                                        || $self->$logger("recv: $!", ERROR);
                                                next if ($!);   # continue loop if an error occured
                                                $self->$logger("recv: $buf", INFO);
This page took 0.034971 seconds and 5 git commands to generate.