Sdiff kadm_host_srv_names.c
  1 /*
  2  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  3  * Use is subject to license terms.
  4  */
  5 
  6 #pragma ident   "@(#)kadm_host_srv_names.c      1.6     04/09/08 SMI" 
  7 
  8 /*
  9  * lib/kad5/kadm_host_srv_names.c
 10  */
 11 
 12 #include "admin.h"
 13 #include <stdio.h>
 14 #include <os-proto.h>
 15 
 16 #define KADM5_MASTER "admin_server"
 17 
 18 /*
 19  * Find the admin server for the given realm. If the realm is null or
 20  * the empty string, find the admin server for the default realm.
 21  * Returns 0 on succsess (KADM5_OK). It is the callers responsibility to
 22  * free the storage allocated to the admin server, master.
 23  */
 24 kadm5_ret_t
 25 kadm5_get_master(krb5_context context, const char *realm, char **master)
 26 {


103 kadm5_ret_t ret; 104 char *name; 105 char *host; 106 107 108 if (ret = kadm5_get_master(context, realm, &host)) 109 return (ret); 110 111 name = malloc(strlen(KADM5_CHANGEPW_HOST_SERVICE) + strlen(host) + 2); 112 if (name == NULL) { 113 free(host); 114 return (ENOMEM); 115 } 116 sprintf(name, "%s@%s", KADM5_CHANGEPW_HOST_SERVICE, host); 117 free(host); 118 *host_service_name = name; 119 120 return (KADM5_OK); 121 } 122
  1 /*
  2  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  3  * Use is subject to license terms.
  4  */
  5 
  6 #pragma ident   "@(#)kadm_host_srv_names.c      1.5     04/03/16 SMI" 
  7 
  8 /*
  9  * lib/kad5/kadm_host_srv_names.c
 10  */
 11 
 12 #include "admin.h"
 13 #include <stdio.h>
 14 #include <os-proto.h>
 15 
 16 #define KADM5_MASTER "admin_server"
 17 
 18 /*
 19  * Find the admin server for the given realm. If the realm is null or
 20  * the empty string, find the admin server for the default realm.
 21  * Returns 0 on succsess (KADM5_OK). It is the callers responsibility to
 22  * free the storage allocated to the admin server, master.
 23  */
 24 kadm5_ret_t
 25 kadm5_get_master(krb5_context context, const char *realm, char **master)
 26 {


103 kadm5_ret_t ret; 104 char *name; 105 char *host; 106 107 108 if (ret = kadm5_get_master(context, realm, &host)) 109 return (ret); 110 111 name = malloc(strlen(KADM5_CHANGEPW_HOST_SERVICE) + strlen(host) + 2); 112 if (name == NULL) { 113 free(host); 114 return (ENOMEM); 115 } 116 sprintf(name, "%s@%s", KADM5_CHANGEPW_HOST_SERVICE, host); 117 free(host); 118 *host_service_name = name; 119 120 return (KADM5_OK); 121 } 122 123 /* 124 * Get the host base service name for the kiprop principal. Returns 125 * KADM5_OK on success. Caller must free the storage allocated 126 * for host_service_name. 127 */ 128 kadm5_ret_t kadm5_get_kiprop_host_srv_name(krb5_context context, 129 const char *realm, 130 char **host_service_name) { 131 kadm5_ret_t ret; 132 char *name; 133 char *host; 134 135 136 if (ret = kadm5_get_master(context, realm, &host)) 137 return (ret); 138 139 name = malloc(strlen(KADM5_KIPROP_HOST_SERVICE) + strlen(host) + 2); 140 if (name == NULL) { 141 free(host); 142 return (ENOMEM); 143 } 144 sprintf(name, "%s@%s", KADM5_KIPROP_HOST_SERVICE, host); 145 free(host); 146 *host_service_name = name; 147 148 return (KADM5_OK); 149 }