examples/file_server.rb in ruby_smb-3.1.1 vs examples/file_server.rb in ruby_smb-3.1.2

- old
+ new

@@ -8,10 +8,11 @@ # we just need *a* default encoding to handle the strings from the NTLM messages Encoding.default_internal = 'UTF-8' if Encoding.default_internal.nil? options = { allow_anonymous: true, + allow_guests: false, domain: nil, username: 'RubySMB', password: 'password', share_name: 'home', share_path: '.', @@ -37,10 +38,13 @@ options[:smbv2] = smbv2 end opts.on("--[no-]smbv3", "Enable or disable SMBv3 (default: #{options[:smbv3] ? 'Enabled' : 'Disabled'})") do |smbv3| options[:smbv3] = smbv3 end + opts.on("--[no-]guests", "Allow guest accounts (default: #{options[:allow_guests]})") do |allow_guests| + options[:allow_guests] = allow_guests + end opts.on("--username USERNAME", "The account's username (default: #{options[:username]})") do |username| if username.include?('\\') options[:domain], options[:username] = username.split('\\', 2) else options[:username] = username @@ -49,10 +53,13 @@ opts.on("--password PASSWORD", "The account's password (default: #{options[:password]})") do |password| options[:password] = password end end.parse! -ntlm_provider = RubySMB::Gss::Provider::NTLM.new(allow_anonymous: options[:allow_anonymous]) +ntlm_provider = RubySMB::Gss::Provider::NTLM.new( + allow_anonymous: options[:allow_anonymous], + allow_guests: options[:allow_guests] +) ntlm_provider.put_account(options[:username], options[:password], domain: options[:domain]) # password can also be an NTLM hash server = RubySMB::Server.new( gss_provider: ntlm_provider, logger: :stdout