瀏覽代碼

borg config --cache: allow validated access to previous_location

(cherry picked from commit 810986f0f57589a708cb0e40da47dc21681b108e)
Thomas Waldmann 7 年之前
父節點
當前提交
a48fffad6e
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      src/borg/archiver.py

+ 6 - 4
src/borg/archiver.py

@@ -45,7 +45,7 @@ from .crypto.key import key_creator, key_argument_names, tam_required_file, tam_
 from .crypto.keymanager import KeyManager
 from .helpers import EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR
 from .helpers import Error, NoManifestError, set_ec
-from .helpers import positive_int_validator, location_validator, archivename_validator, ChunkerParams
+from .helpers import positive_int_validator, location_validator, archivename_validator, ChunkerParams, Location
 from .helpers import PrefixSpec, SortBySpec, HUMAN_SORT_KEYS, FilesCacheMode
 from .helpers import BaseFormatter, ItemFormatter, ArchiveFormatter
 from .helpers import format_timedelta, format_file_size, parse_file_size, format_archive
@@ -1755,9 +1755,11 @@ class Archiver:
         def cache_validate(section, name, value=None, check_value=True):
             if section not in ['cache', ]:
                 raise ValueError('Invalid section')
-            # I looked at the cache config and did not see anything a user would want to edit,
-            # so, for now, raise for any key name
-            raise ValueError('Invalid name')
+            if name in ['previous_location', ]:
+                if check_value:
+                    Location(value)
+            else:
+                raise ValueError('Invalid name')
 
         try:
             section, name = args.name.split('.')