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: .p4enviro, p4enviro.txt, .p4config, p4config.txt, the path named by P4ENVIRO, and the path named by P4CONFIG.

Syntax

The value uses depot path mapping syntax with semicolon-separated entries.

Token Value

$defaults

Expands to the built-in default blocked list.

$none

Disables all protections for the specified server address.

$P4CONFIG

Expands to the current value of P4CONFIG.

$P4ENVIRO

Expands to the current value of P4ENVIRO.

$home or ~

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.