Hiroshi SHIBATA and Claude Opus 5.5
939f20c79d
Use rb_len_t for String lengths in cgi/escape
...
It falls back to long on Ruby versions that do not define HAVE_RB_LEN_T, so the change also builds there.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 16:45:25 +09:00
Nobuyoshi Nakada
7d4461e162
[Misc #22206 ] Generate dependencies without compiler builds
...
Replace `tool/update-deps` with a Ruby source scanner so dependency
updates no longer require GNU make, a configured build, or compiler
preprocessor output.
Keep compact source mappings and scanner declarations in dependency
files, and expand complete rules into the build directory. Avoid the
temporary fixture headers required by the compiler-driven prototype.
Use the generated rules from GNU make, BSD make, and NMake builds.
Support out-of-tree and read-only source trees, and retain expanded
dependencies shipped in release archives when baseruby is unavailable.
2026-07-23 00:04:47 +09:00
Nobuyoshi Nakada
525ee3ab26
[ruby/cgi] Fix mixed declarations and code
...
Use C90 syntax only, as far as supporting ruby 2.6 or earlier.
https://github.com/ruby/cgi/commit/886c82982a
2025-11-26 06:50:54 +00:00
Jeremy Evans
0b23a8db60
Update dependencies for addition of set.h to public headers
2025-07-11 15:24:23 +09:00
Hiroshi SHIBATA
8a1d45144b
Support require 'cgi/escape' with extracting CGI::Escape from CGI::Util
2025-05-09 14:27:28 +09:00
卜部昌平
c844968b72
ruby tool/update-deps --fix
2024-04-27 21:55:28 +09:00
flosacca
30e4778020
[ruby/cgi] Fix unescapeHTML
...
https://github.com/ruby/cgi/commit/67610e6ca8
2023-11-30 08:19:28 +00:00
Jean Boussier
ced84beb25
[ruby/cgi] Add snake case aliases for escapeURIComponent
...
As agreed in [Feature #18822 ]
https://github.com/ruby/cgi/commit/9d1161ec9d
2023-11-07 10:22:30 +00:00
Benoit Daloze
f61bd3ca80
[ruby/cgi] Add TruffleRuby support and add it in CI
...
https://github.com/ruby/cgi/commit/1240fec9c9
2023-05-29 19:33:38 +00:00
Matt Valentine-House
5e4b80177e
Update the depend files
2023-02-28 09:09:00 -08:00
Matt Valentine-House
f38c6552f9
Remove intern/gc.h from Make deps
2023-02-27 10:11:56 -08:00
Nobuyoshi Nakada
899ea35035
Extract include/ruby/internal/attr/packed_struct.h
...
Split `PACKED_STRUCT` and `PACKED_STRUCT_UNALIGNED` macros into the
macros bellow:
* `RBIMPL_ATTR_PACKED_STRUCT_BEGIN`
* `RBIMPL_ATTR_PACKED_STRUCT_END`
* `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_BEGIN`
* `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_END`
2023-02-08 12:34:13 +09:00
Jean Boussier
3850113e20
[ruby/cgi] Implement CGI.url_encode and CGI.url_decode
...
[Feature #18822 ]
Ruby is somewhat missing an RFC 3986 compliant escape method.
https://github.com/ruby/cgi/commit/c2729c7f33
2022-08-16 19:12:03 +09:00
Takashi Kokubun
5b21e94beb
Expand tabs [ci skip]
...
[Misc #18891 ]
2022-07-21 09:42:04 -07:00
Peter Zhu
2d5ecd60a5
[Feature #18249 ] Update dependencies
2022-02-22 09:55:21 -05:00
Nobuyoshi Nakada
e4b35b158a
[ruby/cgi] Check integer overflow in long range
...
https://hackerone.com/reports/1328463
https://github.com/ruby/cgi/commit/ccaf6027e0
2021-12-12 13:05:15 +09:00
Nobuyoshi Nakada
da34f31ad0
[ruby/cgi] Fix integer overflow
...
Make use of the check in rb_alloc_tmp_buffer2.
https://hackerone.com/reports/1328463
https://github.com/ruby/cgi/commit/c728632c1c
2021-11-24 19:58:59 +09:00
Nobuyoshi Nakada
ac152b3cac
Update dependencies
2021-11-21 16:21:18 +09:00
卜部昌平
5c167a9778
ruby tool/update-deps --fix
2021-10-05 14:18:23 +09:00
Benoit Daloze
fa7a712d46
Fix -Wundef warnings for HAVE_RB_EXT_RACTOR_SAFE
...
* See [Feature #17752 ]
2021-05-04 14:56:55 +02:00
卜部昌平
6413dc27dc
dependency updates
2021-04-13 14:30:21 +09:00
Koichi Sasada
c1461c927b
cgi/escape is ractor-safe
2020-12-20 04:22:29 +09:00
卜部昌平
490010084e
sed -i '/rmodule.h/d'
2020-08-27 16:42:06 +09:00
卜部昌平
756403d775
sed -i '/r_cast.h/d'
2020-08-27 15:03:36 +09:00
卜部昌平
0da2a3f1fc
sed -i '\,2/extern.h,d'
2020-08-27 14:07:49 +09:00
卜部昌平
9e41a75255
sed -i 's|ruby/impl|ruby/internal|'
...
To fix build failures.
2020-05-11 09:24:08 +09:00
卜部昌平
d7f4d732c1
sed -i s|ruby/3|ruby/impl|g
...
This shall fix compile errors.
2020-05-11 09:24:08 +09:00
卜部昌平
9e6e39c351
Merge pull request #2991 from shyouhei/ruby.h
...
Split ruby.h
2020-04-08 13:28:13 +09:00
Jeremy Evans
ffd0820ab3
Deprecate taint/trust and related methods, and make the methods no-ops
...
This removes the related tests, and puts the related specs behind
version guards. This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
2019-11-18 01:00:25 +02:00
Nobuyoshi Nakada
715955ff27
Include ruby/assert.h in ruby/ruby.h so that assertions can be there
2019-07-14 17:58:03 +09:00
0a29dc87e6
Optimize CGI.escapeHTML by reducing buffer extension
...
and switch-case branches.
Buffer allocation optimization using `ALLOCA_N` would be the main
benefit of patch. It eliminates the O(N) buffer extensions.
It also reduces the number of branches using escape table like
https://mattn.kaoriya.net/software/lang/c/20160817011915.htm .
Closes: https://github.com/ruby/ruby/pull/2226
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org >
Co-authored-by: Yasuhiro MATSUMOTO <mattn.jp@gmail.com >
2019-06-05 21:07:04 +09:00
git
6b66a76f43
* expand tabs.
2019-06-05 11:01:59 +09:00
Takashi Kokubun
71b14affc6
Revert "Optimize CGI.escapeHTML by reducing buffer extension"
...
This reverts commit 8d81e59aa7 .
`ALLOCA_N` does not check stack overflow unlike ALLOCV. I'll fix it and
re-commit it again.
2019-06-05 11:00:54 +09:00
8d81e59aa7
Optimize CGI.escapeHTML by reducing buffer extension
...
and switch-case branches.
Buffer allocation optimization using `ALLOCA_N` would be the main
benefit of patch. It eliminates the O(N) buffer extensions.
It also reduces the number of branches using escape table like
https://mattn.kaoriya.net/software/lang/c/20160817011915.htm .
Closes: https://github.com/ruby/ruby/pull/2226
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org >
Co-authored-by: Yasuhiro MATSUMOTO <mattn.jp@gmail.com >
2019-06-05 10:08:55 +09:00
nobu
63f990674b
Use $(hdrdir) for include/ruby.h, as well as r67033
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-11 13:43:14 +00:00
normal
0e32c7c10a
Revert "ext/cgi/escape: preserve String subclass in result"
...
This reverts commit 6afea14043 r63328
I misread the original bug report and got results flipped.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-03 01:24:09 +00:00
normal
6afea14043
ext/cgi/escape: preserve String subclass in result
...
* ext/cgi/escape/escape.c (optimized_escape_html): use rb_str_new_with_class
(optimized_unescape_html): ditto
(optimized_escape): ditto
(optimized_unescape): ditto
* test/cgi/test_cgi_util.rb (test_escape_string_subclass): new test
[ruby-core:86847] [Bug #14732 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-02 23:18:55 +00:00
k0kubun
e1b4327545
cgi/util.rb: Don't escape tilde in #escape
...
to make it compatible with ERB::Util.url_encode.
ext/cgi/escape/escape.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-17 12:34:59 +00:00
shyouhei
20c72dc89d
ruby tool/update-deps --fix
...
Onigumo 6 (r57045) introduced new onigumo.h header file, which is
required from quite much everywhere. This commit adds necessary
dependencies.
Note: ruby/oniguruma.h now includes onigumo.h,
ruby/io.h includes oniguruma.h,
ruby/encoding.h also includes oniguruma.h,
and internal.h includes encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-22 06:00:18 +00:00
nobu
c373866444
escape.c: check argument
...
* ext/cgi/escape/escape.c (optimized_unescape): check
accept_charset encoding argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 08:02:36 +00:00
nobu
64fea27496
Update dependencies
...
* common.mk (compile.o, loadpath.o): update dependencies.
* common.mk (vm_call.o): remove stale object dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:48:13 +00:00
nobu
2282541898
Magic numbers
...
* ext/cgi/escape/escape.c (optimized_unescape_html): remove magic
numbers for literal lengths.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-30 05:45:35 +00:00
nobu
7175ee79ee
Initialize ID
...
* ext/cgi/escape/escape.c (accept_charset): initialize the static
ID for theha class variable once at first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-30 04:16:43 +00:00
nobu
20cd25c86f
cgi/util.rb: remove CGI::Util#_unescape
...
* ext/cgi/escape/escape.c (cgiesc_unescape): define unescape
method instead of _unescape, and should pass the optional
argument to the super method.
* lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate
method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-20 08:33:33 +00:00
nobu
d463c492bc
cgi/escape: Optimize CGI.unescape
...
* cgi/escape/escape.c: Optimize CGI.unescape performance by C ext
for ASCII-compatible encodings. [Fix GH-1250]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:57 +00:00
nobu
1b7109e11a
cgi/escape: Optimize CGI.unescapeHTML
...
* cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C
ext for ASCII-compatible encodings. [Fix GH-1242]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:35 +00:00
nobu
a320f811cf
mask upper nibble
...
* ext/cgi/escape/escape.c (optimized_escape): move c and use it
instead of cstr[i]. mask upper nibble for the platforms where
CHAR_BIT > 8. [Fix GH-1238]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 05:10:36 +00:00
nobu
7d1dd7cad8
initialize dest to 0
...
* ext/cgi/escape/escape.c (optimized_escape_html): initialize dest
to 0 and tell the result to be modified, instead of a separate
flag.
* ext/cgi/escape/escape.c (optimized_escape): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 03:40:41 +00:00
nobu
217ad664ab
cgi/escape: Optimize CGI.escape
...
* cgi/escape/escape.c: Optimize CGI.escape performance by C ext
for ASCII-compatible encodings. [Fix GH-1238]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 03:39:12 +00:00
nobu
10a129cee7
escape.c: should not freeze
...
* ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML
should return unfrozen new string.
[ruby-core:72426] [Bug #11858 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 05:31:31 +00:00