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
#----------------------------------------------------------------------