Unverified Commit c06d308d authored by Vihang Mehta's avatar Vihang Mehta Committed by Copybara
Browse files

Add compression setting to encryption options

Summary:
TSIA. Changes proto name too but that should be safe since there are
no consumers in prod yet.

Test Plan: N/A

Reviewers: zasgar, michelle

Reviewed By: michelle

Differential Revision: https://phab.corp.pixielabs.ai/D9355

GitOrigin-RevId: 56f837af63eb357a4bb8c80ff31e4d90332b5b93
parent 4ae3ae1f
Showing with 488 additions and 293 deletions
+488 -293
......@@ -184,7 +184,8 @@
],
"exclude": [
"(^src/stirling/source_connectors/dynamic_tracer/dynamic_tracing/ir/physicalpb/physical\\.proto$)"
]
],
"text.max-line-length": 120
},
"shellcheck": {
"type": "shellcheck",
......
This diff is collapsed.
......@@ -295,14 +295,24 @@ message ExecuteScriptRequest {
// If the mutated state is already ready, the script will also be executed.
bool mutation = 5;
message EncryptionKey {
message EncryptionOptions {
// The encryption key in JWK format.
string jwk_key = 1;
// The algorithm used for the key. It must be RSA-OAEP-256.
string alg = 2;
// The algorithm used for the key.
// https://datatracker.ietf.org/doc/html/rfc7518#section-4.1
// Valid values: https://github.com/lestrrat-go/jwx/blob/main/jwa/key_encryption_gen.go
string key_alg = 2;
// The algorithm to use to encrpyt the content.
// https://datatracker.ietf.org/doc/html/rfc7518#section-5.1
// Valid values: https://github.com/lestrrat-go/jwx/blob/main/jwa/content_encryption_gen.go
string content_alg = 3;
// The algorithm to use to compress the content. A blank value indicates no compression.
// https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3
// Valid values: https://github.com/lestrrat-go/jwx/blob/main/jwa/compression_gen.go
string compression_alg = 4;
}
// The key used to encrypt the data.
EncryptionKey encryption_public_key = 6;
// Options for encrypting the data.
EncryptionOptions encryption_options = 6;
reserved 2;
}
......
......@@ -446,10 +446,10 @@ export class ExecuteScriptRequest extends jspb.Message {
getMutation(): boolean;
setMutation(value: boolean): ExecuteScriptRequest;
getEncryptionPublicKey(): ExecuteScriptRequest.EncryptionKey | undefined;
setEncryptionPublicKey(value?: ExecuteScriptRequest.EncryptionKey): ExecuteScriptRequest;
hasEncryptionPublicKey(): boolean;
clearEncryptionPublicKey(): ExecuteScriptRequest;
getEncryptionOptions(): ExecuteScriptRequest.EncryptionOptions | undefined;
setEncryptionOptions(value?: ExecuteScriptRequest.EncryptionOptions): ExecuteScriptRequest;
hasEncryptionOptions(): boolean;
clearEncryptionOptions(): ExecuteScriptRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ExecuteScriptRequest.AsObject;
......@@ -465,7 +465,7 @@ export namespace ExecuteScriptRequest {
clusterId: string,
execFuncsList: Array<ExecuteScriptRequest.FuncToExecute.AsObject>,
mutation: boolean,
encryptionPublicKey?: ExecuteScriptRequest.EncryptionKey.AsObject,
encryptionOptions?: ExecuteScriptRequest.EncryptionOptions.AsObject,
}
export class FuncToExecute extends jspb.Message {
......@@ -520,25 +520,33 @@ export namespace ExecuteScriptRequest {
}
export class EncryptionKey extends jspb.Message {
export class EncryptionOptions extends jspb.Message {
getJwkKey(): string;
setJwkKey(value: string): EncryptionKey;
setJwkKey(value: string): EncryptionOptions;
getAlg(): string;
setAlg(value: string): EncryptionKey;
getKeyAlg(): string;
setKeyAlg(value: string): EncryptionOptions;
getContentAlg(): string;
setContentAlg(value: string): EncryptionOptions;
getCompressionAlg(): string;
setCompressionAlg(value: string): EncryptionOptions;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): EncryptionKey.AsObject;
static toObject(includeInstance: boolean, msg: EncryptionKey): EncryptionKey.AsObject;
static serializeBinaryToWriter(message: EncryptionKey, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): EncryptionKey;
static deserializeBinaryFromReader(message: EncryptionKey, reader: jspb.BinaryReader): EncryptionKey;
toObject(includeInstance?: boolean): EncryptionOptions.AsObject;
static toObject(includeInstance: boolean, msg: EncryptionOptions): EncryptionOptions.AsObject;
static serializeBinaryToWriter(message: EncryptionOptions, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): EncryptionOptions;
static deserializeBinaryFromReader(message: EncryptionOptions, reader: jspb.BinaryReader): EncryptionOptions;
}
export namespace EncryptionKey {
export namespace EncryptionOptions {
export type AsObject = {
jwkKey: string,
alg: string,
keyAlg: string,
contentAlg: string,
compressionAlg: string,
}
}
......
......@@ -29,7 +29,7 @@ goog.exportSymbol('proto.px.api.vizierpb.DebugPodsResponse', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ErrorDetails', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ErrorDetails.ErrorCase', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptRequest', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptRequest.FuncToExecute', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptRequest.FuncToExecute.ArgValue', null, global);
goog.exportSymbol('proto.px.api.vizierpb.ExecuteScriptResponse', null, global);
......@@ -446,16 +446,16 @@ if (goog.DEBUG && !COMPILED) {
* @extends {jspb.Message}
* @constructor
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey = function(opt_data) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey, jspb.Message);
goog.inherits(proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions, jspb.Message);
if (goog.DEBUG && !COMPILED) {
/**
* @public
* @override
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.displayName = 'proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey';
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.displayName = 'proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions';
}
/**
* Generated by JsPbCodeGenerator.
......@@ -4057,7 +4057,7 @@ proto.px.api.vizierpb.ExecuteScriptRequest.toObject = function(includeInstance,
execFuncsList: jspb.Message.toObjectList(msg.getExecFuncsList(),
proto.px.api.vizierpb.ExecuteScriptRequest.FuncToExecute.toObject, includeInstance),
mutation: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
encryptionPublicKey: (f = msg.getEncryptionPublicKey()) && proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.toObject(includeInstance, f)
encryptionOptions: (f = msg.getEncryptionOptions()) && proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.toObject(includeInstance, f)
};
if (includeInstance) {
......@@ -4112,9 +4112,9 @@ proto.px.api.vizierpb.ExecuteScriptRequest.deserializeBinaryFromReader = functio
msg.setMutation(value);
break;
case 6:
var value = new proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey;
reader.readMessage(value,proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinaryFromReader);
msg.setEncryptionPublicKey(value);
var value = new proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions;
reader.readMessage(value,proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.deserializeBinaryFromReader);
msg.setEncryptionOptions(value);
break;
default:
reader.skipField();
......@@ -4174,12 +4174,12 @@ proto.px.api.vizierpb.ExecuteScriptRequest.serializeBinaryToWriter = function(me
f
);
}
f = message.getEncryptionPublicKey();
f = message.getEncryptionOptions();
if (f != null) {
writer.writeMessage(
6,
f,
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.serializeBinaryToWriter
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.serializeBinaryToWriter
);
}
};
......@@ -4581,8 +4581,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
* http://goto/soy-param-migration
* @return {!Object}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.toObject = function(opt_includeInstance) {
return proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.toObject(opt_includeInstance, this);
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.toObject = function(opt_includeInstance) {
return proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.toObject(opt_includeInstance, this);
};
......@@ -4591,14 +4591,16 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.toObject = fu
* @param {boolean|undefined} includeInstance Deprecated. Whether to include
* the JSPB instance for transitional soy proto support:
* http://goto/soy-param-migration
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} msg The msg instance to transform.
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} msg The msg instance to transform.
* @return {!Object}
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.toObject = function(includeInstance, msg) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.toObject = function(includeInstance, msg) {
var f, obj = {
jwkKey: jspb.Message.getFieldWithDefault(msg, 1, ""),
alg: jspb.Message.getFieldWithDefault(msg, 2, "")
keyAlg: jspb.Message.getFieldWithDefault(msg, 2, ""),
contentAlg: jspb.Message.getFieldWithDefault(msg, 3, ""),
compressionAlg: jspb.Message.getFieldWithDefault(msg, 4, "")
};
if (includeInstance) {
......@@ -4612,23 +4614,23 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.toObject = function(inc
/**
* Deserializes binary data (in protobuf wire format).
* @param {jspb.ByteSource} bytes The bytes to deserialize.
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey}
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinary = function(bytes) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.deserializeBinary = function(bytes) {
var reader = new jspb.BinaryReader(bytes);
var msg = new proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey;
return proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinaryFromReader(msg, reader);
var msg = new proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions;
return proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.deserializeBinaryFromReader(msg, reader);
};
/**
* Deserializes binary data (in protobuf wire format) from the
* given reader into the given message object.
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} msg The message object to deserialize into.
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} msg The message object to deserialize into.
* @param {!jspb.BinaryReader} reader The BinaryReader to use.
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey}
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinaryFromReader = function(msg, reader) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.deserializeBinaryFromReader = function(msg, reader) {
while (reader.nextField()) {
if (reader.isEndGroup()) {
break;
......@@ -4641,7 +4643,15 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinaryFromRe
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.setAlg(value);
msg.setKeyAlg(value);
break;
case 3:
var value = /** @type {string} */ (reader.readString());
msg.setContentAlg(value);
break;
case 4:
var value = /** @type {string} */ (reader.readString());
msg.setCompressionAlg(value);
break;
default:
reader.skipField();
......@@ -4656,9 +4666,9 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.deserializeBinaryFromRe
* Serializes the message to binary data (in protobuf wire format).
* @return {!Uint8Array}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.serializeBinary = function() {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.serializeBinary = function() {
var writer = new jspb.BinaryWriter();
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.serializeBinaryToWriter(this, writer);
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.serializeBinaryToWriter(this, writer);
return writer.getResultBuffer();
};
......@@ -4666,11 +4676,11 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.serializeBina
/**
* Serializes the given message to binary data (in protobuf wire
* format), writing to the given BinaryWriter.
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} message
* @param {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} message
* @param {!jspb.BinaryWriter} writer
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.serializeBinaryToWriter = function(message, writer) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getJwkKey();
if (f.length > 0) {
......@@ -4679,13 +4689,27 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.serializeBinaryToWriter
f
);
}
f = message.getAlg();
f = message.getKeyAlg();
if (f.length > 0) {
writer.writeString(
2,
f
);
}
f = message.getContentAlg();
if (f.length > 0) {
writer.writeString(
3,
f
);
}
f = message.getCompressionAlg();
if (f.length > 0) {
writer.writeString(
4,
f
);
}
};
......@@ -4693,38 +4717,74 @@ proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.serializeBinaryToWriter
* optional string jwk_key = 1;
* @return {string}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.getJwkKey = function() {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.getJwkKey = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
* @param {string} value
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} returns this
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.setJwkKey = function(value) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.setJwkKey = function(value) {
return jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional string alg = 2;
* optional string key_alg = 2;
* @return {string}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.getAlg = function() {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.getKeyAlg = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/**
* @param {string} value
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} returns this
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey.prototype.setAlg = function(value) {
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.setKeyAlg = function(value) {
return jspb.Message.setProto3StringField(this, 2, value);
};
/**
* optional string content_alg = 3;
* @return {string}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.getContentAlg = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};
/**
* @param {string} value
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.setContentAlg = function(value) {
return jspb.Message.setProto3StringField(this, 3, value);
};
/**
* optional string compression_alg = 4;
* @return {string}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.getCompressionAlg = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};
/**
* @param {string} value
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions.prototype.setCompressionAlg = function(value) {
return jspb.Message.setProto3StringField(this, 4, value);
};
/**
* optional string query_str = 1;
* @return {string}
......@@ -4818,20 +4878,20 @@ proto.px.api.vizierpb.ExecuteScriptRequest.prototype.setMutation = function(valu
/**
* optional EncryptionKey encryption_public_key = 6;
* @return {?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey}
* optional EncryptionOptions encryption_options = 6;
* @return {?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.getEncryptionPublicKey = function() {
return /** @type{?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey} */ (
jspb.Message.getWrapperField(this, proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey, 6));
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.getEncryptionOptions = function() {
return /** @type{?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions} */ (
jspb.Message.getWrapperField(this, proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions, 6));
};
/**
* @param {?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionKey|undefined} value
* @param {?proto.px.api.vizierpb.ExecuteScriptRequest.EncryptionOptions|undefined} value
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.setEncryptionPublicKey = function(value) {
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.setEncryptionOptions = function(value) {
return jspb.Message.setWrapperField(this, 6, value);
};
......@@ -4840,8 +4900,8 @@ proto.px.api.vizierpb.ExecuteScriptRequest.prototype.setEncryptionPublicKey = fu
* Clears the message field making it undefined.
* @return {!proto.px.api.vizierpb.ExecuteScriptRequest} returns this
*/
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.clearEncryptionPublicKey = function() {
return this.setEncryptionPublicKey(undefined);
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.clearEncryptionOptions = function() {
return this.setEncryptionOptions(undefined);
};
......@@ -4849,7 +4909,7 @@ proto.px.api.vizierpb.ExecuteScriptRequest.prototype.clearEncryptionPublicKey =
* Returns whether this field is set.
* @return {boolean}
*/
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.hasEncryptionPublicKey = function() {
proto.px.api.vizierpb.ExecuteScriptRequest.prototype.hasEncryptionOptions = function() {
return jspb.Message.getField(this, 6) != null;
};
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment