P4_port_SYSTEMIGNORE
Defines a list of file paths that the p4 client is prevented from syncing or submitting. This protects the client from a malicious or untrusted server attempting to write sensitive configuration files such as P4ENVIRO or P4CONFIG targets, which could then trigger arbitrary commands through settings such as P4LOGINSSO, P4MERGE, P4DIFF, or P4EDITOR.
This variable is specific to a server address. Replace port with the target P4PORT value in the form expected by the implementation.
Usage notes
| Used by client? | Used by server? | Command-line alternative | Can be set in P4CONFIG file? |
|---|---|---|---|
|
Yes |
No |
None |
None |
Value if not explicitly set
| Operating system | Value |
|---|---|
|
All |
The client blocks the built-in default list: |
Syntax
The value uses depot path mapping syntax with semicolon-separated entries.
| Token | Value |
|---|---|
|
|
Expands to the built-in default blocked list. |
|
|
Disables all protections for the specified server address. |
|
|
Expands to the current value of |
|
|
Expands to the current value of |
|
|
Expands to the user home directory. |
Examples
P4_gemini.perforce.com:1666_SYSTEMIGNORE=~/myspecialcase;$defaults
P4_gemini.perforce.com:1666_SYSTEMIGNORE=$none
Notes
If P4_port_SYSTEMIGNORE is unset or empty, the client applies the default protection list automatically.
This variable can be set in an operating system environment variable, in the P4ENVIRO file, or in the service-specific registry on Windows.
P4_port_SYSTEMIGNORE cannot be loaded from a P4CONFIG file. This is intentional, so the protection cannot be disabled through the same mechanism it is designed to defend against.
The protection check applies to symlinks during sync, but not during submit. The check still runs even if filesys.restrictsymlinks=0.
See also P4CLIENTPATH.