check_PROGRAMS = common/t_constraint
TESTS = common/t_constraint
-#lib_LTLIBRARIES = libtr_tid.la
-
-# libtr_tid_la_SOURCES = $(tid_srcs) \
-# $(common_srcs) \
-# trp/trp_req.c \
-# trp/trp_upd.c
-#
-# libtr_tid_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden
-# libtr_tid_la_LIBADD = gsscon/libgsscon.la $(GLIB_LIBS)
-# libtr_tid_la_LDFLAGS = $(AM_LDFLAGS) -version-info 2 -no-undefined
-
common_t_constraint_SOURCES = common/t_constraint.c \
common/tr_debug.c \
common/tr_name.c \
$(trp_srcs) \
$(common_srcs)
-tr_trust_router_CFLAGS = $(AM_CFLAGS) -pthread
tr_trust_router_LDFLAGS = $(AM_LDFLAGS) -levent_pthreads -pthread
-#tr_trust_router_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
tr_trust_router_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
-
tr_trpc_SOURCES =tr/trpc_main.c \
tr/tr_trp.c \
-$(trp_srcs)
-tr_trpc_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
+$(trp_srcs) \
+$(tid_srcs) \
+$(common_srcs)
+
+tr_trpc_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
tr_trpc_LDFLAGS = $(AM_LDFLAGS) -pthread
-tr_trpc_CFLAGS = $(AM_CFLAGS) -pthread
trp_msgtst_SOURCES = trp/msgtst.c \
-common/tr_msg.c \
-common/tr_comm.c \
-common/tr_apc.c \
-common/tr_rp.c \
-common/tr_idp.c \
-common/tr_gss.c \
-common/tr_filter.c \
+$(common_srcs) \
trp/trp_req.c \
trp/trp_upd.c \
tid/tid_resp.c \
tid/tid_req.c
-trp_msgtst_LDADD = libtr_tid.la $(GLIB_LIBS)
+trp_msgtst_LDADD = $(GLIB_LIBS)
trp_test_rtbl_test_SOURCES = trp/test/rtbl_test.c \
common/tr_name.c \
trp_test_rtbl_test_LDADD = $(GLIB_LIBS)
trp_test_ptbl_test_SOURCES = trp/test/ptbl_test.c \
-$(trp_srcs)
-trp_test_ptbl_test_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
+$(tid_srcs) \
+$(trp_srcs) \
+$(common_srcs)
+trp_test_ptbl_test_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
+trp_test_ptbl_test_LDFLAGS = $(AM_LDFLAGS) -pthread
-tid_example_tidc_SOURCES = tid/example/tidc_main.c
-tid_example_tidc_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
+tid_example_tidc_SOURCES = tid/example/tidc_main.c \
+$(tid_srcs) \
+$(trp_srcs) \
+$(common_srcs)
+tid_example_tidc_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
+tid_example_tidc_LDFLAGS = $(AM_LDFLAGS) -pthread
-tid_example_tids_SOURCES = tid/example/tids_main.c
-tid_example_tids_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
+tid_example_tids_SOURCES = tid/example/tids_main.c \
+$(tid_srcs) \
+$(trp_srcs) \
+$(common_srcs)
+tid_example_tids_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
+tid_example_tids_LDFLAGS = $(AM_LDFLAGS) -pthread
common_tests_tr_dh_test_SOURCES = common/tr_dh.c \
common/tr_debug.c \
common/tests/dh_test.c
common_tests_mq_test_SOURCES = common/tr_mq.c \
-common/tests/mq_test.c
+common/tests/mq_test.c \
+common/tr_debug.c
-common_tests_mq_test_CFLAGS = -pthread
-common_tests_mq_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc
+common_tests_mq_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc -pthread
common_tests_cfg_test_SOURCES = common/tests/cfg_test.c \
+$(common_srcs) \
+$(tid_srcs) \
$(trp_srcs)
-
-common_tests_cfg_test_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
-common_tests_cfg_test_CFLAGS = -pthread
-common_tests_cfg_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc
+common_tests_cfg_test_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
+common_tests_cfg_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc -pthread
common_tests_thread_test_SOURCES = common/tr_mq.c \
common/tr_debug.c \
common/tests/thread_test.c
-common_tests_thread_test_CFLAGS = -pthread
-common_tests_thread_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc
+common_tests_commtest_SOURCES = common/tests/commtest.c \
+$(common_srcs) \
+$(tid_srcs) \
+$(trp_srcs)
+common_tests_commtest_LDADD = gsscon/libgsscon.la $(GLIB_LIBS)
+common_tests_commtest_LDFLAGS = $(AM_LDFLAGS) -ltalloc -pthread
-# common_tests_commtest_SOURCES = common/tests/commtest.c \
-# $(trp_srcs)
-# common_tests_commtest_LDADD = gsscon/libgsscon.la libtr_tid.la $(GLIB_LIBS)
-# common_tests_commtest_CFLAGS = -pthread
-# common_test_commtest_LDFLAGS = $(AM_LDFLAGS) -ltalloc
+common_tests_thread_test_LDFLAGS = $(AM_LDFLAGS) -ltalloc -pthread
pkginclude_HEADERS = include/trust_router/tid.h include/trust_router/tr_name.h \
include/tr_debug.h \
{
TR_COMM *comm=NULL;
TR_NAME *name=NULL;
- TR_APC *apc=NULL;
TR_IDP_REALM *idp_realm=NULL;
TR_AAA_SERVER *aaa=NULL;
assert(cfg!=NULL);
/* test the comms attribute */
- assert(cfg->comms!=NULL);
+ assert(cfg->ctable!=NULL);
name=tr_new_name("apc.example.com");
- comm=tr_comm_lookup(cfg->comms, name);
+ comm=tr_comm_table_find_comm(cfg->ctable, name);
tr_free_name(name);
assert(comm!=NULL);
assert(comm->apcs==NULL);
name=tr_new_name("A.idp.cfg");
- for (idp_realm=comm->idp_realms;
- (idp_realm!=NULL) && (tr_name_cmp(name, idp_realm->realm_id)!=0);
- idp_realm=idp_realm->comm_next) { }
+ assert(name!=NULL);
+ idp_realm=tr_comm_find_idp(cfg->ctable, comm, name);
assert(idp_realm!=NULL);
assert(idp_realm->shared_config==0);
assert(idp_realm->origin==TR_REALM_LOCAL);
assert(cfg->rp_clients!=NULL);
assert(cfg->rp_clients->next==NULL);
assert(cfg->rp_clients->comm_next==NULL);
- /* need to update next test to use TR_GSS_NAMES structure */
-#if 0
+
+ assert(cfg->rp_clients->gss_names!=NULL);
for (ii=1; ii<TR_MAX_GSS_NAMES; ii++)
- assert(cfg->rp_clients->gss_names[ii]==NULL);
- assert(cfg->rp_clients->gss_names[0]!=NULL);
+ assert(cfg->rp_clients->gss_names->names[ii]==NULL);
+ assert(cfg->rp_clients->gss_names->names[0]!=NULL);
name=tr_new_name("gss@example.com");
- assert(tr_name_cmp(name, cfg->rp_clients->gss_names[0])==0);
-#endif
+ assert(tr_name_cmp(name, cfg->rp_clients->gss_names->names[0])==0);
return 0;
}
for (this=entries,ii=0; this->id!=NULL; this++, ii++) {
new=comm_entry_to_comm(tmp_ctx, this);
if (new==NULL) {
- printf("Error creating community %d.\n", ii+1);
+ printf("Error creating community %u.\n", (unsigned int)ii+1);
rc=1;
goto cleanup;
}
realm=NULL; /* still in tmp_ctx so will be freed */
else {
tr_idp_realm_set_apcs(realm, apc_entry_to_apc(tmp_ctx, re->apcs));
- if (tr_idp_realm_get_apcs==NULL)
+ if (tr_idp_realm_get_apcs(realm)==NULL)
realm=NULL;
}
}
assert(0==tr_comm_table_size(ctab));
talloc_free(mem_ctx);
+ return 0;
}
{
+ "communities": [
+ {
+ "apcs": [],
+ "community_id": "apc.example.com",
+ "idp_realms": ["A.idp.cfg"],
+ "rp_realms": ["A.idp.cfg"],
+ "type": "apc"
+ }
+ ],
"local_organizations": [
{"organization_name": "idp.cfg test org",
"realms": [
- {"realm": "A.idp.cfg",
- "identity_provider": {
- "aaa_servers": ["rad1.A.idp.cfg",
- "rad2.A.idp.cfg"],
- "apc": "apc.example.com",
- "shared_config": "no"
- },
- "gss_names": ["gss@example.com"]
+ {
+ "realm": "A.idp.cfg",
+ "identity_provider": {
+ "aaa_servers": ["rad1.A.idp.cfg",
+ "rad2.A.idp.cfg"],
+ "apcs": ["apc.example.com"],
+ "shared_config": "no"
+ },
+ "gss_names": ["gss@example.com"]
}
]
}
mq->notify_cb_arg=mq_name;
msg1=tr_mq_msg_new(NULL,"Message 1", TR_MQ_PRIO_NORMAL);
- assert(asprintf((char **)&(msg2->p), "First message.\n")!=-1);
+ assert(asprintf((char **)&(msg1->p), "First message.\n")!=-1);
msg1->p_free=free;
tr_mq_add(mq, msg1);
assert(mq->head==msg1);
assert(mq->tail==msg2);
assert(msg2->next==NULL);
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==msg1);
assert(mq->head==msg2);
assert(mq->tail==msg2);
printf("no message to pop\n");
msg3=tr_mq_msg_new(NULL, "Message 3", TR_MQ_PRIO_NORMAL);
- assert(asprintf("%s",(char **)&(msg3->p), "Third message.\n")!=-1);
+ assert(asprintf((char **)&(msg3->p), "%s", "Third message.\n")!=-1);
msg3->p_free=free;
tr_mq_add(mq, msg3);
assert(mq->head==msg2);
assert(msg2->next==msg3);
assert(msg3->next==NULL);
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==msg2);
assert(mq->head==msg3);
assert(mq->tail==msg3);
} else
printf("no message to pop\n");
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==msg3);
assert(mq->head==NULL);
assert(mq->tail==NULL);
} else
printf("no message to pop\n");
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==NULL);
assert(mq->head==NULL);
assert(mq->tail==NULL);
printf("no message to pop\n");
msg4=tr_mq_msg_new(NULL, "Message 4", TR_MQ_PRIO_NORMAL);
- assert(asprintf("%s",(char **)&(msg4->p), "Fourth message.\n")!=-1);
+ assert(asprintf((char **)&(msg4->p), "%s", "Fourth message.\n")!=-1);
msg4->p_free=free;
tr_mq_add(mq, msg4);
assert(mq->head==msg4);
assert(mq->tail==msg4);
assert(msg4->next==NULL);
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==msg4);
assert(mq->head==NULL);
assert(mq->tail==NULL);
} else
printf("no message to pop\n");
- msg=tr_mq_pop(mq);
+ msg=tr_mq_pop(mq, NULL);
assert(msg==NULL);
assert(mq->head==NULL);
assert(mq->tail==NULL);
tr_mq_free(mq);
+ printf("success\n");
return 0;
}
char *label;
};
-TR_MQ_MSG *make_msg(label, n)
+static TR_MQ_MSG *make_msg(char *label, int n)
{
TR_MQ_MSG *msg=NULL;
msg=tr_mq_msg_new(NULL, "Message", TR_MQ_PRIO_NORMAL);
return msg;
}
-void *thread_start(void *arg)
+static void *thread_start(void *arg)
{
TR_MQ *mq=((struct thread_data *)arg)->mq;
int n_msgs=((struct thread_data *)arg)->n_msgs;
useconds_t msg_dly=((struct thread_data *)arg)->msg_dly;
- const char *label=((struct thread_data *)arg)->label;
+ char *label=((struct thread_data *)arg)->label;
while (n_msgs>=0) {
usleep(msg_dly);
int ready;
};
-void handle_messages(TR_MQ *mq, void *arg)
+static void handle_messages(TR_MQ *mq, void *arg)
{
struct message_data *status=(struct message_data *)arg;
pthread_mutex_lock(&(status->lock));
pthread_mutex_unlock(&(status->lock));
}
-void output_messages(TR_MQ *mq)
+static void output_messages(TR_MQ *mq)
{
TR_MQ_MSG *msg=NULL;
printf("\n* handle_messages notified of new messages in queue.\n");
- for (msg=tr_mq_pop(mq); msg!=NULL; msg=tr_mq_pop(mq)) {
+ for (msg=tr_mq_pop(mq, NULL); msg!=NULL; msg=tr_mq_pop(mq, NULL)) {
printf(" > %s\n", (char *)msg->p);
tr_mq_msg_free(msg);
}
for (ii=0; ii<N_THREADS; ii++)
pthread_join(thread[ii], NULL);
+ printf("success\n");
return 0;
}