ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
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/

  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).