aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h')
-rw-r--r--src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h100
1 files changed, 0 insertions, 100 deletions
diff --git a/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h b/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h
deleted file mode 100644
index 43b8a4a2b8..0000000000
--- a/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *
- * Copyright 2018 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef GRPC_CORE_TSI_ALTS_ZERO_COPY_FRAME_PROTECTOR_ALTS_GRPC_RECORD_PROTOCOL_COMMON_H
-#define GRPC_CORE_TSI_ALTS_ZERO_COPY_FRAME_PROTECTOR_ALTS_GRPC_RECORD_PROTOCOL_COMMON_H
-
-/**
- * this file contains alts_grpc_record_protocol internals and internal-only
- * helper functions. The public functions of alts_grpc_record_protocol are
- * defined in the alts_grpc_record_protocol.h.
- */
-
-#include <grpc/support/port_platform.h>
-
-#include "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h"
-#include "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h"
-
-/* V-table for alts_grpc_record_protocol implementations. */
-typedef struct {
- tsi_result (*protect)(alts_grpc_record_protocol* self,
- grpc_slice_buffer* unprotected_slices,
- grpc_slice_buffer* protected_slices);
- tsi_result (*unprotect)(alts_grpc_record_protocol* self,
- grpc_slice_buffer* protected_slices,
- grpc_slice_buffer* unprotected_slices);
- void (*destruct)(alts_grpc_record_protocol* self);
-} alts_grpc_record_protocol_vtable;
-
-/* Main struct for alts_grpc_record_protocol implementation, shared by both
- * integrity-only record protocol and privacy-integrity record protocol.
- * Integrity-only record protocol has additional data elements.
- * Privacy-integrity record protocol uses this struct directly. */
-struct alts_grpc_record_protocol {
- const alts_grpc_record_protocol_vtable* vtable;
- alts_iovec_record_protocol* iovec_rp;
- grpc_slice_buffer header_sb;
- unsigned char* header_buf;
- size_t header_length;
- size_t tag_length;
- iovec_t* iovec_buf;
- size_t iovec_buf_length;
-};
-
-/**
- * Converts the slices of input sb into iovec_t's and puts the result into
- * rp->iovec_buf. Note that the actual data are not copied, only
- * pointers and lengths are copied.
- */
-void alts_grpc_record_protocol_convert_slice_buffer_to_iovec(
- alts_grpc_record_protocol* rp, const grpc_slice_buffer* sb);
-
-/**
- * Copies bytes from slice buffer to destination buffer. Caller is responsible
- * for allocating enough memory of destination buffer. This method is used for
- * copying frame header and tag in case they are stored in multiple slices.
- */
-void alts_grpc_record_protocol_copy_slice_buffer(const grpc_slice_buffer* src,
- unsigned char* dst);
-
-/**
- * This method returns an iovec object pointing to the frame header stored in
- * rp->header_sb. If the frame header is stored in multiple slices,
- * this method will copy the bytes in rp->header_sb to
- * rp->header_buf, and return an iovec object pointing to
- * rp->header_buf.
- */
-iovec_t alts_grpc_record_protocol_get_header_iovec(
- alts_grpc_record_protocol* rp);
-
-/**
- * Initializes an alts_grpc_record_protocol object, given a gsec_aead_crypter
- * instance, the overflow size of the counter in bytes, a flag indicating if the
- * object is used for client or server side, a flag indicating if it is used for
- * integrity-only or privacy-integrity mode, and a flag indicating if it is for
- * protect or unprotect. The ownership of gsec_aead_crypter object is
- * transferred to the alts_grpc_record_protocol object.
- */
-tsi_result alts_grpc_record_protocol_init(alts_grpc_record_protocol* rp,
- gsec_aead_crypter* crypter,
- size_t overflow_size, bool is_client,
- bool is_integrity_only,
- bool is_protect);
-
-#endif /* GRPC_CORE_TSI_ALTS_ZERO_COPY_FRAME_PROTECTOR_ALTS_GRPC_RECORD_PROTOCOL_COMMON_H \
- */