Fix Transmission RPC and file browser permissions #43
@@ -66,8 +66,18 @@ def browse(path: str = ""):
|
||||
target = _safe_path(path)
|
||||
except ValueError:
|
||||
raise HTTPException(status_code=403, detail="Access denied")
|
||||
|
||||
# Check if we have permission to read the directory
|
||||
try:
|
||||
items = list(target.iterdir())
|
||||
except PermissionError:
|
||||
raise HTTPException(status_code=403, detail="Permission denied")
|
||||
except OSError as e:
|
||||
logger.error(f"Error reading directory {target}: {e}")
|
||||
raise HTTPException(status_code=500, detail="Error reading directory")
|
||||
|
||||
entries = []
|
||||
for item in sorted(target.iterdir()):
|
||||
for item in sorted(items):
|
||||
try:
|
||||
if not _is_safe_symlink(item):
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user