Run CI in a Docker image
* Wait a second for lighttp and apache to fully initialize the socket
* Try to add a timeout for lmbench, which is prone to hanging (vfork)
* Set a timeout on gcc; one of the PRs is causing gcc hello to hang. Also, to avoid interference, run apache test on 8001 by default.
* Update lmbench to ignore bin dir
* Do the faster tests first; fail earlier
* Get the IP addr properly for web server tests
* Some notes on flaky LTP tests to debug later. Move a few that tend to heisenbugs off of the required list for now
* Try to detect vma list corruption during the debug dump, lest it be infinite.
* Temporarily disable the lmbench vfork test (Issue #142).
* Catch some failures faster.
* Catch failures in apachebench
* Take apache out of the Linux host/Debug build CI for now, as it hangs consistently. Filed issue #144 to track.
* add memusg to pal_loader script
* Stop bleeding PAL handles.
Deprecating DkOjectReference and reference counting in PAL handle.
Deprecating DkSemaphoreDestroy and DkEventDestroy (replaced by DkObjectClose).
Cleaning unused PAL handles in the library OS.
Adding a heap tracing feature to profile usage of PAL handles.
* fix a bug in SGX mode that mapping untrusted files into memory never got free by DkVirtualMemoryFree()
* adding lighttpd SSL option
* fixing the freeing convention of PAL handles; On SGX, event and mutex handles need to be freed seperately.
* changing how mutexes and events are allocated on SGX
* fixing GCC regression tests (for both Linux and SGX)
* fix a double-free problem of the first thread handle
- Fixing AES-CMAC algorithm
- Using SHA512 to hash file stubs (much faster than SHA256 and AES-CMAC)
- Hardening enclave interface (still work-in-progress); delt with issue #28
- Handling socket/pipe polling better
- Allowing setting the lowest heap address in enclaves ('sgx.heap_min' in manifest)
- Fixing the pipe between processes (for SGX)
- Fixing race condition in futex handling in LibOS
- Inheriting epoll handles in forked chilren
- Assigning signal code (now only hard-coding FPE_INTDIV, BUS_ADRERR, SEGV_ACCERR, SEGV_MAPERR)
- Fixing race condition in vma allocation (likely to fix bug() in bookkeep/shim_vma.c)
- Clearer debug message in LibOS
- Fixing calling convention in LibOS and glibc
- Fixing futex behavior (FUTEX_WAIT takes relative time, FUTEX_WAIT_BITSET takes absolute time)
- More system call implemented
- More application working (NGINX)
Release of Graphene SGX:
Supporting native Linux application in Intel SGX enclaves.
Most applications are supported. Some features may still be buggy.
Improving portability of Graphene:
Eliminating GCC-ism of the host-generic code.
Easier to port to non-Posix platform (e.g., Windows without Cygwin).
- Bugfixes in PAL and SHIM
- Improvement of migration scheme in SHIM, which largely speed up
forking
- Upgrade glibc to 2.19
- FreeBSD port
- Support OpenJDK, python and R
Plenty of bugfixes for Linux kernel later than 3.5 and Ubuntu later than 10.10.
More organized code to improve portability.
Regression tests for Pal to test completeness of implementation.