Commit cbfcfd7

mokha <mokha@cisco.com>
2019-03-09 23:37:30
do not advertise tls and auth capabilities.
1 parent 7edb25a
Changed files (3)
lib/minbox/client.rb
@@ -9,7 +9,7 @@ module Minbox
     end
 
     def handle(&block)
-      write "220"
+      write "220 #{server.host} ESMTP"
       while connected? && (line = read)
         case line
         when /^EHLO/i then ehlo(line)
@@ -63,9 +63,9 @@ module Minbox
     def ehlo(line)
       _ehlo, _client_domain = line.split(" ")
       write "250-#{server.host}"
-      #write "250 AUTH PLAIN LOGIN"
       write "250-ENHANCEDSTATUSCODES"
-      write "250 STARTTLS" if server.tls?
+      #write "250-STARTTLS"# if server.tls?
+      #write "250 AUTH PLAIN LOGIN"
       write "250 OK"
     end
 
@@ -80,10 +80,7 @@ module Minbox
       @original_socket = @socket
       @socket = OpenSSL::SSL::SSLSocket.new(@original_socket, server.ssl_context)
       @socket.sync_close = true
-      #begin
       puts @socket.accept.inspect
-      #rescue OpenSSL::SSL::SSLError => e
-      #end
     end
 
     def reset
lib/minbox/server.rb
@@ -35,6 +35,17 @@ module Minbox
       @server&.close
     end
 
+    def ssl_context(key = OpenSSL::PKey::RSA.new(2048))
+      @ssl_context ||=
+        begin
+          ssl_context = OpenSSL::SSL::SSLContext.new
+          ssl_context.cert = certificate_for(key)
+          ssl_context.key = key
+          ssl_context.ssl_version = :SSLv23
+          ssl_context
+        end
+    end
+
     private
 
     def upgrade(tcp_server)
@@ -68,16 +79,5 @@ module Minbox
         extensions.create_extension('keyUsage', 'keyEncipherment,digitalSignature', true)
       )
     end
-
-    def ssl_context(key = OpenSSL::PKey::RSA.new(2048))
-      @ssl_context ||=
-        begin
-          ssl_context = OpenSSL::SSL::SSLContext.new
-          ssl_context.cert = certificate_for(key)
-          ssl_context.key = key
-          ssl_context.ssl_version = :SSLv23
-          ssl_context
-        end
-    end
   end
 end
spec/minbox/server_spec.rb
@@ -100,7 +100,7 @@ RSpec.describe Minbox::Server do
         let(:result) do
           mail = create_mail
           smtp = Net::SMTP.new(host, port)
-          smtp.enable_starttls
+          #smtp.enable_autostarttls
           smtp.start do |smtp|
             smtp.send_message(mail.to_s, Faker::Internet.email, Faker::Internet.email)
           end