X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fagent-thread.c;h=0e827a4456d4c0ea9c37b54818bbcb6ba4c5e7a7;hp=6790a63c642bd78bb37484a6c6af0b1af39081c7;hb=9474416fd76b18db4642bc60b15451b87d74e5d5;hpb=16c2e854ac155702515506f6a9b4751c594c516d diff --git a/src/bin/lttng-sessiond/agent-thread.c b/src/bin/lttng-sessiond/agent-thread.c index 6790a63c6..0e827a445 100644 --- a/src/bin/lttng-sessiond/agent-thread.c +++ b/src/bin/lttng-sessiond/agent-thread.c @@ -198,6 +198,7 @@ static int handle_registration(struct lttcomm_sock *reg_sock, { int ret; pid_t pid; + uint32_t major_version, minor_version; ssize_t size; enum lttng_domain_type domain; struct agent_app *app; @@ -219,6 +220,18 @@ static int handle_registration(struct lttcomm_sock *reg_sock, } domain = be32toh(msg.domain); pid = be32toh(msg.pid); + major_version = be32toh(msg.major_version); + minor_version = be32toh(msg.minor_version); + + /* Test communication protocol version of the registring agent. */ + if (major_version != AGENT_MAJOR_VERSION) { + ret = -EINVAL; + goto error_socket; + } + if (minor_version != AGENT_MINOR_VERSION) { + ret = -EINVAL; + goto error_socket; + } DBG2("[agent-thread] New registration for pid %d domain %d on socket %d", pid, domain, new_sock->fd);