From: "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@ml.ruby-lang.org>
To: ruby-core@ml.ruby-lang.org
Cc: "jeremyevans0 (Jeremy Evans)" <noreply@ruby-lang.org>
Subject: [ruby-core:120338] [Ruby master Feature#20971] Deprecate `rb_path_check`
Date: Fri, 20 Dec 2024 01:57:49 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-111111.20241220015748.53314@ruby-lang.org> (raw)
In-Reply-To: <redmine.issue-20971.20241219214851.53314@ruby-lang.org>
Issue #20971 has been updated by jeremyevans0 (Jeremy Evans).
>From looking at the history, `rb_path_check` was originally used by `rb_env path_tainted`, presumably to check whether the PATH environment variable was tainted, so as not to trust it. That may be why it is in the hash.h header instead of the file.h header, even though it makes no sense in the hash.h header.
`rb_path_check` was used in MJIT, to check for unsafe header files, but that was the last usage I could see in CRuby. I'm guessing that is a reason it may not have been deprecated/removed when $SAFE/taint was deprecated/removed.
If we can do a gem codesearch for `rb_path_check`, and nothing important comes up, I am in favor of deprecating and then removing it. I looked through the first 5 pages of GitHub results and nothing of note came up, other than the fact that TruffleRuby does not implement the function.
----------------------------------------
Feature #20971: Deprecate `rb_path_check`
https://bugs.ruby-lang.org/issues/20971#change-111111
* Author: Earlopain (Earlopain _)
* Status: Open
----------------------------------------
With #16131, various code around $SAFE, taint, etc. has been deprecated and removed. GH PR https://github.com/ruby/ruby/pull/2476.
Now, [`rb_path_check`] still exists as part of the public API, with Ruby itself never using or testing it. I believe it should have been deprecated and was simply missed. Should it be deprecated today or is that not worth the effort?
Docs for it are pretty vague: https://github.com/ruby/ruby/blob/33f95d632dce42fac35da29eaed33f0a5a4f0dcb/include/ruby/internal/intern/hash.h#L289-L297
> This function is mysterious. What it does is not immediately obvious. Also what it does seems platform dependent.
[`rb_path_check`]: https://github.com/ruby/ruby/blob/33f95d632dce42fac35da29eaed33f0a5a4f0dcb/file.c#L6427
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
next prev parent reply other threads:[~2024-12-20 1:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-19 21:48 [ruby-core:120335] " Earlopain (Earlopain _) via ruby-core
2024-12-20 1:23 ` [ruby-core:120337] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-20 1:57 ` jeremyevans0 (Jeremy Evans) via ruby-core [this message]
2024-12-20 3:16 ` [ruby-core:120339] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-20 5:51 ` [ruby-core:120341] " jeremyevans0 (Jeremy Evans) via ruby-core
2024-12-20 7:35 ` [ruby-core:120343] " Earlopain (Earlopain _) via ruby-core
2024-12-22 6:14 ` [ruby-core:120365] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-24 13:24 ` [ruby-core:120394] " Eregon (Benoit Daloze) via ruby-core
2024-12-24 13:51 ` [ruby-core:120395] " Earlopain (Earlopain _) via ruby-core
2025-01-09 9:03 ` [ruby-core:120564] " matz (Yukihiro Matsumoto) via ruby-core
2025-01-09 17:42 ` [ruby-core:120587] " Earlopain (Earlopain _) via ruby-core
2025-01-14 2:33 ` [ruby-core:120654] " nobu (Nobuyoshi Nakada) via ruby-core
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-111111.20241220015748.53314@ruby-lang.org \
--to=ruby-core@ml.ruby-lang.org \
--cc=noreply@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).