module Msf module RPC class Base def initialize(framework,tokens,users) @framework = framework @tokens = tokens @users = users end def authenticate(token) stale = [] @tokens.each_key do |t| user,ctime,mtime,perm = @tokens[t] if ! perm and mtime + 300 < Time.now.to_i stale << t end end stale.each { |t| @tokens.delete(t) } if(not @tokens[token]) raise ::XMLRPC::FaultException.new(401, "authentication error") end @tokens[token][2] = Time.now.to_i end end end end