summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/passdb/secrets.c8
-rw-r--r--source3/utils/net.c7
-rw-r--r--source3/utils/net_rpc.c19
3 files changed, 24 insertions, 10 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index 08a0e9c9ac..73201ab62a 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -95,7 +95,7 @@ BOOL secrets_delete(const char *key)
return tdb_delete(tdb, kbuf) == 0;
}
-BOOL secrets_store_domain_sid(char *domain, const DOM_SID *sid)
+BOOL secrets_store_domain_sid(const char *domain, const DOM_SID *sid)
{
fstring key;
@@ -104,7 +104,7 @@ BOOL secrets_store_domain_sid(char *domain, const DOM_SID *sid)
return secrets_store(key, sid, sizeof(DOM_SID));
}
-BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid)
+BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid)
{
DOM_SID *dyn_sid;
fstring key;
@@ -128,7 +128,7 @@ BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid)
return True;
}
-BOOL secrets_store_domain_guid(char *domain, GUID *guid)
+BOOL secrets_store_domain_guid(const char *domain, GUID *guid)
{
fstring key;
@@ -137,7 +137,7 @@ BOOL secrets_store_domain_guid(char *domain, GUID *guid)
return secrets_store(key, guid, sizeof(GUID));
}
-BOOL secrets_fetch_domain_guid(char *domain, GUID *guid)
+BOOL secrets_fetch_domain_guid(const char *domain, GUID *guid)
{
GUID *dyn_guid;
fstring key;
diff --git a/source3/utils/net.c b/source3/utils/net.c
index 800aeded0a..b3b72e2465 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -277,8 +277,13 @@ struct cli_state *net_make_ipc_connection(unsigned flags)
} else {
nt_status = connect_to_ipc(&cli, &server_ip, server_name);
}
+
SAFE_FREE(server_name);
- return cli;
+ if (NT_STATUS_IS_OK(nt_status)) {
+ return cli;
+ } else {
+ return NULL;
+ }
}
static int net_user(int argc, const char **argv)
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 8b8278b053..11f73a1387 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -309,15 +309,24 @@ static int rpc_join_usage(int argc, const char **argv)
* Main 'net_rpc_join()' (where the admain username/password is used) is
* in net_rpc_join.c
* Assume if a -U is specified, it's the new style, otherwise it's the
- * old style
+ * old style. If 'oldstyle' is specfied explicity, do it and don't prompt.
**/
int net_rpc_join(int argc, const char **argv)
{
- if ((net_rpc_join_oldstyle(argc, argv) == 0))
- return 0;
-
- return net_rpc_join_newstyle(argc, argv);
+ struct functable func[] = {
+ {"oldstyle", net_rpc_join_oldstyle},
+ {NULL, NULL}
+ };
+
+ if (argc == 0) {
+ if ((net_rpc_join_oldstyle(argc, argv) == 0))
+ return 0;
+
+ return net_rpc_join_newstyle(argc, argv);
+ }
+
+ return net_run_function(argc, argv, func, rpc_join_usage);
}