From c9e7d6eb81c28092c2349a6347d901258b0fb709 Mon Sep 17 00:00:00 2001 From: Mayank Gupa Date: Mon, 5 Dec 2011 04:53:25 +0530 Subject: [PATCH 1/2] MDL-30578, Updating CMILongIdentifer to check for valid URI (RFC 3986 [6]) and URN syntax as per RFC 2141 [3] --- mod/scorm/datamodels/scorm_13.js.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod/scorm/datamodels/scorm_13.js.php b/mod/scorm/datamodels/scorm_13.js.php index 8349cb1e0af..1faabde3377 100644 --- a/mod/scorm/datamodels/scorm_13.js.php +++ b/mod/scorm/datamodels/scorm_13.js.php @@ -90,9 +90,9 @@ function SCORMapi1_3() { var CMIInteger = '^\\d+$'; var CMISInteger = '^-?([0-9]+)$'; var CMIDecimal = '^-?([0-9]{1,5})(\\.[0-9]{1,18})?$'; - var CMIIdentifier = '^\\S{0,250}[a-zA-Z0-9]$'; + var CMIIdentifier = '^\\S{1,250}[a-zA-Z0-9]$'; var CMIShortIdentifier = '^[\\w\.]{1,250}$'; - var CMILongIdentifier = '^\\S{0,4000}$'; + var CMILongIdentifier = '^(?:(?!urn:)\\S{1,4000}|urn:[a-z0-9][-a-z-0-9]{1,31}:\\S{1,4000})$'; var CMIFeedback = '^.*$'; // This must be redefined var CMIIndex = '[._](\\d+).'; var CMIIndexStore = '.N(\\d+).'; From d6296b71cced03275137ef5033e121e0e450b379 Mon Sep 17 00:00:00 2001 From: Mayank Gupa Date: Thu, 12 Jan 2012 01:32:51 +0530 Subject: [PATCH 2/2] MDL-30578, Updating CMILongIdentifer read comments at tracker --- mod/scorm/datamodels/scorm_13.js.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/scorm/datamodels/scorm_13.js.php b/mod/scorm/datamodels/scorm_13.js.php index 1faabde3377..899985eea12 100644 --- a/mod/scorm/datamodels/scorm_13.js.php +++ b/mod/scorm/datamodels/scorm_13.js.php @@ -92,7 +92,7 @@ function SCORMapi1_3() { var CMIDecimal = '^-?([0-9]{1,5})(\\.[0-9]{1,18})?$'; var CMIIdentifier = '^\\S{1,250}[a-zA-Z0-9]$'; var CMIShortIdentifier = '^[\\w\.]{1,250}$'; - var CMILongIdentifier = '^(?:(?!urn:)\\S{1,4000}|urn:[a-z0-9][-a-z-0-9]{1,31}:\\S{1,4000})$'; + var CMILongIdentifier = '^(?:(?!urn:)\\S{1,4000}|urn:[A-Za-z0-9-]{1,31}:\\S{1,4000})$'; var CMIFeedback = '^.*$'; // This must be redefined var CMIIndex = '[._](\\d+).'; var CMIIndexStore = '.N(\\d+).';