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

Support modules with encrypted debug info #1947

Closed

Conversation

voughtdq
Copy link
Contributor

Addresses #1928.

  • Add configuration options to support decrypting debug info
  • Update documentation with new options, examples, and advice
  • Update test helper so that debug info options are forwarded to the compiler
  • Add basic tests
  • Update changelog

Addresses elixir-lang#1928.

- Add configuration options to support decrypting debug info
- Update documentation with new options, examples, and advice
- Update test helper so that debug info options are forwarded to the compiler
- Add basic tests
- Update changelog
Copy link
Member

@josevalim josevalim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay, I was busy during ElixirConf. I dropped a comment, can you please take a look? Thank you!

extract its documentation without first setting a decryption function or utilizing
`.erlang.crypt` as prescribed by `m::beam_lib#module-encrypted-debug-information`. Two
convenience options (see below) are provided to avoid having to call `:beam_lib.crypto_key_fun/1`
out-of-band and/or to avoid using `.erlang.crypt`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, but let's support only the .erlang.crypt style for now. The reason for this is because erlang.config files cannot define functions (afaik), so it is not a feature they would be able to use anyway. Let's start with the minimum necessary and expand on that later. WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, you want documentation about .erlang.crypt, but all the other changes should be reverted? Sounds good to me.

Do you want me to add tests or is that not necessary? Adding a test for this could be invasive - either putting a .erlang.crypt file in the root project directory or messing with the XDG_CONFIG_HOME environment variable. I'm leaning toward no, what do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify, you want documentation about .erlang.crypt, but all the other changes should be reverted? Sounds good to me.

Yes, we will only support .erlang.crypt.

It would be nice to have a test. Perhaps we make it excluded by default but include it on CI?

@voughtdq
Copy link
Contributor Author

voughtdq commented Sep 5, 2024

@josevalim hope you had fun 😁

I'll work on scaling this back and should have something for you within the next 48 hours.

Closes elixir-lang#1928.

- Update documentation
- Update test helper so that debug info options are forwarded to the compiler
- Add basic tests
- Update changelog
- Use "CI" environment variable to skip test
@voughtdq
Copy link
Contributor Author

whoa ew
going to just do a new pull request with the changes

@voughtdq voughtdq closed this Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants