forgejo-federation/docs
Leon Busch-George 7a8a4f5432
Prefer native parser for SSH public key parsing (#23798)
Without this patch, the setting SSH.StartBuiltinServer decides whether
the native (Go) implementation is used rather than calling 'ssh-keygen'.
It's possible for 'using ssh-keygen' and 'using the built-in server' to
be independent.
In fact, the gitea rootless container doesn't ship ssh-keygen and can be
configured to use the host's SSH server - which will cause the public
key parsing mechanism to break.

This commit changes the decision to be based on SSH.KeygenPath instead.
Any existing configurations with a custom KeygenPath set will continue
to function. The new default value of '' selects the native version. The
downside of this approach is that anyone who has relying on plain
'ssh-keygen' to have special properties will now be using the native
version instead.
I assume the exec-variant is only there because /x/crypto/ssh didn't
support ssh-ed25519 until 2016. I don't see any other reason for using
it so it might be an acceptable risk.

Fixes #23363

EDIT: this message was garbled when I tried to get the commit
description back in.. Trying to reconstruct it:

## ⚠️ BREAKING ⚠️ Users who don't have SSH.KeygenPath
explicitly set and rely on the ssh-keygen binary need to set
SSH.KeygenPath to 'ssh-keygen' in order to be able to continue using it
for public key parsing.

There was something else but I can't remember at the moment.

EDIT2: It was about `make test` and `make lint`. Can't get them to run.
To reproduce the issue, I installed `golang` in `docker.io/node:16` and
got:
```
...
go: mvdan.cc/xurls/v2@v2.4.0: unknown revision mvdan.cc/xurls/v2.4.0
go: gotest.tools/v3@v3.4.0: unknown revision gotest.tools/v3.4.0
...
go: gotest.tools/v3@v3.0.3: unknown revision gotest.tools/v3.0.3
...
go: error loading module requirements
```

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
2023-04-11 14:34:28 +08:00
..
assets/js Add new JS linter rules (#17699) 2021-11-22 16:19:01 +08:00
content Prefer native parser for SSH public key parsing (#23798) 2023-04-11 14:34:28 +08:00
layouts docs: move search input to navbar (#20551) 2022-08-08 15:27:04 +08:00
scripts Run hugo via go run and lock its version (#22206) 2022-12-21 21:09:53 -05:00
static Merge push to create, open PR from push, and push options docs articles into one (#23744) 2023-04-07 07:36:19 +08:00
.gitignore Support Issue forms and PR forms (#20987) 2022-09-02 15:58:49 +08:00
config.yaml Update Gitea version in docs (#23755) 2023-03-27 17:00:44 -04:00
LICENSE Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
Makefile Restructure documentation. Now the documentation has installation, administration, usage, development, contributing the 5 main parts (#23629) 2023-03-23 23:18:24 +08:00
README.md Update to docs README (#6221) 2019-03-01 15:39:30 -05:00
README_ZH.md update discord link (#10455) 2020-02-25 12:36:45 -05:00

Gitea: Docs

Join the chat at https://img.shields.io/discord/322538954119184384.svg

Hosting

These pages are hosted using netlifycms and get automatically updated on every push to the master branch.

Install

These pages use the Hugo static site generator. If you are planning to contribute you'll want to download and install Hugo on your local machine.

The installation of Hugo is out of the scope of this document, so please take the official install instructions to get Hugo up and running.

Development

To generate the website and serve it on localhost:1313 just execute this command and stop it with Ctrl+C:

make server

When you are done with your changes just create a pull request, after merging the pull request the website will be updated automatically.

Contributing

Fork -> Patch -> Push -> Pull Request

Authors

License

This project is under the Apache-2.0 License. See the LICENSE file for the full license text.

Copyright (c) 2016 The Gitea Authors <https://gitea.io>