Modify ↓
Ticket #393 (closed defect: fixed)
Non-base64 binary file inclusion causes traceback in the client
Reported by: | [email protected]… | Owned by: | desai |
---|---|---|---|
Priority: | major | Milestone: | Bcfg2 0.9.3 Release |
Component: | bcfg2-client | Version: | 0.9.x |
Keywords: | Cc: |
Description
I have mistakenly included a binary file without marking it as "encoding: base64". That resulted in two things:
- The server did not complain
- The client crashed with the following traceback:
Unknown failure Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/Bcfg2/Client/Proxy.py", line 110, in run_method ret = apply(method, self._authinfo + methodArgs) File "/usr/lib/python2.3/xmlrpclib.py", line 1029, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.3/xmlrpclib.py", line 1316, in __request verbose=self.__verbose File "/usr/lib/python2.3/xmlrpclib.py", line 1080, in request return self._parse_response(h.getfile(), sock) File "/usr/lib/python2.3/xmlrpclib.py", line 1214, in _parse_response p.feed(response) File "/usr/lib/python2.3/xmlrpclib.py", line 528, in feed self._parser.Parse(data, 0) ExpatError: not well-formed (invalid token): line 35, column 120 GetConfig failed: Could not connect to bcfg2 Failed to download configuration from bcfg2
Setting 'encoding: base64' fixes the immediate problem. Sorry, I can't send you the misbehaving file for testing, since it's a keytab. :)
Attachments
Change History
Note: See
TracTickets for help on using
tickets.
LXML error checking seems to have changed at some point; checks for binary text nodes have now been readded to it. I will bump the required version of lxml once this fix is included in a stable release.