Set-up additional Apache modules in LocalWP – because sometimes, defaults aren’t good enough [A LocalWP Addon].

You know the drill; you add a couple of Header directives to your .htaccess (a cache-control here, an X-Frame-Options there) you reload the page, you check the response headers and… nothing. No error, no warning, no headers. Just… nothing.

Welcome to debugging something that isn’t broken. My favorite pastime! (It is not.) Continue reading “Set-up additional Apache modules in LocalWP – because sometimes, defaults aren’t good enough [A LocalWP Addon].”

Local’s SSL “Trust” button is BROKEN on macOS. Here’s why, and here’s the fix. [A LocalWP Addon].

Click Trust next to your site’s SSL certificate in Local. Enter your admin password like a good citizen. Watch it report success. Open https://mysite.local and… “Your connection is not private”. Click Trust again. Password again. Success again. Warning again.

Insanity, as the saying goes, is clicking the same button twice and expecting different results. Or something like that.

The Problem

On modern macOS, Local’s Trust button doesn’t work. Well it does, but not for you. It shows the password prompt, appears to succeed, and changes absolutely nothing; browsers keep screaming about your .local certificate forever. And because it looks like it worked, you naturally assume the problem is elsewhere; your browser cache, your cert, your karma. It isn’t. It’s the button. Continue reading “Local’s SSL “Trust” button is BROKEN on macOS. Here’s why, and here’s the fix. [A LocalWP Addon].”

Sequel Pro can’t connect to Local’s MySQL 8? MySQL Fixes AddOn to the rescue [A LocalWP Addon].

The Problem

Connect a classic client (for example Sequel Pro, older Sequel Ace, older JDBC tools) to a Local site running MySQL 8 and you’re greeted with authentication errors about caching_sha2_password.

(I talked about this already, here)

The classic clients speak mysql_native_password; MySQL 8 defaults to the new plugin, and on 8.4+ the old plugin isn’t just non-default, but (and in my opinion, this is a bug of omission) it ships disabled.

Meanwhile Local’s own connections work fine, so from Local’s point of view there is no bug. From MY point of view, sitting in front of a client that can’t connect to my own database; there very much is. Continue reading “Sequel Pro can’t connect to Local’s MySQL 8? MySQL Fixes AddOn to the rescue [A LocalWP Addon].”

A quick note regarding MySQL error about caching_sha2_password.so not being able to be loaded

For local database manipulation I still use Sequel Pro. Why? Well, all the derivatives (Like Sequel Ace) have a smaller feature set, and alternatives (like MySQL WorkBench) are too complex, and even limited. (How hard is it to provide a socket based connection, or an SSH tunnel TCP connection…)

Anyhoo, a quick note to myself for fixing the error

Double-check that the socket path is correct and that you have the necessary privileges, and that the server is running.

MySQL said: Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 0x0002): tried: ‘/usr/local/mysql/lib/plugin/caching_sha2_password.so’ (no such file), ‘/System/Volumes/Preboot/Cryptexes/OS/usr/local/mysql/lib/plugin/caching_sha2_password.so’ (no such file), ‘/usr/local/mysql/lib/plugin/caching_sha2_password.so’ (no such file) Continue reading “A quick note regarding MySQL error about caching_sha2_password.so not being able to be loaded”

WordPress 6.8 Multisite Forced Re-Login – Solved!

You may have already noticed or heard from your clients:

WordPress Multi-Domain Multisite (not subdomain nor subdirectory) has an annoying problem since version 6.8;

Every time you switch from one subsite to another, you have to log in again, and you are logged out of the other subsites.

Let me save you the time and effort:

No, it’s not a Cookie Domain problem, it’s not a Cookie Path problem, and there isn’t some sneaky software logging you out just for fun. It’s a side effect of the new password hash implementation in WordPress 6.8. Continue reading “WordPress 6.8 Multisite Forced Re-Login – Solved!”

This madness has to end! (WordPress hashing)


Deprecated: pathinfo(): Passing null to parameter #1 ($path) of type string is deprecated in /data/sites/web/remonpelnl/www/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 84

So. Fair warning. RANT incoming!.

Recently been working on an issue regarding GravityForms. When a visitor submits a file, the file is stored in a ‘secure’ location, which uses wp_hash to determine this ‘secure’ filepath. The link in the email is also ‘secured’ with this hash. Now, is this wrong? no. but it is also NOT correct. As you see, wp_hash uses the AUTH salt and key, which are used for user authentication, aka, login. One of the security measures we take is to prefix the AUTH tokens with a few things that make sure the user is logged out (for example) when the internet connection changes. (Your laptop gets stolen, that sucks, but your website login is invalid, so that stays safe.)

But when the AUTH tokens change …

Continue reading “This madness has to end! (WordPress hashing)”

Handy script: lbl – the missing cli for LocalWP

Local, the development environment for WordPress by LocalWP is great, but I am a terminal type of person. So I adapted an earlier script to work with the new Local version.

This script lets you do (nearly) all you need to do with Local from the CLI. Surely, a click of a button is not hard? true. But why use the mouse when you can use the keyboard. For instance

lbl ssh
opens a new Terminal shell specifically for the site you are in. (not chrooted, but it is set-up correctly).
lbl db
opens Sequel Pro with the correct database.

And there is much more ;) Continue reading “Handy script: lbl – the missing cli for LocalWP”

New toy – almost done – FluxEngine – stand-alone

Hello all.

Yes, I know. It’s been a long time since my last post, but I have a good reason. I have been busy, very very busy with a new 3D project.

Base on the fantastic work of David Given (https://cowlark.com) on FluxEngine I am in the process of developing a stand-alone device to read/write floppydisks (both 5,25 and 3,5 inch) to/from disk images. Please see David’s website on FluxEngine for more information on this part of the project.

You would say that the FluxEngine is the most difficult part made easy by David, and yes, that is true. What I am bringing to the party is the housing, fully 3D printed, the electronics to make it stand-alone, power supply, cooling etc. Interested? Please read on :)

Continue reading “New toy – almost done – FluxEngine – stand-alone”

This just in: Contact-Form-7 (WordPress) Vulnerability – 5 million websites at risk – CVE-2020-35489

A vulnerability has been discovered in Contact Form 7 that allows an attacker to upload malicious scripts. The publishers of Contact Form 7 have released an update to fix the vulnerability.

Unrestricted File Upload Vulnerability…

Noooo, I’m not going to steal/copy/plagiarize this article, just read the article on CVE 2020 35489 on searchenginejournal.com.

But I do have something to add. Continue reading “This just in: Contact-Form-7 (WordPress) Vulnerability – 5 million websites at risk – CVE-2020-35489”

Migrating from SVN to GIT. It has been done before, …, but has it?

Recent changes in policy re-ignited our quest to migrate away from Subversion to GIT, as GIT is much more powerful for branching and merging e.t.c.

Migrating from Subversion is not very hard; you just start over, right? So you want to lose all the project history? I don’t think so.

The migrated GIT-repository should include all history, all commit messages, all tags, all branches. How do you do that? Continue reading “Migrating from SVN to GIT. It has been done before, …, but has it?”

Confidental Infomation
stop spam mail