[Kimchi-devel] [PATCH] bug fix: accept '-' & '_' for network name.
Aline Manera
alinefm at linux.vnet.ibm.com
Sat Jun 14 16:09:32 UTC 2014
On 06/14/2014 12:30 PM, Sheldon wrote:
> I'd like to give up to support ".
>
> " is not allowed by dnsmasq.
> the number of " but be even
ACK.
> ERROR:cherrypy.error.62418064:[14/Jun/2014:23:11:44] HTTP Traceback
> (most recent call last):
> File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line
> 656, in respond
> response.body = self.handler()
> File "/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py",
> line 188, in __call__
> self.body = self.oldhandler(*args, **kwargs)
> File "/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py",
> line 34, in __call__
> return self.callable(*self.args, **self.kwargs)
> File "/home/shhfeng/work/workdir/kimchi/src/kimchi/control/base.py",
> line 72, in wrapper
> ident = fn(*model_args)
> File
> "/home/shhfeng/work/workdir/kimchi/src/kimchi/model/networks.py", line
> 308, in activate
> network.create()
> File
> "/home/shhfeng/work/workdir/kimchi/src/kimchi/model/libvirtconnection.py",
> line 62, in wrapper
> ret = f(*args, **kwargs)
> File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2318, in
> create
> if ret == -1: raise libvirtError ('virNetworkCreate() failed',
> net=self)
> libvirtError: internal error: Child process (/sbin/dnsmasq
> '--conf-file=/var/lib/libvirt/dnsmasq/@#$%^&*()_+=-!~|{}[];'\''`"::::?><\.conf')
> unexpected exit status 1:
> dnsmasq: missing " at line 10 of
> /var/lib/libvirt/dnsmasq/@#$%^&*()_+=-!~|{}[];'`"::::?><\.conf
>
>
>
> I create a network with name "ab", with contains two ". also error.
>
> ERROR:cherrypy.error.62418064:[14/Jun/2014:23:24:49] HTTP Traceback
> (most recent call last):
> File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line
> 656, in respond
> response.body = self.handler()
> File "/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py",
> line 188, in __call__
> self.body = self.oldhandler(*args, **kwargs)
> File "/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py",
> line 34, in __call__
> return self.callable(*self.args, **self.kwargs)
> File "/home/shhfeng/work/workdir/kimchi/src/kimchi/control/base.py",
> line 72, in wrapper
> ident = fn(*model_args)
> File
> "/home/shhfeng/work/workdir/kimchi/src/kimchi/model/networks.py", line
> 308, in activate
> network.create()
> File
> "/home/shhfeng/work/workdir/kimchi/src/kimchi/model/libvirtconnection.py",
> line 62, in wrapper
> ret = f(*args, **kwargs)
> File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2318, in
> create
> if ret == -1: raise libvirtError ('virNetworkCreate() failed',
> net=self)
> libvirtError: An error occurred, but the cause is unknown
>
>
> On 06/14/2014 10:16 PM, Sheldon wrote:
>> On 06/14/2014 06:01 PM, Sheldon wrote:
>>> On 06/13/2014 07:52 PM, Aline Manera wrote:
>>>> On 06/13/2014 04:43 AM, Sheldon wrote:
>>>>> On 06/13/2014 04:58 AM, Aline Manera wrote:
>>>>>> On 06/12/2014 08:19 AM, shaohef at linux.vnet.ibm.com wrote:
>>>>>>> From: ShaoHe Feng<shaohef at linux.vnet.ibm.com>
>>>>>>>
>>>>>>> Both '-' and '_' are allowed by libvirt, so we should not put extra
>>>>>>> restrictions.
>>>>>>>
>>>>>>> Signed-off-by: ShaoHe Feng<shaohef at linux.vnet.ibm.com>
>>>>>>> ---
>>>>>>> ui/js/src/kimchi.network.js | 2 +-
>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js
>>>>>>> index 23930cd..c6e828d 100644
>>>>>>> --- a/ui/js/src/kimchi.network.js
>>>>>>> +++ b/ui/js/src/kimchi.network.js
>>>>>>> @@ -321,7 +321,7 @@ kimchi.cleanNetworkDialog = function() {
>>>>>>>
>>>>>>> kimchi.setupNetworkFormEvent = function() {
>>>>>>> $("#networkName").on("keyup", function(event) {
>>>>>>> - $("#networkName").toggleClass("invalid-field", !$("#networkName").val().match(/^[a-zA-Z0-9_]+$/));
>>>>>>> + $("#networkName").toggleClass("invalid-field", !$("#networkName").val().match(/^[\-\w]+$/));
>>>>>>> kimchi.updateNetworkFormButton();
>>>>>>> });
>>>>>>> $("#networkTypeIso").on("click", function(event) {
>>>>>>
>>>>>> I agree with Cristian.
>>>>>> You should remove the whole line:
>>>>>>
>>>>>> $("#networkName").toggleClass("invalid-field",
>>>>>> !$("#networkName").val().match(/^[a-zA-Z0-9_]+$/));
>>>>>>
>>>>> what about some little restrictions than libvirt.
>>>>> such as wildcard "*", "?" and "/", [], {} ! are not allowed.
>>>>>
>>>>
>>>> Yes, we need to restrict only the characters not allowed by libvirt
>>> so only "/" is restricted? the same rule with VM name and
>>> storage-pool name?
>>>>
>>>>> for wildcard can be used in shell. such as:
>>>>> $ ls dat*
>>>>> debugreports objectstore screenshots sessions
>>>>> $ ls dat?
>>>>> debugreports objectstore screenshots sessions
>>>>> $ ls data
>>>>> debugreports objectstore screenshots sessions
>>>>> $ ls [d]ata
>>>>> debugreports objectstore screenshots sessions
>>>>>
>>>>> shell meta characters and control operator should we support?
>>>>> " ' ` = $ < > | & ( ) { } ; && || !
>>>>> I have do some test as follow:
>>>>>
>>>>> 1.
>>>>> I rename the network as "dd/ddd", libvirt will report an error:
>>>>> create file '/etc/libvirt/qemu/networks/dd/ddd.xml.new': No such
>>>>> file or directory
>>>>> We do can help libvirt to escape "/". And seems linux support
>>>>> every character.
>>>>>
>>>>
>>>> It is because '/' is a special character in xml files.
>> Seems it is not the xml special character.
>> $ touch dd\/ddd.xml
>> touch: cannot touch 'dd/ddd.xml': No such file or directory.
>>
>> "\" may cause a big trouble.
>> I'd like to not escape "\", what about you?
>>
>> seems only "< & >" are xml special characters.
>>>> We need to scape it.
>>>>
>>>>> 2.
>>>>> I also create a network named "*.efault", kimchi can work works
>>>>> well, that's kimchi UI's problem.
>>>>> it report: "Error: Syntax error, unrecognized expression: #*.efault".
>>>>> I can also fix this problem.
>>>>>
>>>>
>>>> Please, send a patch for it too
>>>>
>>>>> virsh # net-list --all
>>>>> Name State Autostart Persistent
>>>>> ----------------------------------------------------------
>>>>> *.efault inactive yes yes
>>>>> brg20 active yes yes
>>>>> dddd active yes yes
>>>>> default active yes yes
>>>>> test_abc active yes yes
>>>>>
>>>>> strangely, I can not list the persistent network *.efault.xml file.
>>>>> $ sudo ls /var/lib/libvirt/network/
>>>>> dddd.xml default.xml test_abc.xml
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks and best regards!
>>>>>
>>>>> Sheldon Feng(???)<shaohef at linux.vnet.ibm.com>
>>>>> IBM Linux Technology Center
>>>>
>>>
>>>
>>> --
>>> Thanks and best regards!
>>>
>>> Sheldon Feng(???)<shaohef at linux.vnet.ibm.com>
>>> IBM Linux Technology Center
>>>
>>>
>>> _______________________________________________
>>> Kimchi-devel mailing list
>>> Kimchi-devel at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
>>
>> --
>> Thanks and best regards!
>>
>> Sheldon Feng(???)<shaohef at linux.vnet.ibm.com>
>> IBM Linux Technology Center
>>
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
>
> --
> Thanks and best regards!
>
> Sheldon Feng(???)<shaohef at linux.vnet.ibm.com>
> IBM Linux Technology Center
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140614/77d0c1a4/attachment.html>
More information about the Kimchi-devel
mailing list