/[pxelator]/lib/PXElator/dhcpd.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/PXElator/dhcpd.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 424 by dpavlin, Sun Sep 13 09:10:46 2009 UTC revision 449 by dpavlin, Fri Oct 2 10:23:32 2009 UTC
# Line 62  sub client_mac_ip { Line 62  sub client_mac_ip {
62          } else {          } else {
63                  $ip = $request_ip;                  $ip = $request_ip;
64                  client::save_ip_mac( $ip, $mac );                  client::save_ip_mac( $ip, $mac );
65                  warn "W: $ip our of server range $server::ip $server::netmask\n";                  warn "W: $ip out of server range $server::ip/$server::netmask\n";
66          }          }
67    
68          return $ip;          return $ip;
# Line 79  our $transaction = 0; # FIXME predictibl Line 79  our $transaction = 0; # FIXME predictibl
79  sub process_packet {  sub process_packet {
80          my $sock = shift;          my $sock = shift;
81    
         server->refresh;  
   
82          my $buf;          my $buf;
83          $sock->recv($buf, 1024);          $sock->recv($buf, 1024);
84          my $size = 'empty';          my $size = 'empty';
# Line 204  sub process_packet { Line 202  sub process_packet {
202          warn "# type ",dump @type;          warn "# type ",dump @type;
203          $audit->{type} = [ @type ];          $audit->{type} = [ @type ];
204    
         warn ">> $mac == $ip server: $server::ip", $file ? " file: $file\n" : "\n" if $debug;  
205          $audit->{response} = $packet;          $audit->{response} = $packet;
206    
207          $packet = new Net::DHCP::Packet( %$packet );          $packet = new Net::DHCP::Packet( %$packet );
# Line 218  sub process_packet { Line 215  sub process_packet {
215                          LocalPort => 67,                          LocalPort => 67,
216                          Proto => "udp",                          Proto => "udp",
217                          Broadcast => 1,                          Broadcast => 1,
218                          PeerAddr => '255.255.255.255',  #                       PeerAddr => '255.255.255.255',
219                            PeerAddr => $server::bcast,
220                          PeerPort => 68,                          PeerPort => 68,
221                          Reuse => 1,                          Reuse => 1,
222                  ) or die "socket: $@";                  ) or die "socket: $@";
223    
224                  $reply->send( $buff, 0 ) or die "Error sending: $!\n";                  $reply->send( $buff, 0 ) or die "Error sending: $!\n";
225                    warn ">> $mac == $ip server: $server::ip", $file ? " file: $file\n" : "\n";
226          } else {          } else {
227                  $audit->{error} = "$ip our of our range $server::ip $server::netmask";                  $audit->{error} = "$ip not in server range $server::ip $server::netmask - no packet sent";
228                  warn $audit->{error};                  warn $audit->{error};
229          }          }
230    
# Line 254  sub start { Line 253  sub start {
253          CouchDB::audit( 'start', { addr => $sock->sockhost, port => $sock->sockport } );          CouchDB::audit( 'start', { addr => $sock->sockhost, port => $sock->sockport } );
254    
255          while (1) {          while (1) {
256                    server->refresh;
257                  process_packet $sock;                  process_packet $sock;
258          }          }
259  }  }

Legend:
Removed from v.424  
changed lines
  Added in v.449

  ViewVC Help
Powered by ViewVC 1.1.26