zwass
osquery> select version, build_platform from osquery_info;
version = 4.9.0
build_platform = 1
osquery>
Shouldn't build_platform
be linux
or similar on Linux?zwass
osqueryi --line 'select version, build_platform, build_distro from osquery_info;'
version = 4.9.0
build_platform = darwin
build_distro = 10.12
zwass
docker run --rm -it dactiv/osquery:3.3.2-ubuntu20.04 osqueryi --line 'select version, build_platform, build_distro from osquery_info;'
version = 3.3.2
build_platform = ubuntu
build_distro = xenial
Stefano Bonicatti
08/05/2021, 10:31 AMStefano Bonicatti
08/05/2021, 10:32 AM-DOSQUERY_BUILD_PLATFORM=linux
, then it’s used in code as r["build_platform"] = STR(OSQUERY_BUILD_PLATFORM)
Stefano Bonicatti
08/05/2021, 10:32 AMStefano Bonicatti
08/05/2021, 10:45 AMlinux
is a macro too, so instead of expanding to the string linux, it also expands that macro and the result is 1Stefano Bonicatti
08/05/2021, 11:19 AMconst std::string kOsqueryBuildPlatform = @OSQUERY_BUILD_PLATFORM@
and then that OSQUERY_BUILD_PLATFORM it’s actually a CMake variable that is substituted using configure_file
Stefano Bonicatti
08/05/2021, 11:21 AMStefano Bonicatti
08/05/2021, 11:40 AM-DOSQUERY_BUILD_PLATFORM=\"linux\"
and then remove the stringification, since it’s already a string (otherwise it would print "linux"
verbatim).Stefano Bonicatti
08/05/2021, 12:32 PM