#include <afs/param.h>
#include <roken.h>
+#include <afs/cellconfig.h>
#include <afs/afsutil.h>
+#include <hcrypto/des.h>
+
#include "common.h"
static FILE *
afstest_BuildTestConfig(void) {
char *dir = NULL;
FILE *file;
+ struct hostent *host;
+ char hostname[255];
+ struct in_addr iaddr;
if (asprintf(&dir, "%s/afs_XXXXXX", gettmpdir()) == -1)
goto fail;
if (mkdtemp(dir) == NULL)
goto fail;
- /* Create a CellServDB */
+ /* Work out which IP address to use in our CellServDB. We figure this out
+ * according to the IP address which ubik is most likely to pick for one of
+ * our db servers */
+
+ gethostname(hostname, sizeof(hostname));
+ host = gethostbyname(hostname);
+ if (!host)
+ return NULL;
+
+ memcpy(&iaddr, host->h_addr, 4);
+
file = openConfigFile(dir, "CellServDB");
fprintf(file, ">example.org # An example cell\n");
- fprintf(file, "127.0.0.1 #test.example.org\n");
+ fprintf(file, "%s #test.example.org\n", inet_ntoa(iaddr));
fclose(file);
/* Create a ThisCell file */
unlinkConfigFile(dir, "UserList");
rmdir(dir);
}
+
+int
+afstest_AddDESKeyFile(struct afsconf_dir *dir)
+{
+ char keymaterial[]="\x19\x17\xff\xe6\xbb\x77\x2e\xfc";
+
+ /* Make sure that it is actually a valid key */
+ DES_set_odd_parity((DES_cblock *)keymaterial);
+
+ return afsconf_AddKey(dir, 1, keymaterial, 1);
+}