« first day (2768 days earlier)      last day (1035 days later) » 

11:00 AM
[ SmokeDetector | MS ] Blacklisted username, potentially bad keyword in answer, potentially bad keyword in username (92): Remote Dual Booting by Wesley Atwood on askubuntu.com (@Ollie)
 
[ SmokeDetector | MS ] Blacklisted username, mostly punctuation marks in answer, potentially bad keyword in username, toxic answer detected, blacklisted user (278): After update can't boot, only terminal grub> by Wesley Atwood on askubuntu.com (@Ollie)
 
[ SmokeDetector | MS ] Potentially bad keyword in body, blacklisted user (72): oeps... er is een serverfout opgetreden en uw e-mail is niet verzonden. (#007) by kikukevin on stackoverflow.com
 
11:07 AM
[ SmokeDetector | MS ] Potentially bad keyword in username (1): sending data from PHP to flask API With PHP Post Request by mideo mideo on stackoverflow.com
 
[ SmokeDetector | MS ] Offensive answer detected, potentially bad keyword in answer, toxic answer detected (159): Active Directory User Can't Authenticate in ubuntu machine by The way we spam on askubuntu.com (@Ollie)
[ SmokeDetector | MS ] Link at beginning of answer (34): Get Reports On Ads Using Google Ads Api by johnsophia455 on stackoverflow.com
 
[ SmokeDetector | MS ] Offensive answer detected, potentially bad keyword in answer, toxic answer detected, blacklisted user (230): Unable to join Samba ad domain in Windows Client- "DNS name does not exist." by The way we spam on askubuntu.com (@Ollie)
 
tpu- feedback received on [MS] Get Reports On Ads Using Google Ads Api
 
11:15 AM
CI on 576ee6a succeeded. Message contains 'autopull', pulling...
 
[ SmokeDetector ] GitHub Actions: success on 576ee6a by tripleee in the master branch
 
[ SmokeDetector ] SmokeDetector started at rev 01c0bb51b (tripleee: ! Watch IP 85.187.128.41) (running on teward/Osiris, Python 3.6.9)
Restart: API quota is 14791.
 
[ SmokeDetector ] GitHub Actions: success on fa8a4fb by tripleee in the master branch
 
!!/watch (?-i:^Britannia 2000 Holdings$)
 
11:16 AM
!!/watch websitepandas\.com
 
[ SmokeDetector ] GitHub Actions: success on 01c0bb5 by tripleee in the master branch
 
!!/watch articlescad\.com
 
@tripleee That pattern looks like it's already caught by Potentially bad keyword in answer and Potentially bad keyword in body Append -force to the command if you really want to add this pattern.
[ SmokeDetector | MS ] Blacklisted website in answer (93): Is there any difference between a Power BI Gateway versus an Azure Gateway by ShrutiJoshi-MT on stackoverflow.com
[ SmokeDetector | MS ] Link at end of answer (61): C# RDP Licensing by Shakil Ahamed on stackoverflow.com
[ SmokeDetector | MS ] Blacklisted user (71): Open CWD in File Explorer | 20.04 LTS on Windows 10 by The way we spam on askubuntu.com (@Ollie)
[ SmokeDetector | MS ] Bad keyword in body (95): CSS, Grid layout not properly aligning ✏️ by MonkleBrain on stackoverflow.com
 
tpu- feedback received on [MS] C# RDP Licensing
 
11:19 AM
!!/watch readyrdp\.com
 
fp- feedback received on [MS] CSS, Grid layout not properly aligning
[ SmokeDetector ] GitHub Actions: success on f41d6d9 by tripleee in the master branch
 
[ SmokeDetector | MS ] Potentially bad keyword in answer (1): Network Cable Unplugged After waking from suspension after Upgrading to 21.04 by W3s A on askubuntu.com (@Ollie)
 
11:24 AM
[ SmokeDetector | MS ] Link at end of answer, misleading link, pattern-matching website in answer, potentially bad keyword in answer, toxic answer detected, +1 more (313): How to make and receive phone calls via Ubuntu? by W3s A on askubuntu.com (@Ollie)
 
[ SmokeDetector | MS ] Potentially bad keyword in username (1): Как добавлять значения с определённой строки? by hsgggs on ru.stackoverflow.com (@VictorVosMottor)
 
iBug/Lily: Executing automatic scheduled reboot.
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword with email in answer, blacklisted website in answer (265): Contact Form 7 - Multiple text fields on the same line by Paul on stackoverflow.com
[ SmokeDetector | MS ] Mostly punctuation marks in body (28): How to not print none by Purpl3 YT on stackoverflow.com
 
11:46 AM
[ SmokeDetector | MS ] Bad ip for hostname in body, bad keyword in title, blacklisted website in body, link at end of body, potentially bad keyword in body (396): XL Real Mue Gainer sXL Real Muscle Gainercl by NaileOliveya on superuser.com
 
Makyen/EC2-linux: Executing automatic scheduled reboot.
 
@Makyen do you happen to know how long the DNS lookup data is cached in SD/MS?
 
i think theres stale data and wouldnt mind kicking Osiris' cache
 
11:56 AM
[ SmokeDetector | MS ] Linked punctuation in answer, potentially bad keyword in answer (65): How to deal with a custom type using NHibernate filters by rob miller on stackoverflow.com
 
[ SmokeDetector | MS ] Potentially bad keyword in body (1): Dataframe Python from 1 column to 6 columns by a.v. Magia on stackoverflow.com
 
!!/watch- apksdesk\.com
 
12:15 PM
[ SmokeDetector | MS ] Pattern-matching website in body, potentially bad ns for domain in body (97): How can I handle six SoftwareSerial ports for six Nova SDS011 Air Quality Sensors on Arduino MEGA? by Dratcher on arduino.SE
 
12:31 PM
[ SmokeDetector | MS ] Bad keyword in body, bad keyword with email in body, blacklisted user (221): how to get stolen bitcoins back? by Dupuy Michael on bitcoin.SE
 
tpu- feedback received on [MS] how to get stolen bitcoins back?
 
user435118
!!/watch-number- +19784003014
 
PR#6537 ("Xnero: Watch +19784003014") opened by SmokeDetector
 
!!/approve 6537
 
[ SmokeDetector | MS ] Link at beginning of answer, potentially bad ns for domain in answer (35): Examples of the price of abstraction? by harris teeter employee website on cstheory.SE
 
12:42 PM
tpu- feedback received on [MS] Examples of the price of abstraction?
 
!!/watch myhtspace\.website
 
[ SmokeDetector | MS ] Potentially bad keyword in answer (1): In Acts 3:20-21 what are the "times of the restitution of all things"? by Brian on hermeneutics.SE
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword with email in answer, blacklisted website in answer (265): Which side of an aluminum foil should I put in contact with food? by Sarah on chemistry.SE
 
[ SmokeDetector | MS ] Manually reported question (93): How many legs does a spider have? by whotplace on stackoverflow.com
 
tpu- feedback received on [MS] How many legs does a spider have?
 
!!/watch- newhotplace\.com
 
@metasmoke six to eight?
 
[ SmokeDetector | MS ] Offensive title detected (54): How do I eat my own shit? by user274733 on gaming.SE
 
tpu- feedback received on [MS] How do I eat my own shit?
 
[ SmokeDetector | MS ] Potentially bad keyword in body (1): What to Look for in an Ecommerce Website Design Company by Josephwayin on stackoverflow.com
 
[ SmokeDetector | MS ] Potentially bad asn for hostname in body (1): I want to make overflow-x hidden and overflow-y visible ✏️ by Web Tek on stackoverflow.com
[ SmokeDetector | MS ] Few unique characters in answer, no whitespace in answer, repeating characters in answer (264): Do the Grievers in the movie match the description of them in the book? by user142726 on scifi.SE
 
[ SmokeDetector | MS ] Username similar to website in answer (65): Lazy Load On Blogger by Aman Chourasia on stackoverflow.com
[ SmokeDetector | MS ] Toxic answer detected (80): Python why i get tuple and how to avoid it by Daniel IG on stackoverflow.com
[ SmokeDetector | MS ] Potentially bad ip for hostname in answer (1): Would it be considered as rude as full name is not visible? by Toliver on graphicdesign.SE
 
sdc watch- getcustomphonecase\.com
 
PR#6538 ("Ollie: Watch getcustomphonecase\.com") opened by SmokeDetector
 
!!/approve 6538
 
!!/approve 6538
 
@Spevacus PR #6538 is not currently open, so I won't merge it.
 
>_> Ignore me
 
@Spevacus ninja'd.
I'd give ^^^^^^ an fp-, but that'd take them off the blacklist...
 
1:48 PM
Can't tell if it's an answer or not.
 
@Spevacus looks like it answers the question - they just happen to have posted red-flaggable content as soon as they signed up.
So, using the "vote for the content" rule, I'd say fp-, or go nuclear.
Also, that profile description doesn't help.
 
2:10 PM
[ SmokeDetector | MS ] Potentially bad ns for domain in answer, username similar to website in answer (66): Need to intergate IDX MLS into a website by agent roof on stackoverflow.com
 
!!/watch- agentroof\.com
 
[ SmokeDetector | MS ] Potentially bad keyword in body (1): Are You Looking SEO Link Building Expert & Professional Freelancer? by Delowar on stackoverflow.com
 
@SmokeDetector k
 
2:22 PM
[ SmokeDetector ] SmokeDetector started at rev 102bd9f92 (Makyen: MS instance: prevent automatic revert to earlier commit) (running on Makyen/EC2-num02, Python 3.6.12)
 
@SmokeDetector k
 
!!/amiprivileged
 
@TylerH ╳ You are not a privileged user. Please see the privileges wiki page for information on what privileges are and what is expected of privileged users.
 
Bummer. Would rather report a DIY.SE spam post here than in SOCVR.
 
[ SmokeDetector | MS ] Mostly non-latin body (80): Solve the problem by Adrit Nag on math.SE
[ SmokeDetector | MS ] Potentially bad ns for domain in answer (1): ¿Como actualizar via AJAX un atributo de un modelo desde el administrador de django? by Victor on es.stackoverflow.com
 
2:35 PM
@TylerH Just report and bin it for now. I did that back in the day
Or...
 
[ SmokeDetector | MS ] Manually reported question (93): Who is the best electrician in Woburn MA? by Integrity Electrical on diy.SE
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword with email in answer, blacklisted website in answer (265): What's in the crater on Europa in "2010: The Year We Make Contact"? by Dawn on scifi.SE
 
!!/watch- theintegrityexperience\.com
 
@SmokeDetector k
 
fp- feedback received on [MS] Solve the problem
 
@ThomasWard No, I don't know off the top of my head. I'd have to look at the code. ... It looks like we implement a separate cache for DNS results in findspam.py, which is pruned to a maximum of 1000 entries every time there's a cache miss and there are > 1500 entries. Given that it's in findspam.py, it should be cleared each time SD reboots, but not each time the blacklists are updated. Effectively, this means that the cache should last no longer than 6 hours, due to the 6 hour periodic reboot.
Obviously, there would also be any DNS caching which is implemented at the system level.
A brief search indicates that the dnspython package which we use implements a couple of different types of caches, which are disabled by default, and we do not enable either of them. One of those is a least recently used based cache, which has the ability to specify the maximum number of entries in the cache. I note that the cache code which we have is not thread-safe, but the ones which are implemented by dnspython are.
I assume we use our own cache implementation for one of a variety of possible reasons, but I don't know the specific reasons for that choice. Given the thread safe/not thread safe issue, I'm tempted to switch over to using the LRU cache which is implemented in the dnspython package (rather than working to make ours thread safe). Doing so would have the side effect of also using the cache in chatcommands.py, blacklists.py, and the dnsresolver.py class.
 
[ SmokeDetector | MS ] Scam aimed at customers in body (26): ACPI ERROR ON DELL INSPIRON 3480 UBUNTU 20.04LTS by Alan Chibilisco on askubuntu.com (@Ollie)
 
@TylerH Is it your intent that you have SD privileges in SOCVR and SOBotics, but not here in CHQ? If not, do you want them here?
 
2:52 PM
@Makyen i figured it out where it is
@Makyen the fact we have a DNS_CACHE function in findspam is where the stale data I think is coming from.
 
[ SmokeDetector ] GitHib Action workflow build (3.6): failure on f191994 by teward in the customizable-dns branch
 
I have a PR to allow some changes going forward - but i know it's going to fail on some tests.
 
[ SmokeDetector ] GitHib Action workflow build (3.9): failure on f191994 by teward in the customizable-dns branch
 
i'm working on things first
ignore that branch for a while
 
2:58 PM
@ThomasWard OK. Is there a reason not to just use one of the the already implemented caches in the dnspython package? If our cache is moved out of findspam.py, then there's more of a need to make it thread safe. Even in findspam.py, if we continue to use it, then it should be made thread safe.
 
[ SmokeDetector | MS ] Potentially bad ip for hostname in body (1): How can i get chart`s photo from SVG chart in Python by Igor on stackoverflow.com
[ SmokeDetector | MS ] Few unique characters in answer, repeating words in answer (174): How to make a good form in Javascript? by Dion zeneli on stackoverflow.com
[ SmokeDetector | MS ] Few unique characters in answer, repeating words in answer (174): How to make a good form in Javascript? by EMB on stackoverflow.com
 
tpu- feedback received on [MS] How to make a good form in Javascript?
tpu- feedback received on [MS] How to make a good form in Javascript?
 
@SmokeDetector k
 
3:14 PM
@Makyen My goal is to allow us to disable the in-memory cache which is a dict right now
and rely on the system resolver or the DNS Resolver directly for system cached results
(which is what Art thought it did already)
@Makyen My 2 cents is "Rely on system resolver cache" or "Rely on Nameserver resolver cache if using a non-system resolver". Apparently I accidentally introduced some kind of circular dependency so might have to stab something
 
@ThomasWard My 2 cents would be: use one of the caches implemented in the dnspython package, or don't have one separately implemented in SD, unless we're getting some significant performance improvement by using a cache we're implementing ourselves, which could primarily be that ours is not thread safe (which would introduce some overhead, but is needed).
I suspect ours was implemented either because the person who did so wasn't aware of the ones in the dnspython package, or that they did not exist at the time ours was implemented.
Basically, I'm not seeing what benefit we're getting from implementing our own which isn't outweighed by it not being thread safe.
 
[ SmokeDetector ] GitHub Actions: success on 3955489 by teward in the customizable-dns branch
 
@Makyen I don't disagree. That's a separate task
because I still want to be able to enable/disable caching as an option
hey i fixed the circular dep issue
 
3:28 PM
@Makyen if we do anything, I'd like to extend our DNSResolver class and add a local DNSResolver.cache object that can either be initialized or not based on a config argument (dns.resolver.Cache)
customizable-dns initiates a classes.dnsresolver.DNSResolver object on load that can be referred to everywhere
for the dig command, etc.
but that's after getting an enable/disable function
and i'd rather use that because it's a timed dump, data is only cached up to cleaning_interval
which means if we have an entry it's flushed automatically
but first I want to get the DNS customizable before I start deep diving into caching.
 
[ SmokeDetector | MS ] Potentially bad keyword in body (1): How to avoid re-buying the same course by one user in WooCommerce? by tigzik on stackoverflow.com
 
@Makyen keep in mind that the only way we can do the dnspython thread-safe caching is with the single-resolver-in-use case.
because the 'DNS Cache' is configured in the resolver at init time, because we have DNSResolver which lets us set that up
so this is a major change that'll require an SD reboot, and some more config options
 
@SmokeDetector fp- It's got 4 upvotes and answers it well, so I don't think it's trolling / cc @Luuklag
 
@ThomasWard Unless the the dnspython package is doing something special, just importing the package should result in a single resolver being used by all the packages which import it within the same overall executable. That's one of the reasons that the cache needs to be thread-safe.
 
3:50 PM
@Machavity well, report is a privileged command :-)
 
[ SmokeDetector ] GitHib Action workflow build (3.6): failure on e9867fa by teward in the customizable-dns branch
[ SmokeDetector ] GitHib Action workflow build (3.9): failure on e9867fa by teward in the customizable-dns branch
 
@Makyen If I can have them here, sure, that'd be good; I am seldom in this room (like, 2 or 3 days a year)
 
@Makyen There's no way to set the 'cache' on a dnspython object except at init time with our extended __init__ (classes.dnsresolver.DNSResolver), or modifying it before use, i.e. init the resolver object and then do resolverobj.cache = dns.resolver.Cache
with our DNSResolver class I can init that at runtime
and that's threadsafe because DNSResolver is an extended class of dns.resolver.Resolver() to allow additional init options
if we want the cache to be 'global' we use a globalvars Resolver object
and enable it
i know there's failure be silent MS
 
@TylerH I meant I could report it for you instead. But Smokey will take it in SOCVR as well (there just won't be any response because it's limited to reporting SO in there)
 
@Makyen i don't think the issue is 'thread safe caching', but more 'how do we tell the DNS Resolver() instance to use a cache object. Which, we can do at init time, and still be thread safe
 
3:56 PM
I did it a few times before getting Charcoal privs
 
the only difference with DNSResolver vs. a straight dns.resolve.Resolver is that we can do some initial configuration automatically at start time, and it'll still be a threadsafe process
 
@Machavity ah, yeah. I was going to eventually do it in SOCVR if it hadn't been killed yet
 
[ SmokeDetector ] GitHub Actions: success on 4db1198 by teward in the customizable-dns branch
 
[ SmokeDetector | MS ] Toxic body detected (56): Purity related question by Fudgehdugxfrd on islam.SE
 
fp- feedback received on [MS] Purity related question
 
4:02 PM
[ SmokeDetector | MS ] Bad keyword in body, bad keyword in title, potentially bad asn for hostname in body, potentially bad ns for domain in body, potentially bad keyword in body (196): Situs Judi Online24jam aman dan terpercaya by cut hayaton on meta.SE (@Ollie)
 
sdc watch where2lodge\.com
 
sdc watch amanchourasia\.in
 
4:05 PM
@ThomasWard the parts I touched had a really aggressive prune strategy, it just basically tries to avoid asking DNS again while handling the same post ... I was looking at that and thinking it would probably be useful to make the cache bigger, but I never did anything about it
 
@tripleee there's a few ways to do it, but as Makyen suggested, we should use a thread-safe version that's implemented in the DNS Resolver we query
rather than sustaining an in-memory dict for it (which isn't necessarily thread safe, and could permit us to drop a global declared DNS_CACHE variable)
 
@ThomasWard It appears there's only ever one resolver in use. None of the calls we make appear to instantiate a new resolver object from the dnspython package (i.e. all use the single base resolver). While turning on one of the caches provided in the dnspython package is desirable to do at init time, it appears that it can be done at any time. In other words, it appears that the setup for the resolver could be in ws.py and affect everything which subsequently imports dnspython.
 
@Makyen There are actually two resolvers.
 
dns_resolve without assigning a resolver (chatcommands: dig) initializes a brand new query system
 
@ThomasWard Actually in use within SD which both use the the dnspython package, or just as possibilities to select to config the one which is used by the dnspython package?
 
@Makyen context is important. So what my goal here is so that we can do the following:
 
[ SmokeDetector | MS ] Potentially bad keyword in body (1): Can offshore scam companies be closed down by Interpol by Gee Browne on bitcoin.SE
 
(1) Initalize a globally referrable DNS Resolver object, that is configured based off config options (nameservers or 'system', cache enabled/disabled, cache TTL)
(2) use that resolver for any resolutions that we do
 
currently because it sits in chatcommands for dig and findspam, we need to initialize both and use Caching if we enable it
which also, incidentally, fixes the need for us to have keep our own cache because we'll let the resolver object have its own cache initialized or not at initialization of the Resolver object
based on a config argument
 
[ SmokeDetector | MS ] Potentially bad ip for hostname in body (1): Suyndicate Report on biometric by Shabaz Sayyed on superuser.com
 
@Makyen The possibilities in my case are to configure the resolver used by SmokeDetector, which all is going to be a dns.resolver.Resolver class (dns.* is dnspython when I talk to it outside of GlobalVars.dns which is a Resolver object.)
the problem with init of a Resolver is that you can only do pretty much no real configuration
no ability to add Nameservers manually unless you do it after object init, etc.
 
tpu- feedback received on [MS] Suyndicate Report on biometric
 
Basically, DNSResolver in classes.dnsresolver is identical to dns.resolver.Resolver but lets us do the initialization of important items without having to physically reinitialize or reinstantiate configuration options each time you refer to dns.resolver.Resolver() objects.
 
4:17 PM
@SmokeDetector k
 
sdc watch emergenresearch\.com
 
sdc watch- emergenresearch\.com
Blaargh
 
@Ollie That pattern looks like it's already caught by Potentially bad keyword in answer and Potentially bad keyword in body Append -force to the command if you really want to add this pattern.
 
Oops :)
 
I'm not seeing anything that's actually giving a separate instantiation to the the dnspython package's resolver (i.e. the ability to have more than one resolver in use at the same time). As far as I'm seeing, all of those are the same resolver.
It could be I'm not understanding what is being provided by the the dnspython package, but that's what it looks like, and in the still brief looks I've taken at the documentation and the existing code, there isn't anything which indicates there are separate instantiations of the the dnspython package resolver which are separately configured within the same overall executable.
 
4:18 PM
@SmokeDetector yep, you can reject that. cc @cigien ;)
 
@Ollie There's nothing to reject; no PR was made.
 
Oh yeah
 
@Makyen so
it's less a 'separate instantiation to the resolver' and more an 'ease of configuration' perspective
This is how you set caching, nameservers, etc for a dnspython Resolver out of the box:
 
[ SmokeDetector | MS ] Link at beginning of body, potentially bad asn for hostname in body, potentially bad ns for domain in body (43): Fireplace bi-fold doors, should they be opened or closed when you have a fire? by Mike Monaghan on diy.SE
[ SmokeDetector | MS ] Few unique characters in body, no whitespace in body, repeating characters in body (258): what do i do to do i do ✏️ by Pramadito Rafiaqil Ibrahim on stackoverflow.com
 
4:26 PM
[ SmokeDetector | MS ] Link at beginning of body (41): Return starred expression by KLEYZYツ on ru.stackoverflow.com (@VictorVosMottor)
 
sdc watch- woodstove-fireplaceglass\.com
 
PR#6539 ("Ollie: Watch woodstove-fireplaceglass\.com") opened by SmokeDetector
 
@SmokeDetector Ya'll sure that's tp?
 
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword with email in answer, potentially bad keyword in answer (173): How to change Windows 8 boot logo (OEM style)? by McAnthony Augustine on superuser.com
 
import dns.resolver

sysdns = dns.resolver.Resolver()  # uses system /etc/resolv.conf on LInux by default
sysdns.resolve(...)

rdns = dns.resolver.Resolver(system=False)
rdns.nameservers = ['8.8.8.8', '8.8.4.4']
rdns.cache = dns.resolver.Cache(300.0)

rdns.resolve(...)
 
4:27 PM
 
@Makyen ^^ what our DNSResolver thing does is let us do:
 
[ SmokeDetector | MS ] Bad keyword with a link in answer, potentially bad keyword in answer (81): What is the difference between Opacity and Fill on a photoshop layer? by Ashraf on graphicdesign.SE
 
@Undo It looks to be solely promotional to me. There's barely a question, and the link to their product is unnecessary.
 
import classes.dnsresolver

dns = classes.dnsresolver.DNSResolver(configure=False, nameserver=['8.8.8.8', '8.8.4.4'], enable_cache=True, cache_cleanup_interval=300.0)
 
4:29 PM
sdc approve 6539
 
@Makyen ^^ this is basically just initializing the superclass (dns.resolver.Resolver) and taking the three lines to configure rDNS and use it into an initialize-and-use two lines
 
because otherwise we have to do all those individual lines manually at initialization time
OTHERWISE it's still dnspython's dns.resolver.Resolver() class, it's just a simplified way to configure it at instantiation time without needing to know the internals
classes.dnsresolver also implements resolve_dns for the dig command
 
@cigien It's strictly off topic according to their help/on-topic ("Operation of..." on diy.stackexchange.com/help/on-topic), but I have a hard time justifying tp
 
@Undo sorry we're all talking on each other :)
 
4:33 PM
@SmokeDetector k
@SmokeDetector k
@SmokeDetector v
 
@Undo it's off-topic, promotional, and dead thanks to the red flags. I'd have a tricky time justifying any other feedback.
 
> Member since: today
> Extremely promotional profile
 
@Undo Yeah, looking at the profile, and the way the question is framed, along with the link, I can't see how that's not TP. If that's not spam, it looks very close to it. Is there some particular reason you're not comfortable with TP on that?
 
I've also flagged as spam. I can't figure out what you see @Undo that I and others miss.
 
[ SmokeDetector | MS ] Offensive answer detected, potentially bad keyword in answer, toxic answer detected (159): Can adequate heating transform spoiled food into safe food? by friendlyhelper on cooking.SE
 
@ThomasWard Ahh, now that looks like it instantiates more than one resolver.
 
@SmokeDetector fp- domain appears have been spammed a lot 2 years ago, but this post seems ok, and no affiliation that I can find.
 
@Makyen the 'sysdns' example is the 'default' for resolve_dns (a function not a class) for the dig function
resolve_dns actually refers to a new DNS Resolver instance like sysdns does in that example but during its creation as the 'default' object - which is recreated every time someone calls !!/dig which was the DNS verification thing
because our DNS cache said one thing but actual DNS said another (refer to @ArtOfCode's hastily written 'dig' wrapper)
 
@ThomasWard That could be the fault of our caching, or the effect of using different nameservers.
 
@SmokeDetector k
 
4:47 PM
 
@Makyen right, which we know was our caching and different DNS records.
 
but because we force cache anyways in the current code, we don't have the ability to 'clean' that in a thread safe way until the pruner eventually prunes it
@Makyen by using our instantiation with DNSResolver, we can configure a cache built-in at creation time (using dns.resolver.Cache which implements a TTL for any given cached record, like a normal DNS server does), and then that cache is global if the Resolver() or DNSResolver() object is also globally available
 
@ThomasWard So... just changing to using one of the caches in the dnspython package, which both obey DNS TTL, and can be either pruned on a schedule or have a max size.
 
@Makyen which we can only make work at dns.resolver.Resolver() instantiation time for it to globally apply that cache
which also means the Resolver() object needs to be globally referenced
 
@ThomasWard My impression is that dns.resolver is persistent and that setting a cache for that would be persistent for the entire program, unless you then instantiate an additional dns.resolver.Resolver(), which could then have separate settings.
 
@Makyen correct, in which case you have two Resolver objects.
@Makyen The other option is to create two instances
one with caching and one without
 
@ThomasWard Yes, but one is already persistent and global.
 
4:55 PM
and switch between the two if we need a non-cached version
@Makyen not unless my current PR is imported, no
@Makyen the PR is a WIP
we currently don't actually have a global 'resolver' object
just a class definition for easy init of subitems underneath Resolver
 
[ SmokeDetector | MS ] Potentially bad keyword in answer, blacklisted user (72): Can adequate heating transform spoiled food into safe food? by friendlyhelper on cooking.SE
 
@Makyen if we look at the current code minus my PR...
creates a brand new Resolver instance without caching every single time we don't have an item in DNS_CACHE which is just a dict we keep in memory at run time
we COULD create a DNS_CACHE = dns.resolver.Cache object but then we have to do resolver.cache = DNS_CACHE
 
@cigien @Undo if you have a moment we moved to the Tavern for the fireplace spam. Start here
 
and that makes a single search on that line (answer = dns.resolver.resolve(label, qtype, search=True)) into a three lines thing:
resolver = dns.resolver.Resolver(configure=True)
resolver.cache = DNS_CACHE
answer = resolver.resolve(label, qtype, search=True)
 

« first day (2768 days earlier)      last day (1035 days later) »