summaryrefslogtreecommitdiffstats
path: root/include/intercept.pb-c.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/intercept.pb-c.h')
-rw-r--r--include/intercept.pb-c.h369
1 files changed, 369 insertions, 0 deletions
diff --git a/include/intercept.pb-c.h b/include/intercept.pb-c.h
new file mode 100644
index 0000000..2ea1683
--- /dev/null
+++ b/include/intercept.pb-c.h
@@ -0,0 +1,369 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: intercept.proto */
+
+#ifndef PROTOBUF_C_intercept_2eproto__INCLUDED
+#define PROTOBUF_C_intercept_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1004000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct InterceptRequest InterceptRequest;
+typedef struct InterceptHello InterceptHello;
+typedef struct HelloResponse HelloResponse;
+typedef struct PolicyCheckRequest PolicyCheckRequest;
+typedef struct PolicyAcceptMessage PolicyAcceptMessage;
+typedef struct PolicyRejectMessage PolicyRejectMessage;
+typedef struct PolicyErrorMessage PolicyErrorMessage;
+typedef struct InterceptResponse InterceptResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+typedef enum {
+ INTERCEPT_REQUEST__TYPE__NOT_SET = 0,
+ INTERCEPT_REQUEST__TYPE_POLICY_CHECK_REQ = 1,
+ INTERCEPT_REQUEST__TYPE_HELLO = 2
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_REQUEST__TYPE__CASE)
+} InterceptRequest__TypeCase;
+
+/*
+ * Intercept message from sudo_intercept.so. Messages on the
+ * wire are prefixed with a 32-bit size in network byte order.
+ */
+struct InterceptRequest
+{
+ ProtobufCMessage base;
+ InterceptRequest__TypeCase type_case;
+ union {
+ PolicyCheckRequest *policy_check_req;
+ InterceptHello *hello;
+ } u;
+};
+#define INTERCEPT_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&intercept_request__descriptor) \
+ , INTERCEPT_REQUEST__TYPE__NOT_SET, {0} }
+
+
+/*
+ * Hello message from sudo_intercept.so to main sudo process.
+ * Sudo sends back the token and localhost port number.
+ */
+struct InterceptHello
+{
+ ProtobufCMessage base;
+ int32_t pid;
+};
+#define INTERCEPT_HELLO__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&intercept_hello__descriptor) \
+ , 0 }
+
+
+/*
+ * Sudo response to an InterceptHello from sudo_intercept.so.
+ * The client uses the port number and token to connect back to sudo.
+ * If log_only is set there is no InterceptResponse to a PolicyCheckRequest.
+ */
+struct HelloResponse
+{
+ ProtobufCMessage base;
+ uint64_t token_lo;
+ uint64_t token_hi;
+ int32_t portno;
+ protobuf_c_boolean log_only;
+};
+#define HELLO_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hello_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/*
+ * Policy check request from sudo_intercept.so.
+ * Note that the plugin API only currently supports passing
+ * the new environment in to the open() function.
+ */
+struct PolicyCheckRequest
+{
+ ProtobufCMessage base;
+ char *command;
+ char *cwd;
+ size_t n_argv;
+ char **argv;
+ size_t n_envp;
+ char **envp;
+ int32_t intercept_fd;
+};
+#define POLICY_CHECK_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&policy_check_request__descriptor) \
+ , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0 }
+
+
+struct PolicyAcceptMessage
+{
+ ProtobufCMessage base;
+ char *run_command;
+ size_t n_run_argv;
+ char **run_argv;
+ size_t n_run_envp;
+ char **run_envp;
+};
+#define POLICY_ACCEPT_MESSAGE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&policy_accept_message__descriptor) \
+ , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL }
+
+
+struct PolicyRejectMessage
+{
+ ProtobufCMessage base;
+ char *reject_message;
+};
+#define POLICY_REJECT_MESSAGE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&policy_reject_message__descriptor) \
+ , (char *)protobuf_c_empty_string }
+
+
+struct PolicyErrorMessage
+{
+ ProtobufCMessage base;
+ char *error_message;
+};
+#define POLICY_ERROR_MESSAGE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&policy_error_message__descriptor) \
+ , (char *)protobuf_c_empty_string }
+
+
+typedef enum {
+ INTERCEPT_RESPONSE__TYPE__NOT_SET = 0,
+ INTERCEPT_RESPONSE__TYPE_HELLO_RESP = 1,
+ INTERCEPT_RESPONSE__TYPE_ACCEPT_MSG = 2,
+ INTERCEPT_RESPONSE__TYPE_REJECT_MSG = 3,
+ INTERCEPT_RESPONSE__TYPE_ERROR_MSG = 4
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(INTERCEPT_RESPONSE__TYPE__CASE)
+} InterceptResponse__TypeCase;
+
+/*
+ * Response sent back to sudo_intercept.so.
+ */
+struct InterceptResponse
+{
+ ProtobufCMessage base;
+ InterceptResponse__TypeCase type_case;
+ union {
+ HelloResponse *hello_resp;
+ PolicyAcceptMessage *accept_msg;
+ PolicyRejectMessage *reject_msg;
+ PolicyErrorMessage *error_msg;
+ } u;
+};
+#define INTERCEPT_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&intercept_response__descriptor) \
+ , INTERCEPT_RESPONSE__TYPE__NOT_SET, {0} }
+
+
+/* InterceptRequest methods */
+void intercept_request__init
+ (InterceptRequest *message);
+size_t intercept_request__get_packed_size
+ (const InterceptRequest *message);
+size_t intercept_request__pack
+ (const InterceptRequest *message,
+ uint8_t *out);
+size_t intercept_request__pack_to_buffer
+ (const InterceptRequest *message,
+ ProtobufCBuffer *buffer);
+InterceptRequest *
+ intercept_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void intercept_request__free_unpacked
+ (InterceptRequest *message,
+ ProtobufCAllocator *allocator);
+/* InterceptHello methods */
+void intercept_hello__init
+ (InterceptHello *message);
+size_t intercept_hello__get_packed_size
+ (const InterceptHello *message);
+size_t intercept_hello__pack
+ (const InterceptHello *message,
+ uint8_t *out);
+size_t intercept_hello__pack_to_buffer
+ (const InterceptHello *message,
+ ProtobufCBuffer *buffer);
+InterceptHello *
+ intercept_hello__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void intercept_hello__free_unpacked
+ (InterceptHello *message,
+ ProtobufCAllocator *allocator);
+/* HelloResponse methods */
+void hello_response__init
+ (HelloResponse *message);
+size_t hello_response__get_packed_size
+ (const HelloResponse *message);
+size_t hello_response__pack
+ (const HelloResponse *message,
+ uint8_t *out);
+size_t hello_response__pack_to_buffer
+ (const HelloResponse *message,
+ ProtobufCBuffer *buffer);
+HelloResponse *
+ hello_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hello_response__free_unpacked
+ (HelloResponse *message,
+ ProtobufCAllocator *allocator);
+/* PolicyCheckRequest methods */
+void policy_check_request__init
+ (PolicyCheckRequest *message);
+size_t policy_check_request__get_packed_size
+ (const PolicyCheckRequest *message);
+size_t policy_check_request__pack
+ (const PolicyCheckRequest *message,
+ uint8_t *out);
+size_t policy_check_request__pack_to_buffer
+ (const PolicyCheckRequest *message,
+ ProtobufCBuffer *buffer);
+PolicyCheckRequest *
+ policy_check_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void policy_check_request__free_unpacked
+ (PolicyCheckRequest *message,
+ ProtobufCAllocator *allocator);
+/* PolicyAcceptMessage methods */
+void policy_accept_message__init
+ (PolicyAcceptMessage *message);
+size_t policy_accept_message__get_packed_size
+ (const PolicyAcceptMessage *message);
+size_t policy_accept_message__pack
+ (const PolicyAcceptMessage *message,
+ uint8_t *out);
+size_t policy_accept_message__pack_to_buffer
+ (const PolicyAcceptMessage *message,
+ ProtobufCBuffer *buffer);
+PolicyAcceptMessage *
+ policy_accept_message__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void policy_accept_message__free_unpacked
+ (PolicyAcceptMessage *message,
+ ProtobufCAllocator *allocator);
+/* PolicyRejectMessage methods */
+void policy_reject_message__init
+ (PolicyRejectMessage *message);
+size_t policy_reject_message__get_packed_size
+ (const PolicyRejectMessage *message);
+size_t policy_reject_message__pack
+ (const PolicyRejectMessage *message,
+ uint8_t *out);
+size_t policy_reject_message__pack_to_buffer
+ (const PolicyRejectMessage *message,
+ ProtobufCBuffer *buffer);
+PolicyRejectMessage *
+ policy_reject_message__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void policy_reject_message__free_unpacked
+ (PolicyRejectMessage *message,
+ ProtobufCAllocator *allocator);
+/* PolicyErrorMessage methods */
+void policy_error_message__init
+ (PolicyErrorMessage *message);
+size_t policy_error_message__get_packed_size
+ (const PolicyErrorMessage *message);
+size_t policy_error_message__pack
+ (const PolicyErrorMessage *message,
+ uint8_t *out);
+size_t policy_error_message__pack_to_buffer
+ (const PolicyErrorMessage *message,
+ ProtobufCBuffer *buffer);
+PolicyErrorMessage *
+ policy_error_message__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void policy_error_message__free_unpacked
+ (PolicyErrorMessage *message,
+ ProtobufCAllocator *allocator);
+/* InterceptResponse methods */
+void intercept_response__init
+ (InterceptResponse *message);
+size_t intercept_response__get_packed_size
+ (const InterceptResponse *message);
+size_t intercept_response__pack
+ (const InterceptResponse *message,
+ uint8_t *out);
+size_t intercept_response__pack_to_buffer
+ (const InterceptResponse *message,
+ ProtobufCBuffer *buffer);
+InterceptResponse *
+ intercept_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void intercept_response__free_unpacked
+ (InterceptResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*InterceptRequest_Closure)
+ (const InterceptRequest *message,
+ void *closure_data);
+typedef void (*InterceptHello_Closure)
+ (const InterceptHello *message,
+ void *closure_data);
+typedef void (*HelloResponse_Closure)
+ (const HelloResponse *message,
+ void *closure_data);
+typedef void (*PolicyCheckRequest_Closure)
+ (const PolicyCheckRequest *message,
+ void *closure_data);
+typedef void (*PolicyAcceptMessage_Closure)
+ (const PolicyAcceptMessage *message,
+ void *closure_data);
+typedef void (*PolicyRejectMessage_Closure)
+ (const PolicyRejectMessage *message,
+ void *closure_data);
+typedef void (*PolicyErrorMessage_Closure)
+ (const PolicyErrorMessage *message,
+ void *closure_data);
+typedef void (*InterceptResponse_Closure)
+ (const InterceptResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor intercept_request__descriptor;
+extern const ProtobufCMessageDescriptor intercept_hello__descriptor;
+extern const ProtobufCMessageDescriptor hello_response__descriptor;
+extern const ProtobufCMessageDescriptor policy_check_request__descriptor;
+extern const ProtobufCMessageDescriptor policy_accept_message__descriptor;
+extern const ProtobufCMessageDescriptor policy_reject_message__descriptor;
+extern const ProtobufCMessageDescriptor policy_error_message__descriptor;
+extern const ProtobufCMessageDescriptor intercept_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_intercept_2eproto__INCLUDED */