HS 2.0R2: Add password to DB in case of machine managed subscription
Add password and machine_managed flag to database in case of machine managed subscription to fix EAP-TTLS connection failure to production AP. In case of user managed subscription, the entered password is added to DB from the PHP script. However in machine managed subscription, machine generated password is added only in SOAP messages and PPS MO. So connection to production will fail as the generated password is not present in the database used by AAA server. Signed-off-by: Sreenath Sharma <sreenath.mailing.lists@gmail.com>
This commit is contained in:
parent
f0d0a5d23b
commit
6a6569b8bd
1 changed files with 27 additions and 0 deletions
|
@ -103,6 +103,28 @@ static void db_update_session_password(struct hs20_svc *ctx, const char *user,
|
|||
}
|
||||
|
||||
|
||||
static void db_update_session_machine_managed(struct hs20_svc *ctx,
|
||||
const char *user,
|
||||
const char *realm,
|
||||
const char *sessionid,
|
||||
const int pw_mm)
|
||||
{
|
||||
char *sql;
|
||||
|
||||
sql = sqlite3_mprintf("UPDATE sessions SET machine_managed=%Q WHERE id=%Q AND user=%Q AND realm=%Q",
|
||||
pw_mm ? "1" : "0", sessionid, user, realm);
|
||||
if (sql == NULL)
|
||||
return;
|
||||
debug_print(ctx, 1, "DB: %s", sql);
|
||||
if (sqlite3_exec(ctx->db, sql, NULL, NULL, NULL) != SQLITE_OK) {
|
||||
debug_print(ctx, 1,
|
||||
"Failed to update session machine_managed: %s",
|
||||
sqlite3_errmsg(ctx->db));
|
||||
}
|
||||
sqlite3_free(sql);
|
||||
}
|
||||
|
||||
|
||||
static void db_add_session_pps(struct hs20_svc *ctx, const char *user,
|
||||
const char *realm, const char *sessionid,
|
||||
xml_node_t *node)
|
||||
|
@ -1378,6 +1400,11 @@ static xml_node_t * hs20_user_input_registration(struct hs20_svc *ctx,
|
|||
|
||||
debug_print(ctx, 1, "Request DB subscription registration on success "
|
||||
"notification");
|
||||
if (machine_managed) {
|
||||
db_update_session_password(ctx, user, realm, session_id, pw);
|
||||
db_update_session_machine_managed(ctx, user, realm, session_id,
|
||||
machine_managed);
|
||||
}
|
||||
db_add_session_pps(ctx, user, realm, session_id, pps);
|
||||
|
||||
hs20_eventlog_node(ctx, user, realm, session_id,
|
||||
|
|
Loading…
Reference in a new issue