Re: [PATCH 1/2] Ensure that plugins cannot bypass version check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 24, 2018 at 05:01:33PM +0200, Christophe de Dinechin wrote:
> But we still have the capability to reject a plugin (in a well
> defined, non-crashing way) for other reasons.
> [...]
> To summarize, the purpose of the compatibility check is to guarantee
> well-defined behavior on the entry points we call. It is not to
> guarantee that a plugin will work, it may still be ruled out for a
> variety of other reasons.

Are you suggesting adding some special-casing to the version checks?

if (version >= 15) and (!hasEntryPoint("capability")) {
    /* plugin is too old, don't load */
}
if (version >= 13) and (hasEntryPoint("oldEntryPoint") {
    /* plugin is too old, don't load */
}

Maybe I missed something, but this seems fairly close to what you wanted
to avoid in the commit log:

"For example, the major.minor version checking assumes that agent 1.21
is compatible with plugins 1.21, 1.13 or 1.03. If later testing
shows that 1.13 actually introduced an incompatility, you have to
special-case 1.13 in the compatibiliy check.
An approach that does not have this problem is to rely on incremented
version numbers, with a "current" and "oldest compatible" version
number."

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]