2N/A * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 2N/A * Copyright 1990,1999 by the Massachusetts Institute of Technology. 2N/A * All Rights Reserved. 2N/A * Export of this software from the United States of America may 2N/A * require a specific license from the United States Government. 2N/A * It is the responsibility of any person or organization contemplating 2N/A * export to obtain such a license before exporting. 2N/A * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 2N/A * distribute this software and its documentation for any purpose and 2N/A * without fee is hereby granted, provided that the above copyright 2N/A * notice appear in all copies and that both that copyright notice and 2N/A * this permission notice appear in supporting documentation, and that 2N/A * the name of M.I.T. not be used in advertising or publicity pertaining 2N/A * to distribution of the software without specific, written prior 2N/A * permission. Furthermore if you modify this software you must label 2N/A * your software as modified software and not distribute it in such a 2N/A * fashion that it might be confused with the original M.I.T. software. 2N/A * M.I.T. makes no representations about the suitability of 2N/A * this software for any purpose. It is provided "as is" without express 2N/A * or implied warranty. 2N/A * _kadm5_get_kpasswd_protocol 2N/A * returns the password change protocol value to the caller. 2N/A * Since the 'handle' is an opaque value to higher up callers, 2N/A * this method is needed to provide a way for them to get a peek 2N/A * at the protocol being used without having to expose the entire 2N/A * kadm5_chpass_principal_v2 2N/A * New function used to prepare to make the change password request to a 2N/A * non-SEAM admin server. The protocol used in this case is not based on 2N/A * RPCSEC_GSS, it simply makes the request to port 464 (udp and tcp). 2N/A * This is the same way that MIT KRB5 1.2.1 changes passwords. 2N/A * The credentials have already been stored in the cache in the 2N/A * initialization step earlier, but we dont have direct access to it 2N/A * at this level. Derive the cache and fetch the credentials to use for 2N/A * sending the request. 2N/A /* set the client principal in the credential match structure */ 2N/A /* generate the server principal from the name string we generated */ 2N/A /* Find the credentials in the cache */ 2N/A /* Now we have all we need to make the change request. */