port_inode and socket_inode have caused a few issues lately and, as of
right now, they both have open issues against them. For the time being,
I'm going to blacklist them. When the tables are production-ready, we
can re-add them back in to the base linux build.
My intent in this diff was mostly style linting, so I disabled
non-stylistic pylint linters that fired in the interests of making this
a sane diff with one purpose: stylistic consistency and conformance. If
I disabled them it means they were thrown somewhere and should probably
be looked into some time :-)
This diff adds:
- PEP8 conformance (tested with pep8)
- A cleanup of stuff shown by `pylint`, with quite a few linters
disabled. See above for rationale to disable these -- in the end this
was mostly unused variables, unused imports, etc). These are the
linters I disabled:
- attribute-defined-outside-init
- bad-classmethod-argument
- bare-except
- broad-except
- exec-used
- invalid-name
- logging-not-lazy
- method-hidden
- missing-docstring
- redefined-outer-name
- too-few-public-methods
- too-many-instance-attributes
- too-many-locals
- unused-argument
- flake8 warnings fixed (warnings were about redefinition of previous
variables in a listcomp)
I didn't do anything with git-clang-format since it's from an external
project and it's possible that there may be a wish to merge it in again
later if it gets updated upstream, but you could, of course, apply this
to that script as well if you so wish. Right now it's not at all PEP8
conformant.
* The OS/DISTRO are available as defines when writing tables:
UBUNTU, UBUNTU_14_04, UBUNTU_12_04
CENTOS, CENTOS_6_6
DARWIN, DARWIN_10_10, DARWIN_10_9
* The table generation tooling now grabs virtual tables templates
from ./osquery/tables/templates/<name>.cpp.in.
* The table generation tooling will detect reserved column names.
* suid_bin uses the new UBUNTU to restrict calls to root (fix#362).
If you want to manage your osqueryd config via some other means than
this package creation logic, just leave off the `-c` flag and it won't
include the config in your package. Then you can distribute the config
however you'd like.