summaryrefslogtreecommitdiff
path: root/source3/utils/net.c
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2008-05-14 09:01:53 +0200
committerKai Blin <kai@samba.org>2008-05-20 14:27:56 +0200
commit00f6ad7b5a7ea684b329c2ce68ada77036c94b08 (patch)
tree38786f9c4eb324124dcbdcc7dea6930169389f94 /source3/utils/net.c
parentb5965290417200a52da1f4c87f745a7044e84453 (diff)
downloadsamba-00f6ad7b5a7ea684b329c2ce68ada77036c94b08.tar.gz
samba-00f6ad7b5a7ea684b329c2ce68ada77036c94b08.tar.bz2
samba-00f6ad7b5a7ea684b329c2ce68ada77036c94b08.zip
net: Split out "net afs"
(This used to be commit 3f10527f79dddff703d31588cad3e9f37176565b)
Diffstat (limited to 'source3/utils/net.c')
-rw-r--r--source3/utils/net.c87
1 files changed, 4 insertions, 83 deletions
diff --git a/source3/utils/net.c b/source3/utils/net.c
index ec48ec22c9..15064302cd 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -43,6 +43,10 @@
#include "includes.h"
#include "utils/net.h"
+#ifdef WITH_FAKE_KASERVER
+#include "utils/net_afs.h"
+#endif
+
/***********************************************************************/
/* Beginning of internationalization section. Translatable constants */
/* should be kept in this area and referenced in the rest of the code. */
@@ -305,89 +309,6 @@ static int net_getdomainsid(struct net_context *c, int argc, const char **argv)
return 0;
}
-#ifdef WITH_FAKE_KASERVER
-
-int net_help_afs(struct net_context *c, int argc, const char **argv)
-{
- d_printf(" net afs key filename\n"
- "\tImports a OpenAFS KeyFile into our secrets.tdb\n\n");
- d_printf(" net afs impersonate <user> <cell>\n"
- "\tCreates a token for user@cell\n\n");
- return -1;
-}
-
-static int net_afs_key(struct net_context *c, int argc, const char **argv)
-{
- int fd;
- struct afs_keyfile keyfile;
-
- if (argc != 2) {
- d_printf("usage: 'net afs key <keyfile> cell'\n");
- return -1;
- }
-
- if (!secrets_init()) {
- d_fprintf(stderr, "Could not open secrets.tdb\n");
- return -1;
- }
-
- if ((fd = open(argv[0], O_RDONLY, 0)) < 0) {
- d_fprintf(stderr, "Could not open %s\n", argv[0]);
- return -1;
- }
-
- if (read(fd, &keyfile, sizeof(keyfile)) != sizeof(keyfile)) {
- d_fprintf(stderr, "Could not read keyfile\n");
- return -1;
- }
-
- if (!secrets_store_afs_keyfile(argv[1], &keyfile)) {
- d_fprintf(stderr, "Could not write keyfile to secrets.tdb\n");
- return -1;
- }
-
- return 0;
-}
-
-static int net_afs_impersonate(struct net_context *c, int argc,
- const char **argv)
-{
- char *token;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: net afs impersonate <user> <cell>\n");
- exit(1);
- }
-
- token = afs_createtoken_str(argv[0], argv[1]);
-
- if (token == NULL) {
- fprintf(stderr, "Could not create token\n");
- exit(1);
- }
-
- if (!afs_settoken_str(token)) {
- fprintf(stderr, "Could not set token into kernel\n");
- exit(1);
- }
-
- printf("Success: %s@%s\n", argv[0], argv[1]);
- return 0;
-}
-
-static int net_afs(struct net_context *c, int argc, const char **argv)
-{
- struct functable func[] = {
- {"key", net_afs_key},
- {"impersonate", net_afs_impersonate},
- {"help", net_help_afs},
- {NULL, NULL}
- };
- return net_run_function(c, argc, argv, func, net_help_afs);
-}
-
-#endif /* WITH_FAKE_KASERVER */
-
static bool search_maxrid(struct pdb_search *search, const char *type,
uint32 *max_rid)
{