summaryrefslogtreecommitdiffstats
path: root/examples/libmsrpc/test/lsa/lsatrust.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/libmsrpc/test/lsa/lsatrust.c')
-rw-r--r--examples/libmsrpc/test/lsa/lsatrust.c151
1 files changed, 0 insertions, 151 deletions
diff --git a/examples/libmsrpc/test/lsa/lsatrust.c b/examples/libmsrpc/test/lsa/lsatrust.c
deleted file mode 100644
index 6ad293f832f..00000000000
--- a/examples/libmsrpc/test/lsa/lsatrust.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*queries trusted domain information*/
-
-#include "libmsrpc.h"
-#include "includes.h"
-
-#define MAX_STRING_LEN 50;
-
-void print_info(LSA_TRUSTED_DOMAIN_INFO *info) {
- switch(info->info_class) {
- case CAC_INFO_TRUSTED_DOMAIN_FULL_INFO:
- case CAC_INFO_TRUSTED_DOMAIN_INFO_ALL:
- printf(" Domain Name: %s\n", unistr2_static(&info->info_ex.domain_name.unistring));
- printf(" Netbios Name: %s\n", unistr2_static(&info->info_ex.netbios_name.unistring));
- printf(" Domain Sid: %s\n", sid_string_static(&info->info_ex.sid.sid));
- printf(" Trust direction: %d\n", info->info_ex.trust_direction);
- printf(" Trust Type: %d\n", info->info_ex.trust_type);
- printf(" Trust attr: %d\n", info->info_ex.trust_attributes);
- printf(" Posix Offset: %d\n", info->posix_offset.posix_offset);
- break;
- }
-}
-
-int main() {
- CacServerHandle *hnd = NULL;
- TALLOC_CTX *mem_ctx = NULL;
- POLICY_HND *lsa_pol = NULL;
-
- int i;
-
- mem_ctx = talloc_init("lsatrust");
-
- hnd = cac_NewServerHandle(False);
-
- /*malloc some memory so get_auth_data_fn can work*/
- hnd->username = SMB_MALLOC_ARRAY(char, sizeof(fstring));
- hnd->domain = SMB_MALLOC_ARRAY(char, sizeof(fstring));
- hnd->netbios_name = SMB_MALLOC_ARRAY(char, sizeof(fstring));
- hnd->password = SMB_MALLOC_ARRAY(char, sizeof(fstring));
-
- hnd->server = SMB_MALLOC_ARRAY(char, sizeof(fstring));
-
-
- printf("Server: ");
- fscanf(stdin, "%s", hnd->server);
-
- printf("Connecting to server....\n");
-
- if(!cac_Connect(hnd, NULL)) {
- fprintf(stderr, "Could not connect to server.\n Error: %s\n errno %s\n", nt_errstr(hnd->status), strerror(errno));
- cac_FreeHandle(hnd);
- exit(-1);
- }
-
- printf("Connected to server\n");
-
- struct LsaOpenPolicy lop;
- ZERO_STRUCT(lop);
-
- lop.in.access = SEC_RIGHT_MAXIMUM_ALLOWED;
- lop.in.security_qos = True;
-
-
- if(!cac_LsaOpenPolicy(hnd, mem_ctx, &lop)) {
- fprintf(stderr, "Could not open policy handle.\n Error: %s\n", nt_errstr(hnd->status));
- cac_FreeHandle(hnd);
- exit(-1);
- }
-
- lsa_pol = lop.out.pol;
-
- printf("Enumerating Trusted Domains\n");
-
- struct LsaEnumTrustedDomains etd;
- ZERO_STRUCT(etd);
-
- etd.in.pol = lsa_pol;
-
- while(cac_LsaEnumTrustedDomains(hnd, mem_ctx, &etd)) {
- printf(" Enumerated %d domains\n", etd.out.num_domains);
-
- for(i = 0; i < etd.out.num_domains; i++) {
- printf(" Name: %s\n", etd.out.domain_names[i]);
- printf(" SID: %s\n", sid_string_static(&etd.out.domain_sids[i]));
-
- printf("\n Attempting to open domain...\n");
-
- struct LsaOpenTrustedDomain otd;
- ZERO_STRUCT(otd);
-
- otd.in.pol = lsa_pol;
- otd.in.domain_sid = &etd.out.domain_sids[i];
- otd.in.access = SEC_RIGHT_MAXIMUM_ALLOWED;
-
- /*try to query trusted domain info by name*/
- struct LsaQueryTrustedDomainInfo qtd;
- ZERO_STRUCT(qtd);
-
- qtd.in.pol = lsa_pol;
- qtd.in.domain_name = etd.out.domain_names[i];
-
-
- int j;
- for(j = 0; j < 100; j++ ) {
- qtd.in.info_class = j;
-
- printf(" Querying trustdom by name\n");
- if(!cac_LsaQueryTrustedDomainInfo(hnd, mem_ctx, &qtd)) {
- fprintf(stderr, " could not query trusted domain info.\n Error %s\n", nt_errstr(hnd->status));
- continue;
- }
-
- printf(" info_class %d succeeded\n", j);
- printf(" Query result:\n");
- printf(" size %d\n", sizeof(*qtd.out.info));
- }
-
- /*try to query trusted domain info by SID*/
- printf(" Querying trustdom by sid\n");
- qtd.in.domain_sid = &etd.out.domain_sids[i];
- if(!cac_LsaQueryTrustedDomainInfo(hnd, mem_ctx, &qtd)) {
- fprintf(stderr, " could not query trusted domain info.\n Error %s\n", nt_errstr(hnd->status));
- continue;
- }
-
- printf(" Query result:\n");
-/* print_info(qtd.out.info);*/
-
- if(CAC_OP_FAILED(hnd->status)) {
- fprintf(stderr, " Could not enum sids.\n Error: %s\n", nt_errstr(hnd->status));
- continue;
- }
- }
-
- printf("\n");
- }
-
- if(CAC_OP_FAILED(hnd->status)) {
- fprintf(stderr, "Error while enumerating trusted domains.\n Error: %s\n", nt_errstr(hnd->status));
- goto done;
- }
-
-done:
- if(!cac_LsaClosePolicy(hnd, mem_ctx, lsa_pol)) {
- fprintf(stderr, "Could not close policy handle.\n Error: %s\n", nt_errstr(hnd->status));
- }
-
- cac_FreeHandle(hnd);
- talloc_destroy(mem_ctx);
-
- return 0;
-}