mirror of
https://github.com/chatmail/relay.git
synced 2026-05-19 12:28:06 +00:00
tests: add test that we don't leak email addresses via VRFY
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import pytest
|
import pytest
|
||||||
import threading
|
import threading
|
||||||
import queue
|
import queue
|
||||||
|
import socket
|
||||||
|
|
||||||
from chatmaild.config import read_config
|
from chatmaild.config import read_config
|
||||||
from cmdeploy.cmdeploy import main
|
from cmdeploy.cmdeploy import main
|
||||||
@@ -78,3 +79,24 @@ def test_concurrent_logins_same_account(
|
|||||||
|
|
||||||
for _ in conns:
|
for _ in conns:
|
||||||
assert login_results.get()
|
assert login_results.get()
|
||||||
|
|
||||||
|
|
||||||
|
def test_no_vrfy(chatmail_config):
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
sock.connect((chatmail_config.mail_domain, 25))
|
||||||
|
banner = sock.recv(1024)
|
||||||
|
print(banner)
|
||||||
|
sock.send(b"VRFY wrongaddress@%s\r\n" % (chatmail_config.mail_domain.encode(),))
|
||||||
|
result = sock.recv(1024)
|
||||||
|
print(result)
|
||||||
|
sock.send(b"VRFY echo@%s\r\n" % (chatmail_config.mail_domain.encode(),))
|
||||||
|
result2 = sock.recv(1024)
|
||||||
|
print(result2)
|
||||||
|
assert result[0:10] == result2[0:10]
|
||||||
|
sock.send(b"VRFY wrongaddress\r\n")
|
||||||
|
result = sock.recv(1024)
|
||||||
|
print(result)
|
||||||
|
sock.send(b"VRFY echo\r\n")
|
||||||
|
result2 = sock.recv(1024)
|
||||||
|
print(result2)
|
||||||
|
assert result[0:10] == result2[0:10] == b"252 2.0.0 "
|
||||||
|
|||||||
Reference in New Issue
Block a user