/[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 110 by dpavlin, Sun Aug 2 02:04:00 2009 UTC revision 128 by dpavlin, Mon Aug 3 19:59:08 2009 UTC
# Line 19  use IO::Socket::INET; Line 19  use IO::Socket::INET;
19  use File::Slurp;  use File::Slurp;
20  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
21  use Net::Ping;  use Net::Ping;
 use Module::Refresh;  
22    
23  use lib '..';  use lib '..';
24  use Net::DHCP::Packet;  use Net::DHCP::Packet;
# Line 83  our $transaction = 0; # FIXME predictibl Line 82  our $transaction = 0; # FIXME predictibl
82  sub process_packet {  sub process_packet {
83          my $sock = shift;          my $sock = shift;
84    
85            server->refresh;
86    
87          my $buf;          my $buf;
88          $sock->recv($buf, 1024);          $sock->recv($buf, 1024);
89          my $size = 'empty';          my $size = 'empty';
# Line 124  sub process_packet { Line 125  sub process_packet {
125                  Giaddr  => $dhcp->giaddr(),                  Giaddr  => $dhcp->giaddr(),
126                  Chaddr  => $dhcp->chaddr(),                  Chaddr  => $dhcp->chaddr(),
127                  File    => $file,                  File    => $file,
128    
129                    DHO_PXELINUX_MAGIC()       => 0xF100747E,
130                    DHO_PXELINUX_CONFIG_FILE() => 'pxelinux.cfg/default',
131                    DHO_PXELINUX_PATH_PREFIX() => 'live-helper/tftpboot/',
132                    DHO_PXELINUX_REBOOT_TIME() => 5, # default: 300 s
133          };          };
134    
135          my $messagetype = $dhcp->getOptionValue(DHO_DHCP_MESSAGE_TYPE());          my $messagetype = $dhcp->getOptionValue(DHO_DHCP_MESSAGE_TYPE());
# Line 193  sub start { Line 199  sub start {
199          print "DHCP listen on ",$sock->sockhost,":",$sock->sockport,"\n";          print "DHCP listen on ",$sock->sockhost,":",$sock->sockport,"\n";
200    
201          while (1) {          while (1) {
                 Module::Refresh->refresh;  
202                  process_packet $sock;                  process_packet $sock;
203          }          }
204  }  }

Legend:
Removed from v.110  
changed lines
  Added in v.128

  ViewVC Help
Powered by ViewVC 1.1.26