netbox/netbox
Brian Tiemann 88711b3cb2 Closes #22427: Validate JSONFilter.path; add JSONStringLookup with regex
- Add _validate_json_path(): each __-separated path segment must match
  [A-Za-z0-9_][A-Za-z0-9_-]* (allows leading underscores per Jeremy's
  suggestion; ORM operator names like 'date'/'regex' are valid JSON keys
  and are not blocked — the trailing __ JSONFilter appends makes them
  key traversal steps, not ORM transforms)
- Add JSONStringLookup: explicit string-filter type for JSONLookup.
  regex/i_regex are included (they offer no additional oracle power
  beyond starts_with, which is also present, per Jeremy's observation)
- JSONFilter.filter() validates self.path and returns empty Q() on
  invalid input rather than passing untrusted user input to the ORM
- 19 unit tests for path validation and JSONStringLookup field presence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 09:11:06 -04:00
..
account Closes #22062: Display API token ID & plaintext one time immediately upon creation (#22064) 2026-05-01 16:04:35 +02:00
circuits refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
core refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
dcim refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
extras refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
ipam refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
media Closes #21035: Add .gitkeep to track the media directory (#21074) 2026-01-08 14:33:06 -06:00
netbox Closes #22427: Validate JSONFilter.path; add JSONStringLookup with regex 2026-06-16 09:11:06 -04:00
project-static Release v4.6.2 2026-06-02 10:11:34 -04:00
reports
…
scripts
…
templates Closes #17598: Add bulk creation for VLANs (#22377) 2026-06-15 08:22:58 -05:00
tenancy refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
translations Update source translation strings 2026-06-16 06:47:17 +00:00
users refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
utilities Fixes #22448: Ensure all objects are escaped under handle_protectederror() (#22449) 2026-06-16 13:43:52 +02:00
virtualization refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
vpn refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
wireless refactor(graphql): Update filter lookups for strawberry-django 0.86 2026-06-16 08:50:03 -04:00
generate_secret_key.py Change Interpreter in shebang to python3 2023-02-27 14:09:10 -05:00
manage.py Fix ambiguous shebang in netbox/manage.py. 2024-10-24 09:04:49 -04:00
release.yaml Release v4.6.2 2026-06-02 10:11:34 -04:00