* [PATCH v2] CONTRIBUTING: Please sign your emails with PGP @ 2023-11-22 13:47 Alejandro Colomar 2023-11-22 16:25 ` G. Branden Robinson 0 siblings, 1 reply; 10+ messages in thread From: Alejandro Colomar @ 2023-11-22 13:47 UTC (permalink / raw) To: linux-man; +Cc: Alejandro Colomar, Matthew House [-- Attachment #1: Type: text/plain, Size: 1613 bytes --] Cc: Matthew House <mattlloydhouse@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org> --- CONTRIBUTING | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CONTRIBUTING b/CONTRIBUTING index 475244c13..7b85e7375 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING @@ -56,6 +56,29 @@ Description help + Sign your emails with PGP + It is strongly encouraged that you sign all of your emails sent + to the mailing list, (especially) including the ones containing + patches, with your PGP key. This helps establish trust between + you and other contributors of this project, and prevent others + impersonating you. If you don't have a key, it's not mandatory + to sign your email, but you're encouraged to create and start + using a PGP key. + + There are many ways you can sign your patches, and it depends on + your preferred tools. You can use git-send-email(1) in + combination with mutt(1). For that, do the following. + + In <~/.gitconfig>, add the following section: + + [sendemail] + sendmailcmd = mutt -H - && true + + And then, patch mutt(1) to enable encryption in batch and mailx + modes, which is disabled in upstream mutt(1). You can find a + patch here: + <https://gitlab.com/muttmua/mutt/-/merge_requests/173>. + Patches If you know how to fix a problem in a manual page (if not, see "Reporting bugs" below), then send a patch in an email. -- 2.42.0 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP 2023-11-22 13:47 [PATCH v2] CONTRIBUTING: Please sign your emails with PGP Alejandro Colomar @ 2023-11-22 16:25 ` G. Branden Robinson 2023-11-22 17:26 ` Alejandro Colomar 0 siblings, 1 reply; 10+ messages in thread From: G. Branden Robinson @ 2023-11-22 16:25 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man, Matthew House [-- Attachment #1: Type: text/plain, Size: 7342 bytes --] Hi Alex, At 2023-11-22T14:47:58+0100, Alejandro Colomar wrote: > + Sign your emails with PGP > + It is strongly encouraged that you sign all of your emails sent > + to the mailing list, (especially) including the ones containing > + patches, with your PGP key. This helps establish trust between > + you and other contributors of this project, and prevent others > + impersonating you. If you don't have a key, it's not mandatory > + to sign your email, but you're encouraged to create and start > + using a PGP key. I think you should alter this advice to employ the active voice, not the passive. When an authority is dispensing advice or direction, people need to know who that authority is. In this case, it would appear to be the Linux man-pages project maintainers. If there is an external authority whose advice you are transmitting, then that authority should likewise be cited by name. Such a practice is important for long-term project governance because that way your successors know at whose discretion the advice can/should be updated. While it does sometimes happen that a project changes ownership into hands that are reckless and produce senseless churn such that careless retention of old advice is actually preferable, in my experience, it is at least as common for them to pass to people who are uncertain of the motivations behind certain decisions, or cannot tell which decisions were made with deliberation (as opposed to "going along to get along") or following a recommended best practice that has become invalidated by the passing decades. The recent conversations about string copying on this list reflect just how complex and frustrating such matters can be in another domain. "Everybody" assumed for decades that copying strings in C was a trivial matter.[1] Now, we look back over three decades of our brethren crucified upon CVE crosses along the Appian Way to a better C standard library, and realize that Seventh Edition Unix probably should have some offered something like a string_copying(7) document. > + There are many ways you can sign your patches, and it depends on > + your preferred tools. You can use git-send-email(1) in > + combination with mutt(1). For that, do the following. > + > + In <~/.gitconfig>, add the following section: > + > + [sendemail] > + sendmailcmd = mutt -H - && true > + > + And then, patch mutt(1) to enable encryption in batch and mailx > + modes, which is disabled in upstream mutt(1). You can find a > + patch here: > + <https://gitlab.com/muttmua/mutt/-/merge_requests/173>. I find it awkward to "strongly recommend" a best practice that isn't easily facilitated by _any_ readily available tool without further hacking. That you have to dispense this advice suggests to me that the status quo has not yet caught up with your ambitions. I would soften the strength of your recommendation and explicitly concede that better tooling support is necessary to advance the state of the art. I "manually" sign my messages to this list (that is, via keyboard-driven menu selections in neomutt(1)). But I don't produce patches in sufficient volume that this tedium rises to a serious annoyance. So what you might do for the time being is to focus on advice to similarly situated users, and concede that, for people who are high frequency patch generators, technology is lacking at present. Regards, Branden [1] I encourage anyone with either a reverential or heretical turn of mind to review §5.5 of the 2nd edition of _The C Programming Language_ and consider it light of our string_copying(7) discussions. I would attend particularly to what is implied by the recommendation of Exercise 5-5 to implement strncat(3), strncmp(3), and strncpy(3) from scratch. (A Kernighan & Ritchie idolator might claim that they perceived all of the conceivable problems in 1988, and offered the exercise as an elliptical means of warning the sufficiently savvy reader that the standard library had gone astray. Personally, I think such an inference is inconsistent with Ritchie's own expressed opinions about obscurantism.[2] But if there's one thing brogrammers are free with, it is negative assessments of others' intellects. I recently read an ACM oral history interview with the designer of the Pentium Pro.[3][4][5] He passed along some excellent advice to anyone who has to endure a toxic working environment. "...if some human mind created something then your human mind can understand it. You should always assume that, because if you assume it, it throws away all the doubts that are otherwise going to bother you, and it's going to free you to just concentrate on 'what am I seeing, how is it working, what should I do about it, what am I trying to learn from this'. Never, ever think that you're not smart enough; that's all nonsense." -- Robert P. Colwell [2] https://web.archive.org/web/20150218135530/http://cm.bell-labs.com/cm/cs/who/dmr/odd.html [3] https://www.sigmicro.org/media/oralhistories/colwell.pdf [4] Only one point concerns me about it. There's a clash between Colwell's assertion that Intel had employed formal methods to validate the original Pentium's floating point unit, and accounts I've received from other sources (independently of but consistently with the Wikipedia article about the processor) that Intel had consciously _foregone_ such methods for that chip (presumably due to expense or deadline pressure). The result was the infamous FDIV bug and, so I hear, a resolution to never again skip formal verification of the FPU. I wonder if Colwell was mistaken here. [5] Colwell's assessment of and stories about the ill-fated i432 architecture are also worth reading. The popular conception of that CPU constitutes a negative lesson like the one commonly expressed by Linux hackers who thoughtlessly traffic in Torvalds quotations about microkernels (as shibboleths of their clubhouse memberships?), in which we can observe the imprudence of parroting claims about why a technology failed. If we accept Colwell's account, the compiler group tasked with supporting i432 was effectively a resistance movement against the chip architecture, and deliberately sandbagged the machine's performance. That it was "stupid" to try to support the Ada programming language in a CPU, and to design it such that access checks were supported in a robust and hierarchical way, is the _wrong_ lesson to draw from i432's failure--just as "microkernels are inherently inefficient, hurr hurr" is precisely the wrong one to take from a single example, Mach, not being performant in the 1990s. But don't despair. We can combat the claims of the ignorant by gathering and evaluating objective empirical measurements. And then your management will select the wrong ones, to the exclusion of all others. Masaki Kobayashi warned us--there's no escaping the human condition. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP 2023-11-22 16:25 ` G. Branden Robinson @ 2023-11-22 17:26 ` Alejandro Colomar 2023-11-22 18:50 ` G. Branden Robinson ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Alejandro Colomar @ 2023-11-22 17:26 UTC (permalink / raw) To: G. Branden Robinson; +Cc: linux-man, Matthew House [-- Attachment #1: Type: text/plain, Size: 8179 bytes --] Hi Branden, On Wed, Nov 22, 2023 at 10:25:57AM -0600, G. Branden Robinson wrote: > Hi Alex, > > At 2023-11-22T14:47:58+0100, Alejandro Colomar wrote: > > + Sign your emails with PGP > > + It is strongly encouraged that you sign all of your emails sent > > + to the mailing list, (especially) including the ones containing > > + patches, with your PGP key. This helps establish trust between > > + you and other contributors of this project, and prevent others > > + impersonating you. If you don't have a key, it's not mandatory > > + to sign your email, but you're encouraged to create and start > > + using a PGP key. > > I think you should alter this advice to employ the active voice, not the > passive. When an authority is dispensing advice or direction, people > need to know who that authority is. In this case, it would appear to be > the Linux man-pages project maintainers. If there is an external > authority whose advice you are transmitting, then that authority should > likewise be cited by name. Both. I was advising, as you guessed, but gpg also does. How about the following? <diff --git a/CONTRIBUTING b/CONTRIBUTING index 7b85e7375..bde085a63 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING @@ -57,13 +57,14 @@ Description help Sign your emails with PGP - It is strongly encouraged that you sign all of your emails sent - to the mailing list, (especially) including the ones containing + We strongly encourage that you sign all of your emails sent to + the mailing list, (especially) including the ones containing patches, with your PGP key. This helps establish trust between you and other contributors of this project, and prevent others impersonating you. If you don't have a key, it's not mandatory to sign your email, but you're encouraged to create and start - using a PGP key. + using a PGP key. See also: + <https://www.gnupg.org/faq/gnupg-faq.html#use_pgpmime> There are many ways you can sign your patches, and it depends on your preferred tools. You can use git-send-email(1) in > Such a practice is important for long-term project governance because > that way your successors know at whose discretion the advice can/should > be updated. While it does sometimes happen that a project changes > ownership into hands that are reckless and produce senseless churn such > that careless retention of old advice is actually preferable, in my > experience, it is at least as common for them to pass to people who are > uncertain of the motivations behind certain decisions, or cannot tell > which decisions were made with deliberation (as opposed to "going along > to get along") or following a recommended best practice that has become > invalidated by the passing decades. +1 > > The recent conversations about string copying on this list reflect just > how complex and frustrating such matters can be in another domain. > "Everybody" assumed for decades that copying strings in C was a > trivial matter.[1] Now, we look back over three decades of our brethren > crucified upon CVE crosses along the Appian Way to a better C standard > library, and realize that Seventh Edition Unix probably should have some > offered something like a string_copying(7) document. > > > + There are many ways you can sign your patches, and it depends on > > + your preferred tools. You can use git-send-email(1) in > > + combination with mutt(1). For that, do the following. > > + > > + In <~/.gitconfig>, add the following section: > > + > > + [sendemail] > > + sendmailcmd = mutt -H - && true > > + > > + And then, patch mutt(1) to enable encryption in batch and mailx > > + modes, which is disabled in upstream mutt(1). You can find a > > + patch here: > > + <https://gitlab.com/muttmua/mutt/-/merge_requests/173>. > > I find it awkward to "strongly recommend" a best practice that isn't > easily facilitated by _any_ readily available tool without further > hacking. I find it awkward that mutt(1) disables crypto operations in non-interactive mode, and that neomutt(1) even removed mailx mode[1] [1]: <https://github.com/neomutt/neomutt/pull/2385> I also find it awkward that when patatt(1) (and b4(1) wrapping it) decided to make signing patches easy, they didn't patch a MUA to support signing emails in a header field, and instead wrote a new program that creates something that no MUA understands, and so one can only know if a patch has been signed with patatt(1) by using patatt(1) (or b4(1) wrapping it). I also find it awkward that MUAs (or actually anybody) don't seem to be interested in fixing this situation. > That you have to dispense this advice suggests to me that the status quo > has not yet caught up with your ambitions. I would soften the strength > of your recommendation and explicitly concede that better tooling > support is necessary to advance the state of the art. I won't concede this. I strongly encourage everybody to sign mail and patches, and to encrypt whenever possible. And also strongly encourage everybody to press the powers that be (i.e., maintainers of MUAs) to make it easier. That present-day technology sucks doesn't lower the strength of my encouragement. > I "manually" sign my messages to this list (that is, via keyboard-driven I find it really awkward that you need to do it manually. I suggest you to try and patch mutt(1), if you can. If you're unlucky, you'll be locked in some neomutt(1) features, in which case you're out of luck, as my suggested trick doesn't seem to work (but if it works, please let me know). > menu selections in neomutt(1)). But I don't produce patches in > sufficient volume that this tedium rises to a serious annoyance. So > what you might do for the time being is to focus on advice to similarly > situated users, and concede that, for people who are high frequency > patch generators, technology is lacking at present. > > Regards, > Branden > > [1] I encourage anyone with either a reverential or heretical turn of > mind to review §5.5 of the 2nd edition of _The C Programming > Language_ and consider it light of our string_copying(7) > discussions. I would attend particularly to what is implied by the > recommendation of Exercise 5-5 to implement strncat(3), strncmp(3), > and strncpy(3) from scratch. I just found an erratum in K&R C v2 §5.5: In page 97, in the picture, 'amessage' and 'pmessage' are switched (IMO); pmessage should be the one with the two boxes and an arrow, since it's the pointer one. Is there a published errata for K&R C v2 so I can check this and report? > (A Kernighan & Ritchie idolator might > claim that they perceived all of the conceivable problems in 1988, > and offered the exercise as an elliptical means of warning the > sufficiently savvy reader that the standard library had gone astray. > Personally, I think such an inference is inconsistent with Ritchie's > own expressed opinions about obscurantism.[2] But if there's one > thing brogrammers are free with, it is negative assessments of > others' intellects. And even the wording in the book shows that they didn't know that these functions are ill-designed (they are still useful in niche use cases, but I doubt they were designed with those cases in mind). Here's the quote. < Write versions of the library functions strncpy, strncat, and strncmp, < which operate on at most the first n characters of their argument < strings To which of the args does 'n' apply? One (which?) or both? strncat(3) is not limited to 'n' characters in dst, so this 'n' applies to some random argument depending on the function: 1st for strncpy(3) (but kind of both), 2nd for strncat(3), both for strncmp(3). Cheers, Alex -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP 2023-11-22 17:26 ` Alejandro Colomar @ 2023-11-22 18:50 ` G. Branden Robinson 2023-11-22 20:08 ` Alejandro Colomar 2023-11-22 20:19 ` Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) Alejandro Colomar [not found] ` <41b65637907f43ecafadd58565a7b483@DM6PR04MB4443.namprd04.prod.outlook.com> 2 siblings, 1 reply; 10+ messages in thread From: G. Branden Robinson @ 2023-11-22 18:50 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man, Matthew House [-- Attachment #1: Type: text/plain, Size: 7952 bytes --] Hi Alex, At 2023-11-22T18:26:38+0100, Alejandro Colomar wrote: > On Wed, Nov 22, 2023 at 10:25:57AM -0600, G. Branden Robinson wrote: > > I think you should alter this advice to employ the active voice, not > > the passive. When an authority is dispensing advice or direction, > > people need to know who that authority is. In this case, it would > > appear to be the Linux man-pages project maintainers. If there is > > an external authority whose advice you are transmitting, then that > > authority should likewise be cited by name. > > Both. I was advising, as you guessed, but gpg also does. How about > the following? > > > <diff --git a/CONTRIBUTING b/CONTRIBUTING > index 7b85e7375..bde085a63 100644 > --- a/CONTRIBUTING > +++ b/CONTRIBUTING > @@ -57,13 +57,14 @@ Description > help > > Sign your emails with PGP > - It is strongly encouraged that you sign all of your emails sent > - to the mailing list, (especially) including the ones containing > + We strongly encourage that you sign all of your emails sent to > + the mailing list, (especially) including the ones containing > patches, with your PGP key. This helps establish trust between > you and other contributors of this project, and prevent others > impersonating you. If you don't have a key, it's not mandatory > to sign your email, but you're encouraged to create and start > - using a PGP key. > + using a PGP key. See also: > + <https://www.gnupg.org/faq/gnupg-faq.html#use_pgpmime> LGTM! > > I find it awkward to "strongly recommend" a best practice that isn't > > easily facilitated by _any_ readily available tool without further > > hacking. > > I find it awkward that mutt(1) disables crypto operations in [...] > I also find it awkward that when patatt(1) (and b4(1) wrapping it) [...] > I also find it awkward that MUAs (or actually anybody) don't seem to Anaphora FTW! But don't stumble and fall into a chiasmus. ;-P [...] > I won't concede this. I strongly encourage everybody to sign mail and > patches, and to encrypt whenever possible. And also strongly > encourage everybody to press the powers that be (i.e., maintainers of > MUAs) to make it easier. That present-day technology sucks doesn't > lower the strength of my encouragement. > > > I "manually" sign my messages to this list (that is, via > > keyboard-driven > > I find it really awkward that you need to do it manually. I suggest > you to try and patch mutt(1), if you can. I'm sure I _can_, with sufficient effort. A bear of very little brain should be able to manage. But as a rule, I maintain local forks only of projects that I frequently work on. Experience has taught me that when I don't, and my upstream upgrades, it's too often a hard slog to re-fork. I forget things and have to relearn them, and/or upstream has refactored so much that I no longer recognize what I _need_ to patch. MUA development is not an area I have yet found seductive. I petition you to soften the language because I don't think you want to give the impression that you'd prefer a patch go unsubmitted rather than show up un-GPG-signed. (Am I mistaken?) In fact, you might explicitly state how your handling process differs for unsigned vs. signed patches. If there _is_ no difference--if there is no queue penalty, or additional follow-up to authenticate the sender that you undertake--then I suggest that what you're doing is turning this aspect of the Linux man-pages contribution process into a platform for editorializing about your preferences. Now, far be it from me to rebuke anyone for expressing opinions: practically every email I write is loaded with 'em. And in fact I largely share your preference here, and have long (for 20+ years) wondered why MUAs don't read your keyring and offer opportunistic encryption of mails sent exclusively (To+Cc) to accounts in the keyring. _But_ when you're employing the resources of a project X to pursue an agenda with respect to projects W, Y, and Z (MUAs), I think it wise to be forthright. You might therefore articulate a concrete policy wherein you impose a tax on unsigned patch submissions--or disclose the added costs that you accrue when dealing with them. If you're not willing to do so, for whatever reasons you can think of that make either one a bad idea, then I repeat my advice to soften the language in the CONTRIBUTING.md file. Or to redirect it: instead of inviting the patch submitter to infer that the burden is on them to use tools that haven't yet been adequately developed, you can express your grievance with MUAs in a paragraph or two as an aside. There's nothing inherently wrong with doing this. MUAs are obviously relevant to a cooperative development process that is reliant on email. You don't want to try the patience of your reader, but you do want to alert them to a problem that has gone unsolved for a long time. And I think that--as long as you don't make your editorial aside an Invariant Section under the GNU FDL ;-)--people won't mind its presence. > If you're unlucky, you'll be locked in some neomutt(1) features, in > which case you're out of luck, as my suggested trick doesn't seem to > work (but if it works, please let me know). My continued use of neomutt is pure inertia. I gather that in the wake of some contretemps in Debian regarding the naming of the mutt and neomutt packages, mutt's upstream awakened and undertook active development again. This is a good thing. > I just found an erratum in K&R C v2 §5.5: In page 97, in the picture, > 'amessage' and 'pmessage' are switched (IMO); pmessage should be the > one with the two boxes and an arrow, since it's the pointer one. Is > there a published errata for K&R C v2 so I can check this and report? Yes... https://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/2ediffs.html ..via... https://www.cs.princeton.edu/~bwk/cbook.html ...but the errata claim not to have been updated since October 2006. Nevertheless your proposed erratum does not appear in that document, so you might have a legit catch here. Time to email BWK and report it? ;-) > And even the wording in the book shows that they didn't know that > these functions are ill-designed (they are still useful in niche use > cases, but I doubt they were designed with those cases in mind). > Here's the quote. I've seen the _original_ set of C string-handling functions attributed to Nils-Peter Nelson (who was also in charge of DWB troff for a while). Here they are, in the earliest form known to me: https://minnie.tuhs.org/cgi-bin/utree.pl?file=pdp11v/usr/include/string.h (note the SCCS ident[1]) ...but Nils-Peter probably cannot be blamed for directions this family of functions took subsequently. > < Write versions of the library functions strncpy, strncat, and > < strncmp, which operate on at most the first n characters of their > < argument strings > > To which of the args does 'n' apply? One (which?) or both? > strncat(3) is not limited to 'n' characters in dst, so this 'n' > applies to some random argument depending on the function: 1st for > strncpy(3) (but kind of both), 2nd for strncat(3), both for > strncmp(3). If you want to have some fun reviewing code, let me point you here. https://minnie.tuhs.org/cgi-bin/utree.pl?file=pdp11v/usr/src/lib/libc/port/gen Regards, Branden [1] ...likely a misnomer, but calling it the "SCCS 'what'" doesn't get the idea across clearly. Incidentally the story behind SCCS vs. RCS is an intriguingly ugly one. (AT&T being stereotypically dumb about software licensing is not part of it.) We enlightened Git users have nothing whatsoever to learn from it, do we? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP 2023-11-22 18:50 ` G. Branden Robinson @ 2023-11-22 20:08 ` Alejandro Colomar 0 siblings, 0 replies; 10+ messages in thread From: Alejandro Colomar @ 2023-11-22 20:08 UTC (permalink / raw) To: G. Branden Robinson; +Cc: linux-man, Matthew House [-- Attachment #1: Type: text/plain, Size: 12017 bytes --] Hi Branden, On Wed, Nov 22, 2023 at 12:50:59PM -0600, G. Branden Robinson wrote: > Hi Alex, > > <diff --git a/CONTRIBUTING b/CONTRIBUTING > > index 7b85e7375..bde085a63 100644 > > --- a/CONTRIBUTING > > +++ b/CONTRIBUTING > > @@ -57,13 +57,14 @@ Description > > help > > > > Sign your emails with PGP > > - It is strongly encouraged that you sign all of your emails sent > > - to the mailing list, (especially) including the ones containing > > + We strongly encourage that you sign all of your emails sent to > > + the mailing list, (especially) including the ones containing > > patches, with your PGP key. This helps establish trust between > > you and other contributors of this project, and prevent others > > impersonating you. If you don't have a key, it's not mandatory > > to sign your email, but you're encouraged to create and start > > - using a PGP key. > > + using a PGP key. See also: > > + <https://www.gnupg.org/faq/gnupg-faq.html#use_pgpmime> > > LGTM! Thanks! > Anaphora FTW! But don't stumble and fall into a chiasmus. ;-P :-) > [...] > > I won't concede this. I strongly encourage everybody to sign mail and > > patches, and to encrypt whenever possible. And also strongly > > encourage everybody to press the powers that be (i.e., maintainers of > > MUAs) to make it easier. That present-day technology sucks doesn't > > lower the strength of my encouragement. > > > > > I "manually" sign my messages to this list (that is, via > > > keyboard-driven > > > > I find it really awkward that you need to do it manually. I suggest > > you to try and patch mutt(1), if you can. > > I'm sure I _can_, with sufficient effort. A bear of very little brain > should be able to manage. But as a rule, I maintain local forks only of > projects that I frequently work on. Experience has taught me that when > I don't, and my upstream upgrades, it's too often a hard slog to > re-fork. I forget things and have to relearn them, and/or upstream has > refactored so much that I no longer recognize what I _need_ to patch. Makes sense. > MUA development is not an area I have yet found seductive. > > I petition you to soften the language because I don't think you want to > give the impression that you'd prefer a patch go unsubmitted rather than > show up un-GPG-signed. (Am I mistaken?) Nope; you're right. But doesn't the "... it's not mandatory ..." clarify that in you opinion? > In fact, you might explicitly state how your handling process differs I can do that in a mail, but if I try to write that in CONTRIBUTING, it could take a huge part of the file, and I don't want to hide other info with that. > for unsigned vs. signed patches. If I see a small patch that is obvious, I'll review it visually, and decide upon that. There's no difference between signed and unsigned patches in those cases, which hopefully should be most of them. However, from time to time, there are patches that I'm unable to review, usually because I don't understand them. A case you know is MR.sed. There's no way I'll understand that script, and I don't even want to. In other cases, people with deep specific knowledge, like kernel maintainers, or for example, Paul Eggert for certain libc functions, send patches about their stuff. There are details in those patches that I give up trying to understand and just trust that the sender knows better, and that if any issues come up later, the sender will fix them. Trusted contributors have certain privileges with their patches. In your case, all of your patches are signed, so I can verify that you're consistently the same I talked to in every mail thread. In the case of Paul, for example, he doesn't sign any email, so I can't trust with 100% certainty that every mail is actually sent from him. I'm not scared enough to send him a private email every time he sends a patch asking him to sign it, because that is unlikely, and would hopefully get caught by Paul himself if he reads the list, but there's always a small chance. Konstantin Ryabitsev wrote about this[1], and developed b4(1) and patatt(1). However, I think those programs are more complex than patching mutt(1), and also offer less versatility (encryption is problematic, so for patches fixing vulnerabilities, you need a different method; I don't like that) than mutt(1). IIRC (but can't find it), Greg KH also talked about why signing patches is recommended. [1]: <https://people.kernel.org/monsieuricon/end-to-end-patch-attestation-with-patatt-and-b4> I didn't recommend using b4(1), because I haven't yet learnt to use it myself, so can't say it's easy. With mutt(1), I can say it's easy: 2-line config + 1 line patch. Ok, that's not the easiest it can be, but it's the easiest I know of. > If there _is_ no difference--if there > is no queue penalty, or additional follow-up to authenticate the sender > that you undertake--then I suggest that what you're doing is turning > this aspect of the Linux man-pages contribution process into a platform > for editorializing about your preferences. There's a difference. In untrusted patches, I am paranoic about malicious contributors trying to misdocument features with the intention of provoking vulnerabilities. I don't do that for trusted patches. > Now, far be it from me to rebuke anyone for expressing opinions: > practically every email I write is loaded with 'em. And in fact I > largely share your preference here, and have long (for 20+ years) > wondered why MUAs don't read your keyring and offer opportunistic > encryption of mails sent exclusively (To+Cc) to accounts in the keyring. mutt(1) (and neomutt(1)) do: $ cat .config/mutt/gpg.muttrc set crypt_autosign = yes set crypt_opportunistic_encrypt = yes set crypt_protected_headers_write = yes set pgp_self_encrypt = yes set pgp_default_key = A9348594CE31283A826FBDD8D57633D441E25BB5 $ grep gpg.muttrc .config/mutt/muttrc source ~/.config/mutt/gpg.muttrc I never have to press any key for signing mail (nor for encrypting mail to recipients whose keys I've signed). Or do you mean in batch and mailx modes? (Regarding encryption, I think there should be a way to tell mutt(1) to accept unsigned keys without asking --and maybe there is and I don't know it--.) > _But_ when you're employing the resources of a project X to pursue an > agenda with respect to projects W, Y, and Z (MUAs), I think it wise to > be forthright. > > You might therefore articulate a concrete policy wherein you impose a > tax on unsigned patch submissions--or disclose the added costs that you > accrue when dealing with them. If you're not willing to do so, for > whatever reasons you can think of that make either one a bad idea, then My only reticence to do that is that I don't want that file to grow too much. And the only pages I know of that I could link to, are those of b4(1) and patatt(1), but I don't want to suggest those tools. > I repeat my advice to soften the language in the CONTRIBUTING.md file. > Or to redirect it: instead of inviting the patch submitter to infer that > the burden is on them to use tools that haven't yet been adequately > developed, you can express your grievance with MUAs in a paragraph or > two as an aside. Yeah, I'll try adding a paragraph saying that MUAs don't help. > There's nothing inherently wrong with doing this. MUAs are obviously > relevant to a cooperative development process that is reliant on email. > You don't want to try the patience of your reader, but you do want to > alert them to a problem that has gone unsolved for a long time. > > And I think that--as long as you don't make your editorial aside an > Invariant Section under the GNU FDL ;-)--people won't mind its presence. > > > If you're unlucky, you'll be locked in some neomutt(1) features, in > > which case you're out of luck, as my suggested trick doesn't seem to > > work (but if it works, please let me know). > > My continued use of neomutt is pure inertia. I gather that in the wake > of some contretemps in Debian regarding the naming of the mutt and > neomutt packages, mutt's upstream awakened and undertook active > development again. This is a good thing. And neomutt(1)'s Debian package has been dying for the last years. It's not getting the new versions from upstream. So much that when I tried neomutt(1) with a config suggested in <neomutt.org>, it didn't understand some configurations. There's a neomutt(1) contributor that also contributes often to the Linux man-pages who maintains a Debian package repository, and provides a more up-to-date package. > > I just found an erratum in K&R C v2 §5.5: In page 97, in the picture, > > 'amessage' and 'pmessage' are switched (IMO); pmessage should be the > > one with the two boxes and an arrow, since it's the pointer one. Is > > there a published errata for K&R C v2 so I can check this and report? > > Yes... > > https://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/2ediffs.html > > ..via... > > https://www.cs.princeton.edu/~bwk/cbook.html > > ...but the errata claim not to have been updated since October 2006. > > Nevertheless your proposed erratum does not appear in that document, so > you might have a legit catch here. Time to email BWK and report it? ;-) Nice! :) > > And even the wording in the book shows that they didn't know that > > these functions are ill-designed (they are still useful in niche use > > cases, but I doubt they were designed with those cases in mind). > > Here's the quote. > > I've seen the _original_ set of C string-handling functions attributed > to Nils-Peter Nelson (who was also in charge of DWB troff for a while). > > Here they are, in the earliest form known to me: > > https://minnie.tuhs.org/cgi-bin/utree.pl?file=pdp11v/usr/include/string.h > > (note the SCCS ident[1]) > > ...but Nils-Peter probably cannot be blamed for directions this family > of functions took subsequently. > > > < Write versions of the library functions strncpy, strncat, and > > < strncmp, which operate on at most the first n characters of their > > < argument strings > > > > To which of the args does 'n' apply? One (which?) or both? > > strncat(3) is not limited to 'n' characters in dst, so this 'n' > > applies to some random argument depending on the function: 1st for > > strncpy(3) (but kind of both), 2nd for strncat(3), both for > > strncmp(3). > > If you want to have some fun reviewing code, let me point you here. > > https://minnie.tuhs.org/cgi-bin/utree.pl?file=pdp11v/usr/src/lib/libc/port/gen Interesting; I only see 2 uses of strncat(3) in v7: $ grep -rn '\sstrncat *(' usr/src/cmd/dumpdir.c:153: strncat(prefix, dir.d_name, sizeof(dir.d_name)); usr/src/cmd/login.c:107: strncat(homedir, pwd->pw_dir, sizeof(homedir)-6); Of these, the second is an abuse of this function, and a function that gets the size of the dst buffer instead of the src buffer should have been written. strlcat(3) would have been more appropriate (although as Paul said, it has DoS problems, so something like strtcat() could be written that would return -1 on truncation). strncpy(3) is similarly abused to open-code an strlcpy(3) (or strtcpy()) in several places. > > Regards, > Branden > > [1] ...likely a misnomer, but calling it the "SCCS 'what'" doesn't get > the idea across clearly. Incidentally the story behind SCCS vs. > RCS is an intriguingly ugly one. (AT&T being stereotypically dumb > about software licensing is not part of it.) We enlightened Git > users have nothing whatsoever to learn from it, do we? -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) 2023-11-22 17:26 ` Alejandro Colomar 2023-11-22 18:50 ` G. Branden Robinson @ 2023-11-22 20:19 ` Alejandro Colomar [not found] ` <41b65637907f43ecafadd58565a7b483@DM6PR04MB4443.namprd04.prod.outlook.com> 2 siblings, 0 replies; 10+ messages in thread From: Alejandro Colomar @ 2023-11-22 20:19 UTC (permalink / raw) To: Brian W. Kernighan; +Cc: G. Branden Robinson, linux-man, Matthew House [-- Attachment #1: Type: text/plain, Size: 905 bytes --] Hello Brian, > On Wed, Nov 22, 2023 at 10:25:57AM -0600, G. Branden Robinson wrote: > > [1] I encourage anyone with either a reverential or heretical turn of > > mind to review §5.5 of the 2nd edition of _The C Programming > > Language_ and consider it light of our string_copying(7) > > discussions. I would attend particularly to what is implied by the > > recommendation of Exercise 5-5 to implement strncat(3), strncmp(3), > > and strncpy(3) from scratch. I just found an erratum in K&R C v2 §5.5: In page 97, in the picture, 'amessage' and 'pmessage' are switched (IMO); pmessage should be the one with the two boxes and an arrow, since it's the pointer one. We didn't find it in the existing list of errata[1], which Branden pointed to me. [1]: <https://www.cs.princeton.edu/~bwk/cbook.html> Cheers, Alex -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <41b65637907f43ecafadd58565a7b483@DM6PR04MB4443.namprd04.prod.outlook.com>]
* Re: Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) [not found] ` <41b65637907f43ecafadd58565a7b483@DM6PR04MB4443.namprd04.prod.outlook.com> @ 2023-11-26 14:57 ` Brian Kernighan 2023-11-26 15:47 ` Alejandro Colomar 0 siblings, 1 reply; 10+ messages in thread From: Brian Kernighan @ 2023-11-26 14:57 UTC (permalink / raw) To: Alejandro Colomar Cc: Brian W. Kernighan, G. Branden Robinson, linux-man@vger.kernel.org, Matthew House [-- Attachment #1: Type: text/plain, Size: 1220 bytes --] In the printed version of the C book, section 5.5 begins on page 104. pmessage is indeed the one with two boxes and an arrow. Are you looking at the real book or some mutated copy from the web? I have had error reports in the past on imperfectly pirated copies. On Wed, 22 Nov 2023, Alejandro Colomar wrote: > Hello Brian, > >> On Wed, Nov 22, 2023 at 10:25:57AM -0600, G. Branden Robinson wrote: >>> [1] I encourage anyone with either a reverential or heretical turn of >>> mind to review §5.5 of the 2nd edition of _The C Programming >>> Language_ and consider it light of our string_copying(7) >>> discussions. I would attend particularly to what is implied by the >>> recommendation of Exercise 5-5 to implement strncat(3), strncmp(3), >>> and strncpy(3) from scratch. > > I just found an erratum in K&R C v2 §5.5: In page 97, in the picture, > 'amessage' and 'pmessage' are switched (IMO); pmessage should be the one > with the two boxes and an arrow, since it's the pointer one. We didn't > find it in the existing list of errata[1], which Branden pointed to me. > > [1]: <https://www.cs.princeton.edu/~bwk/cbook.html> > > Cheers, > Alex > > -- > <https://www.alejandro-colomar.es/> > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) 2023-11-26 14:57 ` Brian Kernighan @ 2023-11-26 15:47 ` Alejandro Colomar 2023-11-26 15:49 ` Alejandro Colomar 0 siblings, 1 reply; 10+ messages in thread From: Alejandro Colomar @ 2023-11-26 15:47 UTC (permalink / raw) To: Brian Kernighan Cc: Brian W. Kernighan, G. Branden Robinson, linux-man@vger.kernel.org, Matthew House [-- Attachment #1: Type: text/plain, Size: 640 bytes --] Hello Brian, On Sun, Nov 26, 2023 at 09:57:32AM -0500, Brian Kernighan wrote: > In the printed version of the C book, section 5.5 begins on page 104. > pmessage is indeed the one with two boxes and an arrow. > > Are you looking at the real book or some mutated copy from the web? > I have had error reports in the past on imperfectly pirated copies. My real copy of the book is in Norway with my brother, very far from me. Indeed, I read some online copy for the report. It was something converted to an ebook or something like that. I'll try to find the link. Cheers, Alex -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) 2023-11-26 15:47 ` Alejandro Colomar @ 2023-11-26 15:49 ` Alejandro Colomar 2023-11-26 15:54 ` Brian Kernighan 0 siblings, 1 reply; 10+ messages in thread From: Alejandro Colomar @ 2023-11-26 15:49 UTC (permalink / raw) To: Brian Kernighan Cc: Brian W. Kernighan, G. Branden Robinson, linux-man@vger.kernel.org, Matthew House [-- Attachment #1: Type: text/plain, Size: 927 bytes --] On Sun, Nov 26, 2023 at 04:47:49PM +0100, Alejandro Colomar wrote: > Hello Brian, > > On Sun, Nov 26, 2023 at 09:57:32AM -0500, Brian Kernighan wrote: > > In the printed version of the C book, section 5.5 begins on page 104. > > pmessage is indeed the one with two boxes and an arrow. > > > > Are you looking at the real book or some mutated copy from the web? > > I have had error reports in the past on imperfectly pirated copies. > > My real copy of the book is in Norway with my brother, very far from me. > Indeed, I read some online copy for the report. It was something > converted to an ebook or something like that. I'll try to find the > link. Here it is: <https://venkivasamsetti.github.io/ebookworm.github.io/Books/cse/C%20Programming%20Language%20(2nd%20Edition).pdf> > > Cheers, > Alex > > -- > <https://www.alejandro-colomar.es/> -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) 2023-11-26 15:49 ` Alejandro Colomar @ 2023-11-26 15:54 ` Brian Kernighan 0 siblings, 0 replies; 10+ messages in thread From: Brian Kernighan @ 2023-11-26 15:54 UTC (permalink / raw) To: Alejandro Colomar Cc: Brian W. Kernighan, G. Branden Robinson, linux-man@vger.kernel.org, Matthew House pirated (thanks, github) but inaccurately. someone re-drew the diagrams and got the labels wrong. sigh. brian On Sun, 26 Nov 2023, Alejandro Colomar wrote: > On Sun, Nov 26, 2023 at 04:47:49PM +0100, Alejandro Colomar wrote: >> Hello Brian, >> >> On Sun, Nov 26, 2023 at 09:57:32AM -0500, Brian Kernighan wrote: >>> In the printed version of the C book, section 5.5 begins on page 104. >>> pmessage is indeed the one with two boxes and an arrow. >>> >>> Are you looking at the real book or some mutated copy from the web? >>> I have had error reports in the past on imperfectly pirated copies. >> >> My real copy of the book is in Norway with my brother, very far from me. >> Indeed, I read some online copy for the report. It was something >> converted to an ebook or something like that. I'll try to find the >> link. > > Here it is: > <https://venkivasamsetti.github.io/ebookworm.github.io/Books/cse/C%20Programming%20Language%20(2nd%20Edition).pdf> > >> >> Cheers, >> Alex >> >> -- >> <https://www.alejandro-colomar.es/> > > > > -- > <https://www.alejandro-colomar.es/> > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-11-26 15:54 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-22 13:47 [PATCH v2] CONTRIBUTING: Please sign your emails with PGP Alejandro Colomar
2023-11-22 16:25 ` G. Branden Robinson
2023-11-22 17:26 ` Alejandro Colomar
2023-11-22 18:50 ` G. Branden Robinson
2023-11-22 20:08 ` Alejandro Colomar
2023-11-22 20:19 ` Errata in K&R C v2, page 97 (was: [PATCH v2] CONTRIBUTING: Please sign your emails with PGP) Alejandro Colomar
[not found] ` <41b65637907f43ecafadd58565a7b483@DM6PR04MB4443.namprd04.prod.outlook.com>
2023-11-26 14:57 ` Brian Kernighan
2023-11-26 15:47 ` Alejandro Colomar
2023-11-26 15:49 ` Alejandro Colomar
2023-11-26 15:54 ` Brian Kernighan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox