Skip to content

important dedup fix

Compare
Choose a tag to compare
@9001 9001 released this 30 Aug 23:38
· 224 commits to hovudstraum since this release

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

important bugfix ☢️

this version fixes a file deduplication bug which was introduced in v1.13.8, released 2024-08-13

its worst-case outcome is loss of data in the following scenario:

  • someone uploads a file into a folder where that filename is already taken, but the file contents are different, and the server already has a copy of that new file elsewhere under a different name

specific example:

  • the server has two existing files, logo.png and logo-v2.png, in the same volume but not necessarily in the same folder, and those files contain different data
  • you have a local copy of logo-v2.png on your laptop, but your local filename is logo.png
  • you upload your local logo.png onto the server, into the same folder as the server's logo.png
  • because the files contain different data, the server accidentally replaces the contents of logo.png with your version

if you have been using the database feature (globally with -e2dsa or volflag e2ds), and you suspect you may have hit this bug, then it is a good idea to make a backup of the up2k databases for all your volumes (the files with names starting with up2k.db) before restarting copyparty and before you do anything else, especially if you do not have serverlogs from far back in time -- if you have either the databases and/or the serverlogs, then it is possible to identify replaced files with some manual work

you can check if you hit the bug using one of the following two approaches:

  • if your OS has the gnu find command, do a search for empty files with find -type f -size 0
  • using copyparty (any OS), do the following steps:
    • make sure that reindex-on-startup is enabled; either globally with -e2dsa or volflag e2ds
    • then install this new copyparty version
    • click the search tab [🔎] and type the number 0 into the maximum MiB textbox

if you find any empty files with a filename that indicates it was autogenerated to avoid a name collision, for example logo.png-1725040569.239207-kbt0xteO.png, and the value of the number after logo.png is larger than 1723507200 (unixtime for 2024-08-13), then this indicates that logo.png may have been replaced by another upload

if you have the serverlogs from when the original upload of logo.png was made, then this can be used to identify the original contents of the file that was replaced, and to look for other copies. Please get in touch on the discord for assistance if necessary


new features

  • shares: add revival and expiration extension ad2371f
    • share-owners can revive expired shares for --shr-rt minutes (default 1 day)
    • ...and extend expiration time by adding 1 minute or 1 hour to the timer
  • sfx customizer improvements 03b13e8
    • improved translations stripper
    • add more examples

bugfixes

other changes


⚠️ not the latest version!