{"id":47989,"date":"2025-06-06T17:12:11","date_gmt":"2025-06-06T21:12:11","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=47989"},"modified":"2025-07-04T16:18:13","modified_gmt":"2025-07-04T20:18:13","slug":"sequoias-new-rsync","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/06\/06\/sequoias-new-rsync\/","title":{"rendered":"Sequoia&rsquo;s New rsync"},"content":{"rendered":"<p><a href=\"https:\/\/mas.to\/@zekjur\/113814911530196223\">Michael Stapelberg<\/a> (in January):<\/p>\n<blockquote cite=\"https:\/\/mas.to\/@zekjur\/113814911530196223\">\n<p>With macOS 15 Sequoia (released in September 2024), Apple has started shipping openrsync (created by Kristaps Dzonsons, from OpenBSD) as an alternative to the original rsync (&ldquo;tridge&rdquo;, from the Samba project).<\/p>\n<p>When you run &ldquo;rsync&rdquo;, a wrapper will inspect your command and dispatch to either <code>\/usr\/libexec\/rsync\/rsync.samba<\/code> or <code>rsync.openrsync<\/code>.<\/p>\n<p>If you need one version over the other, select them explicitly &mdash; and probably <code>rsync.samba<\/code> will disappear eventually&#8230;<\/p>\n<p>How did I notice this? A formerly working transfer of mine broke (starting an rsync daemon via SSH).<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/over-660-000-rsync-servers-exposed-to-code-execution-attacks\/\">Bill Toulas<\/a> (<a href=\"https:\/\/www.reddit.com\/r\/MacOS\/comments\/1i3ykd3\/i_hope_this_means_that_the_very_slow_old_version\/\">Reddit<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.bleepingcomputer.com\/news\/security\/over-660-000-rsync-servers-exposed-to-code-execution-attacks\/\">\n<p>Over 660,000 exposed Rsync servers are potentially vulnerable to six new vulnerabilities, including a critical-severity heap-buffer overflow flaw that allows remote code execution on servers.<\/p>\n<\/blockquote>\n\n<p>It doesn&rsquo;t seem to be <a href=\"https:\/\/support.apple.com\/en-us\/122373\">documented<\/a>, but Apple&rsquo;s fix for this was to remove <code>rsync.samba<\/code> from macOS 15.4. The <a href=\"https:\/\/github.com\/apple-oss-distributions\/rsync\/blob\/main\/rsync.wrapper.c\">wrapper<\/a> that Stapelberg linked to is now gone, though it lives on <a href=\"https:\/\/github.com\/apple-oss-distributions\/rsync\/blob\/d33ad61c0ab87926eec755d4e41c9e61e4feda2a\/rsync.wrapper.c\">in the Git history<\/a>.<\/p>\n\n<p><a href=\"https:\/\/derflounder.wordpress.com\/2025\/04\/06\/rsync-replaced-with-openrsync-on-macos-sequoia\/\">Rich Trouton<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=43605003\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/derflounder.wordpress.com\/2025\/04\/06\/rsync-replaced-with-openrsync-on-macos-sequoia\/\">\n<p>Without going in-depth into the background legal issues, the reason for not providing rsync 3.x is that Apple decided that while it could comply with the terms of GPLv2 license with regards to rsync 2.x, it could not comply with the terms of GPLv3 license with regards to rsync 3.x.<\/p>\n<p>What this has meant for macOS is that it has been shipping with a version of rsync which was last updated in 2006. While Apple has been updating the rsync 2.6.9 command line tool it shipped with macOS as needed in response to security issues and other problems, the fact remains that Apple&rsquo;s version of rsync up until macOS Sequoia was almost twenty years old and did not include any of the new features introduced in rsync versions which came after version 2.6.9.<\/p>\n<p>Now with macOS Sequoia, Apple has replaced rsync 2.6.9 with openrsync, an implementation of rsync which is not using any version of the GPL open source license. Instead, openrsync is licensed under the BSD family of licenses, specifically the ISC license.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=43608619\">adrian_b<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=43608619\">\n<p>Looking at the sparse documentation of openrsync does not create any confidence for me that it can be an acceptable substitute for rsync.<\/p>\n<\/blockquote>\n\n<p>It seems to work fine for my purposes, but certainly a lot of the features are not supported.<\/p>\n\n<p><a href=\"https:\/\/federated.saagarjha.com\/notice\/Aq5bxAX3SG2NHiJPii\">Saagar Jha<\/a>:<\/p>\n<blockquote cite=\"https:\/\/federated.saagarjha.com\/notice\/Aq5bxAX3SG2NHiJPii\">\n<p>Really annoying that Apple is more committed to being stubborn shout GPL than actually shipping good software that doesn&rsquo;t randomly break people&rsquo;s workflows<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/sbgrid.org\/newsletters\/2024\/10\">SBGrid<\/a>:<\/p>\n<blockquote cite=\"https:\/\/sbgrid.org\/newsletters\/2024\/10\"><p>Openrsync aims for compatibility with modern rsync, but accepts only a subset of rsync&rsquo;s command-line arguments. We have seen problems using this openrsync build with the SBGrid Installation Manager.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/apple.stackexchange.com\/questions\/479291\/shell-scripts-that-call-rsync-no-longer-work-in-macos-sequoia\">Fravadona<\/a>:<\/p>\n<blockquote cite=\"https:\/\/apple.stackexchange.com\/questions\/479291\/shell-scripts-that-call-rsync-no-longer-work-in-macos-sequoia\">\n<p>I updated a MacPro from Ventura to Sequoia and now the <code>rsync<\/code> command have problems when wrapped in a script.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/discussions.apple.com\/thread\/256010540?sortBy=rank\">Jeff Freymueller<\/a>:<\/p>\n<blockquote cite=\"https:\/\/discussions.apple.com\/thread\/256010540?sortBy=rank\">\n<p>I have several directories with thousands of files that I synchronize to my Mac using rsync. With Sequoia Apple has switched to a new rsync -- I can tell because the verbose output has changed. But this rsync has a bug that shows up on both Intel and Apple Silicon. This has been persistent across all versions of MacOS 15 to date, and on two different Macs.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/rachelbythebay.com\/w\/2025\/05\/31\/sync\/\">Rachel Kroll<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=44167089\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/rachelbythebay.com\/w\/2025\/05\/31\/sync\/\"><p>rsync has both -I and -c which promise to not use the quick method and instead will run a checksum on the files. It&rsquo;s slower so you won&rsquo;t want to do this normally, but it&rsquo;s not a bad idea to add this to the mix of things that you do every so many rotations.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/03\/31\/macos-15-4\/\">macOS 15.4<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/03\/26\/apples-dormant-cups\/\">Apple&rsquo;s Dormant CUPS<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/01\/04\/mojaves-rsync-from-the-days-of-tiger\/\">Mojave&rsquo;s rsync From the Days of Tiger<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2014\/10\/11\/an-aging-collection-of-unix-tools\/\">An Aging Collection of Unix Tools<\/a><\/li>\n<\/ul>\n\n<p id=\"sequoias-new-rsync-update-2025-07-04\">Update (<a href=\"#sequoias-new-rsync-update-2025-07-04\">2025-07-04<\/a>): <a href=\"https:\/\/bsd.network\/@kristapsdz\/114790468800055488\">Kristaps Dzonsons<\/a>:<\/p>\n<blockquote cite=\"https:\/\/bsd.network\/@kristapsdz\/114790468800055488\"><p>Recently I had another system merged into #apple. Openrsync, for replacing rsync. I found out about it indirectly from the news, not from anybody at Apple. Ok, sure--same as when they merged mandoc. Since then, however, I&rsquo;ve had a steady stream of mails (to my private addr, which is still in the manpage, and to the github repo) about the Apple fork. <em>I don&rsquo;t work there.<\/em> I even applied, ironically, to a job posting for systems daemons, with no response. I&rsquo;d love to help these folks, but I don&rsquo;t know how the system was changed when merged (nothing pushed back upstream), nor am I in contact with anybody at Apple. It&rsquo;s not the users&rsquo; faults: whom would they contact otherwise? So much for engaging the community&#8230;<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Michael Stapelberg (in January): With macOS 15 Sequoia (released in September 2024), Apple has started shipping openrsync (created by Kristaps Dzonsons, from OpenBSD) as an alternative to the original rsync (&ldquo;tridge&rdquo;, from the Samba project). When you run &ldquo;rsync&rdquo;, a wrapper will inspect your command and dispatch to either \/usr\/libexec\/rsync\/rsync.samba or rsync.openrsync. If you need [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-06-06T21:12:15Z","apple_news_api_id":"2201985b-9814-49b5-8680-19a06a237e8c","apple_news_api_modified_at":"2025-07-04T20:18:15Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/AIgGYW5gUSbWGgBmgaiN-jA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[2095,735,30,2598,991,1771,48],"class_list":["post-47989","post","type-post","status-publish","format-standard","hentry","category-technology","tag-exploit","tag-gnu","tag-mac","tag-macos-15-sequoia","tag-open-source-software","tag-rsync","tag-security"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=47989"}],"version-history":[{"count":4,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47989\/revisions"}],"predecessor-version":[{"id":48353,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47989\/revisions\/48353"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=47989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=47989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=47989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}