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) |