lib/rbkb/plug/blit.rb in rbkb-0.6.12 vs lib/rbkb/plug/blit.rb in rbkb-0.7.0

- old
+ new

@@ -13,10 +13,11 @@ 0 => :squelch, 1 => :unsquelch, 2 => :delete, 5 => :sendmsg, 6 => :list_peers, + 7 => :starttls, 0xfe => :clear, 0xff => :kill, } @@ -63,10 +64,25 @@ def self.blit_header(op) return nil unless opno = OPCODES.invert[op] SIG + opno.chr end + def starttls + unless ( peerno=@buf.read(2) and peerno.size == 2 and + peer=@peers[peerno.dat_to_num(:big)] ) + + UI.log "** BLIT-ERROR(Malformed or missing peer for starttls)" + return true + end + + peer.start_tls(self) + end + + def self.make_starttls(peerno) + self.blit_header(:starttls) + peerno.to_bytes(:big, 2) + end + def mute unless ( peerno=@buf.read(2) and peerno.size == 2 and peer=@peers[peerno.dat_to_num(:big)] ) UI.log "** BLIT-ERROR(Malformed or missing peer for mute)" @@ -200,16 +216,20 @@ def self.blit_send(data, idx=0) msg = make_sendmsg(idx, data) blit_raw(msg) end + def self.blit_starttls(idx = 0) + msg = make_starttls(idx) + blit_raw(msg) + end + def self.blit_raw(buf) raise "use blit_init first!" unless self.initialized? @blit_handler.call buf end end # of module Blit - end # of module Plug class String #----------------------------------------------------------------------