SML_API void smlFreeMetinfAnchor(SmlMetInfAnchorPtr_t data) { if (!data) return; smlFreePcdata(data->last); smlFreePcdata(data->next); smlLibFree(data); return; }
SML_API void smlFreeDevInfDSMem(SmlDevInfDSMemPtr_t data) { if (!data) return; // %%%luz:2003-04-28: this is now a flag! smlFreePcdata(data->shared); smlFreePcdata(data->maxmem); smlFreePcdata(data->maxid); smlLibFree(data); }
SML_API void smlFreeMetinfMem(SmlMetInfMemPtr_t data) { if (!data) return; smlFreePcdata(data->shared); smlFreePcdata(data->free); smlFreePcdata(data->freeid); smlLibFree(data); return; }
SML_API void smlFreeDevInfCTData(SmlDevInfCTDataPtr_t data) { if (!data) return; smlFreePcdata(data->name); smlFreePcdata(data->dname); smlFreePcdataList(data->valenum); smlFreePcdata(data->datatype); smlFreePcdata(data->size); smlLibFree(data); }
SML_API void smlFreeAtomic(SmlAtomicPtr_t pAtomic) { if (! pAtomic) return; smlFreePcdata(pAtomic->cmdID); smlFreePcdata(pAtomic->meta); smlLibFree(pAtomic); }
SML_API void smlFreeCredPtr(SmlCredPtr_t pCred) { if (! pCred) return; smlFreePcdata(pCred->meta); smlFreePcdata(pCred->data); smlLibFree(pCred); }
SML_API void smlFreeSourceTargetPtr(SmlSourcePtr_t pSourceTarget) { if (! pSourceTarget) return; smlFreePcdata(pSourceTarget->locURI); smlFreePcdata(pSourceTarget->locName); smlLibFree(pSourceTarget); }
SML_API void smlFreeItemPtr(SmlItemPtr_t pItem) { if (! pItem) return; smlFreePcdata(pItem->meta); smlFreePcdata(pItem->data); smlFreeSourceTargetPtr(pItem->source); smlFreeSourceTargetPtr(pItem->target); smlLibFree(pItem); }
SML_API void smlFreeDevInfDatastore(SmlDevInfDatastorePtr_t data) { if (!data) return; smlFreePcdata(data->sourceref); smlFreePcdata(data->displayname); smlFreePcdata(data->maxguidsize); smlFreeDevInfXmit(data->rxpref); smlFreeDevInfXmit(data->txpref); smlFreeDevInfXmitList(data->rx); smlFreeDevInfXmitList(data->tx); smlFreeDevInfDSMem(data->dsmem); smlFreeDevInfSynccap(data->synccap); smlLibFree(data); return; }
SML_API void smlFreeGeneric(SmlGenericCmdPtr_t pGenericCmd) { if (! pGenericCmd) return; smlFreePcdata(pGenericCmd->cmdID); smlFreePcdata(pGenericCmd->meta); smlFreeCredPtr(pGenericCmd->cred); smlFreeItemList(pGenericCmd->itemList); smlLibFree(pGenericCmd); }
SML_API void smlFreeAlert(SmlAlertPtr_t pAlert) { if (! pAlert) return; smlFreePcdata(pAlert->cmdID); smlFreePcdata(pAlert->data); smlFreeCredPtr(pAlert->cred); smlFreeItemList(pAlert->itemList); smlLibFree(pAlert); }
SML_API void smlFreeSync(SmlSyncPtr_t pSync) { if (! pSync) return; smlFreePcdata(pSync->cmdID); smlFreePcdata(pSync->meta); smlFreeSourceTargetPtr(pSync->source); smlFreeSourceTargetPtr(pSync->target); smlFreeCredPtr(pSync->cred); smlLibFree(pSync); }
SML_API void smlFreeGetPut(SmlPutPtr_t pGetPut) { if (! pGetPut) return; smlFreePcdata(pGetPut->cmdID); smlFreePcdata(pGetPut->meta); smlFreePcdata(pGetPut->lang); smlFreeCredPtr(pGetPut->cred); smlFreeItemList(pGetPut->itemList); smlLibFree(pGetPut); }
SML_API void smlFreePcdataList(SmlPcdataListPtr_t list) { if (!list) return; smlFreePcdataList(list->next); smlFreePcdata(list->data); smlLibFree(list); return; }
static int prv_fill_item(SmlItemPtr_t itemP, dmtree_node_t node) { itemP->source = smlAllocSource(); if (!itemP->source) { return OMADM_SYNCML_ERROR_COMMAND_FAILED; } smlFreePcdata(itemP->source->locURI); itemP->source->locURI = smlString2Pcdata(node.uri); if (node.data_buffer) { itemP->data = smlAllocPcdata(); if (!itemP->data) { return OMADM_SYNCML_ERROR_COMMAND_FAILED; } itemP->data->content = malloc(node.data_size); if (!itemP->data->content) { return OMADM_SYNCML_ERROR_COMMAND_FAILED; } memcpy(itemP->data->content, node.data_buffer, node.data_size); itemP->data->contentType = SML_PCDATA_OPAQUE; itemP->data->length = node.data_size; } itemP->meta = convert_to_meta(node.format, node.type); return OMADM_SYNCML_ERROR_SUCCESS; }
SML_API void smlFreeMap(SmlMapPtr_t pMap) { if (! pMap) return; smlFreePcdata(pMap->cmdID); smlFreePcdata(pMap->meta); smlFreeCredPtr(pMap->cred); smlFreeSourceTargetPtr(pMap->source); smlFreeSourceTargetPtr(pMap->target); smlFreeMapItemList(pMap->mapItemList); smlLibFree(pMap); }
SML_API void smlFreeChalPtr(SmlChalPtr_t pChal) { if (! pChal) return; smlFreePcdata(pChal->meta); smlLibFree(pChal); }
SML_API void smlFreeSearch(SmlSearchPtr_t pSearch) { if (! pSearch) return; smlFreePcdata(pSearch->cmdID); smlFreePcdata(pSearch->lang); smlFreePcdata(pSearch->meta); smlFreePcdata(pSearch->data); smlFreeCredPtr(pSearch->cred); smlFreeSourceTargetPtr(pSearch->target); smlFreeSourceList(pSearch->sourceList); smlLibFree(pSearch); }
/** Subfunctions to smlFreePcdata, to freeup DevInf DTD structures **/ SML_API void smlFreeDevInfDevInf(SmlDevInfDevInfPtr_t data) { if (!data) return; smlFreePcdata(data->verdtd); smlFreePcdata(data->man); smlFreePcdata(data->mod); smlFreePcdata(data->oem); smlFreePcdata(data->fwv); smlFreePcdata(data->hwv); smlFreePcdata(data->swv); smlFreePcdata(data->devid); smlFreePcdata(data->devtyp); smlFreeDevInfDatastoreList(data->datastore); smlFreeDevInfExtList(data->ext); smlFreeDevInfCtcapList(data->ctcap); smlLibFree(data); }
SML_API void smlFreeTargetRefList(SmlTargetRefListPtr_t pTargetRefList) { SmlTargetRefListPtr_t pTmp; while (pTargetRefList) { pTmp = pTargetRefList->next; smlFreePcdata(pTargetRefList->targetRef); smlLibFree(pTargetRefList); pTargetRefList = pTmp; } }
SML_API void smlFreeSourceRefList(SmlSourceRefListPtr_t pSourceRefList) { SmlSourceRefListPtr_t pTmp; while (pSourceRefList) { pTmp = pSourceRefList->next; smlFreePcdata(pSourceRefList->sourceRef); smlLibFree(pSourceRefList); pSourceRefList = pTmp; } }
SML_API void smlFreeStatus(SmlStatusPtr_t pStatus) { if (! pStatus) return; smlFreePcdata(pStatus->cmdID); smlFreePcdata(pStatus->msgRef); smlFreePcdata(pStatus->cmdRef); smlFreePcdata(pStatus->cmd); smlFreePcdata(pStatus->data); smlFreeCredPtr(pStatus->cred); smlFreeChalPtr(pStatus->chal); smlFreeTargetRefList(pStatus->targetRefList); smlFreeSourceRefList(pStatus->sourceRefList); smlFreeItemList(pStatus->itemList); smlLibFree(pStatus); }
SML_API void smlFreeExec(SmlExecPtr_t pExec) { if (! pExec) return; smlFreePcdata(pExec->cmdID); smlFreeCredPtr(pExec->cred); smlFreeItemPtr(pExec->item); smlLibFree(pExec); }
/** Subfunctions to smlFreePcdata, to freeup MetaInf DTD structures **/ SML_API void smlFreeMetinfMetinf(SmlMetInfMetInfPtr_t data) { if (!data) return; smlFreePcdata(data->format); smlFreePcdata(data->type); smlFreePcdata(data->mark); smlFreePcdata(data->size); smlFreePcdata(data->version); smlFreePcdata(data->nextnonce); smlFreePcdata(data->maxmsgsize); /* SCTSTK - 18/03/2002, S.H. 2002-04-05 : SyncML 1.1 */ smlFreePcdata(data->maxobjsize); smlFreeMetinfAnchor(data->anchor); smlFreeMetinfMem(data->mem); smlFreePcdataList(data->emi); smlLibFree(data); return; }
SmlChalPtr_t get_challenge(authDesc_t * authP) { SmlPcdataPtr_t metaP; SmlChalPtr_t chalP; switch (authP->type) { case AUTH_TYPE_BASIC: metaP = create_chal_meta(authP->type, NULL); break; case AUTH_TYPE_DIGEST: { int nonce; srand(time(0)); nonce = rand(); if (authP->data.buffer) free(authP->data.buffer); authP->data.buffer = (uint8_t *)&nonce; authP->data.len = 8; authP->data.buffer = (uint8_t *)encode_b64(authP->data); authP->data.len = strlen((const char *)(authP->data.buffer)); metaP = create_chal_meta(authP->type, &(authP->data)); } break; default: metaP = NULL; break; } if (metaP) { chalP = (SmlChalPtr_t)malloc(sizeof(SmlChal_t)); if(chalP) { chalP->meta = metaP; } else { smlFreePcdata(metaP); } } else { chalP = NULL; } return chalP; }
static SmlSyncHdrPtr_t prvGetHeader(internals_t * internP) { SmlSyncHdrPtr_t headerP; headerP = smlAllocSyncHdr(); if (headerP) { set_pcdata_string(headerP->version, "1.2"); set_pcdata_string(headerP->proto, "DM/1.2"); set_pcdata_hex(headerP->sessionID, internP->session_id); set_pcdata_int(headerP->msgID, internP->message_id); set_pcdata_int(headerP->msgID, internP->message_id); set_pcdata_string(headerP->target->locURI, internP->account->server_uri); set_pcdata_string(headerP->source->locURI, internP->account->id); if (OMADM_SYNCML_ERROR_AUTHENTICATION_ACCEPTED != internP->clt_auth) { headerP->cred = get_credentials(internP->account->toServerCred); } headerP->meta = smlAllocPcdata(); if (headerP->meta) { SmlMetInfMetInfPtr_t metInfP; metInfP = smlAllocMetInfMetInf(); if (metInfP) { metInfP->maxmsgsize = smlString2Pcdata(PRV_MAX_MESSAGE_SIZE); headerP->meta->contentType = SML_PCDATA_EXTENSION; headerP->meta->extension = SML_EXT_METINF; headerP->meta->length = 0; headerP->meta->content = metInfP; } else { smlFreePcdata(headerP->meta); headerP->meta = NULL; } } } return headerP; }
SML_API void smlFreeResults(SmlResultsPtr_t pResults) { if (! pResults) return; smlFreePcdata(pResults->cmdID); smlFreePcdata(pResults->msgRef); smlFreePcdata(pResults->cmdRef); smlFreePcdata(pResults->meta); smlFreePcdata(pResults->targetRef); smlFreePcdata(pResults->sourceRef); smlFreeItemList(pResults->itemList); smlLibFree(pResults); }
SML_API void smlFreeSyncHdr(SmlSyncHdrPtr_t pSyncHdr) { if (! pSyncHdr) return; smlFreePcdata(pSyncHdr->version); smlFreePcdata(pSyncHdr->proto); smlFreePcdata(pSyncHdr->sessionID); smlFreePcdata(pSyncHdr->msgID); smlFreePcdata(pSyncHdr->respURI); smlFreePcdata(pSyncHdr->meta); smlFreeSourceTargetPtr(pSyncHdr->source); smlFreeSourceTargetPtr(pSyncHdr->target); smlFreeCredPtr(pSyncHdr->cred); smlLibFree(pSyncHdr); }
SML_API void smlFreeDevInfExt(SmlDevInfExtPtr_t data) { if (!data) return; smlFreePcdata(data->xnam); smlFreePcdataList(data->xval); smlLibFree(data); }
SML_API void smlFreeDevInfCTCap(SmlDevInfCTCapPtr_t data) { if (!data) return; smlFreePcdata(data->cttype); smlFreeDevInfCTDataPropList(data->prop); smlLibFree(data); }