Skip to content

fix: ignore relative XDG base directory paths - #540

Open
lakshayxi wants to merge 2 commits into
tox-dev:mainfrom
lakshayxi:fix/issue-539
Open

fix: ignore relative XDG base directory paths#540
lakshayxi wants to merge 2 commits into
tox-dev:mainfrom
lakshayxi:fix/issue-539

Conversation

@lakshayxi

Copy link
Copy Markdown

Fixes #539.

The XDG Base Directory Specification requires XDG directory environment variables to contain absolute paths. Relative values must be ignored.

This change:

  • validates XDG base directory variables before using them;
  • ignores relative values for XDG_DATA_HOME, XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_STATE_HOME, and XDG_RUNTIME_DIR;
  • filters relative entries from XDG_DATA_DIRS and XDG_CONFIG_DIRS while preserving valid absolute entries;
  • applies the same validation when locating user-dirs.dirs;
  • preserves the existing platform-specific fallback behavior.

Tests cover Unix and macOS behavior, including mixed valid/relative directory lists and derived XDG data-directory consumers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

user_state_dir returns invalid relative paths

1 participant