free (name->buf);
name->buf = NULL;
}
-
+
free(name);
}
-TR_NAME *tr_new_name (char *name)
+TR_NAME *tr_new_name (const char *name)
{
TR_NAME *new;
- if (new = malloc(sizeof(TR_NAME))) {
+ if (new = malloc(sizeof(TR_NAME))) {
new->len = strlen(name);
if (new->buf = malloc((new->len)+1)) {
strcpy(new->buf, name);
return new;
}
-TR_NAME *tr_dup_name (TR_NAME *from)
+TR_NAME *tr_dup_name (TR_NAME *from)
{
TR_NAME *to;
{
if (one->len != two->len)
return 1;
- else
+ else
/* TBD -- should really do a length-based comparison */
return strcmp(one->buf, two->buf);
}
return s;
}
-
+
/* TID Client functions, in tid/tidc.c */
TR_EXPORT TIDC_INSTANCE *tidc_create (void);
-TR_EXPORT int tidc_open_connection (TIDC_INSTANCE *tidc, char *server, unsigned int port, gss_ctx_id_t *gssctx);
-TR_EXPORT int tidc_send_request (TIDC_INSTANCE *tidc, int conn, gss_ctx_id_t gssctx, char *rp_realm, char *realm, char *coi, TIDC_RESP_FUNC *resp_handler, void *cookie);
+TR_EXPORT int tidc_open_connection (TIDC_INSTANCE *tidc, const char *server, unsigned int port, gss_ctx_id_t *gssctx);
+TR_EXPORT int tidc_send_request (TIDC_INSTANCE *tidc, int conn, gss_ctx_id_t gssctx, const char *rp_realm, const char *realm, const char *coi, TIDC_RESP_FUNC *resp_handler, void *cookie);
TR_EXPORT int tidc_fwd_request (TIDC_INSTANCE *tidc, TID_REQ *req, TIDC_RESP_FUNC *resp_handler, void *cookie);
TR_EXPORT DH *tidc_get_dh(TIDC_INSTANCE *);
TR_EXPORT DH *tidc_set_dh(TIDC_INSTANCE *, DH *);
/* TID Server functions, in tid/tids.c */
TR_EXPORT TIDS_INSTANCE *tids_create (void);
TR_EXPORT int tids_start (TIDS_INSTANCE *tids, TIDS_REQ_FUNC *req_handler,
- tids_auth_func *auth_handler, const char *hostname,
+ tids_auth_func *auth_handler, const char *hostname,
unsigned int port, void *cookie);
TR_EXPORT int tids_send_response (TIDS_INSTANCE *tids, TID_REQ *req, TID_RESP *resp);
TR_EXPORT int tids_send_err_response (TIDS_INSTANCE *tids, TID_REQ *req, const char *err_msg);
int len;
} TR_NAME;
-TR_EXPORT TR_NAME *tr_new_name (char *name);
+TR_EXPORT TR_NAME *tr_new_name (const char *name);
TR_EXPORT TR_NAME *tr_dup_name (TR_NAME *from);
TR_EXPORT void tr_free_name (TR_NAME *name);
TR_EXPORT int tr_name_cmp (TR_NAME *one, TR_NAME *two);
{
TIDC_INSTANCE *tidc = NULL;
- if (NULL == (tidc = talloc_zero(NULL, TIDC_INSTANCE)))
+ if (NULL == (tidc = talloc_zero(NULL, TIDC_INSTANCE)))
return NULL;
return tidc;
}
int tidc_open_connection (TIDC_INSTANCE *tidc,
- char *server,
+ const char *server,
unsigned int port,
gss_ctx_id_t *gssctx)
{
if (0 == port)
use_port = TID_PORT;
- else
+ else
use_port = port;
err = gsscon_connect(server, use_port, "trustidentity", &conn, gssctx);
return -1;
}
-int tidc_send_request (TIDC_INSTANCE *tidc,
- int conn,
+int tidc_send_request (TIDC_INSTANCE *tidc,
+ int conn,
gss_ctx_id_t gssctx,
- char *rp_realm,
- char *realm,
- char *comm,
+ const char *rp_realm,
+ const char *realm,
+ const char *comm,
TIDC_RESP_FUNC *resp_handler,
void *cookie)
{
return rc;
}
-int tidc_fwd_request (TIDC_INSTANCE *tidc,
- TID_REQ *tid_req,
+int tidc_fwd_request (TIDC_INSTANCE *tidc,
+ TID_REQ *tid_req,
TIDC_RESP_FUNC *resp_handler,
void *cookie)
{
/* store the response function and cookie */
// tid_req->resp_func = resp_handler;
// tid_req->cookie = cookie;
-
+
/* Encode the request into a json string */
if (!(req_buf = tr_msg_encode(msg))) {
tr_debug( "%s\n", req_buf);
/* Send the request over the connection */
- if (err = gsscon_write_encrypted_token (tid_req->conn, tid_req->gssctx, req_buf,
+ if (err = gsscon_write_encrypted_token (tid_req->conn, tid_req->gssctx, req_buf,
strlen(req_buf))) {
tr_err( "tidc_fwd_request: Error sending request over connection.\n");
goto error;
tr_err( "tidc_fwd_request: Error, no response in the response!\n");
goto error;
}
-
+
if (resp_handler)
/* Call the caller's response function */
(*resp_handler)(tidc, tid_req, tr_msg_get_resp(resp_msg), cookie);