From apahim at redhat.com Mon May 21 10:52:36 2012 Content-Type: multipart/mixed; boundary="===============9201483355868828225==" MIME-Version: 1.0 From: Amador pahim To: devel at ovirt.org Subject: [Engine-devel] LOCALFS path validation Date: Mon, 21 May 2012 11:52:34 -0300 Message-ID: <4FBA56B2.8010203@redhat.com> --===============9201483355868828225== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------040303020501050109020008 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit Hello, I'm starting to know the engine code. I chose a little unstandardized = behaviour to follow through the devel process. I have a patch and I'd = like to know if you fell relevant to correct this issue: - Description: Adding a LOCAL storage [1], webadmin does not validate = path against regex, sendind the invalid path (with final slash) to vdsm = [2] [3]. But, adding a NFS storage, the path is validated before = contacting vdsm [4] avoiding extra vdsm processing and quickly/clearly = informing user about what's wrong. - Expected result: Same behaviour to NFS and LOCALFS storage path = validation. Validate LOCALFS path in webadmin before send it to vdsm [5]. - Newbie doubt: Wouldn't be better to validate the both local and nfs = path on the backend, achieving all user interfaces/APIs? [1] - = https://picasaweb.google.com/lh/photo/FWNiou2Y12GZO3AjfCH6K7QAv8cs6edaj3fEc= MleB60 [2] - = https://picasaweb.google.com/lh/photo/Pof6Z8ohgQAkRTDpEJKG-LQAv8cs6edaj3fEc= MleB60 [3] - https://gist.github.com/2762656 [4] - = https://picasaweb.google.com/lh/photo/Fd3zWegWE0T5C2tDo_tPZrQAv8cs6edaj3fEc= MleB60 [5] - = https://picasaweb.google.com/lh/photo/PgzYrZHkkvm-WtFk_UFZLrQAv8cs6edaj3fEc= MleB60 I look forward to hearing your comments. Best Regards, -- Pahim --------------040303020501050109020008 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit Hello,

I'm starting to know the engine code. I chose a little unstandardized behaviour to follow through the devel process. I have a patch and I'd like to know if you fell relevant to correct this issue:

- Description: Adding a LOCAL storage [1], webadmin does not validate path against regex, sendind the invalid path (with final slash) to vdsm [2] [3]. But, adding a NFS storage, the path is validated before contacting vdsm [4] avoiding extra vdsm processing and quickly/clearly informing user about what's wrong.

- Expected result: Same behaviour to NFS and LOCALFS storage path validation. Validate LOCALFS path in webadmin before send it to vdsm [5].

- Newbie doubt: Wouldn't be better to validate the both local and nfs path on the backend, achieving all user interfaces/APIs?

[1] - https://picasaweb.google= .com/lh/photo/FWNiou2Y12GZO3AjfCH6K7QAv8cs6edaj3fEcMleB60
[2] - https://picasaweb.google= .com/lh/photo/Pof6Z8ohgQAkRTDpEJKG-LQAv8cs6edaj3fEcMleB60
[3] - https://gist.github.com/2762656
[4] - https://picasaweb.google= .com/lh/photo/Fd3zWegWE0T5C2tDo_tPZrQAv8cs6edaj3fEcMleB60
[5] - https://picasaweb.google= .com/lh/photo/PgzYrZHkkvm-WtFk_UFZLrQAv8cs6edaj3fEcMleB60

I look forward to hearing your comments.

Best Regards,
--
Pahim
--------------040303020501050109020008-- --===============9201483355868828225== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNDAzMDMwMjA1MDEwNTAxMDkwMjAwMDgKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKSGVsbG8sCgpJJ20gc3RhcnRpbmcgdG8ga25vdyB0aGUgZW5naW5lIGNvZGUuIEkgY2hv c2UgYSBsaXR0bGUgdW5zdGFuZGFyZGl6ZWQgCmJlaGF2aW91ciB0byBmb2xsb3cgdGhyb3VnaCB0 aGUgZGV2ZWwgcHJvY2Vzcy4gSSBoYXZlIGEgcGF0Y2ggYW5kIEknZCAKbGlrZSB0byBrbm93IGlm IHlvdSBmZWxsIHJlbGV2YW50IHRvIGNvcnJlY3QgdGhpcyBpc3N1ZToKCi0gRGVzY3JpcHRpb246 IEFkZGluZyBhIExPQ0FMIHN0b3JhZ2UgWzFdLCB3ZWJhZG1pbiBkb2VzIG5vdCB2YWxpZGF0ZSAK cGF0aCBhZ2FpbnN0IHJlZ2V4LCBzZW5kaW5kIHRoZSBpbnZhbGlkIHBhdGggKHdpdGggZmluYWwg c2xhc2gpIHRvIHZkc20gClsyXSBbM10uIEJ1dCwgYWRkaW5nIGEgTkZTIHN0b3JhZ2UsIHRoZSBw YXRoIGlzIHZhbGlkYXRlZCBiZWZvcmUgCmNvbnRhY3RpbmcgdmRzbSBbNF0gYXZvaWRpbmcgZXh0 cmEgdmRzbSBwcm9jZXNzaW5nIGFuZCBxdWlja2x5L2NsZWFybHkgCmluZm9ybWluZyB1c2VyIGFi b3V0IHdoYXQncyB3cm9uZy4KCi0gRXhwZWN0ZWQgcmVzdWx0OiBTYW1lIGJlaGF2aW91ciB0byBO RlMgYW5kIExPQ0FMRlMgc3RvcmFnZSBwYXRoIAp2YWxpZGF0aW9uLiBWYWxpZGF0ZSBMT0NBTEZT IHBhdGggaW4gd2ViYWRtaW4gYmVmb3JlIHNlbmQgaXQgdG8gdmRzbSBbNV0uCgotIE5ld2JpZSBk b3VidDogV291bGRuJ3QgYmUgYmV0dGVyIHRvIHZhbGlkYXRlIHRoZSBib3RoIGxvY2FsIGFuZCBu ZnMgCnBhdGggb24gdGhlIGJhY2tlbmQsIGFjaGlldmluZyBhbGwgdXNlciBpbnRlcmZhY2VzL0FQ SXM/CgpbMV0gLSAKaHR0cHM6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9saC9waG90by9GV05pb3Uy WTEyR1pPM0FqZkNINks3UUF2OGNzNmVkYWozZkVjTWxlQjYwClsyXSAtIApodHRwczovL3BpY2Fz YXdlYi5nb29nbGUuY29tL2xoL3Bob3RvL1BvZjZaOG9oZ1FBa1JURHBFSktHLUxRQXY4Y3M2ZWRh ajNmRWNNbGVCNjAKWzNdIC0gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vMjc2MjY1NgpbNF0gLSAK aHR0cHM6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9saC9waG90by9GZDN6V2VnV0UwVDVDMnREb190 UFpyUUF2OGNzNmVkYWozZkVjTWxlQjYwCls1XSAtIApodHRwczovL3BpY2FzYXdlYi5nb29nbGUu Y29tL2xoL3Bob3RvL1BnellyWkhra3ZtLVd0RmtfVUZaTHJRQXY4Y3M2ZWRhajNmRWNNbGVCNjAK CkkgbG9vayBmb3J3YXJkIHRvIGhlYXJpbmcgeW91ciBjb21tZW50cy4KCkJlc3QgUmVnYXJkcywK LS0KUGFoaW0KCi0tLS0tLS0tLS0tLS0tMDQwMzAzMDIwNTAxMDUwMTA5MDIwMDA4CkNvbnRlbnQt VHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogN2JpdAoKPGh0bWw+CiAgPGhlYWQ+CgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVu dC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+CiAgPC9oZWFk PgogIDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgSGVsbG8sPGJy PgogICAgPGJyPgogICAgSSdtIHN0YXJ0aW5nIHRvIGtub3cgdGhlIGVuZ2luZSBjb2RlLiBJIGNo b3NlIGEgbGl0dGxlCiAgICB1bnN0YW5kYXJkaXplZCBiZWhhdmlvdXIgdG8gZm9sbG93IHRocm91 Z2ggdGhlIGRldmVsIHByb2Nlc3MuIEkgaGF2ZQogICAgYSBwYXRjaCBhbmQgSSdkIGxpa2UgdG8g a25vdyBpZiB5b3UgZmVsbCByZWxldmFudCB0byBjb3JyZWN0IHRoaXMKICAgIGlzc3VlOjxicj4K ICAgIDxicj4KICAgIC0gRGVzY3JpcHRpb246IEFkZGluZyBhIExPQ0FMIHN0b3JhZ2UgWzFdLCB3 ZWJhZG1pbiBkb2VzIG5vdAogICAgdmFsaWRhdGUgcGF0aCBhZ2FpbnN0IHJlZ2V4LCBzZW5kaW5k IHRoZSBpbnZhbGlkIHBhdGggKHdpdGggZmluYWwKICAgIHNsYXNoKSB0byB2ZHNtIFsyXSBbM10u IEJ1dCwgYWRkaW5nIGEgTkZTIHN0b3JhZ2UsIHRoZSBwYXRoIGlzCiAgICB2YWxpZGF0ZWQgYmVm b3JlIGNvbnRhY3RpbmcgdmRzbSBbNF0gYXZvaWRpbmcgZXh0cmEgdmRzbSBwcm9jZXNzaW5nCiAg ICBhbmQgcXVpY2tseS9jbGVhcmx5IGluZm9ybWluZyB1c2VyIGFib3V0IHdoYXQncyB3cm9uZy48 YnI+CiAgICA8YnI+CiAgICAtIEV4cGVjdGVkIHJlc3VsdDogU2FtZSBiZWhhdmlvdXIgdG8gTkZT IGFuZCBMT0NBTEZTIHN0b3JhZ2UgcGF0aAogICAgdmFsaWRhdGlvbi4gVmFsaWRhdGUgTE9DQUxG UyBwYXRoIGluIHdlYmFkbWluIGJlZm9yZSBzZW5kIGl0IHRvIHZkc20KICAgIFs1XS48YnI+CiAg ICA8YnI+CiAgICAtIE5ld2JpZSBkb3VidDogV291bGRuJ3QgYmUgYmV0dGVyIHRvIHZhbGlkYXRl IHRoZSBib3RoIGxvY2FsIGFuZAogICAgbmZzIHBhdGggb24gdGhlIGJhY2tlbmQsIGFjaGlldmlu ZyBhbGwgdXNlciBpbnRlcmZhY2VzL0FQSXM/PGJyPgogICAgPGJyPgogICAgWzFdIC0KPGEgY2xh c3M9Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9waWNhc2F3ZWIuZ29vZ2xl LmNvbS9saC9waG90by9GV05pb3UyWTEyR1pPM0FqZkNINks3UUF2OGNzNmVkYWozZkVjTWxlQjYw Ij5odHRwczovL3BpY2FzYXdlYi5nb29nbGUuY29tL2xoL3Bob3RvL0ZXTmlvdTJZMTJHWk8zQWpm Q0g2SzdRQXY4Y3M2ZWRhajNmRWNNbGVCNjA8L2E+PGJyPgogICAgWzJdIC0KPGEgY2xhc3M9Im1v ei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9s aC9waG90by9Qb2Y2WjhvaGdRQWtSVERwRUpLRy1MUUF2OGNzNmVkYWozZkVjTWxlQjYwIj5odHRw czovL3BpY2FzYXdlYi5nb29nbGUuY29tL2xoL3Bob3RvL1BvZjZaOG9oZ1FBa1JURHBFSktHLUxR QXY4Y3M2ZWRhajNmRWNNbGVCNjA8L2E+PGJyPgogICAgWzNdIC0gPGEgY2xhc3M9Im1vei10eHQt bGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vMjc2MjY1NiI+aHR0 cHM6Ly9naXN0LmdpdGh1Yi5jb20vMjc2MjY1NjwvYT48YnI+CiAgICBbNF0gLQo8YSBjbGFzcz0i bW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL3BpY2FzYXdlYi5nb29nbGUuY29t L2xoL3Bob3RvL0ZkM3pXZWdXRTBUNUMydERvX3RQWnJRQXY4Y3M2ZWRhajNmRWNNbGVCNjAiPmh0 dHBzOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vbGgvcGhvdG8vRmQzeldlZ1dFMFQ1QzJ0RG9fdFBa clFBdjhjczZlZGFqM2ZFY01sZUI2MDwvYT48YnI+CiAgICBbNV0gLQo8YSBjbGFzcz0ibW96LXR4 dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL3BpY2FzYXdlYi5nb29nbGUuY29tL2xoL3Bo b3RvL1BnellyWkhra3ZtLVd0RmtfVUZaTHJRQXY4Y3M2ZWRhajNmRWNNbGVCNjAiPmh0dHBzOi8v cGljYXNhd2ViLmdvb2dsZS5jb20vbGgvcGhvdG8vUGd6WXJaSGtrdm0tV3RGa19VRlpMclFBdjhj czZlZGFqM2ZFY01sZUI2MDwvYT48YnI+CiAgICA8YnI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJj b250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsKICAgICAgY2hhcnNldD1JU08tODg1OS0x Ij4KICAgIEkgbG9vayBmb3J3YXJkIHRvIGhlYXJpbmcgeW91ciBjb21tZW50cy48YnI+CiAgICA8 YnI+CiAgICBCZXN0IFJlZ2FyZHMsPGJyPgogICAgLS08YnI+CiAgICBQYWhpbTxicj4KICA8L2Jv ZHk+CjwvaHRtbD4KCi0tLS0tLS0tLS0tLS0tMDQwMzAzMDIwNTAxMDUwMTA5MDIwMDA4LS0K --===============9201483355868828225==--