blob: fd7792722af7165ee1f5a4338c3de9bbf9cc5624 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package kerberos;
// D-Bus call error codes. These values are written to logs. New enum values can
// be added, but existing enums must never be renumbered or deleted and reused.
enum ErrorType {
// Everything is A-OK!
ERROR_NONE = 0;
// Unspecified error.
ERROR_UNKNOWN = 1;
// Unspecified D-Bus error.
ERROR_DBUS_FAILURE = 2;
// General network problem.
ERROR_NETWORK_PROBLEM = 3;
// KRB5 error that has no equivalent in this enum. See logs for original code.
ERROR_UNKNOWN_KRB5_ERROR = 4;
// Auth failed, of bad principal while getting Kerberos credentials.
ERROR_BAD_PRINCIPAL = 5;
// Auth failed, bad password while getting Kerberos credentials.
ERROR_BAD_PASSWORD = 6;
// Auth failed, password expired while getting Kerberos credentials.
ERROR_PASSWORD_EXPIRED = 7;
// Auth failed to change password, password was rejected.
ERROR_PASSWORD_REJECTED = 8;
// Kerberos credentials cache not found.
ERROR_NO_CREDENTIALS_CACHE_FOUND = 9;
// Kerberos ticket expired while renewing credentials.
ERROR_KERBEROS_TICKET_EXPIRED = 10;
// KDC does not support the encryption enforced in krb5.conf.
ERROR_KDC_DOES_NOT_SUPPORT_ENCRYPTION_TYPE = 11;
// Kinit or smbclient failed to contact Key Distribution Center.
ERROR_CONTACTING_KDC_FAILED = 12;
// Parsing a request message failed.
ERROR_PARSE_REQUEST_FAILED = 13;
// Some local IO operation failed.
ERROR_LOCAL_IO = 14;
// Requested principal name not known to the account manager.
ERROR_UNKNOWN_PRINCIPAL_NAME = 15;
// Adding account failed since the principal name is already known.
ERROR_DUPLICATE_PRINCIPAL_NAME = 16;
// Should be the last. Increase when adding new enum values.
ERROR_COUNT = 17;
}
// Message sent to Chrome by authpolicyd as a response to a successful
// GetUserKerberosFiles call.
message KerberosFiles {
// Kerberos credential cache.
optional bytes krb5cc = 1;
// Kerberos configuration file.
optional bytes krb5conf = 2;
}
message AddAccountRequest {
// Principal name of the account to add (user@REALM.COM).
optional string principal_name = 1;
}
message AddAccountResponse {
// Response status.
optional ErrorType error = 1;
}
message RemoveAccountRequest {
// Principal name of the account to remove (user@REALM.COM).
optional string principal_name = 1;
}
message RemoveAccountResponse {
// Response status.
optional ErrorType error = 1;
}
message AcquireKerberosTgtRequest {
// Principal name of the account to acquire a ticket for (user@REALM.COM).
optional string principal_name = 1;
}
message AcquireKerberosTgtResponse {
// Response status.
optional ErrorType error = 1;
}
message GetKerberosFilesRequest {
// Principal name of the account to get files from (user@REALM.COM).
optional string principal_name = 1;
}
message GetKerberosFilesResponse {
// Response status.
optional ErrorType error = 1;
// Retrieved Kerberos files.
optional KerberosFiles files = 2;
}