Path: blob/master/lib/msf/core/opt_bool.rb
19721 views
# -*- coding: binary -*-12module Msf3# Boolean option type4class OptBool < OptBase5TRUE_REGEX = /^(y|yes|t|1|true)$/i6ANY_REGEX = /^(y|yes|n|no|t|f|0|1|true|false)$/i78# This overrides default from 'nil' to 'false'9def initialize(in_name, attrs = [],10default: false, **kwargs)11super12end1314def type15return 'bool'16end1718def valid?(value, check_empty: true, datastore: nil)19return false if check_empty && empty_required_value?(value)20return true if value.nil? && !required?2122!(value.nil? ||23value.to_s.empty? ||24value.to_s.match(ANY_REGEX).nil?)25end2627def normalize(value)28!(value.nil? ||29value.to_s.match(TRUE_REGEX).nil?)30end31end32end333435