You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/modules/setting
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>
2 years ago
..
actions.go Refactor the setting to make unit test easier (#22405) 2 years ago
admin.go Refactor the setting to make unit test easier (#22405) 2 years ago
api.go Refactor the setting to make unit test easier (#22405) 2 years ago
attachment.go Add `.patch` to `attachment.ALLOWED_TYPES` (#23580) 2 years ago
cache.go Refactor the setting to make unit test easier (#22405) 2 years ago
camo.go Refactor the setting to make unit test easier (#22405) 2 years ago
config_provider.go handle deprecated settings (#22992) 2 years ago
cors.go Refactor the setting to make unit test easier (#22405) 2 years ago
cron.go Refactor the setting to make unit test easier (#22405) 2 years ago
cron_test.go Refactor the setting to make unit test easier (#22405) 2 years ago
database.go Move pidfile creation from setting to web cmd package (#23285) 2 years ago
database_sqlite.go Implement FSFE REUSE for golang files (#21840) 2 years ago
database_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
federation.go Refactor the setting to make unit test easier (#22405) 2 years ago
git.go Support reflogs (#22451) 2 years ago
highlight.go Refactor the setting to make unit test easier (#22405) 2 years ago
i18n.go Refactor the setting to make unit test easier (#22405) 2 years ago
incoming_email.go Refactor the setting to make unit test easier (#22405) 2 years ago
indexer.go Add meilisearch support (#23136) 2 years ago
indexer_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
lfs.go handle deprecated settings (#22992) 2 years ago
log.go Parse external request id from request headers, and print it in access log (#22906) 2 years ago
mailer.go handle deprecated settings (#22992) 2 years ago
mailer_test.go Refactor the setting to make unit test easier (#22405) 2 years ago
markup.go Refactor the setting to make unit test easier (#22405) 2 years ago
metrics.go Refactor the setting to make unit test easier (#22405) 2 years ago
migrations.go Refactor the setting to make unit test easier (#22405) 2 years ago
mime_type_map.go Refactor the setting to make unit test easier (#22405) 2 years ago
mirror.go handle deprecated settings (#22992) 2 years ago
oauth2.go Refactor the setting to make unit test easier (#22405) 2 years ago
other.go Refactor the setting to make unit test easier (#22405) 2 years ago
packages.go Add Swift package registry (#22404) 2 years ago
packages_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
picture.go Refactor the setting to make unit test easier (#22405) 2 years ago
project.go Refactor the setting to make unit test easier (#22405) 2 years ago
proxy.go Refactor the setting to make unit test easier (#22405) 2 years ago
queue.go Refactor the setting to make unit test easier (#22405) 2 years ago
repository.go Editor preview support for external renderers (#23333) 2 years ago
security.go Refactor the setting to make unit test easier (#22405) 2 years ago
server.go handle deprecated settings (#22992) 2 years ago
service.go Refactor the setting to make unit test easier (#22405) 2 years ago
session.go Refactor the setting to make unit test easier (#22405) 2 years ago
setting.go Move pidfile creation from setting to web cmd package (#23285) 2 years ago
setting_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
ssh.go Prefer native parser for SSH public key parsing (#23798) 2 years ago
storage.go Make minio package support legacy MD5 checksum (#23768) 2 years ago
storage_test.go Refactor the setting to make unit test easier (#22405) 2 years ago
task.go handle deprecated settings (#22992) 2 years ago
time.go Refactor the setting to make unit test easier (#22405) 2 years ago
ui.go Add ONLY_SHOW_RELEVANT_REPOS back, fix explore page bug, make code more strict (#23766) 2 years ago
webhook.go Refactor the setting to make unit test easier (#22405) 2 years ago