rclone/cmd
albertony 0093e23e42 mount: changed handling of volume name (Windows and OSX)
Fixes an issue on Windows where mounting the local filesystem in network mode failed
when not using option --volname. Reason was that the volume name in network mode
is a network share path in the basic UNC format, and characters that are invalid
in regular file and directory names are also invalid in such a path. And the default
volume name would typically include a '?', which is invalid, from the unc path of
the local, e.g. "\\server\\? C  Temp".

The fix is to use an encoder to encode invalid characters such as '?' with the unicode
equivalent, similar to how rclone encodes filesystem paths in normal operations,
when mounting in network mode. Also performs some automatic cleanup of path separators,
but in general, tries to be conservative on restrictions, and instead rely on --volname
being set to something realistic.

Existing strategy to replace the two characters ':' and '/' with space, regardless of
mounting mode variant, was removed. For network mode the new approach handles these in
a better way. Also the existing method did not apply at all when using the implicit
network mode where volume names are taken from mountpath instead of volname option
("rclone mount remote:path/to/files \\cloud\remote"). For non-network mode they were not
needed.

Default volume names, when not specified by user, will be different with this change.

See: #6234
2023-03-03 20:59:45 +01:00
..
about docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
all bisync: implementation #5164 2021-11-01 21:00:27 +03:00
authorize authorize: add support for custom templates 2023-02-24 15:08:38 +00:00
backend docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
bisync docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cachestats docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cat docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
check docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
checksum docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cleanup docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cmount mount: changed handling of volume name (Windows and OSX) 2023-03-03 20:59:45 +01:00
config lib/oauthutil: Improved usability of config flows needing web browser 2022-12-09 14:41:05 +00:00
copy docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
copyto docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
copyurl docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cryptcheck docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cryptdecode docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
dedupe docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
delete docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
deletefile deletefile: return error code 4 if file does not exist 2023-03-03 09:51:23 +00:00
genautocomplete docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
gendocs docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
hashsum docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
link docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
listremotes docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
ls docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
lsd docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
lsf docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
lsjson docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
lsl docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
md5sum docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
mkdir docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
mount mount: changed handling of volume name (Windows and OSX) 2023-03-03 20:59:45 +01:00
mount2 mount: changed handling of volume name (Windows and OSX) 2023-03-03 20:59:45 +01:00
mountlib mount: changed handling of volume name (Windows and OSX) 2023-03-03 20:59:45 +01:00
move docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
moveto docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
ncdu docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
obscure docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
purge docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
rc rc: set url to the first value of rc-addr since it has been converted to an array of strings now -- fixes #6641 2022-12-22 09:02:20 +00:00
rcat docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
rcd rcd: refactor rclone rc server to use lib/http 2022-12-15 12:38:09 +00:00
reveal docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
rmdir docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
rmdirs docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
selfupdate selfupdate: consider arm version 2023-02-04 13:32:26 +01:00
serve docker: fix volume plugin does not remount volume on docker restart 2023-02-28 11:29:07 +00:00
settier docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
sha1sum docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
size docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
sync docs: use --interactive instead of -i in examples to avoid confusion 2023-01-24 20:43:51 +01:00
test test memory: read metadata if -M flag is specified 2022-12-15 12:37:19 +00:00
touch docs: use --interactive instead of -i in examples to avoid confusion 2023-01-24 20:43:51 +01:00
tree tree: fix colored output on windows 2023-03-03 12:37:01 +01:00
version docs: add minimum versions to the command pages 2022-12-03 18:58:55 +01:00
cmd.go lib/terminal: enable windows console virtual terminal sequences processing (ANSI/VT100 colors) 2023-03-03 12:37:01 +01:00
help.go docs: remove minimum versions from command pages of pre v1 commands 2022-12-03 18:58:55 +01:00
progress.go Add a download flag to hashsum and related commands to force rclone to download and hash files locally 2020-12-27 15:40:44 +00:00
selfupdate_disabled.go build: apply gofmt from golang 1.17 2021-09-09 20:43:59 +03:00
selfupdate_enabled.go build: apply gofmt from golang 1.17 2021-09-09 20:43:59 +03:00
siginfo_bsd.go cmd: Enable SIGINFO (Ctrl-T) handler on FreeBSD, NetBSD, OpenBSD and Dragonfly BSD 2022-11-07 11:45:04 +00:00
siginfo_others.go cmd: Enable SIGINFO (Ctrl-T) handler on FreeBSD, NetBSD, OpenBSD and Dragonfly BSD 2022-11-07 11:45:04 +00:00