hi all,
   Sorry to disturb you.
   I wanna to add a new api to get some sheepdog cluster info, but I has get this error, I don't know how to do.

   I have add a function to daemon/remote.c that call the libvirt.c 's  api, remoteDispatchConnectExecuteCommand, and here i get the return value.

        struct remote_connect_execute_command_ret {
               remote_nonnull_string ret_val;
        };
        typedef struct remote_connect_execute_command_ret remote_connect_execute_command_ret;
       
 
        static int
        remoteDispatchConnectExecuteCommand (struct qemud_server *server ATTRIBUTE_UNUSED,
                             struct qemud_client *client ATTRIBUTE_UNUSED,
                             virConnectPtr conn,
                             remote_message_header *hdr ATTRIBUTE_UNUSED,
                             remote_error *rerr,
                             remote_connect_execute_command_args *args,
                             remote_connect_execute_command_ret *ret)

     the return value has been in ret->ret_val. I know the func remoteDispatchDomainDumpXml returns it's values by ret->xml.
    
      And after this, the things is the same, but when I dump xml, it's ok, but when i wanna to get my value, it's cause
 this error:
             error : qemudClientReadBuf:1708 : gnutls_record_recv: A TLS packet with unexpected length was received.

    Could any body tell me, if I wanna to get a string data, do I need to do any additional actions?