updated database schema; previous one won't work anymore

This commit is contained in:
fpeters 2004-09-10 09:37:11 +00:00
parent 1acc82c2da
commit 600998355d
4 changed files with 19 additions and 19 deletions

View File

@ -14,8 +14,8 @@
);
CREATE TABLE assertions (
assertion varchar(5000),
response_dump varchar(5000)
artifact varchar(5000),
assertion varchar(5000)
);
GRANT DELETE, INSERT, SELECT, UPDATE ON nameidentifiers TO idpc;

View File

@ -212,15 +212,15 @@ int db_save_assertion(char *assertion_artifact, LassoAssertion *assertion)
return 0;
}
int db_get_response_dump(char *assertion, char **response_dump)
int db_get_assertion(char *artifact, char **assertion)
{
PGresult *res;
const char *params[1];
params[0] = assertion;
params[0] = artifact;
res = PQexecParams(sqlconn,
"SELECT response_dump from assertions where assertion = $1",
"SELECT assertion from assertions where artifact = $1",
1, NULL, params, NULL, NULL, 1);
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
PQclear(res);
@ -233,20 +233,20 @@ int db_get_response_dump(char *assertion, char **response_dump)
return 1;
}
*response_dump = strdup(PQgetvalue(res, 0, 0));
*assertion = strdup(PQgetvalue(res, 0, 0));
PQclear(res);
return 0;
}
int db_remove_response_dump(char *assertion)
int db_remove_assertion(char *artifact)
{
PGresult *res;
const char *params[1];
params[0] = assertion;
params[0] = artifact;
res = PQexecParams(sqlconn,
"DELETE from assertions where assertion = $1",
"DELETE from assertions where artifact = $1",
1, NULL, params, NULL, NULL, 1);
if (PQresultStatus(res) != PGRES_COMMAND_OK) {
PQclear(res);

View File

@ -56,8 +56,8 @@ int db_save_identity(char *user_id, char *identity_dump);
int db_save_session(char *user_id, char *session_dump);
int db_save_name_identifier(char *name_identifier, char *user_id);
int db_save_assertion(char *assertion_artifact, LassoAssertion *assertion);
int db_get_response_dump(char *assertion, char **response_dump);
int db_remove_response_dump(char *assertion);
int db_get_assertion(char *artifact, char **assertion);
int db_remove_assertion(char *artifact);
int db_get_user_id(char *name_identifier, char **user_id);
void db_finish();

View File

@ -50,7 +50,7 @@ struct req requests[] = {
char* req_login(LassoServer *server, char *soap_msg)
{
LassoLogin *login;
char *response_dump = NULL;
char *assertion_dump = NULL;
int rc;
login = lasso_login_new(server);
@ -60,26 +60,26 @@ char* req_login(LassoServer *server, char *soap_msg)
return NULL;
}
rc = db_get_response_dump(login->assertionArtifact, &response_dump);
rc = db_get_assertion(login->assertionArtifact, &assertion_dump);
if (rc) {
fprintf(stderr, "db_get_response_dump failed\n");
fprintf(stderr, "db_get_assertion failed\n");
} else {
rc = lasso_login_set_assertion_from_dump(login, response_dump);
rc = lasso_login_set_assertion_from_dump(login, assertion_dump);
if (rc) {
fprintf(stderr, "set_assertion_from_dump failed\n");
}
rc = db_remove_response_dump(login->assertionArtifact);
rc = db_remove_assertion(login->assertionArtifact);
if (rc) {
fprintf(stderr, "db_remove_response_dump failed\n");
fprintf(stderr, "db_remove_assertion failed\n");
}
}
rc = lasso_login_build_response_msg(login);
response_dump = strdup(LASSO_PROFILE(login)->msg_body);
assertion_dump = strdup(LASSO_PROFILE(login)->msg_body);
lasso_login_destroy(login);
return response_dump;
return assertion_dump;
}
char* req_logout(LassoServer *server, char *soap_msg)