diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/passdb/secrets.c | 8 | ||||
-rw-r--r-- | source3/utils/net.c | 7 | ||||
-rw-r--r-- | source3/utils/net_rpc.c | 19 |
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); } |