summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2021-04-28[ruby/net-http] Decode user and password from env configured proxyLukas Eipert
If someone sets an env variable defining a http_proxy, containing a username / password with percent-encoded characters, then the resulting base64 encoded auth header will be wrong. For example, suppose a username is `Y\X` and the password is `R%S] ?X`. Properly URL encoded the proxy url would be: http://Y%5CX:R%25S%5D%20%3FX@proxy.example:8000 The resulting proxy auth header should be: `WVxYOlIlU10gP1g=`, but the getters defined by ruby StdLib `URI` return a username `Y%5CX` and password `R%25S%5D%20%3FX`, resulting in `WSU1Q1g6UiUyNVMlNUQlMjAlM0ZY`. As a result the proxy will deny the request. Please note that this is my first contribution to the ruby ecosystem, to standard lib especially and I am not a ruby developer. References: - https://gitlab.com/gitlab-org/gitlab/-/issues/289836 - https://bugs.ruby-lang.org/projects/ruby-master/repository/trunk/revisions/58461 - https://bugs.ruby-lang.org/issues/17542 https://github.com/ruby/net-http/commit/e57d4f38aa
2021-04-28[ruby/net-http] Replace Timeout.timeout in Net:HTTP#connectmohamed
Use Socket.tcp's connect_timeout option instead https://github.com/ruby/net-http/commit/753cae3bbc
2021-04-28[ruby/net-smtp] mod: bump to a new VERSION that could be checked for ↵Tom Freudenberg
testings >0.2.1 https://github.com/ruby/net-smtp/commit/8f2c9323e2
2021-04-28[ruby/net-smtp] Removed needless files from Gem::Specification#filesHiroshi SHIBATA
https://github.com/ruby/net-smtp/commit/69bba6b125
2021-04-28[ruby/net-smtp] Replace Timeout.timeout with socket timeoutmohamed
Timeout.timeout is inefficient since it spins up a new thread for each invocation, use Socket.tcp's connect_timeout option instead https://github.com/ruby/net-smtp/commit/6ae4a59f05
2021-04-28[ruby/net-smtp] Net::SMTP.start() and #start() accepts ssl_context_params ↵Tom Freudenberg
keyword argument Additional params are passed to OpenSSL::SSL::SSLContext#set_params. For example, `Net::SMTP#start(ssl_context_params: { cert_store: my_store, timeout: 123 })` calls `set_params({ cert_store: my_store, timeout: 123 })`. https://github.com/ruby/net-smtp/commit/4213389c21
2021-04-27[ruby/net-ftp] Replace "iff" with "if and only if"Gannon McGibbon
iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/net-ftp/commit/e920473618
2021-04-27[ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSERShugo Maeda
Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a client library and the impact of the issue is low, so I have decided to fix it as a normal issue. Based on patch by nobu. https://github.com/ruby/net-ftp/commit/a93af636f8
2021-04-27[ruby/net-ftp] Close the passive connection data socket if there is an error ↵Jeremy Evans
setting up the transfer Previously, the connection leaked in this case. This uses begin/ensure and checking for an error in the ensure block. An alternative approach would be to not even perform the connection until after the RETR (or other) command has been sent. However, I'm not sure all FTP servers support that. The current behavior is: * Send (PASV/EPSV) * Connect to the host/port returned in 227/229 reply * Send (RETR/other command) Changing it to connect after the RETR could break things. FTP servers might expect that the client has already connected before sending the RETR. The alternative approach is more likely to introduce backwards compatibility issues, compared to the begin/ensure approach taken here. Fixes Ruby Bug 17027 https://github.com/ruby/net-ftp/commit/6e8535f076
2021-04-27[ruby/net-ftp] Replace Timeout.timeout with socket timeoutmohamed
Timeout.timeout is inefficient since it spins up a new thread for each invocation, use Socket.tcp's connect_timeout option instead when we aren't using SOCKS (we can't replace Timeout.timeout for SOCKS yet since SOCKSSocket doesn't have a connect_timeout option). https://github.com/ruby/net-ftp/commit/d65910132f
2021-04-27[ruby/matrix] v0.4.1Marc-Andre Lafortune
https://github.com/ruby/matrix/commit/f7c9981907
2021-04-27[ruby/matrix] v0.4.0Marc-Andre Lafortune
https://github.com/ruby/matrix/commit/baea4b90d4
2021-04-27[ruby/matrix] Use Gemfile instead of ↵Hiroshi SHIBATA
Gem::Specification#add_development_dependency. https://github.com/ruby/matrix/commit/1381fde5c1
2021-04-26Revert "disable shareable_constant_value for CI"Yusuke Endoh
This reverts commit c647205c3eb1f17409a859149bb7d2ea38b43bed. Maybe the root issue was fixed by 7ac078e5b67ba752a755d6bd9c3a99999767fd3a Notes: Merged: https://github.com/ruby/ruby/pull/4416
2021-04-26[ruby/irb] Added `colorable` keyword optionNobuyoshi Nakada
Currently `IRB::Color.colorize` and `IRB::Color.colorize_code` refer `$stdin.tty?` internally. This patch adds `colorable` keyword option which overrides it. https://github.com/ruby/irb/commit/402e3f1907
2021-04-26[ruby/irb] Fix typo ture -> true [ci skip]Ryuta Kamizono
https://github.com/ruby/irb/commit/783a0569e8
2021-04-26disable shareable_constant_value for CIKoichi Sasada
To debug CI failures on FreeBSD, disable `shareable_constant_value`.
2021-04-22[ruby/uri] Use Regexp#match? to avoid extra allocationsSteven Harman
`#=~` builds `MatchData`, requiring extra allocations as compared to `#match?`, which returns a boolean w/o having to build the `MatchData`. https://github.com/ruby/uri/commit/158f58a9cc
2021-04-22[ruby/uri] remove comment about URI::escape as it is removedFelix Wong
https://github.com/ruby/uri/commit/0f0057e1b2
2021-04-22[ruby/uri] Set required_ruby_version to 2.4 in gemspecJeremy Evans
Tests pass on Ruby 2.4, but not on Ruby 2.3. https://github.com/ruby/uri/commit/594418079a
2021-04-22[ruby/uri] Only use UnboundMethod#bind_call if it is availableJeremy Evans
This allows tests to pass on Ruby 2.4-2.6. Fixes #19 https://github.com/ruby/uri/commit/67ca99ca87
2021-04-22[ruby/uri] Optimize URI#hostname and URI#hostname=Lukas Zapletal
https://github.com/ruby/uri/commit/3b7ccfd835
2021-04-22[ruby/uri] Upstream Java proxy property checks from JRubyCharles Oliver Nutter
These Java properties, retrieved from JRuby's "Java env" ENV_JAVA, allow JRuby users to use the same proxy properties the rest of the Java platform uses. This resolves https://bugs.ruby-lang.org/issues/11194 https://github.com/ruby/uri/commit/3bd2bcc95a
2021-04-22[ruby/net-imap] Bump version to 0.2.1Shugo Maeda
https://github.com/ruby/net-imap/commit/31f96ea884
2021-04-22[ruby/net-imap] Set timeout for IDLE responsesShugo Maeda
Fixes #14 https://github.com/ruby/net-imap/commit/39d39ff9bb
2021-04-22Merge net-imap-0.2.0Hiroshi SHIBATA
2021-04-22[ruby/benchmark] gemspec: Explicitly have 0 executablesOlle Jonsson
This gem exposes no executables. https://github.com/ruby/benchmark/commit/ff1ef7ae06
2021-04-22[ruby/benchmark] Add comment about terminating newline in captions; fix test ↵Keith Bennett
method name. https://github.com/ruby/benchmark/commit/02ce298d3e
2021-04-22[ruby/cgi] gemspec: Explicitly empty executables listOlle Jonsson
The gem exposes no executables https://github.com/ruby/cgi/commit/cd7106ad97
2021-04-22[ruby/cgi] handle invalid encodingpavel
https://github.com/ruby/cgi/commit/2b1c2e21a4
2021-04-22[ruby/time] Make Time friendly to RactorKir Shatrov
https://github.com/ruby/time/commit/c784e4f166
2021-04-21[ruby/pp] Bump version to 0.2.0Hiroshi SHIBATA
https://github.com/ruby/pp/commit/a202dd2c9b
2021-04-21[ruby/pp] Support < Ruby 3.0Hiroshi SHIBATA
https://github.com/ruby/pp/commit/3ee131ae92
2021-04-21[ruby/resolv] gemspec: Explicitly list 0 executablesOlle Jonsson
This gem exposes no executables, and this makes that clearer. https://github.com/ruby/resolv/commit/8797a9d3ce
2021-04-21[ruby/forwardable] gemspec: Explicitly empty the executables listOlle Jonsson
This gem exposes no executables. https://github.com/ruby/forwardable/commit/374b685927
2021-04-21[ruby/base64] gemspec: Use an explicit file listOlle Jonsson
This avoids shelling out to git. https://github.com/ruby/base64/commit/f45f06f93f
2021-04-21[ruby/base64] gemspec: Explicitly empty executables listOlle Jonsson
This gem exposes no executables. https://github.com/ruby/base64/commit/9d2c49cb19
2021-04-21[ruby/abbrev] gemspec: Explicitly empty executables listOlle Jonsson
https://github.com/ruby/abbrev/commit/f28839e7b8
2021-04-20[ruby/logger] Replace "iff" with "if and only if"Gannon McGibbon
iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/logger/commit/4fa0c28e00
2021-04-15Merge the master branch of RubyGemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4383
2021-04-15Merge the master branch of BundlerHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4383
2021-04-14[ruby/matrix] Fix a typo in a error messageuniversato
2021-04-11mkmf.rb: convert also arch_hdrdir [Bug #16651]Nobuyoshi Nakada
2021-04-11[ruby/optparse] Moved rdoc files to doc/optparseNobuyoshi Nakada
https://github.com/ruby/optparse/commit/cccb28e0de
2021-04-09[ruby/reline] Add calling Reline::Config#reset_default_key_bindings to ↵aycabta
#reset, which is forgot to call
2021-04-08[ruby/reline] Moved development dependencies to GemfileNobuyoshi Nakada
As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended. https://github.com/ruby/reline/commit/c09b7c454a
2021-04-08[ruby/reline] Separate keystrokes each editing modeaycabta
https://github.com/ruby/reline/commit/ee23e6f3f8
2021-04-08[ruby/reline] Check WITH_VTERM env to add vterm gem as dependencyaycabta
https://github.com/ruby/reline/commit/27b689a7e2
2021-04-08[ruby/irb] Moved development dependencies to GemfileNobuyoshi Nakada
As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended. https://github.com/ruby/irb/commit/42f364ea23
2021-04-08[ruby/irb] Ripper::Lexer::Elem#state is defined since Ruby 2.5Nobuyoshi Nakada
And the required ruby version is 2.5 or later. https://github.com/ruby/irb/commit/ac496d4c78