/[RFID]/3m-810.pl
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 /3m-810.pl

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

revision 66 by dpavlin, Thu Feb 11 14:14:21 2010 UTC revision 67 by dpavlin, Thu Feb 11 14:59:56 2010 UTC
# Line 103  sub http_server { Line 103  sub http_server {
103    
104                                  print $client "HTTP/1.0 $status $method\r\nLocation: $server_url\r\n\r\n";                                  print $client "HTTP/1.0 $status $method\r\nLocation: $server_url\r\n\r\n";
105    
106                            } elsif ( $method =~ m{/secure} ) {
107    
108                                    my $status = 501; # Not implementd
109    
110                                    foreach my $p ( keys %$param ) {
111                                            next unless $p =~ m/^(E[0-9A-F]{15})$/;
112                                            my $tag = $1;
113                                            my $data = $param->{$p};
114                                            $status = 302;
115    
116                                            warn "SECURE $tag $data\n";
117                                            secure_tag_with( $tag, $data );
118                                    }
119    
120                                    print $client "HTTP/1.0 $status $method\r\nLocation: $server_url\r\n\r\n";
121    
122                          } else {                          } else {
123                                  print $client "HTTP/1.0 404 Unkown method\r\n";                                  print $client "HTTP/1.0 404 Unkown method\r\n";
124                          }                          }
# Line 395  sub decode_tag { Line 411  sub decode_tag {
411          return $hash;          return $hash;
412  }  }
413    
414    sub forget_tag {
415            my $tag = shift;
416            delete $tags_data->{$tag};
417            delete $visible_tags->{$tag};
418    }
419    
420  sub read_tag {  sub read_tag {
421          my ( $tag ) = @_;          my ( $tag ) = @_;
422    
# Line 483  sub write_tag { Line 505  sub write_tag {
505          rename $path, $to;          rename $path, $to;
506          print ">> $to\n";          print ">> $to\n";
507    
508          # force re-read of tag          forget_tag $tag;
509          delete $tags_data->{$tag};  }
510          delete $visible_tags->{$tag};  
511    sub secure_tag_with {
512            my ( $tag, $data ) = @_;
513    
514            cmd(
515                    "d6 00  0c  09  $tag $data BEEF", "secure $tag -> $data",
516                    "d6 00  0c  09 00  $tag    BEEF", sub { assert() },
517            );
518    
519            forget_tag $tag;
520  }  }
521    
522  sub secure_tag {  sub secure_tag {
# Line 494  sub secure_tag { Line 525  sub secure_tag {
525          my $path = "$secure_path/$tag";          my $path = "$secure_path/$tag";
526          my $data = substr(read_file( $path ),0,2);          my $data = substr(read_file( $path ),0,2);
527    
528          cmd(          secure_tag_with( $tag, $data );
                 "d6 00  0c  09  $tag $data BEEF", "secure $tag -> $data",  
                 "d6 00  0c  09 00  $tag    BEEF", sub { assert() },  
         );  
529    
530          my $to = $path;          my $to = $path;
531          $to .= '.' . time();          $to .= '.' . time();

Legend:
Removed from v.66  
changed lines
  Added in v.67

  ViewVC Help
Powered by ViewVC 1.1.26