Giter VIP home page Giter VIP logo

filter-senderscore's Introduction

Hi there ๐Ÿ‘‹

Twitter badge Twitter badge

  • ๐Ÿ”ญ part-time IT Architect @ Veepee
  • โญ๏ธ freelance architect/developer/consultant or opensource developer on my free time: I'm available for freelance projects!
  • ๐Ÿ“š I occasionally teach or give private talks on various topics
  • ๐Ÿš€ Personal blog at poolp.org

Buy Me A Coffee

Gilles's GitHub stats

I'm @poolpOrg

filter-senderscore's People

Contributors

lfos avatar mildis avatar paukstis avatar poolporg avatar ryanakca 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

filter-senderscore's Issues

no mail processing on senderscore (dns- or rate-)problems

if senderscore is not answering correctly or running into timeout, endless smtp sessions will be opened (at new incoming messages), but no mail processing is happening. when the filter is running on the connection level, then the messages are neither delivered nor queued, because it "hangs" on the filter processing.
Is there a possibility for a timeout? When senderscore request fails (maybe retry 2-3 times) and then pass the message (even if not scanned by the filter).
On large mx this will be a serious problem, when senderscore is not working, because after 1-2min the "SMTP client limit is reached" and the server isn't responding to SMTP anymore, and there will be a "message jam" after the filter is working again (or not).
Maybe senderscore is also rate-limiting, but that's not documented neither at this plugin's readme nor at senderscore itself.

Test suite

Would you be interested in a simple test suite that runs filter-senderscore through a bunch of scenarios and validates the output? If so, any preferences when it comes to test frameworks? Would you prefer something that's TAP-compatible?

New package (version) of code containing allowedIPs

Hey there,
First of all, thanks for the time involved in all thoses projects that benefits to a lot of people.
Was wondering if it is possible to release a 0.12 version containing the allowedIP code ?
Currently running OpenSMTPd on Alpine but the filte-senderscore package is based on 0.11.
Also, it looks like Alpine package maintainer would not build a package on a "master" branch.

Cheers !

Intermixed output

To the best of my knowledge, fmt.Printf is not guaranteed to be atomic and there is the (theoretical) possibility of intermixed output originating from the "delayed" goroutines. Two alternative solutions:

  • Use a classical locking mechanism, such as a mutex, to make the output atomic.
  • Create a separate routine with an infinite loop that reads from a Go channel and outputs the strings it recevies. In all the other routines, write to that channel instead of writing to stdout.

The second option is probably the "Go way" of implementing this. I'd be happy to implement either solution. Let me know what you think.

Segfault on OpenBSD -current; needs rebuild with go 1.16

Description

Probably since this commit openbsd/src@570e619 the current build of filter-senderscore is segfaulting on OpenBSD -current:

www$ /usr/local/libexec/smtpd/filter-senderscore                                                                                                                 
Segmentation fault

Producing these dmesg entries:

www$ dmesg |grep filter\-sender
[filter-sendersco]14316/423618 pc=469206 inside 29c685000-29c692000: bogus syscall
[filter-sendersco]40021/251269 pc=469206 inside 225ed2000-225edf000: bogus syscall
[...]

Update: Forgot to attach versions:

www# pkg_info  opensmtpd-filter-senderscore 
Information for inst:opensmtpd-filter-senderscore-0.1.1

Comment:
SenderScore integration to the OpenSMTPD daemon

Description:
filter-senderscore is an opensmtpd filter that performs a DNS
lookup in the SenderScore registry to determine reputation of
an IP address and allow reputation-based blocking, junking or
delaying of sessions.

Maintainer: Gilles Chehade <[email protected]>

WWW: https://github.com/poolpOrg/filter-senderscore/


www# uname -a                               
OpenBSD  6.9 GENERIC#374 amd64

Solution

go1.16 does it's syscalls through libc[1], so just rebuilding with go1.16 solved this issue for me. If I'm not misunderstanding the ports Makefile, the binary is directly downloaded from here, so I hope this is the correct place for this issue.

[1] https://utcc.utoronto.ca/~cks/space/blog/programming/Go116OpenBSDUsesLibc

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.