From bda6b6db1c3fce18681bef122833c6ec057396c7801621b4c6ce2b353e3fcd24 Mon Sep 17 00:00:00 2001 From: Nicholas Johnson Date: Wed, 15 Feb 2023 00:00:00 +0000 Subject: Convert refs: debugging-neomutt --- content/entry/debugging-neomutt.md | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'content') diff --git a/content/entry/debugging-neomutt.md b/content/entry/debugging-neomutt.md index 5d9cf1a..ce69d94 100644 --- a/content/entry/debugging-neomutt.md +++ b/content/entry/debugging-neomutt.md @@ -2,7 +2,6 @@ title: "Debugging Neomutt" date: 2021-12-13T00:00:00 draft: false -makerefs: false --- About a month ago, I was checking my emails in Neomutt. When I opened a particular email, suddenly, Neomutt core dumped. @@ -10,7 +9,7 @@ I thought maybe this was a one-off. I started Neomutt again and tried to load th I was using the fake system time option in GPG for privacy, which caused problems in other applications. Since the email that crashed my client was encrypted, I suspected the bug had something to do with my esoteric GPG configuration. I found that if I disabled gpgme in Neomutt, the crash went away. -I wasn't sure how to further proceed in debugging, so I joined the Neomutt channel on Libera Chat[1], asking for help. I got in touch with Flatcap[2], the creator of Neomutt. He had me send him the raw email data for the email in question. Since he didn't possess my private key for decrypting it, he could not reproduce the bug. +I wasn't sure how to further proceed in debugging, so I joined the Neomutt channel on [Libera Chat](https://libera.chat/), asking for help. I got in touch with [Flatcap](https://github.com/flatcap), the creator of Neomutt. He had me send him the raw email data for the email in question. Since he didn't possess my private key for decrypting it, he could not reproduce the bug. I wasn't about to send him my private key. Someone else suggested I could decrypt the email with my private key, then reencrypt it with a new private key I wouldn't mind divulging. Luckily I knew of a better way. GPG has the "--show-session-key" option. It's used to allow others to decrypt specific messages intended for you without giving them your private key. @@ -22,11 +21,11 @@ With some more assistance, I then used GDB to check the variable values and foun Now that the cause of the crash was understood, Flatcap patched gpgme so it could handle partially defined keys. I pulled the patched branch, recompiled, and tried to open the buggy email again. No crash! -Flatcap invited me to open a Github issue so I could take credit for finding the bug. I informed him I couldn't do that because I don't use Github.[3] So he just opened the issue and mentioned me instead.[4] I looked over it for review and approved. +Flatcap invited me to open a Github issue so I could take credit for finding the bug. I informed him I couldn't do that because [I don't use Github](/2021/05/31/dont-use-github/). So he just opened [the issue](https://github.com/neomutt/neomutt/pull/3137) and mentioned me instead. I looked over it for review and approved. I thanked Flatcap for creating Neomutt. I really enjoy using it. I'm glad I was able to contribute to such a fantastic email client. The only reason this interaction was possible is because Neomutt is free software. If it were proprietary, I couldn't have debugged it with GDB. I probably wouldn't have gotten to interact directly with the developer who writes the software I use. I'd probably be stuck waiting days or weeks on a response from an opaque company where I couldn't even review the patch or get credit for reporting the bug. -In free software communities, interactions like these are happening all the time. When people use proprietary software, they're not just missing out on good software. They're missing out on being part of a community. Free software isn't just about writing better code. That's open source. Neither is it fundamentally about money. That's proprietary software. Free software is about community.[5] +In free software communities, interactions like these are happening all the time. When people use proprietary software, they're not just missing out on good software. They're missing out on being part of a community. Free software isn't just about writing better code. That's open source. Neither is it fundamentally about money. That's proprietary software. [Free software is about community](https://www.gnu.org/music/free-software-song-rhythmic.ogg). ```Free Software Song Lyrics @@ -50,11 +49,3 @@ You'll be free, hackers, you'll be free Join us now and share the software; You'll be free, hackers, you'll be free ``` - - -Link(s): -[1: Libera Chat](https://libera.chat/) -[2: Flatcap](https://github.com/flatcap) -[3: Don't Use Github](/2021/05/31/dont-use-github/) -[4: Bug Report](https://github.com/neomutt/neomutt/pull/3137) -[5: Free Software Song](https://www.gnu.org/music/free-software-song-rhythmic.ogg) -- cgit v1.2.3