| | |
| | | #include <cstring> |
| | | #include <string> |
| | | #include <vector> |
| | | |
| | | #include <stdexcept> |
| | | #include <licensecc/datatypes.h> |
| | | |
| | | #include "../base/base64.h" |
| | |
| | | |
| | | namespace license { |
| | | namespace locate { |
| | | using namespace std; |
| | | using namespace std; |
| | | |
| | | ExternalDefinition::ExternalDefinition(const LicenseLocation *location) |
| | | : LocatorStrategy("ExternalDefinition"), m_location(location) {} |
| | |
| | | if (licenseLocation == get_strategy_name()) { |
| | | string licData(m_location->licenseData, mstrnlen_s(m_location->licenseData, LCC_API_MAX_LICENSE_DATA_LENGTH)); |
| | | if (m_location->license_data_type == LICENSE_ENCODED) { |
| | | int flen = 0; |
| | | unsigned char *raw = unbase64(licData.c_str(), licData.length(), &flen); |
| | | string str = string(reinterpret_cast<char *>(raw)); |
| | | free(raw); |
| | | // FIXME what if license is wrong |
| | | vector<uint8_t> raw = unbase64(licData); |
| | | string str = string(reinterpret_cast<char *>(raw.data())); |
| | | return str; |
| | | } else { |
| | | return licData; |