5 ms·
SQLite changed temp file prefix after McAfee users called devs to complain (2006)
- conslit 2y agoSQLite's temp file prefix was originally "sqlite_" until McAfee's antivirus started creating temp files in Windows' `c:/temp` folder, frustrating users who then tracked down and called SQLite developers to complain. In response, the prefix was changed to "etilqs_" (SQLite reversed).
- thih9 2y agoHere is the fix in action - multiple people look into the “etilqs” files, but without automatically starting from sqlite: - https://superuser.com/questions/373683/what-is-the-purpose-of-these-etilqs-files-and-can-i-delete-them https://superuser.com/questions/373683/what-is-the-purpose-o... - https://old.reddit.com/r/techsupport/comments/8yv2tn/what_are_etilqs_files_and_why_are_they_melting_my/ https://old.reddit.com/r/techsupport/comments/8yv2tn/what_ar... - https://community.wd.com/t/etilqs-files-in-temp-folder-consuming-60gb-disk-space-courtesy-of-wdfme-exe/28952 https://community.wd.com/t/etilqs-files-in-temp-folder-consu...
- watusername 2y agoTo be fair, to non-technical users I assume both “sqlite” and “etilqs” would look suspicious :)
- Gys 2y ago[2006]
- nayuki 2y agoIndeed, and here's the specific commit where the change happened: https://github.com/sqlite/sqlite/commit/fd288f3549a1ab9a309a9e120d46319d42adea29 https://github.com/sqlite/sqlite/commit/fd288f3549a1ab9a309a...
- wces 2y agoThe relevant comment here: https://github.com/sqlite/sqlite/blob/e8346d0a889c89ec8a78e65abc33257a6c6fb81a/src/os.h#L65 https://github.com/sqlite/sqlite/blob/e8346d0a889c89ec8a78e6... 2006-10-31: The default prefix used to be "sqlite_". But then Mcafee started using SQLite in their anti-virus product and it started putting files with the "sqlite" name in the c:/temp folder. This annoyed many windows users. Those users would then do a Google search for "sqlite", find the telephone numbers of the developers and call to wake them up at night and complain. For this reason, the default name prefix is changed to be "sqlite" spelled backwards. So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.
- fasdfdsava 2y agoI wonder how well it's working-- https://www.google.com/search?q=how+to+fix+etilqs https://www.google.com/search?q=how+to+fix+etilqs
- thorum 2y agoThanks for this, I was wondering why people would care so much about these files that they go and complain. Reading through these forum questions, looks like most people are trying to free up disk space by clearing temp files, but the SQLite ones can't be deleted - because they are in use and locked - which causes confusion.
- rhelz 2y agoIts kind of cool that you can abstract the operating system with only a 200-line long header file.
- lostmsu 2y agoIt is missing threading and networking. Also permissions.
- asveikau 2y agoThis is the interface description. It's not the .c file that implements the abstraction. There is lots of code behind this, redundantly implementing the calls using either Win32 or POSIX.
- JaDogg 2y agoBut you do not need to know about them if abstraction works, I assume it is sufficient for SQLite use case.
- asveikau 2y agoThe filesystem APIs for Windows and POSIX have extremely similar semantics when you bridge their superficial differences. I don't think this is as huge an achievement as suggested. Many multiplatform projects have similar wrapper layers. Indeed the FILE* abstraction in the C standard does some of it. (But not sufficient for the functionality that sqlite needs, hence the need for another wrapper.) That's not a knock on sqlite, I consider it well implemented and one of my favorite libraries I've ever seen, used and studied.
- csense 2y agoYeah, translating between Windows and POSIX paths is basically a one-liner: sed -e 's-/-\\-g' -e 's-^-C:-'
- skissane 2y ago> The filesystem APIs for Windows and POSIX have extremely similar semantics when you bridge their superficial differences. This is in part because Windows and POSIX are relatives. Windows is (partly) descended from DOS, and DOS 2 deliberately borrowed a lot of ideas from Xenix (Microsoft’s Unix port). And Windows has continued to borrow ideas from POSIX since, e.g. Winsock is heavily based on Berkeley Sockets. Compare DOS 2+ handle-based IO to CP/M: CP/M treats files as fixed length 128 byte records instead of bytes, you can only read or write a whole record at a time, and a file’s size on disk must be a whole multiple of 128 [0] - that has more in common with mainframe/minicomputer record-oriented IO than Unix-style byte-oriented filesystems [0] later on, CP/M added an attribute in the directory entry to store how many bytes were valid in the last record of a file; but it wasn’t actually enforced by the filesystem, apps had to set/get the attribute using a separate API, a lot of apps just ignored it, and even for those who did try to use it, two completely opposite conventions of how to use it coexisted
- JaDogg 2y agoFun alternative is to get a paid number. You can complain for but it will cost $100 per minute.
- mannyv 2y agoUnfortunately those don't exist in the US anymore.
- YetAnotherNick 2y agoI don't think they have a free number. Just people searching the personal phone numbers of developers from somewhere they might have mistakenly posted it.
- nayuki 2y agoAntivirus products are worse than viruses. Change my mind. (AV hogs CPU, RAM, disk, and network resources. AV comes with their own exploitable vulnerabilities, often running in kernel mode. AV has their own zero-days and zero-click exploits.)
- loeg 2y agoI think it's a relatively consensus viewpoint in the security industry that AV products are worse than no AV product. I don't think that makes them worse than viruses, though.
- teruakohatu 2y agoIs the consensus that third-party AV is worse than no AV, or that any AV (including Windows Defender) is worse than no AV? In the corperate security "industry", anti-virus use is always recommended and required. The more invasive, buggy and annoying for users the better the AV probably is /s
- loeg 2y agoThird party. I don't think anyone is actively opposed to Defender.
- londons_explore 2y agoEven defender is dumb. When you control the OS, which (in the default setup) has exclusive control of all disk reads and writes, you can be sure that if you wrote a virus-free file to disk, then it will be virus-free when you go to read the disk again. So, why are we doing scan-on-read (with substantial performance overhead) when we should instead be doing scan-on-write (when scanning can, in most cases, be done in idle CPU cycles)?
- kardos 2y ago1) virus database gets updated, what was written virus-free with the previous database may not be virus-free on the current database. 2) removable storage devices 3) the system drive is not controlled during reboots You could imagine building a system that tracks which files we wrote and with which virus database version, which resets things to be scanned across reboots and virus database updates, and has exceptions for removable devices and so on, but it screams "attack surface"...
- palsecam 2y agoSimilar to how Daniel Stenberg (`curl` author) gets complain e-mails unrelated to `curl`, because his address end up being in the license or credits screen of plenty of software. > Apparently, people often have problems finding an appropriate address to contact when they have issues with this app. > This leads a disproportionate amount of them to send emails to me asking for solutions and fixes to their situations. — https://daniel.haxx.se/blog/2024/12/03/no-need-to-email-me-about-cisco-anyconnect/ https://daniel.haxx.se/blog/2024/12/03/no-need-to-email-me-a...
- netsharc 2y agoReminds me of the open source licenses on the BMW infotainment system: https://www.youtube.com/watch?v=Kal-MjsNcFQ https://www.youtube.com/watch?v=Kal-MjsNcFQ I notice libcurl is included.
- deleted 2y ago[deleted]
- kristianp 2y agoThere was a fun thread last year about this topic: https://news.ycombinator.com/item?id=36302805 https://news.ycombinator.com/item?id=36302805 396 points on June 12, 2023 | 141 comments
- 486sx33 2y agoObligatory post. One of my favorite videos. RIP John Mcafee https://www.youtube.com/watch?v=yIaNZXgDtRU https://www.youtube.com/watch?v=yIaNZXgDtRU
- defrost 2y agoNice to see Portland's Club Exotica getting screen credits for a technical software presentation.
- chrismorgan 2y ago> But then Mcafee started using SQLite in their anti-virus product and it started putting files with the "sqlite" name in the c:/temp folder. This annoyed many windows users. Why did it annoy them? I don’t picture most people noticing such things, and in my mental model, almost everyone that would notice such things would know better than to fly off the handle about it. But clearly I’m miscalculating in some way, so I’m curious if anyone can help me to understand.
- latexr 2y ago> I don’t picture most people noticing such things It doesn’t need to be most people. All it takes is a small number of people annoying you disproportionately (calling in the middle of the night) to precipitate a change. > and in my mental model, almost everyone that would notice such things would know better than to fly off the handle about it. Try doing tech support in any serious capacity for any moderately popular piece of consumer software. There are always “power users” who understand enough to poke around but not enough to follow their investigation to the end. As soon as they find the first place in the chain with a contact (email, phone, forum), they’ll contact it and lambast the person on the other end for all their problems. Just ask the curl developer.
- chrismorgan 2y agoBut still… what’s the problem with files in the temp directory? You expect there to be files in the temp directory.
- latexr 2y ago> You expect there to be files in the temp directory. You expect that. These users are savvy enough to shoot themselves in the foot, but not to understand they don’t know how to safely operate a gun. All they know is they’re on low disk space and there’s some large file somewhere they don’t recognise and want to get rid of. Not to place all the blame on them, though. Many of these users were bitten by a misbehaving application in the past and had to figure out themselves how to fix their problem. Some of them took the opportunity to learn about their operating system, continued to explore and learn, and eventually became programmers. The others became obsessed with optimising their system and transformed into the prime target for malware-riddled “cleaner” apps which do more harm than good.