fixing ehlo requirement
This commit is contained in:
parent
32e73d577c
commit
0cf256a8c2
|
@ -25,7 +25,7 @@ class bitmessageSMTPChannel(asynchat.async_chat):
|
||||||
self.__addr = addr
|
self.__addr = addr
|
||||||
self.__line = []
|
self.__line = []
|
||||||
self.__state = self.COMMAND
|
self.__state = self.COMMAND
|
||||||
self.__greeting = 0
|
self.__greeting = None
|
||||||
self.__mailfrom = None
|
self.__mailfrom = None
|
||||||
self.__rcpttos = []
|
self.__rcpttos = []
|
||||||
self.__data = ''
|
self.__data = ''
|
||||||
|
@ -128,7 +128,7 @@ class bitmessageSMTPChannel(asynchat.async_chat):
|
||||||
if not arg:
|
if not arg:
|
||||||
self.invalid_command('501 Syntax: EHLO hostname')
|
self.invalid_command('501 Syntax: EHLO hostname')
|
||||||
return
|
return
|
||||||
if self.__greeting:
|
if self.__greeting is not None:
|
||||||
self.invalid_command('503 Duplicate HELO/EHLO')
|
self.invalid_command('503 Duplicate HELO/EHLO')
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
|
@ -140,13 +140,17 @@ class bitmessageSMTPChannel(asynchat.async_chat):
|
||||||
if not arg:
|
if not arg:
|
||||||
self.invalid_command('501 Syntax: HELO hostname')
|
self.invalid_command('501 Syntax: HELO hostname')
|
||||||
return
|
return
|
||||||
if self.__greeting:
|
if self.__greeting is not None:
|
||||||
self.invalid_command('503 Duplicate HELO/EHLO')
|
self.invalid_command('503 Duplicate HELO/EHLO')
|
||||||
else:
|
else:
|
||||||
self.__greeting = arg
|
self.__greeting = arg
|
||||||
self.push('250 %s' % self.__fqdn)
|
self.push('250 %s' % self.__fqdn)
|
||||||
|
|
||||||
def smtp_AUTH(self, arg):
|
def smtp_AUTH(self, arg):
|
||||||
|
if self.__greeting is None:
|
||||||
|
self.invalid_command('503 Error: required EHLO')
|
||||||
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
encoding, pw = arg.split(' ')
|
encoding, pw = arg.split(' ')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
|
|
Reference in New Issue
Block a user