001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 * 019 */ 020 package org.apache.directory.server.kerberos.shared.messages; 021 022 023 import javax.security.auth.kerberos.KerberosPrincipal; 024 025 import org.apache.directory.server.kerberos.shared.KerberosMessageType; 026 import org.apache.directory.server.kerberos.shared.messages.value.KerberosTime; 027 028 029 /** 030 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 031 * @version $Rev: 589780 $, $Date: 2007-10-29 19:14:59 +0100 (Mon, 29 Oct 2007) $ 032 */ 033 public class ErrorMessage extends KerberosMessage 034 { 035 private KerberosTime clientTime; //optional 036 private Integer clientMicroSecond; //optional 037 private KerberosTime serverTime; 038 private int serverMicroSecond; 039 private int errorCode; 040 private KerberosPrincipal clientPrincipal; //optional 041 private KerberosPrincipal serverPrincipal; 042 private String explanatoryText; //optional 043 private byte[] explanatoryData; //optional 044 045 046 /** 047 * Creates a new instance of ErrorMessage. 048 * 049 * @param clientTime 050 * @param clientMicroSecond 051 * @param serverTime 052 * @param serverMicroSecond 053 * @param errorCode 054 * @param clientPrincipal 055 * @param serverPrincipal 056 * @param explanatoryText 057 * @param explanatoryData 058 */ 059 public ErrorMessage( KerberosTime clientTime, Integer clientMicroSecond, KerberosTime serverTime, 060 int serverMicroSecond, int errorCode, KerberosPrincipal clientPrincipal, KerberosPrincipal serverPrincipal, 061 String explanatoryText, byte[] explanatoryData ) 062 { 063 super( KerberosMessageType.KRB_ERROR ); 064 065 this.clientTime = clientTime; 066 this.clientMicroSecond = clientMicroSecond; 067 this.serverTime = serverTime; 068 this.serverMicroSecond = serverMicroSecond; 069 this.errorCode = errorCode; 070 this.clientPrincipal = clientPrincipal; 071 this.serverPrincipal = serverPrincipal; 072 this.explanatoryText = explanatoryText; 073 this.explanatoryData = explanatoryData; 074 } 075 076 077 /** 078 * Returns the client {@link KerberosPrincipal}. 079 * 080 * @return The client {@link KerberosPrincipal}. 081 */ 082 public KerberosPrincipal getClientPrincipal() 083 { 084 return clientPrincipal; 085 } 086 087 088 /** 089 * Returns the client {@link KerberosTime}. 090 * 091 * @return The client {@link KerberosTime}. 092 */ 093 public KerberosTime getClientTime() 094 { 095 return clientTime; 096 } 097 098 099 /** 100 * Returns the client microsecond. 101 * 102 * @return The client microsecond. 103 */ 104 public Integer getClientMicroSecond() 105 { 106 return clientMicroSecond; 107 } 108 109 110 /** 111 * Returns the explanatory data. 112 * 113 * @return The explanatory data. 114 */ 115 public byte[] getExplanatoryData() 116 { 117 return explanatoryData; 118 } 119 120 121 /** 122 * Returns the error code. 123 * 124 * @return The error code. 125 */ 126 public int getErrorCode() 127 { 128 return errorCode; 129 } 130 131 132 /** 133 * Returns the explanatory text. 134 * 135 * @return The explanatory text. 136 */ 137 public String getExplanatoryText() 138 { 139 return explanatoryText; 140 } 141 142 143 /** 144 * Returns the server {@link KerberosPrincipal}. 145 * 146 * @return The server {@link KerberosPrincipal}. 147 */ 148 public KerberosPrincipal getServerPrincipal() 149 { 150 return serverPrincipal; 151 } 152 153 154 /** 155 * Returns the server {@link KerberosTime}. 156 * 157 * @return The server {@link KerberosTime}. 158 */ 159 public KerberosTime getServerTime() 160 { 161 return serverTime; 162 } 163 164 165 /** 166 * Returns the server microsecond. 167 * 168 * @return The server microsecond. 169 */ 170 public int getServerMicroSecond() 171 { 172 return serverMicroSecond; 173 } 174 }