info_class = atoi(argv[1]);
switch (info_class) {
- case 12:
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &pol);
-
- if (!NT_STATUS_IS_OK(status))
+ case 12: {
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
+
+ status = dcerpc_lsa_open_policy_fallback(
+ b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_QueryInfoPolicy2(b, mem_ctx,
&pol,
&info,
&result);
break;
+ }
default:
status = rpccli_lsa_open_policy(cli, mem_ctx, True,
SEC_FLAG_MAXIMUM_ALLOWED,
NTSTATUS status, result;
uint32_t des_access = 0x000f000f;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
struct dom_sid sid;
if (!NT_STATUS_IS_OK(status))
goto done;
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_CreateAccount(b, mem_ctx,
&dom_pol,
struct lsa_PrivilegeSet *privs = NULL;
int i;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc != 2 ) {
printf("Usage: %s SID\n", argv[0]);
if (!NT_STATUS_IS_OK(status))
goto done;
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_OpenAccount(b, mem_ctx,
&dom_pol,
struct dom_sid_buf buf;
struct lsa_RightSet rights;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
int i;
if (!NT_STATUS_IS_OK(status))
goto done;
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_EnumAccountRights(b, mem_ctx,
&dom_pol,
struct dom_sid sid;
int i;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 3 ) {
printf("Usage: %s SID [rights...]\n", argv[0]);
if (!NT_STATUS_IS_OK(status))
goto done;
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
rights.count = argc-2;
rights.names = talloc_array(mem_ctx, struct lsa_StringLarge,
struct dom_sid sid;
int i;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 3 ) {
printf("Usage: %s SID [rights...]\n", argv[0]);
if (!NT_STATUS_IS_OK(status))
goto done;
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
rights.count = argc-2;
rights.names = talloc_array(mem_ctx, struct lsa_StringLarge,
struct lsa_LUID luid;
struct lsa_String name;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc != 2 ) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
init_lsa_String(&name, argv[1]);
struct sec_desc_buf *sdb;
uint32_t sec_info = SECINFO_DACL;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 1 || argc > 2) {
printf("Usage: %s [sec_info]\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &pol);
-
if (argc == 2)
sscanf(argv[1], "%x", &sec_info);
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_QuerySecurity(b, mem_ctx,
&pol,
enum lsa_TrustDomInfoEnum info_class = 1;
DATA_BLOB session_key;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc > 3 || argc < 2) {
printf("Usage: %s [sid] [info_class]\n", argv[0]);
if (argc == 3)
info_class = atoi(argv[2]);
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True, access_mask, &pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ access_mask,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_QueryTrustedDomainInfoBySid(b, mem_ctx,
&pol,
struct lsa_String trusted_domain;
struct dcerpc_binding_handle *b = cli->binding_handle;
DATA_BLOB session_key;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc > 3 || argc < 2) {
printf("Usage: %s [name] [info_class]\n", argv[0]);
if (argc == 3)
info_class = atoi(argv[2]);
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True, access_mask, &pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ access_mask,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
init_lsa_String(&trusted_domain, argv[1]);
struct dom_sid dom_sid;
enum lsa_TrustDomInfoEnum info_class = 1;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc > 4 || argc < 3) {
printf("Usage: %s [sid] [info_class] [value]\n", argv[0]);
return NT_STATUS_INVALID_PARAMETER;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True, access_mask, &pol);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ access_mask,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
}
enum lsa_TrustDomInfoEnum info_class = 1;
DATA_BLOB session_key;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc > 3 || argc < 2) {
printf("Usage: %s [sid] [info_class]\n", argv[0]);
if (argc == 3)
info_class = atoi(argv[2]);
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True, access_mask, &pol);
-
- if (!NT_STATUS_IS_OK(status))
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ access_mask,
+ &out_version,
+ &out_revision_info,
+ &pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
+ }
status = dcerpc_lsa_OpenTrustedDomain(b, mem_ctx,
&pol,
struct dom_sid sid;
int i;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
ZERO_STRUCT(privs);
goto done;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
}
struct dom_sid sid;
int i;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
ZERO_STRUCT(privs);
goto done;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx, True,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &dom_pol);
-
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &dom_pol,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
goto done;
}
struct policy_handle handle, sec_handle;
struct lsa_String name;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 2) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &sec_handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
struct policy_handle handle, sec_handle;
struct lsa_String name;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 2) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
DATA_BLOB old_blob = data_blob_null;
char *new_secret, *old_secret;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 2) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
DATA_BLOB enc_key;
DATA_BLOB session_key;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 3) {
printf("Usage: %s name secret\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
DATA_BLOB blob = data_blob_null;
char *secret;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 2) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
DATA_BLOB session_key;
DATA_BLOB enc_key;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 3) {
printf("Usage: %s name secret\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
struct dom_sid sid;
struct lsa_DomainInfo info;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 3) {
printf("Usage: %s name sid\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}
struct lsa_String name;
struct dom_sid *sid = NULL;
struct dcerpc_binding_handle *b = cli->binding_handle;
+ union lsa_revision_info out_revision_info = {
+ .info1 = {
+ .revision = 0,
+ },
+ };
+ uint32_t out_version = 0;
if (argc < 2) {
printf("Usage: %s name\n", argv[0]);
return NT_STATUS_OK;
}
- status = rpccli_lsa_open_policy2(cli, mem_ctx,
- true,
- SEC_FLAG_MAXIMUM_ALLOWED,
- &handle);
- if (!NT_STATUS_IS_OK(status)) {
+ status = dcerpc_lsa_open_policy_fallback(b,
+ mem_ctx,
+ cli->srv_name_slash,
+ true,
+ SEC_FLAG_MAXIMUM_ALLOWED,
+ &out_version,
+ &out_revision_info,
+ &handle,
+ &result);
+ if (any_nt_status_not_ok(status, result, &status)) {
return status;
}