diff options
author | Hans de Graaff <graaff@gentoo.org> | 2023-12-06 11:40:03 +0100 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2023-12-06 11:40:03 +0100 |
commit | abff8d98259fb1664c317f62661df428cb8a68ab (patch) | |
tree | d8ab8244dafd0c85ef5290b56cb2b3ba7663236a /dev-ruby | |
parent | dev-ruby/ruby-shadow: respect CFLAGS (diff) | |
download | gentoo-abff8d98259fb1664c317f62661df428cb8a68ab.tar.gz gentoo-abff8d98259fb1664c317f62661df428cb8a68ab.tar.bz2 gentoo-abff8d98259fb1664c317f62661df428cb8a68ab.zip |
dev-ruby/ruby-shadow: fix ruby32 compatibility
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'dev-ruby')
-rw-r--r-- | dev-ruby/ruby-shadow/files/ruby-shadow-2.5.1-ruby32-taint.patch | 54 | ||||
-rw-r--r-- | dev-ruby/ruby-shadow/ruby-shadow-2.5.1.ebuild | 5 |
2 files changed, 58 insertions, 1 deletions
diff --git a/dev-ruby/ruby-shadow/files/ruby-shadow-2.5.1-ruby32-taint.patch b/dev-ruby/ruby-shadow/files/ruby-shadow-2.5.1-ruby32-taint.patch new file mode 100644 index 000000000000..4c66e63fbb1a --- /dev/null +++ b/dev-ruby/ruby-shadow/files/ruby-shadow-2.5.1-ruby32-taint.patch @@ -0,0 +1,54 @@ +From 70330521b99e84c8f7445c213dfde0768f45a690 Mon Sep 17 00:00:00 2001 +From: Michael Hashizume <michael.hashizume@puppet.com> +Date: Thu, 20 Oct 2022 13:28:09 -0700 +Subject: [PATCH] Removes taint checking functions + +Taint checking has been completely removed from Ruby as of Ruby +3.2.0. This commit removes taint checking functions from ruby- +shadow. + +See https://bugs.ruby-lang.org/issues/16131 +--- + pwd/shadow.c | 6 +++--- + shadow/shadow.c | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/pwd/shadow.c b/pwd/shadow.c +index eeb96d4..46313d4 100644 +--- a/pwd/shadow.c ++++ b/pwd/shadow.c +@@ -56,8 +56,8 @@ static VALUE convert_pw_struct( struct passwd *entry ) + { + /* Hmm. Why custom pw_change instead of sp_lstchg? */ + return rb_struct_new(rb_sPasswdEntry, +- rb_tainted_str_new2(entry->pw_name), /* sp_namp */ +- rb_tainted_str_new2(entry->pw_passwd), /* sp_pwdp, encryped password */ ++ rb_str_new2(entry->pw_name), /* sp_namp */ ++ rb_str_new2(entry->pw_passwd), /* sp_pwdp, encryped password */ + Qnil, /* sp_lstchg, date when the password was last changed (in days since Jan 1, 1970) */ + Qnil, /* sp_min, days that password must stay same */ + Qnil, /* sp_max, days until password changes. */ +@@ -66,7 +66,7 @@ static VALUE convert_pw_struct( struct passwd *entry ) + INT2FIX(difftime(entry->pw_change, 0) / (24*60*60)), /* pw_change */ + INT2FIX(difftime(entry->pw_expire, 0) / (24*60*60)), /* sp_expire */ + Qnil, /* sp_flag */ +- rb_tainted_str_new2(entry->pw_class), /* sp_loginclass, user access class */ ++ rb_str_new2(entry->pw_class), /* sp_loginclass, user access class */ + NULL); + } + +diff --git a/shadow/shadow.c b/shadow/shadow.c +index 35a77a1..9a2ae70 100644 +--- a/shadow/shadow.c ++++ b/shadow/shadow.c +@@ -34,8 +34,8 @@ static VALUE rb_eFileLock; + static VALUE convert_pw_struct( struct spwd *entry ) + { + return rb_struct_new(rb_sPasswdEntry, +- rb_tainted_str_new2(entry->sp_namp), +- rb_tainted_str_new2(entry->sp_pwdp), ++ rb_str_new2(entry->sp_namp), ++ rb_str_new2(entry->sp_pwdp), + INT2FIX(entry->sp_lstchg), + INT2FIX(entry->sp_min), + INT2FIX(entry->sp_max), diff --git a/dev-ruby/ruby-shadow/ruby-shadow-2.5.1.ebuild b/dev-ruby/ruby-shadow/ruby-shadow-2.5.1.ebuild index 227739a0159b..a1d3d469c90a 100644 --- a/dev-ruby/ruby-shadow/ruby-shadow-2.5.1.ebuild +++ b/dev-ruby/ruby-shadow/ruby-shadow-2.5.1.ebuild @@ -21,7 +21,10 @@ SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ~ppc64 ~riscv ~sparc x86" IUSE="" -PATCHES=( "${FILESDIR}/${P}-ruby32.patch" ) +PATCHES=( + "${FILESDIR}/${P}-ruby32.patch" + "${FILESDIR}/${P}-ruby32-taint.patch" +) all_ruby_prepare() { sed -e '16i$CFLAGS += ENV["CFLAGS"]' \ |