mirror of
https://github.com/chatmail/relay.git
synced 2026-05-12 09:04:36 +00:00
Compare commits
2 Commits
link2xt/en
...
link2xt/au
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c9e8d40b4 | ||
|
|
40a88c7fc6 |
@@ -50,7 +50,7 @@ def create_user(db, user, encrypted_password):
|
|||||||
with db.write_transaction() as conn:
|
with db.write_transaction() as conn:
|
||||||
conn.create_user(user, encrypted_password)
|
conn.create_user(user, encrypted_password)
|
||||||
return dict(
|
return dict(
|
||||||
home=f"/home/vmail/mail/nine.testrun.org/{user}",
|
home=f"/home/vmail/{user}",
|
||||||
uid="vmail",
|
uid="vmail",
|
||||||
gid="vmail",
|
gid="vmail",
|
||||||
password=encrypted_password,
|
password=encrypted_password,
|
||||||
@@ -63,7 +63,6 @@ def get_user_data(db, user):
|
|||||||
if result:
|
if result:
|
||||||
result["uid"] = "vmail"
|
result["uid"] = "vmail"
|
||||||
result["gid"] = "vmail"
|
result["gid"] = "vmail"
|
||||||
result["home"] = f"/home/vmail/mail/nine.testrun.org/{user}"
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@@ -83,7 +82,6 @@ def lookup_passdb(db, user, cleartext_password):
|
|||||||
|
|
||||||
|
|
||||||
def handle_dovecot_request(msg, db, mail_domain):
|
def handle_dovecot_request(msg, db, mail_domain):
|
||||||
print(f"received msg: {msg!r}", file=sys.stderr)
|
|
||||||
short_command = msg[0]
|
short_command = msg[0]
|
||||||
if short_command == "L": # LOOKUP
|
if short_command == "L": # LOOKUP
|
||||||
parts = msg[1:].split("\t")
|
parts = msg[1:].split("\t")
|
||||||
@@ -106,7 +104,6 @@ def handle_dovecot_request(msg, db, mail_domain):
|
|||||||
reply_command = "O"
|
reply_command = "O"
|
||||||
else:
|
else:
|
||||||
reply_command = "N"
|
reply_command = "N"
|
||||||
print(f"res: {res!r}", file=sys.stderr)
|
|
||||||
json_res = json.dumps(res) if res else ""
|
json_res = json.dumps(res) if res else ""
|
||||||
return f"{reply_command}{json_res}\n"
|
return f"{reply_command}{json_res}\n"
|
||||||
return None
|
return None
|
||||||
@@ -131,7 +128,6 @@ def main():
|
|||||||
break
|
break
|
||||||
res = handle_dovecot_request(msg, db, mail_domain)
|
res = handle_dovecot_request(msg, db, mail_domain)
|
||||||
if res:
|
if res:
|
||||||
print(f"sending result: {res!r}", file=sys.stderr)
|
|
||||||
self.wfile.write(res.encode("ascii"))
|
self.wfile.write(res.encode("ascii"))
|
||||||
self.wfile.flush()
|
self.wfile.flush()
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ def _configure_nginx(domain: str, debug: bool = False) -> bool:
|
|||||||
need_restart = False
|
need_restart = False
|
||||||
|
|
||||||
main_config = files.template(
|
main_config = files.template(
|
||||||
src=importlib.resources.files(__package__).joinpath("nginx.conf.j2"),
|
src=importlib.resources.files(__package__).joinpath("nginx/nginx.conf.j2"),
|
||||||
dest="/etc/nginx/nginx.conf",
|
dest="/etc/nginx/nginx.conf",
|
||||||
user="root",
|
user="root",
|
||||||
group="root",
|
group="root",
|
||||||
@@ -212,7 +212,7 @@ def _configure_nginx(domain: str, debug: bool = False) -> bool:
|
|||||||
need_restart |= main_config.changed
|
need_restart |= main_config.changed
|
||||||
|
|
||||||
autoconfig = files.template(
|
autoconfig = files.template(
|
||||||
src=importlib.resources.files(__package__).joinpath("autoconfig.xml.j2"),
|
src=importlib.resources.files(__package__).joinpath("nginx/autoconfig.xml.j2"),
|
||||||
dest="/var/www/html/.well-known/autoconfig/mail/config-v1.1.xml",
|
dest="/var/www/html/.well-known/autoconfig/mail/config-v1.1.xml",
|
||||||
user="root",
|
user="root",
|
||||||
group="root",
|
group="root",
|
||||||
|
|||||||
@@ -142,18 +142,3 @@ ssl_key = </var/lib/acme/live/{{ config.hostname }}/privkey
|
|||||||
ssl_dh = </usr/share/dovecot/dh.pem
|
ssl_dh = </usr/share/dovecot/dh.pem
|
||||||
ssl_min_protocol = TLSv1.2
|
ssl_min_protocol = TLSv1.2
|
||||||
ssl_prefer_server_ciphers = yes
|
ssl_prefer_server_ciphers = yes
|
||||||
|
|
||||||
service postlogin {
|
|
||||||
executable = script-login -d rawlog
|
|
||||||
unix_listener postlogin {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
service imap {
|
|
||||||
executable = imap postlogin
|
|
||||||
}
|
|
||||||
|
|
||||||
protocol imap {
|
|
||||||
#rawlog_dir = /tmp/rawlog/%u
|
|
||||||
# if you want to put files into user's homedir, use this, do not use ~
|
|
||||||
rawlog_dir = %h
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user