Skip to content

Commit

Permalink
Release v1.400
Browse files Browse the repository at this point in the history
  • Loading branch information
dolmen committed Jan 22, 2025
2 parents a2274f0 + ae64ecd commit b8fc6b9
Show file tree
Hide file tree
Showing 5 changed files with 1,358 additions and 595 deletions.
106 changes: 85 additions & 21 deletions CONTRIBUTING.pod
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# To read this file, run:
# perldoc CONTRIBUTING.pod

=encoding utf8

=head1 NAME

How to contribute to C<github-keygen>?
Expand All @@ -14,30 +16,96 @@ C<L<master|https://github.com/dolmen/github-keygen/tree/master>> branch,
then submitted as pull requests at GitHub.

The documentation is written using the
L<POD|http://perldoc.perl.org/perlpod.html> format. Use the C<perldoc> tool
L<POD|https://perldoc.perl.org/perlpod.html> format. Use the C<perldoc> tool
to render it in a terminal:

perldoc CONTRIBUTING.pod

=head1 PATCHING, STEP BY STEP
=head1 INITIAL SETUP

=head2 1. Setup a Perl development environment

There are various ways to setup a Perl development environment, but here is mine
(@dolmen). The key principles are:

=over 4

=item 1. Get the source
=item a. Do not depend on the Perl of the operating system. Instead, install a recent version which you control upgrades independently of the O/S.

=item b. Setup environment to install Perl modules from CPAN into that C<perl> using C<cpanm>.

=back


Step by step on MacOS (zsh):

=over 4

=item a. Install L<plenv|https://github.com/tokuhirom/plenv> (note: this is incompatible with I<perlbrew>)

git clone git://github.com/tokuhirom/plenv.git ~/.plenv
echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(plenv init -)"' >> ~/.zshrc
exec $SHELL -l
git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/

=item b. Install a recent perl:

plenv install 5.40.1
plenv global 5.40.1

=item c. Install L<cpanm|https://metacpan.org/dist/App-cpanminus/view/bin/cpanm>:

plenv install-cpanm

=back


=head2 2. Get the source

git clone --origin upstream git://github.com/dolmen/github-keygen.git
cd github-keygen
git checkout master

=item 2. Install build dependencies
=head2 3. Install build dependencies

Not required for doc patches.

curl -L https://cpanmin.us | perl - --installdeps --with-develop .

=item 3. Make your fix/feature
=head2 4. Setup a fork

=over 4

=item 4.1. L<Fork the project on GitHub|https://github.com/dolmen/github-keygen/>

=item 4.2. Link your local repo to your fork:

(You are already using C<github-keygen>, aren't you?)

git remote add github <github-user>.github.com:<github-user>/github-keygen.git
git remote update

=back

=head1 PATCHING, STEP BY STEP

=over 4

=item 1. Update your local fork

git remote update
git checkout master
git rebase upstream/master

=item 2. Update Perl dependencies (not required for doc patches)

curl -L https://cpanmin.us | perl - --installdeps --with-develop .


=item 3. Make your fix/feature in a dedicated Git branch

git checkout -b <my-patch> master
git checkout -b <my-patch> upstream/master

$EDITOR bin/github-keygen

Expand All @@ -49,27 +117,22 @@ Not required for doc patches.

git commit

=item 4. Setup a fork

=item 4.1. L<Fork the project on GitHub|https://github.com/dolmen/github-keygen/>

=item 4.2. Link your local repo to your fork (just once)

(You are using C<github-keygen> isn't it?)

git remote add github <github-user>.github.com:<github-user>/github-keygen.git
=item 4. Submit your work

=item 5. Submit your work
=over 4

=item 5.1 Push!
=item 4.1 Push!

git push github <my-patch>

=item 5.2 Submit a pull request on GitHub
=item 4.2 Submit a pull request on GitHub

=back

=item 6. Loop
=item 5. Loop

Redo from step 3.
Ready for another contribution? Redo from step 1!

=back

Expand All @@ -90,9 +153,10 @@ Redo from step 3.
=item * Release

git checkout master
./release.pl -n
./release.pl
git push origin master release
git push origin --tags
git push github master release
git push github --tags

=back

Expand Down
8 changes: 4 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Expand Down Expand Up @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

Expand All @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
29 changes: 22 additions & 7 deletions README.pod
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
=pod

=encoding utf8

=for stopwords MITM versioning

=head1 NAME
Expand Down Expand Up @@ -100,7 +102,7 @@ Disable bad things that could come from the GitHub hosts ("Trust no-one")

Disable the C<UseRoaming> option to protect you if ever GitHub (or a MITM) tries
to exploit the
L<C<OpenSSH roaming> vulnerability|http://www.openssh.com/txt/release-7.1p2>.
L<C<OpenSSH roaming> vulnerability|https://www.openssh.com/txt/release-7.1p2>.

=back

Expand Down Expand Up @@ -226,7 +228,7 @@ more like a wizard that you use just once. So just get the file, run it, and
delete it.

I<Windows only>: the tool is written in Perl, but you don't have to install
L<StrawberryPerl|http://strawberryperl.com> (or Cygwin or ActivePerl); the perl
L<StrawberryPerl|https://strawberryperl.com> (or Cygwin or ActivePerl); the perl
bundled with L<msysgit|https://gitforwindows.org/> will be automatically
detected and used.

Expand Down Expand Up @@ -258,6 +260,19 @@ L<the commit log|https://github.com/dolmen/github-keygen/commits/release>.

=over 4

=item v1.400

Change default key type on key creation to C<ed25519> (previously C<rsa>)
(L<GitHub #48|https://github.com/dolmen/github-keygen/issues/48>).

On key creation, custom key comment provided by C<-C> was ignored
(L<GitHub #46|https://github.com/dolmen/github-keygen/issues/46>). This is
fixed. Thanks to L<@tinhtruong|https://github.com/tinhtruong> for the report.

Fix typo in a comment in F<~/.ssh/config>: "I<Knwon>".

Improve Windows compatibility (fix in parsing of C<ssh -V>).

=item v1.306

On key creation, switch default key size from 2048 bits to 4096 bits.
Expand Down Expand Up @@ -340,7 +355,7 @@ settings were applied before our own.
=item v1.101

Config: set C<UseRoaming no> to protect against the
L<C<OpenSSH roaming> vulnerability|http://www.openssh.com/txt/release-7.1p2>.
L<C<OpenSSH roaming> vulnerability|https://www.openssh.com/txt/release-7.1p2>.

=item v1.100

Expand All @@ -366,7 +381,7 @@ Various fixes/workarounds to restore full support of the old SSH (4.6p1) that
is bundled with msysgit (Git on Win32).

Store the C<ControlPath> in C<$XDG_RUNTIME_DIR> (see the
L<XDG Base Directory Specification|http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html>)
L<XDG Base Directory Specification|https://specifications.freedesktop.org/basedir-spec/latest/#variables>)
if available.

Doc fixes: change "Github" to "GitHub".
Expand Down Expand Up @@ -414,7 +429,7 @@ with GitHub.

Fixed a message that wrongly told to paste the I<private> key (C<'.pub'>
forgotten). Fixed at the
L<Quack and Hack 2012 Europe hackathon|http://act.yapc.eu/qh2012eu/>,
L<Quack and Hack 2012 Europe hackathon|https://act.yapc.eu/qh2012eu/>,
but released (too) long later.

=item v1.006
Expand Down Expand Up @@ -517,7 +532,7 @@ If you want to contribute, have a look to L<CONTRIBUTING.pod>.

=head1 COPYRIGHT & LICENSE

Copyright E<copy> 2011-2022 Olivier MenguE<eacute>.
Copyright E<copy> 2011-2025 Olivier MenguE<eacute>.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -530,6 +545,6 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see L<http://www.gnu.org/licenses/>.
along with this program. If not, see L<https://www.gnu.org/licenses/>.

=cut
Loading

0 comments on commit b8fc6b9

Please sign in to comment.