Closed
Bug 271269
Opened 20 years ago
Closed 19 years ago
Add proper validation for incoming versions / version numbers
Categories
(addons.mozilla.org Graveyard :: Developer Pages, defect)
addons.mozilla.org Graveyard
Developer Pages
Tracking
(Not tracked)
VERIFIED
DUPLICATE
of bug 304857
Future
People
(Reporter: Bugzilla-alanjstrBugs, Unassigned)
References
()
Details
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
As stated in the official documentation on mozilla.org, extension versions must
be of form major.minor.release.build[+]. Old-style versions like 0.5pre are now
invalid.
Comment 1•20 years ago
|
||
There's actaully a valid use-case for this staying unfixed. The webservice kicks
out "invalid" versions already, so items like Chatzilla, which use development
versions for releases that aren't in CVS like 0.9.65a. So, users of say, 0.9.65,
won't be offered the developmental .65a. and won't be bothered until the next
stable release 0.9.66.
Sometimes, if it isn't broke, don't fix it.
Comment 2•20 years ago
|
||
Bulk Moving Developer Control Panel bugs to new component.
(Filter: massdevcpspam)
Component: Update → Developers
Product: mozilla.org → Update
Version: other → unspecified
UMO is not meant for hosting "developmental" builds. Even if it is, that's what
BuildIDs are for. Playing games with what gets ignored and what does not is risky.
Assignee: nobody → Bugzilla-alanjstrBugs
Comment 4•20 years ago
|
||
The matching regular expression is:
/^\d+(\.\d+){0,3}\+{0,1}$/
Note that Chatzilla currently uses a valid version string. And if they want to
release in-between versions to UMO in the future, they can use the build portion
(like 0.9.66.20041130).
Does that allow the formats of 1, 1.1, and 1.1.1 too? My regex knowledge is a
bit rusty.
Comment 6•20 years ago
|
||
(In reply to comment #5)
> Does that allow the formats of 1, 1.1, and 1.1.1 too? My regex knowledge is a
> bit rusty.
Yes, it does.
/^\d+(\.\d+){0,3}\+{0,1}$/ roughly translates to "String starts with one or more
digits, followed by 0 to 3 groups, each with a dot and one or more digits, then
followed zero or 1 plus signs before the string ends."
Comment 8•20 years ago
|
||
(In reply to comment #7)
> I don't think a plus sign was supposed to be there.
Well, according to
http://www.mozilla.org/projects/firefox/extensions/update.html
[Section "Firefox Version Format"]
and
http://www.mozilla.org/projects/firefox/extensions/update.html
it is allowed there. However, I never understood how it's supposed to work with
update - e.g. if I have 1.2, I will be offered an 1.2+, but if another
"in-between" 1.2+ release occurs, how will Firefox distinguish it?
You're talking about FX versioning. I'm talking about extension versioning. In
terms of applications, a, b, and + are a whole range of things.
Comment 10•20 years ago
|
||
(In reply to comment #9)
> You're talking about FX versioning. I'm talking about extension versioning. In
> terms of applications, a, b, and + are a whole range of things.
The versioning applies to both the application and the extensions:
"Firefox and all Extensions and Themes that work with Firefox must be versioned
in this way in order for compatibility checking and Update to work" (from the
versioning/update docs)
and
"em:version - A Firefox Version Format (FVF) string identifying the version that
is being supplied by this package." (from the packaging docs)
(Btw: In comment #8 I pasted the same URL twice, I meant to link also to
http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html )
Reporter | ||
Comment 11•20 years ago
|
||
hmmm. ok, so the spec says it. i, however, disagree, since we have the Build
ID. UMO can't handle multiple a's or +'s.
Comment 12•20 years ago
|
||
I'd also disallow '+' signs in item versions (I just wanted to state it's in the
spec). The appropriate regex is then:
/^\d+(\.\d+){0,3}$/
Reporter | ||
Comment 13•20 years ago
|
||
Attachment #169087 -
Flags: first-review?(psychoticwolf)
Comment 14•20 years ago
|
||
My understanding from Comment #12 and the attached patch is we're now jumping
from one "invalid" form to another. By leaving off the + which is valid in FVF.
I do not support this change. Its up to extension authors to use valid
versioning, that works for them, I don't feel placing update in the middle of it
as an enforcer of FVF is going to help anything. Particularly when this
obviously breaks versioning that both Firefox and Update find perfectly valid.
Reporter | ||
Comment 15•20 years ago
|
||
My goal is to make UMO sort data properly without having high overhead.
Updated•20 years ago
|
Attachment #169087 -
Flags: first-review?(bugtrap)
Comment 16•20 years ago
|
||
Firefox 1.1 will reject invalid version strings, see
http://lxr.mozilla.org/mozilla/source/toolkit/mozapps/extensions/src/nsExtensionManager.js.in#2865
So it's clear that UMO should do that, too. The code used in nsVersionChecker is
/^([0-9]+\.){0,3}[0-9]+\+?$/.test(aVersion); - I guess the regex itself should
and can be copied as-is. What a trailing + sign should mean for UMO would have
to be discussed with one of the Fx devs...
Summary: Limit incoming items to valid forms of version numbering → [Submission] Limit incoming items to valid forms of version numbering
Updated•19 years ago
|
Assignee: Bugzilla-alanjstrBugs → nobody
Severity: minor → normal
Status: ASSIGNED → NEW
Summary: [Submission] Limit incoming items to valid forms of version numbering → Add proper validation for incoming versions / version numbers
Target Milestone: --- → Future
*** This bug has been marked as a duplicate of 304857 ***
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Updated•9 years ago
|
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•