should validate the parameters of agent API
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Ken'ichi Ohmichi |
Bug Description
The agent API has some parameters, but they are not validated.
Each parameter is stored to the table "agent_builds", and each column is defined as varchar(255).
mysql> desc agent_builds;
+--
| Field | Type | Null | Key | Default | Extra |
+--
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
| deleted_at | datetime | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
| hypervisor | varchar(255) | YES | MUL | NULL | |
| os | varchar(255) | YES | | NULL | |
| architecture | varchar(255) | YES | | NULL | |
| version | varchar(255) | YES | | NULL | |
| url | varchar(255) | YES | | NULL | |
| md5hash | varchar(255) | YES | | NULL | |
| deleted | int(11) | YES | | NULL | |
+--
Due to this fact, if specifying very long characters as a parameter, the stored data is truncated like the following:
$ nova agent-create os arch 1 url hash 012345678901234
[..]
$
$ $ nova agent-list
+------
| Agent_id | Hypervisor | OS | Architecture | Version | Md5hash | Url |
+------
| 1 | 012345678901234
+------
$
so the parameters should be validated before storing to DB.
Changed in nova: | |
assignee: | nobody → Ken'ichi Ohmichi (oomichi) |
Changed in nova: | |
milestone: | none → icehouse-1 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | icehouse-1 → 2014.1 |
Fix proposed to branch: master /review. openstack. org/52054
Review: https:/