CA-114289:Improve logging by hiding arguments with sensitive information.
Maintain a list of commands and arguments that need to be protected.
(cherry picked from commit 1ff696b31db8d9cb30afc4953951a3ca40282fe6)
(Part of a cherry-pick set of three commits which must be kept together.)

Conflicts:

	ocaml/xapi/xapi_cli.ml

Resolved-by: Thomas Sanders <thomas.sanders@citrix.com>
CA-115340: Add plugin protection to message forwarding layer.
(cherry picked from commit 6e3f50dc94cda15e84ce310ff8dd6e2c370b6067)
CA-116596 fix the fix for log-censoring

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
(cherry picked from commit 3076205b9ad50de2aeebaa2d57e835e59ab4c71e)
Use Stringext.has_substr instead of needing Re package.

A fix-up after commit f0c11881ccfeb0d0cd0ed5e263d7fd3185f23319
which brought in a fix from trunk, this commit removes the use
of the Re package.
(That package is not present on the Clearwater-derived branch.)

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
Merge pull request #1637 from robhoes/clearwater-sp1-lcm

SCTX-1532: Ensure that ethtool params get set on bond slaves
HFX-1078: [SCTX-1635] Handle storage exception while unplugging VBD.

Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
Merge pull request #1638 from siddharthv/HFX-1078

HFX-1078: [SCTX-1635] Handle storage exception while unplugging VBD.
Merge pull request #1632 from thomassa/clw-sp1-lcm-hfx1002

Clw sp1 lcm hfx1002
CA-127975: Run sparse_dd with new subtask during cross-host VDI.copy

Previously sparse_dd (and the receiving import_raw_vdi operation)
re-used the VDI.copy task, marking it complete once the import had
finished.

This caused problems with cross-host VM.copy, as the VM.copy operation
would also watch the VDI.copy task for completion. The VM.copy would
attempt to extract the new VDI reference from the task result straight
away, but import_raw_vdi did not add this to the task result on
completion, leading to the VM.copy failing with Xml.Error.

Adding the new VDI ref to the VDI.copy task result did not fix the
problem, as in this case the VM.copy operation would immediately destroy
the VDI.copy task as soon as it was marked completed. The VDI.copy
operation would then fail, as its task no longer existed, and it would
clean up by destroying the new VDI. Meanwhile the VM.copy operation would
complete without an exception being raised.

The approach taken here is to create a new task for the import_raw_vdi
operation. VDI.copy watches for this task to be completed, and VM.copy
in turn watches for the VDI.copy operation to be completed. This way
there is no race between VDI.copy and VM.copy, and the new VDI ref is
automatically added to the VDI.copy task's result on completion.

Signed-off-by: John Else <john.else@citrix.com>
CA-127975: Add explanatory comment

Signed-off-by: John Else <john.else@citrix.com>
Add explicit Prototyped API lifecycle transition

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Update HTML API docs to take into account new lifecycle info

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Merge pull request #1642 from johnelse/ca-127975-clearwater-sp1

CA-127975: Run sparse_dd with new subtask during cross-host VDI.copy
Update HTML API doc branding

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Merge pull request #1644 from robhoes/prototyped-cw

Add explicit Prototyped API lifecycle transition