Граф коммитов

24 Коммитов

Автор SHA1 Сообщение Дата
Sahil Gandhi a98cd5ef2a
Rename DominoInvocation and ExtraEventDataReported Events (#869)
AB#1597957
2019-09-13 11:57:39 -07:00
olkononenko e258b488c9
Symbol indexing/publishing (#727)
SymbolDaemon - fist iteration (no collision handling and no caching support).

AB#1563806
AB#1549039
2019-09-06 09:27:08 -07:00
Semih Okur 68a25575ec
Remove BondRPC (#758) 2019-08-19 13:13:49 -07:00
Iman Narasamdya 22d4e8d2df
Binary graph fragments for BuildXL (#730)
Uses BuildXL script analyzer for creating graph fragments.
Merge/unify pips, including IPC and service pips.
2019-08-14 11:44:19 -07:00
Aleksandar Milicevic 0bd8915b60
New macOS sandbox based on EndpointSecurity APIs (#704)
On behalf of @Kr1sso 

Initial draft for EndpointSecurity based sandbox support on macOS Catalina and higher. This is here to test and prototype a new sandbox for the upcoming OS release as kernel extensions are deprecated and will soon be forbidden.

Important

This currently only runs on systems with SIP disabled, using super user privileges and signing the bxl binary with a valid developer certificate before executing!
```
codesign --entitlements Private/macOS/sandbox.entitlements Out/Bin/Debug/osx-x64/bxl -s XYZ
```
A valid signing key (replace XYZ) can be obtained by using a registered MS developer account connected with an AppleID.

Running 
```
security find-identity -v -p codesigning 
```
will list those if any are available on the system.
2019-08-06 09:07:34 -07:00
olkononenko 5d2cfeb8b3
DropDaemon refactoring (#528)
AB#1552016
2019-07-18 01:06:46 -07:00
dannyvv ea44a33ebb
Remove/update some FxCop justifications (#597) 2019-07-15 15:18:57 -07:00
Aleksandar Milicevic 095895318c
Remove mentions of Microsoft.Applications.Telemetry from BuildXL.dsc.template (#582) 2019-07-11 21:13:27 -07:00
Aleksandar Milicevic 0160c34667
Remove dependencies on Microsoft tracing and telemetry assemblies (#569)
- don't define FEATURE_MICROSOFT_DIAGNOSTICS_TRACING constant for any builds
 - remove all importFrom("Microsoft.Diagnostics.Tracing.EventSource.Redist").pkg
 - remove all importFrom("Microsoft.Diagnostics.Tracing.TraceEvent").pkg
 - remove all importFrom("Microsoft.Applications.Telemetry.Desktop").pkg
 - add #if NET_FRAMEWORK_451 hacks to work around missing tracing features in .NET Framework 4.5.1
2019-07-10 14:23:48 -07:00
Aleksandar Milicevic 404ac852f4
[.NET Core] Use native C++ SDK to talk to Aria (#558) 2019-07-07 20:01:55 -07:00
Kristijan Šimić d87f097d6d
First notarized KEXT release (#341) 2019-05-20 19:16:28 +02:00
Kristijan Šimić a1abe06963
Adjust the publish kext step to hint at additional notarization (#318) 2019-05-16 16:55:51 +02:00
Kristijan Šimić 46b2a842e6
Apple kext notarization / staple support (#313)
* Added a script to notarize and staple the sandbox kext after it has been signed
2019-05-16 00:13:14 +02:00
Kristijan Šimić a9b89b4452
Nuget Analyzer + Spec Generator Refactoring (#281)
* General Nuget package target framework support and spec generation reworked
2019-05-10 13:30:36 +02:00
Iman Narasamdya b40a6d837d
Hook up mechanism for running pip in VM (#251)
In this change we hook up the mechanism for running pip in VM.

Interaction with VM is via so-called VmCommandProxy, which is provided by CB team. Instead of calling the methods of VmCommandProxy, we launch VmCommandProxy executable with specific commands. In this way, we don't need to be bound by the .NET framework used by VmCommandProxy.

Currently, VM initialization requires username/password because it has to create a drive map from the VM back to the host. This will change soon. The changes in this PR will enable us to test running pip in VM in the CI/CBTest environment.
2019-05-06 11:44:01 -07:00
Aleksandar Milicevic 5f7dc9d914
Delete obsolete script (#247) 2019-05-03 09:28:31 -07:00
Aleksandar Milicevic b6a0ca4a62
[MacSandbox] skip unnecessarily creating trie nodes on lookups (#246)
Before this PR, on every trie operation a leaf node corresponding to a given key is retrieved, creating any intermediate nodes along the way.

This is unnecessary for lookup operations. When the key does not exist in the trie, instead of traversing the trie until a leaf node is found and creating all intermediate nodes along the way, the lookup should fail as soon as an intermediate node is not found.

As a consequence of the previous implementation, if a process connects to the kext and then immediately disconnects, that alone causes the size of the `connectedClients_` dictionary to monotonically grow. This can become a problem because those nodes are released only when the kext is unloaded.
2019-05-03 08:52:46 -07:00
Iman Narasamdya 080fb78700
Execute process pips externally via sandboxed process executor tool (#159)
This change introduces a so-called sandboxed process executor tool that takes a sandboxed process info as an input and outputs a sandboxed process result containing details of file accesses.

The tool will be used to run process pips that require admin privilege, and the tool will run inside a VM. Traditionally, BuildXL in SandboxedProcessPipExecutor will create a detoured child process and communicate with the child process by means of pipes. For process pips that require admin, SandboxedProcessPipExecutor will (1) serialize sandboxed process info, (2) launch the sandboxed process executor tool, and (3) deserialize sandboxed process result produce in (2).

The sandboxed process executor tool will either replace QuickBuild's Tracker.exe or be called by QuickBuild's Tracker.exe. The cutting layer allows the two scenarios to be done, but the latter is the easiest.
2019-04-24 14:35:08 -07:00
Annie Fu d6e6631d58 Switch Nuget feeds from pkgs.visualstudio.com to dev.azure.com (#160) 2019-04-18 18:23:11 -07:00
dannyvv 12453eef30
Update Transformer.write to use the new Object style apy (#97) 2019-04-08 18:32:33 -07:00
dannyvv a7b4f9ea92
Update sealDirectory calls to use new object api (#95) 2019-04-08 16:09:12 -07:00
Aleksandar Milicevic 3e45361641
[MacSandbox] Extract bundle identifier into an xcconfig (#64)
This will be useful because being able to control bundle identifier and buildxl class prefix from a single place will allow us to easily build and simultaneously load multiple versions of our kext (e.g., one for LKG and one for tests)
2019-04-01 18:15:44 -07:00
Kristijan Šimić 7842d94bd2
[macOS] General updates to documentation and build scripts (#50)
* Restore all script exec permissions, update Readme.md with better macOS instructions
* Always run sandboxed when building internal
* Exec permission adjustment for all scripts
2019-03-29 13:20:48 +01:00
Microsoft Open Source b5c9f43106 Initial sync
Sync from internal 'Domino' repo at 7ef83bdcd855bd3a837464e44d6de25f19775b5c
2019-03-28 15:35:49 -07:00