pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/security/ruby-net-scp



Module Name:    pkgsrc
Committed By:   taca
Date:           Thu Nov  5 15:04:05 UTC 2026

Modified Files:
        pkgsrc/security/ruby-net-scp: Makefile PLIST distinfo

Log Message:
security/ruby-net-scp: update to 4.2.1

4.1.1 (2026-10-22)

* Allow net-ssh 8
* Fix frozen string literal compatibility [npezza93, mfazekas]
  - Use mutable string for scp command construction
  - Use mutable string for error_string initialization
* Add Ruby 3.4 and ruby-head to CI matrix
* Add Ruby 4.0+ compatibility (logger, rdoc gems)
* Drop EOL Ruby 2.3-2.5 from CI

4.1.2 (2026-10-25)

* Security: Downloads no longer apply setuid, setgid or sticky bits sent by
  the server, check that a server-chosen local name matches the requested
  remote basename (as OpenSSH does since CVE-2019-6111), and refuse to
  follow an existing local symlink at a server-named path instead of writing
  through it.  The local path passed by the caller may still be a symlink.
  O_NOFOLLOW suggested in net-sftp#162 by srosenhamer [#104]
* Security: Recursive downloads, and downloads into a directory, reject file
  names from the server that are not a single path component (such as `../x`
  or `a/b`) instead of writing outside the target directory.  Reported in
  net-sftp#162 by srosenhamer [#103]
* Raise `Net::SCP::Error` when the server ends a transfer before the SCP
  protocol finishes, instead of reporting a truncated transfer as successful
  [#105, #96]
* Opening an `scp://` URI through `uri/open-scp` now percent-decodes the
  user, password and path (once, keeping a literal `+`) and passes an IPv6
  address to SSH without its brackets, so `scp://user@[::1]/a%20b` downloads
  `/a b` from `::1`.  Thanks @OskarEichler [#94]
* Opening an `scp://` URI through `uri/open-scp` now writes the download
  into the OpenURI buffer as it arrives, so large files spill to a temporary
  file instead of being held in memory twice.  Thanks @OskarEichler [#93]
* Parsing an `scp://` URI with a valueless query entry (`?flag`) or an empty
  one (`?a=1&&b=2`) no longer raises `NoMethodError`, and `URI::SCP#options`
  reflects the current query after `query=`.  Thanks @OskarEichler [#92]
* Opening an `scp://` URI through `uri/open-scp` now calls `:progress_proc`
  with the number of bytes received, as OpenURI documents, instead of with
  the SCP progress arguments (which raised `ArgumentError` for a lambda),
  and calls `:content_length_proc` once with the file size.  Thanks
  @OskarEichler [#91]
* Opening an `scp://` URI through `uri/open-scp` now uses the port and
  password given in the URI; they were passed outside the `:ssh` options and
  ignored.  Options given in `:ssh` still take precedence.  Thanks
  @OskarEichler [#90]
* Close the local file net-scp opened for an upload or download when the
  transfer fails, so it is not left open (and locked on Windows) [#89, #20]
* With `preserve: true`, recursive downloads now keep directories'
  modification times, which were overwritten when their contents were
  created.  Thanks @OskarEichler [#88]
* `upload`/`upload!` with a zero, negative or non-Integer `:chunk_size` now
  raises `ArgumentError` before opening a channel; previously `0` hung
  forever sending empty chunks, a negative value or a String failed only
  after the channel was open, and a Float was silently truncated.  Thanks
  @OskarEichler [#87]
* Uploading from an IO that isn't at its start now announces only the
  remaining bytes, instead of the full size, which made the transfer hang or
  fail.  Thanks @OskarEichler [#86]
* Accept a `Pathname` as the local path for uploads and downloads;
  previously uploads looped forever and downloads kept only the last chunk.
  Thanks @OskarEichler [#85, #29]

4.1.3 (2026-10-27)

* Load again on Ruby 2.3-2.5 (4.1.2 needed 2.5), and declare
  `required_ruby_version >= 2.3` [#112, #110]
* Add a `quote:` option to `upload`/`download` for the remote path: `:posix`
  (default), `:windows` for Win32-OpenSSH under cmd.exe or PowerShell
  (double-quoted, `\` sent as `/`, paths containing `"`, `$`, `` ` ``, `%`,
  `!`, curly quotes, CR, LF or NUL rejected), `:none` to send the path
  unchanged to servers without a shell, or a callable.  By default a leading
  `~` or `~/` is now left for the remote shell to expand to the home
  directory; such paths previously referred to a literal `~` entry in the
  login directory and usually failed.  Thanks @ArtsiomMusin for the Windows
  patch in #34 [#109, #34, #9]
* Recursive uploads no longer abort on a broken symlink: it is skipped with
  a warning, the rest is uploaded, and a Net::SCP::Error listing the skipped
  paths is raised at the end, like OpenSSH scp.  Based on #23 by
  @maage. [#108, #23]

4.2.0 (2026-10-29)

* BREAKING: Require Ruby 2.6 or later.  Bundler on Ruby 2.3-2.5 resolves to
  4.1.3. [#114]

* Package only `lib`, `CHANGES.txt`, `LICENSE.txt` and `README.md` in the
  gem, about 40% smaller.  Thanks @yuri-zubov [#118]
* An exception raised during a transfer, such as `upload!` of a missing
  local file or an error from a progress callback, no longer leaves the
  channel registered and re-raises on later operations on the same session;
  the original error is raised once, library-opened files are closed and
  caller-passed IO is left open.  Thanks @ThomasSevestre and @OskarEichler
  [#107, #26, #97]

4.2.1 (2026-11-02)

* Add a `:limit` option to `upload`/`download` to cap bandwidth in Kbit/s,
  like `scp -l`.  Based on #53 by @marcelrouw [#119, #53]


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 pkgsrc/security/ruby-net-scp/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/security/ruby-net-scp/PLIST
cvs rdiff -u -r1.16 -r1.17 pkgsrc/security/ruby-net-scp/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/security/ruby-net-scp/Makefile
diff -u pkgsrc/security/ruby-net-scp/Makefile:1.14 pkgsrc/security/ruby-net-scp/Makefile:1.15
--- pkgsrc/security/ruby-net-scp/Makefile:1.14  Sun Feb  9 14:56:25 2025
+++ pkgsrc/security/ruby-net-scp/Makefile       Thu Nov  5 15:04:05 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.14 2025/02/09 14:56:25 taca Exp $
+# $NetBSD: Makefile,v 1.15 2026/11/05 15:04:05 taca Exp $
 
-DISTNAME=      net-scp-4.1.0
+DISTNAME=      net-scp-4.2.1
 CATEGORIES=    net security
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
@@ -8,7 +8,7 @@ HOMEPAGE=       https://github.com/net-ssh/net
 COMMENT=       Secure copy for Ruby
 LICENSE=       mit
 
-DEPENDS+=      ${RUBY_PKGPREFIX}-net-ssh>=2.6.5:../../security/ruby-net-ssh
+DEPENDS+=      ${RUBY_PKGPREFIX}-net-ssh>=2.6.5<9:../../security/ruby-net-ssh
 
 USE_LANGUAGES= # defined
 

Index: pkgsrc/security/ruby-net-scp/PLIST
diff -u pkgsrc/security/ruby-net-scp/PLIST:1.5 pkgsrc/security/ruby-net-scp/PLIST:1.6
--- pkgsrc/security/ruby-net-scp/PLIST:1.5      Sun Feb  9 14:56:25 2025
+++ pkgsrc/security/ruby-net-scp/PLIST  Thu Nov  5 15:04:05 2026
@@ -1,14 +1,8 @@
-@comment $NetBSD: PLIST,v 1.5 2025/02/09 14:56:25 taca Exp $
+@comment $NetBSD: PLIST,v 1.6 2026/11/05 15:04:05 taca Exp $
 ${GEM_HOME}/cache/${GEM_NAME}.gem
-${GEM_LIBDIR}/.github/workflows/ci.yml
-${GEM_LIBDIR}/.gitignore
 ${GEM_LIBDIR}/CHANGES.txt
-${GEM_LIBDIR}/Gemfile
 ${GEM_LIBDIR}/LICENSE.txt
-${GEM_LIBDIR}/Manifest
 ${GEM_LIBDIR}/README.md
-${GEM_LIBDIR}/Rakefile
-${GEM_LIBDIR}/SECURITY.md
 ${GEM_LIBDIR}/lib/net/scp.rb
 ${GEM_LIBDIR}/lib/net/scp/download.rb
 ${GEM_LIBDIR}/lib/net/scp/errors.rb
@@ -16,7 +10,4 @@ ${GEM_LIBDIR}/lib/net/scp/upload.rb
 ${GEM_LIBDIR}/lib/net/scp/version.rb
 ${GEM_LIBDIR}/lib/uri/open-scp.rb
 ${GEM_LIBDIR}/lib/uri/scp.rb
-${GEM_LIBDIR}/net-scp-public_cert.pem
-${GEM_LIBDIR}/net-scp.gemspec
-${GEM_LIBDIR}/setup.rb
 ${GEM_HOME}/specifications/${GEM_NAME}.gemspec

Index: pkgsrc/security/ruby-net-scp/distinfo
diff -u pkgsrc/security/ruby-net-scp/distinfo:1.16 pkgsrc/security/ruby-net-scp/distinfo:1.17
--- pkgsrc/security/ruby-net-scp/distinfo:1.16  Sun Feb  9 14:56:25 2025
+++ pkgsrc/security/ruby-net-scp/distinfo       Thu Nov  5 15:04:05 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.16 2025/02/09 14:56:25 taca Exp $
+$NetBSD: distinfo,v 1.17 2026/11/05 15:04:05 taca Exp $
 
-BLAKE2s (net-scp-4.1.0.gem) = cb5b7779256a5f9a4510a4d5bfef265c4d60fb5b08cf628e6a33fe68d5d8db84
-SHA512 (net-scp-4.1.0.gem) = 8842cd53974c3fc01d976dec7a323c3deaf511907beffcce783cf0b59a11752361b8d5e03586fe5220a3eedbb4f666d9d1e596046843126599730631e71352d3
-Size (net-scp-4.1.0.gem) = 33280 bytes
+BLAKE2s (net-scp-4.2.1.gem) = ee9989e87534a04b7afc640211eb4b8046f09b0599ec894f41d42956effacb4f
+SHA512 (net-scp-4.2.1.gem) = 33259e28bbbaf2616257fc0b517ce633f8a92dbf75ccacf6389611fca2aaf97837fc9489bf02fd186fae99f1b42f9dc7a69692933bcca373e2ac438ea957a8ae
+Size (net-scp-4.2.1.gem) = 26112 bytes



Home | Main Index | Thread Index | Old Index