Story #5974

Updated by bmbouter over 4 years ago

At the system level, default to denying file import from file:/// unless a subpath of one or more declared approved paths. The list of approved paths will live in settings as it's a system-wide thing. 

 h3. Example whitelisting importing from /mnt/ and /anotherdir/ 

 <code>ALLOWED_IMPORT_PATHS = ['/mnt/', '/anotherdir/']</code> 

 Then any file:/// sync that starts with '/mnt/' or '/anotherdir/', e.g. file:///mnt/foo/ or file:///anotherdir/bar/PULP_MANIFEST would sync. 

 Each path listed in ALLOWED_IMPORT_PATHS must be absolute 

 h3. Default 

 For safety reasons, this would be disabled by default and administrators need to opt-in to its use. 

 <code>ALLOWED_IMPORT_PATHS = []</code> 

 h3. Validation checking at Remote save-time and runtime 

 The Remote serializer needs to validate at save time. Also that validation needs to be performed at runtime. It's this second check that will handle any existing Remote's with invalid paths already saved in the DB in a reasonable way.