HS 2.0: Do not require devinfo.xml for all hs20-osu-client operations
hs20-osu-client refused to do anything if it could not find devinfo.xml from the current working directory. This is a bit excessive since that file was used in init_ctx() only to fill in ctx->devid which is used when constructing OMA DM messages. Move the check for ctx->devid into OMA DM specific code so that other hs20-osu-client functionality can be used without the devinfo.xml file. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
21895884ea
commit
1695b4dc37
2 changed files with 15 additions and 16 deletions
|
@ -111,6 +111,12 @@ static xml_node_t * oma_dm_build_hdr(struct hs20_osu_client *ctx,
|
||||||
xml_node_t *syncml, *synchdr;
|
xml_node_t *syncml, *synchdr;
|
||||||
xml_namespace_t *ns;
|
xml_namespace_t *ns;
|
||||||
|
|
||||||
|
if (!ctx->devid) {
|
||||||
|
wpa_printf(MSG_ERROR,
|
||||||
|
"DevId from devinfo.xml is not available - cannot use OMA DM");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
syncml = xml_node_create_root(ctx->xml, "SYNCML:SYNCML1.2", NULL, &ns,
|
syncml = xml_node_create_root(ctx->xml, "SYNCML:SYNCML1.2", NULL, &ns,
|
||||||
"SyncML");
|
"SyncML");
|
||||||
|
|
||||||
|
|
|
@ -3068,24 +3068,17 @@ static int init_ctx(struct hs20_osu_client *ctx)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
devinfo = node_from_file(ctx->xml, "devinfo.xml");
|
devinfo = node_from_file(ctx->xml, "devinfo.xml");
|
||||||
if (!devinfo) {
|
if (devinfo) {
|
||||||
wpa_printf(MSG_ERROR, "devinfo.xml not found");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
devid = get_node(ctx->xml, devinfo, "DevId");
|
devid = get_node(ctx->xml, devinfo, "DevId");
|
||||||
if (devid) {
|
if (devid) {
|
||||||
char *tmp = xml_node_get_text(ctx->xml, devid);
|
char *tmp = xml_node_get_text(ctx->xml, devid);
|
||||||
|
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
ctx->devid = os_strdup(tmp);
|
ctx->devid = os_strdup(tmp);
|
||||||
xml_node_get_text_free(ctx->xml, tmp);
|
xml_node_get_text_free(ctx->xml, tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
xml_node_free(ctx->xml, devinfo);
|
xml_node_free(ctx->xml, devinfo);
|
||||||
|
|
||||||
if (ctx->devid == NULL) {
|
|
||||||
wpa_printf(MSG_ERROR, "Could not fetch DevId from devinfo.xml");
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->http = http_init_ctx(ctx, ctx->xml);
|
ctx->http = http_init_ctx(ctx, ctx->xml);
|
||||||
|
|
Loading…
Reference in a new issue