Welcome to the "trac"-ing site of openpgp4u!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 7

Show
Ignore:
Timestamp:
10/30/04 23:30:40 (4 years ago)
Author:
nahi
Message:

* files in this directory have not been used

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/pgp/packet/userattrsubpacket/image.rb

    r2 r7  
    1 require 'pgp/packet/sigsubpacket/packet' 
     1require 'pgp/packet/userattrsubpacket/packet' 
    22 
    33 
    44module PGP 
    55module Packet 
    6 module SigSubPacket 
     6module UserAttrSubPacket 
    77 
    88 
     
    1818  attr_accessor :format 
    1919  attr_accessor :body 
     20 
     21  def scan(io) 
     22    super 
     23    io.puts "Version - #{@version}" 
     24    io.puts "Format - #{@format}" 
     25  end 
    2026 
    2127private 
     
    3440 
    3541  def self.scanner(io, port, length) 
    36     loader(port, length).summary 
     42    loader(port, length).scan(io) 
    3743  end 
    3844 
     
    4450      load_image_version_1(packet, port) 
    4551    else 
    46       raise "Not supported
     52      raise "Not supported: #{packet.version}
    4753    end 
    4854  end 
     
    5157    packet.format = load_1octet(port) 
    5258    header_rest = port.read(12) 
    53     if port.read(12) != "\000" * 12 
    54       raise "Illegal image header (version 1)
     59    if header_rest != "\000" * 12 
     60      raise "Illegal image header (version 1): #{header_rest}
    5561    end 
    5662  end 
     
    6874  end 
    6975 
    70   def self.load_image_header(port) 
    71  
    72   add_loader(2, method(:loader)) 
    73   add_scanner(2, method(:scanner)) 
     76  add_loader(1, method(:loader)) 
     77  add_scanner(1, method(:scanner)) 
    7478end 
    7579 
  • trunk/lib/pgp/packet/userattrsubpacket/packet.rb

    r2 r7  
    2525    110 => "private or experimental use", 
    2626  } 
     27 
     28  def self.typelabel(type) 
     29    TYPES[type] 
     30  end 
     31 
    2732  TAG_LOADER = {} 
     33  TAG_SCANNER = {} 
    2834 
    2935  def initialize(type = nil) 
     
    3642    end 
    3743    @type = type 
     44  end 
     45 
     46  def typelabel 
     47    Packet.typelabel(@type) 
     48  end 
     49 
     50  def scan(io) 
    3851  end 
    3952 
     
    5265  end 
    5366 
     67  def self.scan(port, io) 
     68    length = load_length_new(port) 
     69    type = load_type(port) 
     70    io.puts "Sub: #{typelabel(type)}(#{type})(#{length - 1} bytes)" 
     71    unless TAG_SCANNER.key?(type) 
     72      raise "Not supported: #{type}" 
     73    end 
     74    io.indent(4) do 
     75      TAG_SCANNER[type].call(io, port, length - 1) 
     76    end 
     77  end 
     78 
    5479private 
    5580 
     
    6287  end 
    6388 
    64   def self.add_loader(type, method) 
    65     TAG_LOADER[type] = method 
     89  def self.add_loader(tag, method) 
     90    if tag.is_a?(Enumerable) 
     91      tag.each do |tagitem| 
     92        TAG_LOADER[tagitem] = method 
     93      end 
     94    else 
     95      TAG_LOADER[tag] = method 
     96    end 
    6697  end 
    6798 
    68   def self.scanner(port, length) 
    69     loader(port, length).summary 
     99  def self.add_scanner(tag, method) 
     100    if tag.is_a?(Enumerable) 
     101      tag.each do |tagitem| 
     102        TAG_SCANNER[tagitem] = method 
     103      end 
     104    else 
     105      TAG_SCANNER[tag] = method 
     106    end 
    70107  end 
    71108end