summaryrefslogtreecommitdiff
path: root/source3/utils/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/utils/net.c')
-rw-r--r--source3/utils/net.c52
1 files changed, 33 insertions, 19 deletions
diff --git a/source3/utils/net.c b/source3/utils/net.c
index c53b2859b0..eccb522dc9 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -243,12 +243,12 @@ static int net_getlocalsid(struct net_context *c, int argc, const char **argv)
name = argv[0];
}
else {
- name = global_myname();
+ name = lp_netbios_name();
}
if(!initialize_password_db(false, NULL)) {
- DEBUG(0, ("WARNING: Could not open passdb - local sid may not reflect passdb\n"
- "backend knowledge (such as the sid stored in LDAP)\n"));
+ d_fprintf(stderr, _("WARNING: Could not open passdb\n"));
+ return 1;
}
/* first check to see if we can even access secrets, so we don't
@@ -286,7 +286,7 @@ static int net_setlocalsid(struct net_context *c, int argc, const char **argv)
return 1;
}
- if (!secrets_store_domain_sid(global_myname(), &sid)) {
+ if (!secrets_store_domain_sid(lp_netbios_name(), &sid)) {
DEBUG(0,("Can't store domain SID as a pdc/bdc.\n"));
return 1;
}
@@ -327,10 +327,8 @@ static int net_getdomainsid(struct net_context *c, int argc, const char **argv)
}
if(!initialize_password_db(false, NULL)) {
- DEBUG(0, ("WARNING: Could not open passdb - domain SID may "
- "not reflect passdb\n"
- "backend knowledge (such as the SID stored in "
- "LDAP)\n"));
+ d_fprintf(stderr, _("WARNING: Could not open passdb\n"));
+ return 1;
}
/* first check to see if we can even access secrets, so we don't
@@ -346,14 +344,15 @@ static int net_getdomainsid(struct net_context *c, int argc, const char **argv)
/* Generate one, if it doesn't exist */
get_global_sam_sid();
- if (!secrets_fetch_domain_sid(global_myname(), &domain_sid)) {
- d_fprintf(stderr, _("Could not fetch local SID\n"));
- return 1;
+ if (!IS_DC) {
+ if (!secrets_fetch_domain_sid(lp_netbios_name(), &domain_sid)) {
+ d_fprintf(stderr, _("Could not fetch local SID\n"));
+ return 1;
+ }
+ sid_to_fstring(sid_str, &domain_sid);
+ d_printf(_("SID for local machine %s is: %s\n"),
+ lp_netbios_name(), sid_str);
}
- sid_to_fstring(sid_str, &domain_sid);
- d_printf(_("SID for local machine %s is: %s\n"),
- global_myname(), sid_str);
-
if (!secrets_fetch_domain_sid(c->opt_workgroup, &domain_sid)) {
d_fprintf(stderr, _("Could not fetch domain SID\n"));
return 1;
@@ -820,6 +819,12 @@ static struct functable net_func[] = {
{"lock", 0, POPT_ARG_NONE, &c->opt_lock},
{"auto", 'a', POPT_ARG_NONE, &c->opt_auto},
{"repair", 0, POPT_ARG_NONE, &c->opt_repair},
+ /* Options for 'net registry check'*/
+ {"reg-version", 0, POPT_ARG_INT, &c->opt_reg_version},
+ {"output", 'o', POPT_ARG_STRING, &c->opt_output},
+ {"wipe", 0, POPT_ARG_NONE, &c->opt_wipe},
+ /* Options for 'net registry import' */
+ {"precheck", 0, POPT_ARG_STRING, &c->opt_precheck},
POPT_COMMON_SAMBA
{ 0, 0, 0, 0}
};
@@ -878,7 +883,17 @@ static struct functable net_func[] = {
}
}
- lp_load(get_dyn_CONFIGFILE(), true, false, false, true);
+ lp_load_global(get_dyn_CONFIGFILE());
+
+#if defined(HAVE_BIND_TEXTDOMAIN_CODESET)
+ /* Bind our gettext results to 'unix charset'
+
+ This ensures that the translations and any embedded strings are in the
+ same charset. It won't be the one from the user's locale (we no
+ longer auto-detect that), but it will be self-consistent.
+ */
+ bind_textdomain_codeset(MODULE_NAME, lp_unix_charset());
+#endif
argv_new = (const char **)poptGetArgs(pc);
@@ -895,7 +910,7 @@ static struct functable net_func[] = {
}
if (c->opt_requester_name) {
- set_global_myname(c->opt_requester_name);
+ lp_set_cmdline("netbios name", c->opt_requester_name);
}
if (!c->opt_user_name && getenv("LOGNAME")) {
@@ -933,8 +948,7 @@ static struct functable net_func[] = {
/* Failing to init the msg_ctx isn't a fatal error. Only
root-level things (joining/leaving domains etc.) will be denied. */
- c->msg_ctx = messaging_init(c, procid_self(),
- event_context_init(c));
+ c->msg_ctx = messaging_init(c, event_context_init(c));
rc = net_run_function(c, argc_new-1, argv_new+1, "net", net_func);