Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffbe644a authored by Jeff Tinker's avatar Jeff Tinker
Browse files

Clearkey plugin didn't handle negative test cases

Part of VTS tests for drm

Change-Id: Ia89aa51ec9018e633fd8b04bfeceb5fe4e631daa
related-to-bug: 32815560
parent eb12e8bd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ status_t DrmPlugin::openSession(Vector<uint8_t>& sessionId) {

status_t DrmPlugin::closeSession(const Vector<uint8_t>& sessionId) {
    sp<Session> session = mSessionLibrary->findSession(sessionId);
    if (sessionId.size() == 0) {
        return android::BAD_VALUE;
    }
    if (session.get()) {
        mSessionLibrary->destroySession(session);
        return android::OK;
@@ -54,6 +57,9 @@ status_t DrmPlugin::getKeyRequest(
        String8& defaultUrl,
        DrmPlugin::KeyRequestType *keyRequestType) {
    UNUSED(optionalParameters);
    if (scope.size() == 0) {
        return android::BAD_VALUE;
    }
    if (keyType != kKeyType_Streaming) {
        return android::ERROR_DRM_CANNOT_HANDLE;
    }
@@ -70,6 +76,9 @@ status_t DrmPlugin::provideKeyResponse(
        const Vector<uint8_t>& scope,
        const Vector<uint8_t>& response,
        Vector<uint8_t>& keySetId) {
    if (scope.size() == 0 || response.size() == 0) {
        return android::BAD_VALUE;
    }
    sp<Session> session = mSessionLibrary->findSession(scope);
    if (!session.get()) {
        return android::ERROR_DRM_SESSION_NOT_OPENED;
+17 −7
Original line number Diff line number Diff line
@@ -99,9 +99,12 @@ public:
            const Vector<uint8_t>& response,
            Vector<uint8_t>& certificate,
            Vector<uint8_t>& wrappedKey) {
        UNUSED(response);
        UNUSED(certificate);
        UNUSED(wrappedKey);
        if (response.size() == 0) {
            // empty response
            return android::BAD_VALUE;
        }
        return android::ERROR_DRM_CANNOT_HANDLE;
    }

@@ -111,13 +114,18 @@ public:
    }

    virtual status_t getSecureStop(Vector<uint8_t> const &ssid, Vector<uint8_t> &secureStop) {
        UNUSED(ssid);
        if (ssid.size() == 0) {
            return android::BAD_VALUE;
        }

        UNUSED(secureStop);
        return android::ERROR_DRM_CANNOT_HANDLE;
    }

    virtual status_t releaseSecureStops(const Vector<uint8_t>& ssRelease) {
        UNUSED(ssRelease);
        if (ssRelease.size() == 0) {
            return android::BAD_VALUE;
        }
        return android::ERROR_DRM_CANNOT_HANDLE;
    }

@@ -151,15 +159,17 @@ public:

    virtual status_t setCipherAlgorithm(
            const Vector<uint8_t>& sessionId, const String8& algorithm) {
        UNUSED(sessionId);
        UNUSED(algorithm);
        if (sessionId.size() == 0 || algorithm.size() == 0) {
            return android::BAD_VALUE;
        }
        return android::ERROR_DRM_CANNOT_HANDLE;
    }

    virtual status_t setMacAlgorithm(
            const Vector<uint8_t>& sessionId, const String8& algorithm) {
        UNUSED(sessionId);
        UNUSED(algorithm);
        if (sessionId.size() == 0 || algorithm.size() == 0) {
            return android::BAD_VALUE;
        }
        return android::ERROR_DRM_CANNOT_HANDLE;
    }