Stefan, This bug is already fixed and is available in the latest snaphot.
I attach the patch. Jean-Louis Stefan G. Weichinger wrote:
Greets, I have to debug some backup-related problems for a customer ... Running amanda 2.6.1 on gentoo linux there (my own ebuild). For some DLEs I get: samba01.xy.at christian_home lev 1 FAILED [FORMAT ERROR IN REQUEST PACKET 'Error on line 1 char 202: Odd character 'r', expected an open quote mark after the equals sign when giving value for attribute 'encoding' of element 'file''] Corresponding lines in amdump.1 (afaik): driver: send-cmd time 3904.615 to dumper4: PORT-DUMP 04-00020 11635 samba01.lietz.at ffffffff9ffeffffffff7f christian_home /home 1 2009:3:13:21:32:27 GNUTAR X X X BSD |" <auth>BSD</auth>\n <record>YES</record>\n <index>YES</index>\n <exclude>\n <file encoding=\"raw\" raw=\"Li9jaHJpc3RpYW4vRWlnZW5lIERhdGVpZW4=\">./christian/Eigene_Dateien</file>\n <list>/usr/local/etc/amanda/daily/excludes/root-excludes</list>\n </exclude>\n <include>\n <file>./christian</file>\n </include>\n" driver: state time 3904.615 free kps: 3335 space: 26304680 taper: DOWN idle-dumpers: 3 qlen tapeq: 46 runq: 32 roomq: 0 wakeup: 0 driver-idle: no-bandwidth driver: interface-state time 3904.615 if default: free 3335 driver: hdisk-state time 3904.615 hdisk 0: free 26304680 dumpers 5 driver: state time 3904.629 free kps: 3335 space: 26304680 taper: DOWN idle-dumpers: 3 qlen tapeq: 46 runq: 32 roomq: 0 wakeup: 15 driver-idle: no-bandwidth driver: interface-state time 3904.629 if default: free 3335 driver: hdisk-state time 3904.629 hdisk 0: free 26304680 dumpers 5 driver: result time 3904.629 from dumper4: FAILED 04-00020 "FORMAT ERROR IN REQUEST PACKET 'Error on line 1 char 202: Odd character 'r', expected an open quote mark after the equals sign when giving value for attribute 'encoding' of element 'file''" driver: send-cmd time 3904.629 to chunker4: FAILED 04-00020 driver: state time 3904.629 free kps: 3335 space: 26304680 taper: DOWN idle-dumpers: 3 qlen tapeq: 46 runq: 32 roomq: 0 wakeup: 15 driver-idle: no-bandwidth driver: interface-state time 3904.629 if default: free 3335 driver: hdisk-state time 3904.629 hdisk 0: free 26304680 dumpers 5 driver: result time 3904.629 from chunker4: FAILED 04-00020 "[cannot read header: got 0 bytes instead of 32768]" -- The client here is running the zmanda-rpm amanda-backup_server-2.6.1-1.suse10 on a Suse 10.0 (yes, old, all this is part of migration and removal of the old client ...) -- I'd be happy to provide any more logs offlist, if needed ... Thanks, Stefan
Index: ChangeLog =================================================================== --- ChangeLog (revision 1648) +++ ChangeLog (revision 1649) @@ -1,3 +1,7 @@ +2009-02-06 Jean-Louis Martineau <martin...@zmanda.com> + * server-src/dumper.c: options is already unquoted. + * common-src/util.c: argument should not be quoted when added to argv. + 2009-02-06 Dustin J. Mitchell <dus...@zmanda.com> * installcheck/Amanda_Changer_compat.pl: remove debugging code Index: server-src/dumper.c =================================================================== --- server-src/dumper.c (revision 1648) +++ server-src/dumper.c (revision 1649) @@ -260,9 +260,8 @@ char *errmsg = NULL; dle_t *dle; - char *uoptionstr = unquote_string(optionstr); - o = oo = vstralloc("<dle>", strchr(uoptionstr,'<'), "</dle>", NULL); - + o = oo = vstralloc("<dle>", strchr(optionstr,'<'), "</dle>", NULL); + dle = amxml_parse_node_CHAR(o, &errmsg); if (dle == NULL) { error("amxml_parse_node_CHAR failed: %s\n", errmsg); @@ -2048,9 +2047,8 @@ amfree(dle_str); if (am_has_feature(their_features, fe_req_xml)) { - char *o, *p = NULL; + char *p = NULL; char *pclean; - o = unquote_string(options+1); vstrextend(&p, "<dle>\n", NULL); if (*application_api != '\0') { vstrextend(&p, " <program>APPLICATION</program>\n", NULL); @@ -2063,8 +2061,7 @@ NULL); } vstrextend(&p, " <level>", level_string, "</level>\n", NULL); - vstrextend(&p, o, "</dle>\n", NULL); - amfree(o); + vstrextend(&p, options+1, "</dle>\n", NULL); pclean = clean_dle_str_for_client(p); vstrextend(&req, pclean, NULL); amfree(pclean); Index: common-src/util.c =================================================================== --- common-src/util.c (revision 1648) +++ common-src/util.c (revision 1649) @@ -1044,9 +1044,9 @@ property_t *value_s = value_p; char ***argv = user_data_p; GSList *value; - char *q, *w, *qprop, *qvalue; + char *q, *w, *qprop; - q = quote_string(property_s); + q = stralloc(property_s); /* convert to lower case */ for (w=q; *w != '\0'; w++) { *w = tolower(*w); @@ -1056,10 +1056,9 @@ qprop = stralloc2("--", q); amfree(q); for(value=value_s->values; value != NULL; value = value->next) { - qvalue = quote_string((char *)value->data); **argv = stralloc(qprop); (*argv)++; - **argv = qvalue; + **argv = stralloc((char *)value->data); (*argv)++; } amfree(qprop);