Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Escape SSL cert and filenames #2855

Merged
merged 1 commit into from
Apr 9, 2022

Conversation

stanhu
Copy link
Contributor

@stanhu stanhu commented Apr 6, 2022

Description

Filenames with + would fail to load because it would be
misinterpreted as a space. Since Puma already unescapes the query
string, we should escape the value to fix this.

We also make cert and key conditional in the query string because
that gives a clearer error message:

ERROR: Please specify the SSL key via 'key=' or 'key_pem='

Rather than:

puma/lib/puma/minissl.rb:218:in `check_file': Key file '' does not exist (ArgumentError)

Your checklist for this pull request

  • I have reviewed the guidelines for contributing to this repository.
  • I have added (or updated) appropriate tests if this PR fixes a bug or adds a feature.
  • My pull request is 100 lines added/removed or less so that it can be easily reviewed.
  • If this PR doesn't need tests (docs change), I added [ci skip] to the title of the PR.
  • If this closes any issues, I have added "Closes #issue" to the PR description or my commit messages.
  • I have updated the documentation accordingly.
  • All new and existing tests passed, including Rubocop.

@stanhu stanhu force-pushed the sh-escape-ssl-cert-key-filenames branch 5 times, most recently from 1ec5ddf to 26cad69 Compare April 6, 2022 22:46
Filenames with `+` would fail to load because it would be
misinterpreted as a space. Since Puma already unescapes the query
string, we should escape the value to fix this.

We also make `cert` and `key` conditional in the query string because
that gives a clearer error message:

```
ERROR: Please specify the SSL key via 'key=' or 'key_pem='
```

Rather than:

```
puma/lib/puma/minissl.rb:218:in `check_file': Key file '' does not exist (ArgumentError)
```
@stanhu stanhu force-pushed the sh-escape-ssl-cert-key-filenames branch from 26cad69 to 3a6e54b Compare April 6, 2022 23:06
@nateberkopec nateberkopec merged commit 776a323 into puma:master Apr 9, 2022
stanhu added a commit to stanhu/puma that referenced this pull request Apr 13, 2022
@stanhu stanhu mentioned this pull request Apr 13, 2022
7 tasks
nateberkopec pushed a commit that referenced this pull request Apr 13, 2022
nateberkopec pushed a commit that referenced this pull request Aug 22, 2022
Filenames with `+` would fail to load because it would be
misinterpreted as a space. Since Puma already unescapes the query
string, we should escape the value to fix this.

We also make `cert` and `key` conditional in the query string because
that gives a clearer error message:

```
ERROR: Please specify the SSL key via 'key=' or 'key_pem='
```

Rather than:

```
puma/lib/puma/minissl.rb:218:in `check_file': Key file '' does not exist (ArgumentError)
```
JuanitoFatas pushed a commit to JuanitoFatas/puma that referenced this pull request Sep 9, 2022
Filenames with `+` would fail to load because it would be
misinterpreted as a space. Since Puma already unescapes the query
string, we should escape the value to fix this.

We also make `cert` and `key` conditional in the query string because
that gives a clearer error message:

```
ERROR: Please specify the SSL key via 'key=' or 'key_pem='
```

Rather than:

```
puma/lib/puma/minissl.rb:218:in `check_file': Key file '' does not exist (ArgumentError)
```
JuanitoFatas pushed a commit to JuanitoFatas/puma that referenced this pull request Sep 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants