Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging for 0.6.0 #229

Merged
merged 151 commits into from
Mar 29, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
a769373
Fix docker builds.
mstemm Aug 6, 2016
f82288f
Merge pull request #110 from draios/fix-docker-build
mstemm Aug 6, 2016
b57eb86
Add ignores for test-related files.
mstemm Jul 26, 2016
bf431cf
Don't run the spawned program in a shell.
mstemm Aug 9, 2016
03e6c1b
Merge pull request #111 from draios/update-nodejs-example
mstemm Aug 9, 2016
fc9690b
Create embeddable falco engine.
mstemm Jul 15, 2016
b1857ef
Move falco engine to its own library.
mstemm Jul 20, 2016
09405e4
Add configurable event dropping for falco engine.
mstemm Jul 27, 2016
f174806
Add tests for multiple files, disabled rules.
mstemm Aug 4, 2016
dcaeebd
Merge pull request #103 from draios/falco-engine
mstemm Aug 10, 2016
12391ee
Eliminate FPs.
mstemm Aug 10, 2016
39ae768
Handle dbus-daemon-launch-helper.
mstemm Aug 10, 2016
2aa8a5c
Merge pull request #112 from draios/fix-addl-false-positives
mstemm Aug 10, 2016
6e1f23b
Program/docker image that performs bad activities.
mstemm Aug 11, 2016
65f3725
Improve ruleset based on falco event-generator.
mstemm Aug 12, 2016
822770a
Merge pull request #113 from draios/add-event-simulator
mstemm Aug 12, 2016
34fcce7
Install falco rules with configurable filename.
mstemm Aug 17, 2016
e717e3e
Merge pull request #114 from draios/configurable-rules-filename
mstemm Aug 17, 2016
2731fd5
Verifying rule names can have spaces.
mstemm Aug 23, 2016
ceedd77
Change rule names to be human readable.
mstemm Aug 23, 2016
ceee146
Merge pull request #116 from draios/rule-names-with-spaces
mstemm Aug 23, 2016
3ee1c0f
Don't alert on falco program notifications.
mstemm Aug 23, 2016
23a9b6e
Fix output methods that take configurations.
mstemm Aug 23, 2016
ef52e62
Add regression tests for configurable outputs.
mstemm Aug 23, 2016
08c3bef
Merge pull request #117 from draios/fix-outputs
mstemm Aug 24, 2016
f974922
Support enabled flag for rules.
mstemm Sep 3, 2016
5644919
Add test for enabled flag.
mstemm Sep 3, 2016
fbcddba
Merge pull request #119 from draios/add-enabled-flag
mstemm Sep 7, 2016
33b9ef5
Include condition in compilation errors.
mstemm Sep 8, 2016
f632fa6
Parser changes to support new sysdig features
mstemm Sep 8, 2016
23e3e99
New rules related to containers.
mstemm Sep 8, 2016
6e9241a
Merge pull request #120 from draios/addl-container-rules
mstemm Sep 12, 2016
164d501
Reduce FPs related to Kubernetes.
mstemm Sep 14, 2016
889b252
Merge pull request #121 from draios/improve-docker-rules
mstemm Sep 15, 2016
930b38b
Add the new pmatch operator.
mstemm Sep 22, 2016
9a5e08d
Fix lua stack leak.
mstemm Sep 23, 2016
08d204d
Merge pull request #123 from draios/fix-stack-leak
mstemm Sep 23, 2016
4354043
Install gcc-4.9 from Debian Jessie repositories
mstemm Sep 30, 2016
82597c9
Merge pull request #124 from draios/fix-docker-gcc
mstemm Sep 30, 2016
5008003
Merge pull request #125 from draios/add-pmatch
mstemm Oct 3, 2016
644f017
Add license comments to all source code.
mstemm Oct 7, 2016
1447894
Merge pull request #126 from draios/add-licenses
mstemm Oct 7, 2016
8290335
Add exfiltration action, env-specified actions.
mstemm Oct 7, 2016
f6720d3
Add jq to docker images.
mstemm Oct 13, 2016
2044091
Add notes on how to post to slack webhooks.
mstemm Oct 13, 2016
1a78e45
Merge pull request #132 from draios/event-generator-env
mstemm Oct 13, 2016
7e60b4b
Merge pull request #133 from draios/add-jq-to-docker
mstemm Oct 13, 2016
3bb84f5
Alphabetize command line options.
mstemm Oct 13, 2016
880c396
Add k8s/mesos/container info to rule outputs
mstemm Oct 13, 2016
1f7c711
Merge pull request #134 from draios/add-k8s-mesos-support
mstemm Oct 13, 2016
f761ddf
Fix logic for detecting conf files.
mstemm Oct 14, 2016
e543fbf
Allow falco to spawn shells in containers.
mstemm Oct 14, 2016
faef562
Add k8s binaries as trusted programs
mstemm Oct 15, 2016
e0e640c
Add ability to write trace files.
mstemm Oct 21, 2016
0211a94
Add stats on events processed/dropped.
mstemm Oct 21, 2016
f98ec60
Rule fixes for dragent.
mstemm Oct 24, 2016
8a2924a
Updating for 0.4.0.
mstemm Oct 25, 2016
b1ad9e6
Added envvar SYSDIG_SKIP_LOAD to Dockerfile to skip kernel module man…
carlsverre Oct 26, 2016
f95a0ea
Honor USE_BUNDLED_DEPS option for third-party libs
mstemm Nov 10, 2016
8b18315
Fully specify FALCO_SHARE_DIR.
mstemm Nov 10, 2016
9ca8ed9
Improve error messages when loading rules.
mstemm Nov 28, 2016
704eb57
Allow run_performance_tests to run test_mm.
mstemm Nov 28, 2016
2961eb4
Move container.info handling to falco engine.
mstemm Nov 28, 2016
064b39f
Validate rule outputs when loading rules.
mstemm Nov 28, 2016
ded3ee5
Add unit test for rule with invalid output.
mstemm Nov 28, 2016
b3c691e
Prevent rule_result from leaking on error.
mstemm Dec 1, 2016
a8662c6
Adding DNF as non-alerting for RPM and package management
djcross Dec 2, 2016
2855895
Merge pull request #153 from djcross/dnf
mstemm Dec 2, 2016
212fd93
Push formatter on lua stack only if does not throw exceptions
Dec 2, 2016
d1d0dbd
Add ability to write capture stats to a file.
mstemm Dec 5, 2016
47bd6af
Add ability to write "extra" stuff to stats file.
mstemm Dec 5, 2016
8e2a3ef
Modify plotting script to handle drop stats.
mstemm Dec 6, 2016
a616301
Cache formatters.
mstemm Dec 6, 2016
ef08478
Add log levels.
mstemm Dec 8, 2016
af8d6c9
Make google_containers/kube-proxy a trusted image.
mstemm Dec 7, 2016
b509c4f
Fix misleading variable name.
mstemm Dec 8, 2016
54b30bc
Add rate-limiting for notifications
mstemm Dec 8, 2016
4f645c4
Use sinsp utils version of get time.
mstemm Dec 8, 2016
bed5ab4
Add fail2ban-server as spawn shell trusted binary
jcoetzee Dec 14, 2016
f4abec4
Merge pull request #163 from jcoetzee/dev
mstemm Dec 15, 2016
39e9043
Revert "Add fail2ban-server as spawn shell trusted binary"
mstemm Dec 15, 2016
09a9ab4
Merge pull request #164 from draios/revert-163-dev
mstemm Dec 15, 2016
2bad529
Add fail2ban-server as trusted binary
jcoetzee Dec 16, 2016
64ecd15
Add systemd as a login binary
jcoetzee Dec 16, 2016
8aa9c21
Merge pull request #168 from jcoetzee/fail2ban
mstemm Dec 16, 2016
1d0c9b1
Merge pull request #169 from jcoetzee/systemd
mstemm Dec 16, 2016
3cbf641
Add confd/fleetctl as acceptable programs.
mstemm Dec 28, 2016
767f2d5
Add ability to clear loaded rules.
mstemm Dec 28, 2016
7c419b6
Allow any macro/list/rule to be overridden
mstemm Dec 28, 2016
9ecdf30
tests for overriding rules/macros/lists
mstemm Dec 28, 2016
77a5429
Add cchh/sysdig as a trusted container.
mstemm Dec 30, 2016
362a6b7
Prefix outputs with * within the engine.
mstemm Dec 30, 2016
f4bb49f
Add test for truncated outputs.
mstemm Jan 3, 2017
af3a708
Improve comment
Jan 4, 2017
43d53bb
Add exechealthz as a k8s binary.
mstemm Jan 12, 2017
4139370
Merge branch 'agent-master' into dev
Jan 17, 2017
85480f3
Avoid FPs resulting from ubuntu weekly cron jobs
mstemm Jan 16, 2017
4c60b7c
Update openssl to 1.0.2j.
mstemm Dec 30, 2016
7286b50
Update libcurl to 7.52.1.
mstemm Dec 30, 2016
8f53bcb
Patch jq 1.5 with a fix for security vulns.
mstemm Jan 4, 2017
10d0c8f
Add a local dockerfile variant.
mstemm Jan 5, 2017
bc83ac1
Allow shells spawned by ansible.
mstemm Jan 17, 2017
34e17cb
Several changes to reduce FPs
mstemm Jan 20, 2017
9285aa5
Set -DNDEBUG for travis debug builds.
mstemm Jan 26, 2017
ceafeca
Merge pull request #199 from draios/no-assert-travis-debug
mstemm Jan 26, 2017
e21fecf
Remove cchh image.
mstemm Jan 27, 2017
b04bccd
Merge pull request #201 from draios/remove-cchh
mstemm Jan 27, 2017
3f28142
Address more spurious alerts
mstemm Jan 27, 2017
c09b639
Merge pull request #202 from draios/more-spurious-alerts
mstemm Jan 27, 2017
6f9f1e4
CMakeLists: add dependencies to lyaml project
ret2libc Jan 31, 2017
511d099
Merge pull request #204 from draios/cmake-dependencies
mstemm Jan 31, 2017
6356490
Misc demo improvements.
mstemm Feb 1, 2017
e0a5034
Ensure falco-event-generator actions are detected.
mstemm Feb 1, 2017
1afbaba
Merge pull request #205 from draios/demo-improvements
mstemm Feb 2, 2017
b9d0857
Rule updates related to other security products
mstemm Jan 26, 2017
3d5789a
Merge pull request #200 from draios/ndis-hids-etc-rule-updates
mstemm Feb 2, 2017
1e205db
Use right name for event-generator.
mstemm Feb 4, 2017
8a1f62c
Additional changes to reduce FPs.
mstemm Feb 6, 2017
df08a80
Merge pull request #207 from draios/address-addl-falco-fps
mstemm Feb 7, 2017
a0a6914
Add support for tagging rules.
mstemm Feb 4, 2017
88faa7c
Add automated tests for tagged rules
mstemm Feb 4, 2017
0a69fc0
Tag existing falco ruleset.
mstemm Feb 4, 2017
185729d
Address feedback from PR
mstemm Feb 10, 2017
1c21b3b
Merge pull request #206 from draios/add-tags
mstemm Feb 13, 2017
f1aadef
More changes to address FPs.
mstemm Feb 21, 2017
38f562e
Merge pull request #209 from draios/address-falco-beta-fps
mstemm Feb 22, 2017
c12ab70
engine: throw an exception if lua cannot be opened
ret2libc Feb 22, 2017
f70a7ae
CMakeLists: fix whitespaces
ret2libc Feb 22, 2017
8b98a61
CMakeLists: fix compilation on OS X
ret2libc Feb 22, 2017
58357d3
CMakeLists: set ExternalProject dependencies only when necessary
ret2libc Feb 22, 2017
7d711db
Merge branch 'compile-osx2' into dev
ret2libc Feb 23, 2017
fb36af1
Return lua errors not falco_exceptions
mstemm Feb 27, 2017
db469c6
Use sysdig's formatter cache.
mstemm Feb 27, 2017
561c388
Merge pull request #212 from draios/use-formatter-cache
mstemm Feb 28, 2017
b2529f1
Add erl_child_setup as a shell spawner.
mstemm Mar 6, 2017
537565d
Add support for gitlab omnibus containers/pod
dkerwin Mar 6, 2017
6b96200
Merge pull request #218 from draios/add-erl-child-setup
mstemm Mar 6, 2017
353defe
Merge pull request #220 from dkerwin/add_gitlab_binaries
mstemm Mar 6, 2017
d29742a
Add erl_child_setup to shell spawning binaries in a container.
dkerwin Mar 6, 2017
5e8dc8b
Add falco,event generator files for k8s.
mstemm Mar 6, 2017
490a3fe
Merge pull request #222 from draios/add-k8s-example
mstemm Mar 7, 2017
1890008
Merge pull request #221 from dkerwin/erl_child_setup_spawn_in_container
mstemm Mar 15, 2017
ec5adfe
Build and package standalone falco kernel module
mstemm Mar 20, 2017
8d58589
Make sure entrypoint runs for docker pod.
mstemm Mar 21, 2017
f72182d
Merge pull request #226 from draios/fix-k8s-daemonset
mstemm Mar 21, 2017
52b006e
Add ability to run live for specific duration
mstemm Mar 22, 2017
73fbbdb
Add automated tests for packages/driver installs
mstemm Mar 20, 2017
3c20511
Merge pull request #224 from draios/own-driver
mstemm Mar 25, 2017
a2a707f
Update changelog/readme for 0.6.0.
mstemm Mar 29, 2017
6127ca6
Update k8s README
mstemm Mar 29, 2017
0cabedd
Merge pull request #228 from draios/prepare-for-0.6.0
mstemm Mar 29, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ test/results*.json.*
userspace/falco/lua/re.lua
userspace/falco/lua/lpeg.so

docker/event-generator/event-generator
docker/event-generator/event_generator
docker/event-generator/mysqld
docker/event-generator/httpd
docker/event-generator/sha1sum
Expand Down
14 changes: 10 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@ language: c
env:
- BUILD_TYPE=Debug
- BUILD_TYPE=Release
sudo: required
services:
- docker
before_install:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update
install:
- sudo apt-get --force-yes install g++-4.8
- sudo apt-get install rpm linux-headers-$(uname -r)
- git clone https://github.com/draios/sysdig.git ../sysdig
- sudo apt-get install -y python-pip libvirt-dev jq
- sudo apt-get install -y python-pip libvirt-dev jq dkms
- cd ..
- curl -Lo avocado-36.0-tar.gz https://github.com/avocado-framework/avocado/archive/36.0lts.tar.gz
- tar -zxvf avocado-36.0-tar.gz
- cd avocado-36.0lts
- sudo pip install -r requirements-travis.txt
- sudo -H pip install -r requirements.txt
- sudo python setup.py install
- cd ../falco
before_script:
Expand All @@ -32,10 +35,13 @@ script:
- cd ..
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DDRAIOS_DEBUG_FLAGS="-D_DEBUG -DNDEBUG"
- make VERBOSE=1
- make package
- cd ..
- cp falco*.deb ../docker/local
- cd ../docker/local
- docker build -t sysdig/falco:test .
- cd ../..
- sudo test/run_regression_tests.sh $TRAVIS_BRANCH
notifications:
webhooks:
Expand Down
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,44 @@

This file documents all notable changes to Falco. The release numbering uses [semantic versioning](http://semver.org).

## v0.6.0

Released 2016-03-29

### Major Changes

* Add the notion of tagged falco rules. Full documentation for this feature is available on the [wiki](https://github.com/draios/falco/wiki/Falco-Rules#rule-tags). [[#58](https://github.com/draios/falco/issues/58)] [[#59](https://github.com/draios/falco/issues/59)] [[#60](https://github.com/draios/falco/issues/60)] [[#206](https://github.com/draios/falco/pull/206)]
* Falco now has its own dedicated kernel module. Previously, it would depend on sysdig being installed and would use sysdig's `sysdig-probe` kernel module. This ensures you can upgrade sysdig and falco without kernel driver compatibility problems. More details on the kernel module and its installation are on the [wiki](https://github.com/draios/falco/wiki/Falco-Kernel-Module). [[#215](https://github.com/draios/falco/issues/215)] [[#223](https://github.com/draios/falco/issues/223)] [[#224](https://github.com/draios/falco/pull/224)]
* When providing multiple rules files by specifying `-r' multiple times, make sure that you can override rules/lists/macros. Previously, a list/macro/rule specified in an earlier file could not be overridden in a later file. [[#176](https://github.com/draios/falco/issues/176)] [[#177](https://github.com/draios/falco/pull/177)]
* Add example k8s yaml files that show how to run falco as a k8s DaemonSet, and how to run falco-event-generator as a deployment running on one node. [[#222](https://github.com/draios/falco/pull/222)] [[#225](https://github.com/draios/falco/issues/225)] [[#226](https://github.com/draios/falco/pull/226)]
* Update third party libraries to address security vulnerabilities. [[#182](https://github.com/draios/falco/pull/182)]
* Falco can now be built on OSX. Like sysdig, on OSX it is limited to reading existing trace files. [[#210](https://github.com/draios/falco/pull/210)]

### Minor Changes
* Several changes to [falco-event-generator](https://github.com/draios/falco/wiki/Generating-Sample-Events) to improve usability. [[#205](https://github.com/draios/falco/pull/205)]
* Switch to a formatter cache provided by sysdig code instead of using our own. [[#212](https://github.com/draios/falco/pull/212)]
* Add automated tests that use locally-built docker images. [[#188](https://github.com/draios/falco/issues/188)]

### Bug Fixes

* Make sure output strings are not truncated when a given %field expression has a NULL value. [[#180](https://github.com/draios/falco/issues/180)] [[#181](https://github.com/draios/falco/pull/181)]
* Allow ASSERTs when running travisci tests. [[#199](https://github.com/draios/falco/pull/199)]
* Fix make dependencies for lyaml. [[#204](https://github.com/draios/falco/pull/204)] [[#130](https://github.com/draios/falco/issues/130)]
* (This was a change in sysdig, but affected falco). Prevent hangs when traversing malformed parent thread state. [[#208](https://github.com/draios/falco/issues/208)]

### Rule Changes

* Add confd as a program that can write files below /etc and fleetctl as a program that can spawn shells. [[#175](https://github.com/draios/falco/pull/175)]
* Add [exechealthz](https://github.com/kubernetes/contrib/tree/master/exec-healthz), a k8s liveness checking utility, to the list of shell spawners. [[#190](https://github.com/draios/falco/pull/190)]
* Eliminate FPs related to weekly ubuntu cron jobs. [[#192](https://github.com/draios/falco/pull/192)]
* Allow shells spawned by ansible, and eliminate FPs when managing machines via ansible. [[#193](https://github.com/draios/falco/pull/193)] [[#196](https://github.com/draios/falco/pull/196)] [[#202](https://github.com/draios/falco/pull/202)]
* Eliminate FPs related to use of other security products. Thanks to @juju4 for the useful rule updates. [[#200](https://github.com/draios/falco/pull/200)]
* Add additional possible locations for denyhosts, add [PM2](http://pm2.keymetrics.io/) as a shell spawner. [[#202](https://github.com/draios/falco/pull/202)]
* Add flanneld as a privileged container, improve grouping for the "x running y" macros, allow denyhosts to spawn shells. [[#207](https://github.com/draios/falco/pull/207)]
* Handle systemd changing its name to "(systemd)", add sv (part of [runit](http://smarden.org/runit/)) as a program that can write below /etc, allow writing to all `/dev/tty*` files. [[#209](https://github.com/draios/falco/pull/209)]
* Add erl_child_setup as a shell spawner. Thanks to @dkerwin for the useful rule updates. [[#218](https://github.com/draios/falco/pull/218)] [[#221](https://github.com/draios/falco/pull/221)]
* Add support for gitlab omnibus containers/pods. Thanks to @dkerwin for the useful rule updates. [[#220](https://github.com/draios/falco/pull/220)]

## v0.5.0

Released 2016-12-22
Expand Down
74 changes: 52 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ if(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
endif()

set(DRAIOS_DEBUG_FLAGS "-D_DEBUG")
if(NOT DRAIOS_DEBUG_FLAGS)
set(DRAIOS_DEBUG_FLAGS "-D_DEBUG")
endif()

set(CMAKE_C_FLAGS "-Wall -ggdb ${DRAIOS_FEATURE_FLAGS}")
set(CMAKE_CXX_FLAGS "-Wall -ggdb --std=c++0x ${DRAIOS_FEATURE_FLAGS}")
Expand All @@ -27,7 +29,9 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -fno-strict-aliasing -DNDEBUG")

add_definitions(-DPLATFORM_NAME="${CMAKE_SYSTEM_NAME}")
add_definitions(-DK8S_DISABLE_THREAD)
add_definitions(-DHAS_CAPTURE)
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
add_definitions(-DHAS_CAPTURE)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(KBUILD_FLAGS "${DRAIOS_DEBUG_FLAGS} ${DRAIOS_FEATURE_FLAGS}")
Expand All @@ -37,21 +41,25 @@ endif()

set(PACKAGE_NAME "falco")
set(PROBE_VERSION "${FALCO_VERSION}")
set(PROBE_NAME "sysdig-probe")
set(PROBE_DEVICE_NAME "sysdig")
set(PROBE_NAME "falco-probe")
set(PROBE_DEVICE_NAME "falco")
set(CMAKE_INSTALL_PREFIX /usr)

set(CMD_MAKE make)

set(SYSDIG_DIR "${PROJECT_SOURCE_DIR}/../sysdig")
# make luaJIT work on OS X
if(APPLE)
set(CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000")
endif()

include(ExternalProject)

option(USE_BUNDLED_DEPS "Enable bundled dependencies instead of using the system ones" ON)

#
# zlib

#
option(USE_BUNDLED_ZLIB "Enable building of the bundled zlib" ${USE_BUNDLED_DEPS})

if(NOT USE_BUNDLED_ZLIB)
Expand Down Expand Up @@ -99,6 +107,7 @@ else()
CONFIGURE_COMMAND ./configure --disable-maintainer-mode --enable-all-static --disable-dependency-tracking
BUILD_COMMAND ${CMD_MAKE} LDFLAGS=-all-static
BUILD_IN_SOURCE 1
PATCH_COMMAND wget -O jq-1.5-fix-tokenadd.patch https://github.com/stedolan/jq/commit/8eb1367ca44e772963e704a700ef72ae2e12babd.patch && patch -i jq-1.5-fix-tokenadd.patch
INSTALL_COMMAND "")
endif()

Expand Down Expand Up @@ -204,8 +213,8 @@ else()
message(STATUS "Using bundled openssl in '${OPENSSL_BUNDLE_DIR}'")

ExternalProject_Add(openssl
URL "http://download.draios.com/dependencies/openssl-1.0.2d.tar.gz"
URL_MD5 "38dd619b2e77cbac69b99f52a053d25a"
URL "http://download.draios.com/dependencies/openssl-1.0.2j.tar.gz"
URL_MD5 "96322138f0b69e61b7212bc53d5e912b"
CONFIGURE_COMMAND ./config shared --prefix=${OPENSSL_INSTALL_DIR}
BUILD_COMMAND ${CMD_MAKE}
BUILD_IN_SOURCE 1
Expand Down Expand Up @@ -235,8 +244,8 @@ else()

ExternalProject_Add(curl
DEPENDS openssl
URL "http://download.draios.com/dependencies/curl-7.45.0.tar.bz2"
URL_MD5 "62c1a352b28558f25ba6209214beadc8"
URL "http://download.draios.com/dependencies/curl-7.52.1.tar.bz2"
URL_MD5 "dd014df06ff1d12e173de86873f9f77a"
CONFIGURE_COMMAND ./configure ${CURL_SSL_OPTION} --disable-shared --enable-optimize --disable-curldebug --disable-rt --enable-http --disable-ftp --disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-winssl --without-darwinssl --without-polarssl --without-cyassl --without-nss --without-axtls --without-ca-path --without-ca-bundle --without-libmetalink --without-librtmp --without-winidn --without-libidn --without-nghttp2 --without-libssh2
BUILD_COMMAND ${CMD_MAKE}
BUILD_IN_SOURCE 1
Expand Down Expand Up @@ -292,14 +301,18 @@ if(NOT USE_BUNDLED_LPEG)
else()
set(LPEG_SRC "${PROJECT_BINARY_DIR}/lpeg-prefix/src/lpeg")
set(LPEG_LIB "${PROJECT_BINARY_DIR}/lpeg-prefix/src/lpeg/build/lpeg.a")
set(LPEG_DEPENDENCIES "")
if(USE_BUNDLED_LUAJIT)
list(APPEND LPEG_DEPENDENCIES "luajit")
endif()
ExternalProject_Add(lpeg
DEPENDS luajit
DEPENDS ${LPEG_DEPENDENCIES}
URL "http://s3.amazonaws.com/download.draios.com/dependencies/lpeg-1.0.0.tar.gz"
URL_MD5 "0aec64ccd13996202ad0c099e2877ece"
BUILD_COMMAND LUA_INCLUDE=${LUAJIT_INCLUDE} "${PROJECT_SOURCE_DIR}/scripts/build-lpeg.sh" "${LPEG_SRC}/build"
BUILD_IN_SOURCE 1
URL_MD5 "0aec64ccd13996202ad0c099e2877ece"
BUILD_COMMAND LUA_INCLUDE=${LUAJIT_INCLUDE} "${PROJECT_SOURCE_DIR}/scripts/build-lpeg.sh" "${LPEG_SRC}/build"
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ""
INSTALL_COMMAND "")
INSTALL_COMMAND "")
endif()

#
Expand All @@ -318,15 +331,22 @@ if(NOT USE_BUNDLED_LIBYAML)
message(FATAL_ERROR "Couldn't find system libyaml")
endif()
else()
find_path(AUTORECONF_BIN NAMES autoreconf)
if(AUTORECONF_BIN)
message(STATUS "Found autoreconf: ${AUTORECONF_BIN}")
else()
message(FATAL_ERROR "Couldn't find system autoreconf. Please install autoreconf before continuing or use system libyaml")
endif()

set(LIBYAML_SRC "${PROJECT_BINARY_DIR}/libyaml-prefix/src/libyaml/src")
set(LIBYAML_LIB "${LIBYAML_SRC}/.libs/libyaml.a")
ExternalProject_Add(libyaml
URL "http://download.draios.com/dependencies/libyaml-0.1.4.tar.gz"
URL_MD5 "4a4bced818da0b9ae7fc8ebc690792a7"
BUILD_COMMAND ${CMD_MAKE}
BUILD_IN_SOURCE 1
URL_MD5 "4a4bced818da0b9ae7fc8ebc690792a7"
BUILD_COMMAND ${CMD_MAKE}
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ./bootstrap && ./configure
INSTALL_COMMAND "")
INSTALL_COMMAND "")
endif()

#
Expand All @@ -347,7 +367,15 @@ if(NOT USE_BUNDLED_LYAML)
else()
set(LYAML_SRC "${PROJECT_BINARY_DIR}/lyaml-prefix/src/lyaml/ext/yaml")
set(LYAML_LIB "${LYAML_SRC}/.libs/yaml.a")
set(LYAML_DEPENDENCIES "")
if(USE_BUNDLED_LUAJIT)
list(APPEND LYAML_DEPENDENCIES "luajit")
endif()
if(USE_BUNDLED_LIBYAML)
list(APPEND LYAML_DEPENDENCIES "libyaml")
endif()
ExternalProject_Add(lyaml
DEPENDS ${LYAML_DEPENDENCIES}
URL "http://download.draios.com/dependencies/lyaml-release-v6.0.tar.gz"
URL_MD5 "dc3494689a0dce7cf44e7a99c72b1f30"
BUILD_COMMAND ${CMD_MAKE}
Expand All @@ -359,7 +387,9 @@ endif()
install(FILES falco.yaml
DESTINATION "${FALCO_ETC_DIR}")

add_subdirectory("${SYSDIG_DIR}/driver" "${PROJECT_BINARY_DIR}/driver")
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
add_subdirectory("${SYSDIG_DIR}/driver" "${PROJECT_BINARY_DIR}/driver")
endif()
add_subdirectory("${SYSDIG_DIR}/userspace/libscap" "${PROJECT_BINARY_DIR}/userspace/libscap")
add_subdirectory("${SYSDIG_DIR}/userspace/libsinsp" "${PROJECT_BINARY_DIR}/userspace/libsinsp")

Expand All @@ -385,12 +415,12 @@ set(CPACK_GENERATOR DEB RPM TGZ)
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Sysdig <[email protected]>")
set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://www.sysdig.org")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "sysdig")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_SOURCE_DIR}/scripts/debian/postinst;${PROJECT_SOURCE_DIR}/scripts/debian/prerm;${PROJECT_SOURCE_DIR}/scripts/debian/postrm")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "dkms (>= 2.1.0.0)")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/scripts/debian/postinst;${CMAKE_BINARY_DIR}/scripts/debian/prerm;${PROJECT_SOURCE_DIR}/scripts/debian/postrm")

set(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
set(CPACK_RPM_PACKAGE_URL "http://www.sysdig.org")
set(CPACK_RPM_PACKAGE_REQUIRES "sysdig")
set(CPACK_RPM_PACKAGE_REQUIRES "dkms, gcc, make, kernel-devel, perl")
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/scripts/rpm/postinstall")
set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/scripts/rpm/preuninstall")
set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/scripts/rpm/postuninstall")
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Sysdig Falco

####Latest release
#### Latest release

**v0.5.0**
**v0.6.0**
Read the [change log](https://github.com/draios/falco/blob/dev/CHANGELOG.md)

Dev Branch: [![Build Status](https://travis-ci.org/draios/falco.svg?branch=dev)](https://travis-ci.org/draios/falco)<br />
Expand Down Expand Up @@ -44,7 +44,7 @@ Falco is licensed to you under the [GPL 2.0](./COPYING) open source license.

Contributor License Agreements
---
###Background
### Background
As we did for sysdig, we are formalizing the way that we accept contributions of code from the contributing community. We must now ask that contributions to falco be provided subject to the terms and conditions of a [Contributor License Agreement (CLA)](./cla). The CLA comes in two forms, applicable to contributions by individuals, or by legal entities such as corporations and their employees. We recognize that entering into a CLA with us involves real consideration on your part, and we’ve tried to make this process as clear and simple as possible.

We’ve modeled our CLA off of industry standards, such as [the CLA used by Kubernetes](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md). Note that this agreement is not a transfer of copyright ownership, this simply is a license agreement for contributions, intended to clarify the intellectual property license granted with contributions from any person or entity. It is for your protection as a contributor as well as the protection of falco; it does not change your rights to use your own contributions for any other purpose.
Expand All @@ -57,7 +57,7 @@ Contributor License Agreements

As always, we are grateful for your past and present contributions to falco.

###What do I need to do in order to contribute code?
### What do I need to do in order to contribute code?

**Individual contributions**: Individuals who wish to make contributions must review the [Individual Contributor License Agreement](./cla/falco_contributor_agreement.txt) and indicate agreement by adding the following line to every GIT commit message:

Expand Down
8 changes: 4 additions & 4 deletions docker/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ RUN echo "deb http://httpredir.debian.org/debian jessie main" > /etc/apt/sources
gcc-5 \
gcc-4.9 && rm -rf /var/lib/apt/lists/*

# Terribly terrible hacks: since our base Debian image ships with GCC 5.0 which breaks older kernels,
# revert the default to gcc-4.9. Also, since some customers use some very old distributions whose kernel
# makefile is hardcoded for gcc-4.6 or so (e.g. Debian Wheezy), we pretend to have gcc 4.6/4.7 by symlinking
# it to 4.9
# Since our base Debian image ships with GCC 5.0 which breaks older kernels, revert the
# default to gcc-4.9. Also, since some customers use some very old distributions whose kernel
# makefile is hardcoded for gcc-4.6 or so (e.g. Debian Wheezy), we pretend to have gcc 4.6/4.7
# by symlinking it to 4.9

RUN rm -rf /usr/bin/gcc \
&& ln -s /usr/bin/gcc-4.9 /usr/bin/gcc \
Expand Down
2 changes: 1 addition & 1 deletion docker/dev/docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if [[ -z "${SYSDIG_SKIP_LOAD}" ]]; then
ln -s $SYSDIG_HOST_ROOT/usr/src/$i /usr/src/$i
done

/usr/bin/sysdig-probe-loader
/usr/bin/falco-probe-loader
fi

exec "$@"
Loading