blackhole | MTA written on top of asyncio , utilising async | Reactive Programming library

 by   kura Python Version: 2.1.19 License: MIT

kandi X-RAY | blackhole Summary

kandi X-RAY | blackhole Summary

blackhole is a Python library typically used in Programming Style, Reactive Programming applications. blackhole has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. You can install using 'pip install blackhole' or download it from GitHub, PyPI.

Blackhole is an MTA written on top of asyncio, utilising async and await statements that dumps all mail it receives to /dev/null.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              blackhole has a highly active ecosystem.
              It has 62 star(s) with 9 fork(s). There are 7 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 0 open issues and 22 have been closed. On average issues are closed in 81 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of blackhole is 2.1.19

            kandi-Quality Quality

              blackhole has 0 bugs and 0 code smells.

            kandi-Security Security

              blackhole has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              blackhole code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              blackhole is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              blackhole releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              blackhole saves you 2906 person hours of effort in developing the same functionality from scratch.
              It has 6278 lines of code, 478 functions and 35 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed blackhole and discovered the below as its top functions. This is intended to give you an instant insight into blackhole implemented functionality, and help decide if they suit your requirements.
            • Run the program
            • Run test methods
            • Validate configuration option
            • Get the version number
            • Load configuration from file
            • XPN command
            • Convert value to a list
            • Push a message onto the stack
            • Parse the expn value
            • Send timeout to peer
            • Manage mail
            • Called when a connection is established
            • Help command
            • List of TLS listeners
            • Sets the message
            • Close the websocket
            • Handler for unknown commands
            • Handle DATA command
            • Return the version number
            • Listen for incoming packets
            • Perform PLAIN authentication
            • Command line
            • Login to server
            • Do EHLO
            • The delay of the message
            • Start the worker
            • Authenticate with CRAM
            Get all kandi verified functions for this library.

            blackhole Key Features

            No Key Features are available at this moment for blackhole.

            blackhole Examples and Code Snippets

            No Code Snippets are available at this moment for blackhole.

            Community Discussions

            QUESTION

            Alertmanager failing due to "unmarshal errors: line 19: field matchers not found in type config.plain"
            Asked 2021-May-31 at 14:58

            I am trying to add custom alert-routing config to my alertmanager, deployed as a part of kube-prometheus-stack. But prometheus-operator pod, while trying to generate the alertmanager configmap, fails due to the following error:

            ...

            ANSWER

            Answered 2021-May-31 at 14:58

            QUESTION

            When an e-mail message fails MTA-STS checks, it must not be delivered; will the sender be informed about the delivery failure? When?
            Asked 2021-May-12 at 09:47
            Short:

            When an e-mail message about to be send fails MTA-STS checks, it must not be delivered by design; will the sender be informed about the delivery failure? When?

            Long & Background info:

            When implementing mta-sts on custom domains to enforce the use of TLS connections, misconfigurations of the mta-sts.txt policy file (or a smtp-server not supporting TLS connections) will result in e-mail not being delivered as an enforced policy will require TLS connections to deliver the e-mail.

            Via TLS-reporting the domain holder - not the sender - could be informed about any problems, provided TLS reporting is set-up to a different domain or tool that notifies on a different address than the domain in question.

            My question is about any senders of e-mail messages. In a testcase with policy file mentioning incorrect mx records, no e-mails are delivered (as expected), but the test sender did not receive any messages about delivery problems (yet).

            Is this expected behaviour? Or will the sender be informed after a number hours? If so, how many hours? - I ask because a delivery failure and NDR (non-delivery-reports) are usually returned instantly.

            If a user misspelled an e-mail address or the receving server is down, the sender is informed about the trouble and can take action. Sometimes even the "delivery is delayed" is announced; not failed yet, but not delivered either.

            I get the impression that the sender is not informed that a message is not delivered and is "silently blackholed / discarded". To be clear: that the message is not delivered is expected behaviour in this test case.

            Spec: https://tools.ietf.org/html/rfc8461

            ...

            ANSWER

            Answered 2021-May-12 at 09:47

            After running some testcases, I have experienced the following:

            (This was done by a Outlook.com smtp server.)

            Testcase C
            • MTA-STS: Deliberately incorrect, but existing third-party mx server in mta-sts file.
            • DNS: Correct mx server.

            The sender was informed about the delivery failure after 24 hours.

            It was explained in my local language what was going on; here information highlights:

            1. That the message could was not delivered.
            2. That it was tried multiple times to deliver.
            3. But that the cause was being unable to connect to the remote server.
            4. Advise was given to contact the recipient by phone to ask the recipient to inform the postmaster about the error.
            5. It was even suggested that the problem could most likely only be solved by the postmaster.
            6. (A link was provided but that wasn't really helpful. Additionally the technical bounce message was visible among it the technical words "failed MTA-STS validation").
            Testcase B
            • MTA-STS: Correct and desired mx in mta-sts file.
            • DNS: Deliberately set to incorrect mx server, existing server though.

            After 24 hours I received an error back. Confusingly the message state that the address did not exists in the target domain. Though this is true, it shouldn't have gotten this far. However, when reviewing the technical part the outlook-sending server mentioned 'failed mta-sts errors validation'. So the technical part contained the correct mta-sts validation error, but the human/user readable part only mentioned that the target address did not exist in the target server.

            I guess if the address doesn't exists, any mta-sts errors are "less important" to report to the end-user. The user was advised to re-type and resend the e-mail and verify if the address with the recipient (phone was mentioned). However, even if the user followed the instructions, the next e-mail wouldn't have been delivered either, but that is beyond this testcase.

            Testcase A
            • MTA-STS: Correct mx in mta-sts file.
            • DNS: Fake MX corrects.

            After 24 hours I received an error back. The cause for not being able to deliver the message was being unable to resolve the domain location of the recipient. (Undesired result, but logical, mx were referring to nothing.)

            The technical part of the message mentioned 'DNS query failed'. Nothing of mta-sts was mentioned.

            Testcase Z (weird one)
            • MTA-STS: Correct mx in mta-sts file.
            • DNS: Incorrect but existing mx records; a cname referring to the same IP of the correct mx server (which shouldn't matter because mta-sts should compare cert with cname.)

            The results, unexpected:

            • One email got delivered somewhere between that 24 time-window.
            • One email failed due to mta-sts validation error.

            Temporary downtime of webserver might have been a factor, though that shouldn't have mattered. - Cannot explain.

            Conclusion

            I took a while to find the correct testcase as you can see. But Testcase C describes the desired behaviour. Yes, the sender is informed, after 24 hours with outlook.com as smtp-server. The user is informed in clear language. That being said, I do have an additional opinion about the timing here, mentioned below.

            Limitations

            Staying with the facts: I did not perform a testcase with a server trying unencrypted connections. Testcase C puts the ball into the the recipient's postmaster's court, I would be curious to see where the ball (the 'todo') would be placed, in the case of unencrypted attempts, as that cannot be solved by the recipient but must be solved by the sender or sender's postmaster.

            I also did not test multiple smtp servers.

            Further thoughts

            That being said, MTA-STS-validation needs to be supported by the sender SMTP (correct me in comments if I am wrong*), so if a server is so old it tries do deliver an e-mail over non-encrypted connection, it will most likely not support MTA-STS so it will not validate the MTA-STS policy and simply deliver the e-mail unprotected. * Found confirmation here, from paragraph "There is a standard...")

            If somebody tries to redirect some incoming e-mail by dns-poisoning, a modern smtp-server will not deliver the e-mail to an incorrect destination. So it protects against evil doing, not against legacy.

            Opinion

            I think the feedback delay of 24 hours is too long. Testcase C reports 11 retry attempts within that 24 hour window. Though I appreciate the system not giving up, I would argue that it might be in the interest of the sender to inform him of at least a non-regular delivery.

            Source https://stackoverflow.com/questions/67440531

            QUESTION

            AspNet Core 5.0 and register custom NLog LayoutRenderer
            Asked 2021-May-04 at 04:58

            I use NLog.Web.AspNetCore 4.10.0 in my ASP Net Core 5.0 application. And I created a simple custom ResultLayoutRenderer (shortened for simplicity):

            ...

            ANSWER

            Answered 2021-Feb-26 at 22:36

            You are very close. NLogBuilder.ConfigureNLog(...) is soon obsolete, so instead try this:

            Source https://stackoverflow.com/questions/65615825

            QUESTION

            NLog write to multiple logs in .Net Core 3.1
            Asked 2021-Apr-28 at 17:52

            I’m having to write a file utility that will work with reading import files and creating export files. I’m looking to write to different NLog files depending on if I’m working with an import file or creating an export file. I’ve been searching and reading different articles today but I’m either not searching on the right thing I’m just not understanding how I can write to different log files using Dependency Injection.

            This is the basic concept I’m trying to work out. I run a console app and it reads in a list of file settings using a JSON file. That file setting/config JSON file will have a setting letting me know this is an outbound file vs an inbound file. So, say the current file I’m working with is a outbound file I’ll write the logging for it to my OutboundFiles.log versus my InboundFiles.log.

            Currently I have the following I use with most .Net Core console apps I have created and it will write it to a single log file using _log (ex: _log.LogInformation). What I’m not understanding is how I could have say an _logOutbound.LogInformation and a _logInbound.LogInformation that I would write to depending on what file time I'm working with and how I would alter my NLog.config file for the different log name and directories. Here is my current code used to write to a single file.

            Program.cs

            ...

            ANSWER

            Answered 2021-Apr-26 at 22:05

            Not sure I understand how the specifc import/export-files should affect the NLog output. So I'm just making a random guess here:

            I would probably make use of ILogger.BeginScope and then use NLog ${mdlc}.

            Source https://stackoverflow.com/questions/67274039

            QUESTION

            Flink 1.12 Could not find any factory for identifier 'kafka' that implements 'org.apache.flink.table.factories.DynamicTableFactory' in the classpath
            Asked 2021-Mar-12 at 04:09

            I have a Flink job that runs well locally but fails when I try to flink run the job on cluster. It basically reads from Kafka, do some transformation, and writes to a sink. The error happens when trying to load data from Kafka via 'connector' = 'kafka'.

            Here is my pom.xml, note flink-connector-kafka is included.

            ...

            ANSWER

            Answered 2021-Mar-12 at 04:09

            It turns out my pom.xml is configured incorrectly.

            Source https://stackoverflow.com/questions/66565381

            QUESTION

            How can I find the SecurityComponent configuration options in CakePHP 3?
            Asked 2021-Feb-08 at 14:47

            I'm starting to get intermittent "blackhole" issues on my CakePHP 3 app. I think that it might be CSRF tokens expiring when a page is left open too long. Old answers (e.g. this CakePHP 2 one) point to a csrfExpires config key. However, I can't find any reference to any config keys in the main documentation or the code. Can someone point me to the right documentation, or failing that provide your own info on config keys?

            ...

            ANSWER

            Answered 2021-Feb-08 at 14:47

            There's nothing in the security component docs because as of CakePHP 3.0, CSRF tokens are not part of the security component anymore, they are handled by either the (deprecated) CSRF component, or by the CSRF middleware.

            If it actually is the security component blackholing your request, then it's probably not CSRF related, as invalid CSRF tokens would trigger different errors. Also note that by default CSRF tokens last for the browser session.

            Source https://stackoverflow.com/questions/66101716

            QUESTION

            NLog not writing to Azure Blob Storage
            Asked 2021-Jan-27 at 09:23

            I'm new with Azure and I'm trying to get my first MVC Core 3.1 application on Azure to use NLog to write to an Azure Blob Storage. I believe I have it setup correctly but I'm not seeing anything in my Blob Storage.

            I'm using the following articles to help.

            https://www.taithienbo.com/securely-log-to-blob-storage-using-nlog-with-connection-string-in-key-vault https://ozaksut.com/custom-logging-with-nlog

            When I look at my Blob Storage I don't see any files. I'm also assuming I have my Blob Storage setup correctly.

            Here is a snippet of my proj file to show I have what should be the correct NLog packages.

            ...

            ANSWER

            Answered 2021-Jan-27 at 09:23

            Is seems your configuration file is correct but you didn't find where your connection string is.

            Go to your storage account page, find Access Key under settings, copy the connection string to your nlog.config file.

            Here is a sample on my side:

            1. nlog.config file content:

            Source https://stackoverflow.com/questions/65905065

            QUESTION

            Mysql per thread memory, variables that lead to thread memory usage?
            Asked 2021-Jan-20 at 19:11

            We recently upgraded from mysql 5.6 to mysql 8.0 on a few servers, one of the servers was fine, and has had no problems, but it has significantly less load than one of our other servers which has been running out of memory.

            Our server launches, then grabs 300 connections, and keeps them open with a C3P0 pool to the mysql server.

            We were running these servers on AWS on MySQL 5.6 with the same overridden parameters on 8GB of RAM, when we upgraded to MySQL 8.0.21 we started running out of RAM in about 1 day. We grew the server to 32Gb but didn't change the parameters. It's gone over 15 GB used and still going up.

            We're pretty sure it's related to the per connection thread memory, but not sure why. From looking at MySQL tuner it looks like the variables that control per thread memory are:

            ...

            ANSWER

            Answered 2021-Jan-18 at 19:41

            You're calculating the per-thread memory usage wrong. Those variables (and tmp_table_size which you didn't include) are not all used at the same time. Don't add them up. And even if you were to add them up, at least two might be allocated multiple times for a single query, so you can't just sum them anyway.

            Basically, the memory usage calculated by MySQLTuner is totally misleading, and you shouldn't believe it. I have written about this before: What does "MySQL's maximum memory usage is dangerously high" mean by mysqltuner?

            If you want to understand actual memory usage, use the PERFORMANCE_SCHEMA, or the slightly easier to read views on it, in the SYS schema.

            The documentation for PS or SYS is pretty dense, so instead I'd look for better examples in blogs like this one:

            https://www.percona.com/blog/2020/11/02/understanding-mysql-memory-usage-with-performance-schema/

            Source https://stackoverflow.com/questions/65780309

            QUESTION

            Uncaught TypeError: Cannot read property 'rotation' of undefined at animate (index.html:266) at index.html:287
            Asked 2021-Jan-19 at 00:13

            My Code Runs and show what it needs, however this error apears when i try to animate a model with rotation or posotion. I have tried to maka a init function to run everything in it and that still did not work. As soon as i stop animating the model in the animate function the error goes away but then it model is not spinning anymore.

            ...

            ANSWER

            Answered 2021-Jan-18 at 19:54

            The problem is likely with planet. You are attempting to access its rotation property inside the animation loop. This is fine!

            BUT, you are assigning planet inside a loader callback. This is also fine!

            BUT, loaders are asynchronous, and can take some time. Your animation loop starts immediately.

            So what's happening is while the loaders are trying to download and open your GLTF files, the animation loop tries to render the scene. Because planet isn't assigned yet, it holds the value undefined. undefined obviously doesn't have a rotation property, and so you get an error.

            The easiest way to get around this is to simply wrap that part of your animation loop in a check to ensure the variable is assigned.

            Source https://stackoverflow.com/questions/65780003

            QUESTION

            Proxy Chrome Storage
            Asked 2020-Dec-24 at 01:39

            I am trying to get my proxy chrome extention to keep on/off after closing using chrome.local.storage. This does not seem to work, can anyone give some examples on how to get this kind of code working?

            Right now my pac proxy works and turns on and off. The local storage does not seem to work at all, but I followed all the examples on the developer.chrome website. That does not work.

            ...

            ANSWER

            Answered 2020-Dec-24 at 01:39

            Most apis within Chrome extensions are asyncronous. See the documentation here. You can provide a callback as the second argument to the 'get' function where you can use the variable:

            Source https://stackoverflow.com/questions/65428933

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install blackhole

            You can install using 'pip install blackhole' or download it from GitHub, PyPI.
            You can use blackhole like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • PyPI

            pip install blackhole

          • CLONE
          • HTTPS

            https://github.com/kura/blackhole.git

          • CLI

            gh repo clone kura/blackhole

          • sshUrl

            git@github.com:kura/blackhole.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link