s4:net Move net_vampire() to net_vampire.c
authorAndrew Bartlett <abartlet@samba.org>
Mon, 6 Jul 2009 06:41:42 +0000 (16:41 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 6 Jul 2009 06:41:42 +0000 (16:41 +1000)
source4/utils/net/net_join.c
source4/utils/net/net_vampire.c

index b0a25bb7c067ae6d28e4ce0b45890fce069d7f6d..316bc129f1854d4c1cd85bab6fb0ae9d4dc2f9cc 100644 (file)
@@ -102,69 +102,3 @@ int net_join_help(struct net_context *ctx, int argc, const char **argv)
        return 0;       
 }
 
-int net_vampire(struct net_context *ctx, int argc, const char **argv) 
-{
-       NTSTATUS status;
-       struct libnet_context *libnetctx;
-       struct libnet_Vampire *r;
-       char *tmp, *targetdir = NULL;
-       const char *domain_name;
-
-       switch (argc) {
-               case 0: /* no args -> fail */
-                       return net_vampire_usage(ctx, argc, argv);
-               case 1: /* only DOMAIN */
-                       tmp = talloc_strdup(ctx, argv[0]);
-                       break;
-               case 2: /* domain and target dir */
-                       tmp = talloc_strdup(ctx, argv[0]);
-                       targetdir = talloc_strdup(ctx, argv[1]);
-                       break;
-               default: /* too many args -> fail */
-                       return net_vampire_usage(ctx, argc, argv);
-       }
-
-       domain_name = tmp;
-
-       libnetctx = libnet_context_init(ctx->event_ctx, ctx->lp_ctx);
-       if (!libnetctx) {
-               return -1;      
-       }
-       libnetctx->cred = ctx->credentials;
-       r = talloc(ctx, struct libnet_Vampire);
-       if (!r) {
-               return -1;
-       }
-       /* prepare parameters for the vampire */
-       r->in.netbios_name  = lp_netbios_name(ctx->lp_ctx);
-       r->in.domain_name   = domain_name;
-       r->in.targetdir     = targetdir;
-       r->out.error_string = NULL;
-
-       /* do the domain vampire */
-       status = libnet_Vampire(libnetctx, r, r);
-       
-       if (!NT_STATUS_IS_OK(status)) {
-               d_fprintf(stderr, "Vampire of domain failed: %s\n",
-                         r->out.error_string ? r->out.error_string : nt_errstr(status));
-               talloc_free(r);
-               talloc_free(libnetctx);
-               return -1;
-       }
-       d_printf("Vampired domain %s (%s)\n", r->out.domain_name, dom_sid_string(ctx, r->out.domain_sid));
-
-       talloc_free(libnetctx);
-       return 0;
-}
-
-int net_vampire_usage(struct net_context *ctx, int argc, const char **argv)
-{
-       d_printf("net vampire <domain> [options]\n");
-       return 0;       
-}
-
-int net_vampire_help(struct net_context *ctx, int argc, const char **argv)
-{
-       d_printf("Vampires domain as either member or backup domain controller.\n");
-       return 0;       
-}
index 14f6a07e4bbe92ffbe5cc4939c5fa3b33c61cef8..799376767b7ba05638919ca840dbe1592711b28d 100644 (file)
@@ -24,6 +24,7 @@
 #include "libnet/libnet.h"
 #include "librpc/gen_ndr/samr.h"
 #include "auth/auth.h"
+#include "libcli/security/security.h"
 #include "param/param.h"
 #include "lib/events/events.h"
 
@@ -179,3 +180,70 @@ int net_samsync_ldb_help(struct net_context *ctx, int argc, const char **argv)
        d_printf("Synchronise into the local ldb the SAM of a domain.\n");
        return 0;       
 }
+
+int net_vampire(struct net_context *ctx, int argc, const char **argv) 
+{
+       NTSTATUS status;
+       struct libnet_context *libnetctx;
+       struct libnet_Vampire *r;
+       char *tmp, *targetdir = NULL;
+       const char *domain_name;
+
+       switch (argc) {
+               case 0: /* no args -> fail */
+                       return net_vampire_usage(ctx, argc, argv);
+               case 1: /* only DOMAIN */
+                       tmp = talloc_strdup(ctx, argv[0]);
+                       break;
+               case 2: /* domain and target dir */
+                       tmp = talloc_strdup(ctx, argv[0]);
+                       targetdir = talloc_strdup(ctx, argv[1]);
+                       break;
+               default: /* too many args -> fail */
+                       return net_vampire_usage(ctx, argc, argv);
+       }
+
+       domain_name = tmp;
+
+       libnetctx = libnet_context_init(ctx->event_ctx, ctx->lp_ctx);
+       if (!libnetctx) {
+               return -1;      
+       }
+       libnetctx->cred = ctx->credentials;
+       r = talloc(ctx, struct libnet_Vampire);
+       if (!r) {
+               return -1;
+       }
+       /* prepare parameters for the vampire */
+       r->in.netbios_name  = lp_netbios_name(ctx->lp_ctx);
+       r->in.domain_name   = domain_name;
+       r->in.targetdir     = targetdir;
+       r->out.error_string = NULL;
+
+       /* do the domain vampire */
+       status = libnet_Vampire(libnetctx, r, r);
+       
+       if (!NT_STATUS_IS_OK(status)) {
+               d_fprintf(stderr, "Vampire of domain failed: %s\n",
+                         r->out.error_string ? r->out.error_string : nt_errstr(status));
+               talloc_free(r);
+               talloc_free(libnetctx);
+               return -1;
+       }
+       d_printf("Vampired domain %s (%s)\n", r->out.domain_name, dom_sid_string(ctx, r->out.domain_sid));
+
+       talloc_free(libnetctx);
+       return 0;
+}
+
+int net_vampire_usage(struct net_context *ctx, int argc, const char **argv)
+{
+       d_printf("net vampire <domain> [options]\n");
+       return 0;       
+}
+
+int net_vampire_help(struct net_context *ctx, int argc, const char **argv)
+{
+       d_printf("Join and synchronise a remote AD domain to the local server.\n");
+       return 0;       
+}