View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
09470 | Bug reports | Survey participants (Tokens) | public | 2015-01-23 11:14 | 2015-06-12 12:41 |
Reporter | c_schmitz | Assigned To | c_schmitz | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 2.05+ | ||||
Target Version | 2.06+ | Fixed in Version | 2.06+ | ||
Summary | 09470: Problems with case-sensitive tokens | ||||
Description | When using tokens it is possible to enter a survey that has a token named 'Test' with the token key 'test'. When interruping and resuming the survey and using 'Test' the second time you get all kinds of weird behaviour and error messages. | ||||
Additional Information | The underlying problem is that MSSQL and MySQL do not check the token in a case-sensitive way in a query. Postgres does. There are three ways to approach this problem: 1.) Make the particular column in the token & survey table case-sensitive by using the correct collation. Downsides are: it is DB specific, needs a DB upgrade, and might have unintended side-effects. 2.) On survey start select for matching records and case-compare to get the real token ID. Then instead of the token key in the survey table there would be a token ID in the future. Downsides are: Lost compatibility to old surveys, complicated upgrade conversion (error-prone), application-wide code changes 3.) Only allow lowercase token keys. Downside: Lots of checks on every insert, limiting user options | ||||
Tags | No tags attached. | ||||
Bug heat | 4 | ||||
Complete LimeSurvey version number (& build) | 9gh56tzj | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | . | ||||
Server OS (if known) | . | ||||
Webserver software & version (if known) | . | ||||
PHP Version | . | ||||
I think option 1 is the best option though a bit complicated. |
|
For 2 , with another issue (same for admin user). See line 94 of Authdb.php Think this can be done before update SQL really. (and must be done ;) ) |
|
Fix committed to 2.06 branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=15166 |
|
Fix committed to 2.06 branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=15167 |
|
Thanks :) |
|
2.06 Build 150612 released |
|
LimeSurvey: 2.06 086dfa7a 2015-05-11 23:03 Details Diff |
Fixed issue 09470: Problems with case-sensitive token Dev Tokens are now case-sensitive Dev Raised DBVersion to 181 |
Affected Issues 09470 |
|
mod - application/config/version.php | Diff File | ||
mod - application/core/db/MssqlSchema.php | Diff File | ||
mod - application/helpers/admin/activate_helper.php | Diff File | ||
mod - application/helpers/update/updatedb_helper.php | Diff File | ||
mod - application/models/Token.php | Diff File | ||
mod - installer/sql/create-mssql.sql | Diff File | ||
mod - installer/sql/create-mysql.sql | Diff File | ||
mod - installer/sql/create-pgsql.sql | Diff File | ||
LimeSurvey: 2.06 2e22fe50 2015-05-12 10:32 Details Diff |
Fixed issue 09470: Problems with case-sensitive token Dev Adjusted collation of response table token field too to prevent JOIN problems |
Affected Issues 09470 |
|
mod - application/helpers/admin/activate_helper.php | Diff File | ||
mod - application/helpers/update/updatedb_helper.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-01-23 11:14 | c_schmitz | New Issue | |
2015-01-23 11:14 | c_schmitz | Status | new => assigned |
2015-01-23 11:14 | c_schmitz | Assigned To | => c_schmitz |
2015-01-23 11:15 | c_schmitz | Note Added: 31481 | |
2015-03-04 12:11 | DenisChenu | Note Added: 31758 | |
2015-03-04 12:12 | DenisChenu | Note Edited: 31758 | |
2015-05-11 23:03 | c_schmitz | Changeset attached | => LimeSurvey 2.06 086dfa7a |
2015-05-11 23:03 | c_schmitz | Note Added: 32168 | |
2015-05-11 23:03 | c_schmitz | Resolution | open => fixed |
2015-05-11 23:04 | c_schmitz | Status | assigned => resolved |
2015-05-11 23:04 | c_schmitz | Fixed in Version | => 2.06+ |
2015-05-12 10:33 | c_schmitz | Changeset attached | => LimeSurvey 2.06 2e22fe50 |
2015-05-12 10:33 | c_schmitz | Note Added: 32175 | |
2015-05-12 10:36 | DenisChenu | Note Added: 32176 | |
2015-06-12 12:41 | c_schmitz | Note Added: 32322 | |
2015-06-12 12:41 | c_schmitz | Status | resolved => closed |
2016-12-08 10:39 | c_schmitz | Category | Tokens => Survey participants (Tokens) |