libafscp: Use strdup, rather than rolling our own
[openafs.git] / src / libafscp / afscp_server.c
index 89ac813..abb82e8 100644 (file)
@@ -38,7 +38,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #define AFSCONF_CLIENTNAME AFSDIR_CLIENT_ETC_DIRPATH
 #endif
 #include <rx/rx.h>
-#include <krb5.h>
+#ifdef HAVE_KERBEROS
+# include <krb5.h>
+#endif
 #include "afscp.h"
 #include "afscp_internal.h"
 
@@ -120,9 +122,7 @@ afscp_CellByName(const char *cellname, const char *realmname)
     memset(thecell, 0, sizeof(struct afscp_cell));
     strlcpy(thecell->name, cellname, sizeof(thecell->name));
     if (realmname != NULL) {
-       thecell->realm = malloc(strlen(realmname) + 1);
-       memset(thecell->realm, 0, strlen(realmname) + 1);
-       strlcpy(thecell->realm, realmname, strlen(realmname) + 1);
+       thecell->realm = strdup(realmname);
     } else {
        thecell->realm = NULL;
     }
@@ -165,9 +165,11 @@ afscp_DefaultCell(void)
 int
 afscp_SetDefaultRealm(const char *realmname)
 {
+    char *newdefrealm;
+
+#ifdef HAVE_KERBEROS
     /* krb5_error_code k5ec; */
     krb5_context k5con;
-    char *newdefrealm;
     int code;
 
     if (realmname == NULL) {
@@ -188,6 +190,8 @@ afscp_SetDefaultRealm(const char *realmname)
      * return -1;
      * } */
     /* krb5_set_default_realm() is returning 0 on success, not KRB5KDC_ERR_NONE */
+#endif /* HAVE_KERBEROS */
+
     newdefrealm = strdup(realmname);
     if (newdefrealm == NULL) {
        return -1;
@@ -246,6 +250,7 @@ _xdr_bulkaddrs(XDR * xdrs, void *objp)
     return xdr_bulkaddrs(xdrs, objp);
 }
 
+/* takes server in host byte order */
 struct afscp_server *
 afscp_ServerById(struct afscp_cell *thecell, afsUUID * u)
 {
@@ -334,6 +339,7 @@ afscp_ServerById(struct afscp_cell *thecell, afsUUID * u)
     return ret;
 }
 
+/* takes server in host byte order */
 struct afscp_server *
 afscp_ServerByAddr(struct afscp_cell *thecell, afs_uint32 addr)
 {
@@ -435,6 +441,7 @@ afscp_ServerByAddr(struct afscp_cell *thecell, afs_uint32 addr)
     return ret;
 }
 
+/* takes server in host byte order */
 struct afscp_server *
 afscp_AnyServerByAddr(afs_uint32 addr)
 {
@@ -454,6 +461,7 @@ afscp_AnyServerByAddr(afs_uint32 addr)
     return NULL;
 }
 
+/* takes server in host byte order */
 struct afscp_server *
 afscp_ServerByIndex(int i)
 {