MODULE_CFLAGS=-I$(srcdir)/..
-all check test tests: config.o servers.o
+all check test tests: config.o servers.o ubik.o
clean:
rm -f *.o
extern int afstest_StartVLServer(char *dirname, pid_t *serverPid);
extern int afstest_StopVLServer(pid_t serverPid);
+
+/* ubik.c */
+struct ubik_client;
+extern int afstest_GetUbikClient(struct afsconf_dir *dir, char *service,
+ int serviceId,
+ struct rx_securityClass *secClass,
+ int secIndex,
+ struct ubik_client **ubikClient);
--- /dev/null
+/*
+ * Copyright (c) 2012 Your File System Inc. All rights reserved
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <afsconfig.h>
+#include <afs/param.h>
+
+#include <roken.h>
+
+#include <afs/cellconfig.h>
+#include <ubik.h>
+
+#include "common.h"
+
+int
+afstest_GetUbikClient(struct afsconf_dir *dir, char *service,
+ int serviceId,
+ struct rx_securityClass *secClass, int secIndex,
+ struct ubik_client **ubikClient)
+{
+ int code, i;
+ struct afsconf_cell info;
+ struct rx_connection *serverconns[MAXSERVERS];
+
+ code = afsconf_GetCellInfo(dir, NULL, service, &info);
+ if (code)
+ return code;
+
+ for (i = 0; i < info.numServers; i++) {
+ serverconns[i] = rx_NewConnection(info.hostAddr[i].sin_addr.s_addr,
+ info.hostAddr[i].sin_port,
+ serviceId,
+ secClass, secIndex);
+ }
+
+ serverconns[i] = NULL;
+
+ *ubikClient = NULL;
+
+ return ubik_ClientInit(serverconns, ubikClient);
+
+}
$(LIB_rfc3961) $(LIB_roken) -lafsutil\
$(XLIBS)
-vos-t: vos-t.o ../common/config.o ../common/servers.o
+vos-t: vos-t.o ../common/config.o ../common/servers.o ../common/ubik.o
$(AFS_LDRULE) vos-t.o ../common/config.o ../common/servers.o \
- $(MODULE_LIBS)
+ ../common/ubik.o $(MODULE_LIBS)
clean:
rm -f *.o $(TESTS)
{
char *dirname;
struct afsconf_dir *dir;
- struct afsconf_cell info;
- int code;
- int i;
+ int code, secIndex;
pid_t serverPid;
struct rx_securityClass *secClass;
- struct rx_connection *serverconns[MAXSERVERS];
struct ubik_client *ubikClient = NULL;
- int secIndex;
plan(6);
/* Let it figure itself out ... */
sleep(5);
-
code = afsconf_ClientAuthSecure(dir, &secClass, &secIndex);
+ is_int(code, 0, "Successfully got security class");
if (code) {
- afs_com_err("vos-t", code, "while getting a fake token");
- exit(1);
+ afs_com_err("authname-t", code, "while getting anonymous secClass");
+ exit(1);
}
- code = afsconf_GetCellInfo(dir, NULL, AFSCONF_VLDBSERVICE, &info);
+ code = afstest_GetUbikClient(dir, AFSCONF_VLDBSERVICE, USER_SERVICE_ID,
+ secClass, secIndex, &ubikClient);
+ is_int(code, 0, "Successfully built ubik client structure");
if (code) {
- afs_com_err("vos-t", code, " while getting addresses from cellservdb");
+ afs_com_err("vos-t", code, "while building ubik client");
exit(1);
}
- ok(info.numServers < MAXSERVERS, "Number of servers is within range");
-
- for (i = 0; i < info.numServers; i++)
- serverconns[i] = rx_NewConnection(info.hostAddr[i].sin_addr.s_addr,
- info.hostAddr[i].sin_port,
- USER_SERVICE_ID,
- secClass, secIndex);
-
- code = ubik_ClientInit(serverconns, &ubikClient);
TestListAddrs(ubikClient, dirname);