#-------------------------------------------------------------------------------
# Broker Config for Data Leakage Protection.
#-------------------------------------------------------------------------------
target = __P4PORT__;
listen = __P4BROKERPORT__;
directory = __P4BINDIR__;
logfile = "__LOGS__/p4broker.log";
debug-level = server=__BROKER_LOG_LEVEL__,net.autotune=1;
admin-name = "Perforce Admins";
admin-phone = 999/911;
admin-email = "__MAILTO__";
compress = false;
redirection = selective;
#------------------------------------------------------------------------------
# Show Broker Input - Utility for developing broker filter scripts.
#------------------------------------------------------------------------------
command: ^sbi$
{
action = filter;
execute = /p4/common/site/hms/scripts/sbi.pl;
}
#==============================================================================
# Data Leakage prevention.
#==============================================================================
#------------------------------------------------------------------------------
# Version check for DLP.
command: ^dlp$
{
action = reject;
message = "\nThe Data Leakage Protection (DSP) is enabled on this server.\nVersion: __DLP_VERSION__\n";
}
### This is a HACK to prevent Swarm from choking on DLP features.
command: .*
{
user = __SWARM_USER__;
action = pass;
}
#------------------------------------------------------------------------------
# Bypass for the automation super user.
command: .*
{
user = perforce;
action = pass;
}
#------------------------------------------------------------------------------
# This filter script requires the indicated command to have 'super' access
# in the Protections table. This will break some functionality in P4V, etc.
command: ^users$
{
action = filter;
checkauth = true;
execute = /p4/common/site/hms/dlp/broker_must_be_super.pl;
}
#------------------------------------------------------------------------------
# This filter script requires the indicated command to have '-u <user>'.
# If the '-u <user>' arg is not provided, the command is rewritten to
# implicitly add it. If '-u <user>' is provided (potentially specifying
# any other user), it is implicitly removed from the command line before
# appending '-u' to reference the current user.
# Note: Nothing special is needed for streams, as p4d Streams features
# honor the Protections table (requiring list access to see a stream).
command: ^branches|clients|groups|labels|remotes|workspaces$
{
action = filter;
checkauth = true;
execute = /p4/common/site/hms/dlp/broker_imply-u.pl;
}
#------------------------------------------------------------------------------
# This filter script allows the indicated spec handling commands to
# allow only owners of specs to modify them. We don't use this
# for stream specs as they have Protections table controls.
command: ^branch|client|label|remote|user|workspace$
{
action = filter;
checkauth = true;
execute = /p4/common/site/hms/dlp/broker_must_be_owner.pl;
}
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 33516 | C. Thomas Tyler |
Consistency pass: fix absolute URLs, p4ms->hms renames, script/doc typos and bugs - Convert absolute workshop.perforce.com URLs to relative paths in dlp/ReadMe.md - Fix case-mismatch link to HMS_Product_Roadmap.md in README.md - Rename reset_p4ms.sh -> reset_hms.sh and p4broker_p4ms_test -> p4broker_hms_test - Fix .sh-suffix bugs: bin/hms calling global_replica_status.sh (should be no ext), and matching SEE ALSO / doc references for sdp_sync and global_replica_status - Add missing scripts (gtu, hrun, irun, global_replica_status) to gen_script_man_pages.sh - Add stub scripts: nj_help.sh, broker_njob.pl, broker_mkproj.pl, broker_jr.pl - Remove dangling absolute symlinks HostCM/p4 and HostCM/p4d (cruft) - Rename test/b -> test/broker_ctl.sh for clarity - Fix real bugs: broker_imply-u.pl broken regex match, gen_dlp_broker_cfg.sh and gen_nj_broker_cfg.sh copy-pasted Version-file existence check, garbled comment in broker_must_be_owner.pl, unclosed quote in tools/gsr.sh usage(), missing 'h' in HMS_SystemComponents.md broker command example (^ms$ -> ^hms$) - Fix broken sed command and incomplete sentence in HMS_Install_Notes.md and SDP_and_HMS_Update_Process.md - Fix broken markdown table in HMS_Product_Roadmap.md - Fix unclosed parenthesis, missing verb, and FKA Swarm mislabel in HMSDeploymentPlanning.adoc - Standardize //streams/main/... naming in HostCM/ReadMe.md - Numerous typo fixes across README.md, HMS_SystemComponents.md, SDP_and_HMS_Update_Process.md, HMS_TightShipManagement.adoc, HMSDeploymentPlanning.adoc, HostCM/ReadMe.md, and various scripts Co-authored-by: Copilot <[email protected]> |