/[pxelator]/lib/PXElator/tftpd.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/tftpd.pm

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

revision 207 by dpavlin, Wed Aug 12 22:56:45 2009 UTC revision 261 by dpavlin, Wed Aug 19 10:58:02 2009 UTC
# Line 43  use config; Line 43  use config;
43  sub tftp_request {  sub tftp_request {
44          my $request = shift;          my $request = shift;
45    
         server->refresh;  
   
46          warn 'request: ', dump( $request ) if $debug;          warn 'request: ', dump( $request ) if $debug;
47    
48          my $ip = $request->{_REQUEST_}->{PeerAddr};          my $ip = $request->{_REQUEST_}->{PeerAddr};
# Line 58  sub tftp_request { Line 56  sub tftp_request {
56          my $file = $request->{'_REQUEST_'}{'FileName'};          my $file = $request->{'_REQUEST_'}{'FileName'};
57          my $opcode = $OPCODES{$request->{'_REQUEST_'}{'OPCODE'}};          my $opcode = $OPCODES{$request->{'_REQUEST_'}{'OPCODE'}};
58    
59          CouchDB::audit('request', {          my $audit = {
60                  ip => $ip,                  ip => $ip,
61                  opcode => $opcode,                  opcode => $opcode,
62                  file => $file,                  file => $file,
63          });                  state => 'start',
64            };
65            CouchDB::audit( $opcode, $audit );
66    
67          progress_bar::start;          progress_bar::start;
68    
69          # process the request          # process the request
70          if( $request->processRQ() ) {          if( $request->processRQ() ) {
71                  my $size = -s "$dir/$file";                  my $size = -s "$dir/$file";
72                  CouchDB::audit('completed', { file => $file, size => $size });                  $audit->{state} = 'finish';
73                    $audit->{size} = $size;
74                    CouchDB::audit( $opcode, $audit );
75          } else {          } else {
76                  CouchDB::audit('error', { file => $file, error => Net::TFTPd->error });                  $audit->{state} = 'error';
77                    $audit->{error} = Net::TFTPd->error;
78                    CouchDB::audit( $opcode, $audit );
79                  $request->processRQ();                  $request->processRQ();
80          }          }
81    
# Line 126  sub start { Line 130  sub start {
130    
131                  # wait for any request (RRQ or WRQ)                  # wait for any request (RRQ or WRQ)
132                  if(my $request = $listener->waitRQ()) {                  if(my $request = $listener->waitRQ()) {
133                            server->refresh;
134                          tftp_request $request;                          tftp_request $request;
135                  } elsif ( my $error = Net::TFTPd->error ) {                  } elsif ( my $error = Net::TFTPd->error ) {
136                          warn $error;                          warn $error;

Legend:
Removed from v.207  
changed lines
  Added in v.261

  ViewVC Help
Powered by ViewVC 1.1.26