• Leigh B. Stoller's avatar
    A doosy! I added two new modes of operation in support of jails. Only · 01234f97
    Leigh B. Stoller authored
    for BSD of course. First is a "proxy" mode that is used outside of a
    jail, to forward tmcc requests from inside the jail to boss over the
    normal ssl channel (when a remote node). We remove the pem files from
    inside the jail so it has no way to form a secure connection to tmcd
    on its own, and tmcd rejects non-ssl connections from remote nodes (it
    should probably reject them from local jails too). Second change is a
    "unix socket" mode that is the compliment to the proxy; tmcc inside of
    a jail connects to the tmcc proxy outside the jail via a unix domain
    socket that can be shared between the two because the outer
    environment can see inside the jailed filesystems (the jail sees a
    chroot environment). When the jail is started, the initial root shell
    gets an environment variable called TMCCUNIXPATH which holds the path
    to the socket. This makes it easy for anything started from that shell
    of course, but its still a minor pain when invoking tmcc from
    elsehwere, but that does not really happen, except when running it by
    hand. Anyway, tmcc forms a unix socket to the proxy and does its
    thing. The proxy filters out VNODE= and PRIVKEY= arguments, and
    inserts its own into the command string.  This prevents a jail from
    trying to impersonate another vnode.
tmcc.c 13.9 KB