Code Monkey home page Code Monkey logo

trualias's People

Contributors

m3047 avatar tgrobe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tgrobe

trualias's Issues

Service failed to start after upgrade.

$ cat /etc/redhat-release 
Fedora release 37 (Thirty Seven)
$ python --version
Python 3.11.0
$ git show -q
commit aec14c3875a1846b3359b1c5dc0815ee52b9fb87 (HEAD -> master, origin/master, origin/HEAD)
Author: Fred Morris <[email protected]>
Date:   Thu Oct 15 11:38:43 2020 -0700

    Instructions for both tcp_table_server and tcp_virtual_server.
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        python/trualias.conf

nothing added to commit but untracked files present (use "git add" to track)
$ sudo systemctl start trualias
$ sudo journalctl -n 24 trualias
Failed to add match 'trualias': Invalid argument
$ sudo journalctl -n 24 -u trualias
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Scheduled restart job, restart counter is at 4.
Nov 22 18:39:08 spectr.org systemd[1]: Stopped trualias.service - Trualias Postfix TCP Virtual Service.
Nov 22 18:39:08 spectr.org systemd[1]: Started trualias.service - Trualias Postfix TCP Virtual Service.
Nov 22 18:39:08 spectr.org python3[18120]: detected unhandled Python exception in '/usr/local/share/trualias/python/tcp_virtual_server.py'
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]: Traceback (most recent call last):
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:   File "/usr/local/share/trualias/python/tcp_virtual_server.py", line 108, in <module>
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:     base_server.main(allocate_context, base_server.resolve_config_files(CONFIG_FILE), config_loader)
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:   File "/usr/local/share/trualias/python/tcp_table_server.py", line 353, in main
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:     server = loop.run_until_complete(coro)
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:   File "/usr/lib64/python3.11/asyncio/base_events.py", line 650, in run_until_complete
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:     return future.result()
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:            ^^^^^^^^^^^^^^^
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:   File "/usr/lib64/python3.11/asyncio/streams.py", line 85, in start_server
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:     return await loop.create_server(factory, host, port, **kwds)
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]:                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 22 18:39:08 spectr.org tcp_virtual_server.py[18120]: TypeError: BaseEventLoop.create_server() got an unexpected keyword argument 'loop'
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Main process exited, code=exited, status=1/FAILURE
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Failed with result 'exit-code'.
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Scheduled restart job, restart counter is at 5.
Nov 22 18:39:08 spectr.org systemd[1]: Stopped trualias.service - Trualias Postfix TCP Virtual Service.
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Start request repeated too quickly.
Nov 22 18:39:08 spectr.org systemd[1]: trualias.service: Failed with result 'exit-code'.
Nov 22 18:39:08 spectr.org systemd[1]: Failed to start trualias.service - Trualias Postfix TCP Virtual Service.

Tighten up `ident` and `fqdn` semantics

Comes to my attention that there are some edge cases where ident and fqdn semantics aren't implemented strictly in accordance with the spec. There may be a separate issue with not considering the entire supplied alias, although that may be a side effect of the former observation.

I intend to tighten this up, so that semantics conform more strictly to the spec; the spec is not changing.

When I have something I will post it to the fwm branch and let it soak for at least a week before merging it to master.

Unix Domain Socket Support

Can someone provide specifics of the user story:

  • What does this look like to the person configuring trualias? Presumably a config parameter with the socket path, anything else? Would it be desirable to be able to configure both a unix socket and an IP socket at the same time or is that a bad idea, and why?
  • What does this look like to the person configuring Postfix?

Wanted: Milter Champion / Product Manager

Hello, you know who you are. I implemented support for milters because there seemed to be some interest (borne out by subsequent clonage, thanks), but I'm going to keep using the TCP table option and recompiling Postfix local(8) because I understand the risks and it better suits my operational profile and objectives.

Spending additional time and resources on milter support requires informed guidance, which can only be provided by someone who uses them in their production environment. So don't be shy, step forward and join this project!

If you're in a dead-end job supporting email and want to put "Product Manager" on your resume, this is your chance. There is no pay, but I can trade some milter and python fu. I will expect that you can demonstrate your technical familiarity with and ongoing use of milters. -- Fred

How do I rewrite Request Headers for Apache in Python (basic auth)?

A long time ago in Perl I was able to rewrite requests upstream of other request handling in Apache. But that was before 2.0. How do I do that now? I'm ok with either writing it directly in Python or calling the Trualias TCP table service.

My goal is to allow Trualiases to be usable with Apache Basic Auth. Thanks in advance... -- Fred Morris, project owner.

Milter support

The Postfix MTA supports Milters, see http://www.postfix.org/MILTER_README.html

Presently use of TruAlias is implemented as a TCP table, and this requires recompilation of local(8) after disabling some security checks. Among other things, milters allow for filtering during the SMTP handshake.

Goals:

  • Reject invalid aliases during the SMTP handshake as is presently achieved using it as a TCP table.
  • Alter the message delivery address (declared with RCPT_TO) so that the message is delivered to the appropriate local account without needing to consult the TCP table from local(8).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.