send dhcp response to network broadcast address
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 13 Sep 2009 10:53:41 +0000 (10:53 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 13 Sep 2009 10:53:41 +0000 (10:53 +0000)
lib/PXElator/dhcpd.pm

index b2c05da..f93dd36 100644 (file)
@@ -79,8 +79,6 @@ our $transaction = 0; # FIXME predictible transaction numbers
 sub process_packet {
        my $sock = shift;
 
-       server->refresh;
-
        my $buf;
        $sock->recv($buf, 1024);
        my $size = 'empty';
@@ -217,7 +215,8 @@ sub process_packet {
                        LocalPort => 67,
                        Proto => "udp",
                        Broadcast => 1,
-                       PeerAddr => '255.255.255.255',
+#                      PeerAddr => '255.255.255.255',
+                       PeerAddr => $server::bcast,
                        PeerPort => 68,
                        Reuse => 1,
                ) or die "socket: $@";
@@ -254,6 +253,7 @@ sub start {
        CouchDB::audit( 'start', { addr => $sock->sockhost, port => $sock->sockport } );
 
        while (1) {
+               server->refresh;
                process_packet $sock;
        }
 }