/* * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2.0, * as published by the Free Software Foundation. * * This program is also distributed with certain software (including * but not limited to OpenSSL) that is licensed under separate terms, * as designated in a particular file or component or in included license * documentation. The authors of MySQL hereby grant you an additional * permission to link the program and your derivative works with the * separately licensed software that they have included with MySQL. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License, version 2.0, for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ syntax = "proto2"; import "mysqlx.proto"; // comment_out_if PROTOBUF_LITE // ifdef PROTOBUF_LITE: option optimize_for = LITE_RUNTIME; // Messages to manage Sessions // // .. uml:: // // == session start == // Client -> Server: AuthenticateStart // opt // Server --> Client: AuthenticateContinue // Client --> Server: AuthenticateContinue // end // alt // Server --> Client: AuthenticateOk // else // Server --> Client: Error // end // ... // == session reset == // Client -> Server: Reset // Server --> Client: Ok // == session end == // Client -> Server: Close // Server --> Client: Ok // package Mysqlx.Session; option java_package = "com.mysql.cj.x.protobuf"; // the initial message send from the client to the server to start the // authentication proccess // // :param mech_name: authentication mechanism name // :param auth_data: authentication data // :param initial_response: initial response // :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` message AuthenticateStart { required string mech_name = 1; optional bytes auth_data = 2; optional bytes initial_response = 3; option (client_message_id) = SESS_AUTHENTICATE_START; // comment_out_if PROTOBUF_LITE } // send by client or server after a :protobuf:msg:`Mysqlx.Session::AuthenticateStart` to // exchange more auth data // // :param auth_data: authentication data // :Returns: :protobuf:msg:`Mysqlx.Session::AuthenticateContinue` message AuthenticateContinue { required bytes auth_data = 1; option (server_message_id) = SESS_AUTHENTICATE_CONTINUE; // comment_out_if PROTOBUF_LITE option (client_message_id) = SESS_AUTHENTICATE_CONTINUE; // comment_out_if PROTOBUF_LITE } // sent by the server after successful authentication // // :param auth_data: authentication data message AuthenticateOk { optional bytes auth_data = 1; option (server_message_id) = SESS_AUTHENTICATE_OK; // comment_out_if PROTOBUF_LITE } // reset the current session // param keep_open: if is true the session will be reset, but stays authenticated. // otherwise, the session will be closed and needs to be authenticated again. // // :Returns: :protobuf:msg:`Mysqlx::Ok` message Reset { optional bool keep_open = 1 [ default = false ]; option (client_message_id) = SESS_RESET; // comment_out_if PROTOBUF_LITE } // close the current session // // :Returns: :protobuf:msg:`Mysqlx::Ok` message Close { option (client_message_id) = SESS_CLOSE; // comment_out_if PROTOBUF_LITE }