From dafdd066ef2358ee06796ce5bba8f0b0891c9d64 Mon Sep 17 00:00:00 2001 From: Samuel Cabrero Date: Mar 05 2020 09:31:44 +0000 Subject: CACHE_REQ: Add a data field to store network addresses Signed-off-by: Samuel Cabrero Reviewed-by: Sumit Bose --- diff --git a/src/responder/common/cache_req/cache_req.h b/src/responder/common/cache_req/cache_req.h index 0baf390..1a39f35 100644 --- a/src/responder/common/cache_req/cache_req.h +++ b/src/responder/common/cache_req/cache_req.h @@ -111,6 +111,13 @@ cache_req_data_sid(TALLOC_CTX *mem_ctx, const char **attrs); struct cache_req_data * +cache_req_data_addr(TALLOC_CTX *mem_ctx, + enum cache_req_type type, + uint32_t af, + uint32_t addrlen, + uint8_t *addr); + +struct cache_req_data * cache_req_data_enum(TALLOC_CTX *mem_ctx, enum cache_req_type type); diff --git a/src/responder/common/cache_req/cache_req_data.c b/src/responder/common/cache_req/cache_req_data.c index 41f5513..079256e 100644 --- a/src/responder/common/cache_req/cache_req_data.c +++ b/src/responder/common/cache_req/cache_req_data.c @@ -377,6 +377,22 @@ cache_req_data_ssh_host_id(TALLOC_CTX *mem_ctx, } struct cache_req_data * +cache_req_data_addr(TALLOC_CTX *mem_ctx, + enum cache_req_type type, + uint32_t af, + uint32_t addrlen, + uint8_t *addr) +{ + struct cache_req_data input = {0}; + + input.addr.af = af; + input.addr.len = addrlen; + input.addr.data = addr; + + return cache_req_data_create(mem_ctx, type, &input); +} + +struct cache_req_data * cache_req_data_autofs_entry(TALLOC_CTX *mem_ctx, enum cache_req_type type, const char *mapname, diff --git a/src/responder/common/cache_req/cache_req_private.h b/src/responder/common/cache_req/cache_req_private.h index af4712f..2418ad5 100644 --- a/src/responder/common/cache_req/cache_req_private.h +++ b/src/responder/common/cache_req/cache_req_private.h @@ -91,6 +91,12 @@ struct cache_req_data { uint16_t port; } svc; + struct { + uint32_t af; + uint32_t len; + uint8_t *data; + } addr; + bool bypass_cache; bool bypass_dp; };