1. 15 Sep, 2016 1 commit
    • David Johnson's avatar
      Some build sanitization for Josh's unit test. · 6396fd39
      David Johnson authored
      Mostly, this involves moving our controller's core MUL interaction
      (i.e., all the module init and MUL callback stuff) into a separate file,
      so we can build the core of controller.c into a lib that we can link
      unit tests against.
      In general, this whole thing is nasty, because libmulutil requires some
      app callback stuff to be defined by whomever is implementing main(), and
      of course everybody has to link against libmulutil.  In this case, since
      the tests implement main(), we have to do a tiny bit of glue stubs.  The
      amount of future glue code will depend on "unit test" paths into the MUL
      code... we may have to grow a "test" version of mul_app_main.c, for
      instance, or make that into a callable library.  Anyway, stuff for the
  2. 29 Apr, 2016 1 commit
    • David Johnson's avatar
      Properly build the python bindings -- victory! · ce204cd9
      David Johnson authored
      I wanted to get the bindings properly building with automake instead of
      a raw Makefile in the src tree.  I also wanted the bindings to be a
      reasonable python package so that so that workflow apps could just do
        import capnet.capnet as capnet
      Well, doing all this with automake + setuptools is a bit of a problem
      because we have to generate the python protobuf binding -- so our python
      package source is split between the src and build dirs.  python's
      setuptools doesn't really help us handle that at all.
      But it *does* provide an escape hatch.  I can pull each package (or
      subpackage) module from a different dir, so that's how this works.  We
      pull the root package (capnet) from client/python/capnet ; then we pull
      the capnet.proto package (which contains the generated binding) from
      @builddir@/client/python/capnet/proto .
      The python file import statements have all been updated to reflect this.
  3. 19 Apr, 2016 1 commit
    • David Johnson's avatar
      Add a nifty privilege delegation tool. But, only for Linux 4.3+. · f0b4f7c0
      David Johnson authored
      The options for giving a python process CAP_NET_RAW but not root are
      horrible (i.e., the python rawsock module^H^H^H^H^H^Hhack).  Of course,
      since I'm not POSIXly-correct, I just went ahead and implemented it
      before checking if it was reasonably possible.  Well, maybe it will be
      useful in the future.
  4. 16 Nov, 2015 1 commit