Author: mvidner Date: Wed Aug 31 18:21:07 2011 New Revision: 65487 URL: http://svn.opensuse.org/viewcvs/yast?rev=65487&view=rev Log: Merging fixes from SLE11-SP1 for a SLE10-SP3,SP4 update - Log YCP client arguments only with y2debug, not to reveal AutoYaST passwords (bnc#492746). - Fixed the regexpsub algorithm not to loop endlessly if the source string contains \1 (bnc#552914). - ini-agent: Fixed a test failure "wrong stderr for nonex" (bnc#706705#c16) svn merge -c61272 -c65446 -c65449 http://svn.opensuse.org/svn/yast/branches/SuSE-Code-11-SP1-Branch/core Modified: branches/SuSE-SLE-10-SP4-Branch/core/ (props changed) branches/SuSE-SLE-10-SP4-Branch/core/VERSION branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/src/IniParser.h branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/testsuite/tests/nonex.err branches/SuSE-SLE-10-SP4-Branch/core/libycp/src/YCPBuiltinString.cc branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.err branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.out branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.ycp branches/SuSE-SLE-10-SP4-Branch/core/package/yast2-core.changes branches/SuSE-SLE-10-SP4-Branch/core/wfm/src/Y2WFMComponent.cc Modified: branches/SuSE-SLE-10-SP4-Branch/core/VERSION URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/VERSION?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/VERSION (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/VERSION Wed Aug 31 18:21:07 2011 @@ -1 +1 @@ -2.13.46 +2.13.47 Modified: branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/src/IniParser.h URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/src/IniParser.h?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/src/IniParser.h (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/src/IniParser.h Wed Aug 31 18:21:07 2011 @@ -370,6 +370,7 @@ // apparently the uninitialized members are filled in // by the grammar definition IniParser () : + timestamp (0), linecomments (), comments (), sections (), params (), rewrites (), started (false), multiple_files (false), Modified: branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/testsuite/tests/nonex.err URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/testsuite/tests/nonex.err?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/testsuite/tests/nonex.err (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/agent-ini/testsuite/tests/nonex.err Wed Aug 31 18:21:07 2011 @@ -1,7 +1,5 @@ [agent-ini] IniParser.cc(parse):XXX Can not open tests/nonex.in.test. [agent-ini] IniParser.cc(getTimeStamp):XXX Unable to stat 'tests/nonex.in.test': No such file or directory -[agent-ini] IniParser.cc(UpdateIfModif):XXX Data file 'tests/nonex.in.test' was changed externaly! -[agent-ini] IniParser.cc(parse):XXX Can not open tests/nonex.in.test. [YCP] tests/nonex.ycp:XXX KEY: nil [agent-ini] IniParser.cc(UpdateIfModif):XXX Data file 'tests/nonex.in.test' was changed externaly! [YCP] tests/nonex.ycp:XXX KEY: value Modified: branches/SuSE-SLE-10-SP4-Branch/core/libycp/src/YCPBuiltinString.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/libycp/src/YCPBuiltinString.cc?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/libycp/src/YCPBuiltinString.cc (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/libycp/src/YCPBuiltinString.cc Wed Aug 31 18:21:07 2011 @@ -735,10 +735,10 @@ /// (regexp builtins) typedef struct REG_RET { - string result_str; + string result_str; // for regexpsub string match_str[SUB_MAX]; // index 0 not used!! int match_nb; // 0 - 9 - string error_str; + string error_str; // from regerror bool error; bool solved; } Reg_Ret; @@ -747,6 +747,7 @@ /* * Universal regular expression solver. * It is used by all regexp* ycp builtins. + * Replacement is done if result is not "" */ Reg_Ret solve_regular_expression (const char *input, const char *pattern, const char *result) @@ -788,27 +789,38 @@ return reg_ret; } - static const char *index[] = { - NULL, /* not used */ - "\\1", "\\2", "\\3", "\\4", - "\\5", "\\6", "\\7", "\\8", "\\9" - }; - string input_str (input); - string result_str (result); for (unsigned int i=0; (i <= compiled.re_nsub) && (i <= SUB_MAX); i++) { reg_ret.match_str[i] = matchptr[i].rm_so >= 0 ? input_str.substr(matchptr[i].rm_so, matchptr[i].rm_eo - matchptr[i].rm_so) : ""; reg_ret.match_nb = i; - - string::size_type col = string::npos; - if(index[i] != NULL) col = result_str.find(index[i]); - while( col != string::npos ) { - result_str.replace( col, 2, reg_ret.match_str[i] ); - col = result_str.find(index[i], col + 1 ); - } } + + string result_str; + const char * done = result; // text before 'done' has been dealt with + const char * bspos = result; + + + while (1) { + bspos = strchr (bspos, '\\'); + if (bspos == NULL) // not found + break; + + // STATE: \ seen + ++bspos; + + if (*bspos >= '1' && *bspos <= '9') { + // copy non-backslash text + result_str.append (done, bspos - 1 - done); + // copy replacement string + result_str += reg_ret.match_str[*bspos - '0']; + done = bspos = bspos + 1; + } + } + // copy the rest + result_str += done; + reg_ret.result_str = result_str; regfree (&compiled); return reg_ret; Modified: branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.err URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.err?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.err (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.err Wed Aug 31 18:21:07 2011 @@ -142,6 +142,34 @@ ---------------------------------------------------------------------- Parsed: ---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "\\1") == "aaab") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "\\1\\1") == "aaabaaab") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "\\") == "\\") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "\\\\") == "\\\\") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "A\\NZ") == "A\\NZ") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("aaabbb", "(a*b)(.*)", "A\\\\1Z") == "A\\aaabZ") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- +(regexpsub ("machine=i386\\2ci486\\2ci586\\2ci686", "^([^=]*)=(.*)", "\\2") == "i386\\2ci486\\2ci586\\2ci686") +---------------------------------------------------------------------- +Parsed: +---------------------------------------------------------------------- (regexptokenize ("aaabbBb", "(.*[[:upper:]]).*") == ["aaabbB"]) ---------------------------------------------------------------------- Parsed: Modified: branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.out URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.out?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.out (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.out Wed Aug 31 18:21:07 2011 @@ -37,6 +37,13 @@ (true) (true) (true) +(true) +(true) +(true) +(true) +(true) +(true) +(true) ("** sformat **") ("five is greater % than 3") ("** conversions **") Modified: branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.ycp?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.ycp (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/libycp/testsuite/tests/builtin/Builtin-String1.ycp Wed Aug 31 18:21:07 2011 @@ -65,6 +65,14 @@ (regexpsub ("aaabbb", "(.*ab).*", "s_\\1_e") == "s_aaab_e") (regexpsub ("aaabbb", "(.*abb)(.*)", "s_\\1_e\\2") == "s_aaabb_eb") +// bnc#552914 +(regexpsub ("aaabbb", "(a*b)(.*)", "\\1") == "aaab") +(regexpsub ("aaabbb", "(a*b)(.*)", "\\1\\1") == "aaabaaab") +(regexpsub ("aaabbb", "(a*b)(.*)", "\\") == "\\") +(regexpsub ("aaabbb", "(a*b)(.*)", "\\\\") == "\\\\") +(regexpsub ("aaabbb", "(a*b)(.*)", "A\\NZ") == "A\\NZ") +(regexpsub ("aaabbb", "(a*b)(.*)", "A\\\\1Z") == "A\\aaabZ") +(regexpsub ("machine=i386\\2ci486\\2ci586\\2ci686", "^([^=]*)=(.*)", "\\2") == "i386\\2ci486\\2ci586\\2ci686") (regexptokenize ("aaabbBb", "(.*[[:upper:]]).*") == [ "aaabbB" ]) (regexptokenize ("aaabbb", "(.*ab)(.*)") == ["aaab", "bb"]) Modified: branches/SuSE-SLE-10-SP4-Branch/core/package/yast2-core.changes URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/package/yast2-core.changes?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/package/yast2-core.changes (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/package/yast2-core.changes Wed Aug 31 18:21:07 2011 @@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Wed Aug 31 18:10:21 CEST 2011 - mvidner@suse.cz + +- Log YCP client arguments only with y2debug, not to reveal AutoYaST + passwords (bnc#492746). +- Fixed the regexpsub algorithm not to loop endlessly + if the source string contains \1 (bnc#552914). +- ini-agent: Fixed a test failure "wrong stderr for nonex" + (bnc#706705#c16) +- 2.13.47 + +------------------------------------------------------------------- Thu Aug 18 12:40:23 CEST 2011 - mvidner@suse.cz - change blowfish id from 2a to 2y (bnc#700876 bnc#706705 CVE-2011-2483) Modified: branches/SuSE-SLE-10-SP4-Branch/core/wfm/src/Y2WFMComponent.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-SLE-10-SP4-Branch/core/wfm/src/Y2WFMComponent.cc?rev=65487&r1=65486&r2=65487&view=diff ============================================================================== --- branches/SuSE-SLE-10-SP4-Branch/core/wfm/src/Y2WFMComponent.cc (original) +++ branches/SuSE-SLE-10-SP4-Branch/core/wfm/src/Y2WFMComponent.cc Wed Aug 31 18:21:07 2011 @@ -684,7 +684,9 @@ string filename = ee.filename (); int linenumber = ee.linenumber (); ycp2milestone (filename.c_str(), linenumber, - "Calling YaST client %s (arguments: %s)", new_modulename.c_str (), args->toString ().c_str ()); + "Calling YaST client %s", new_modulename.c_str ()); + ycp2debug (filename.c_str(), linenumber, + "(arguments: %s)", args->toString ().c_str ()); YCPValue result = client_comp->doActualWork (args, NULL); ee.setFilename (filename); ee.setLinenumber (linenumber); -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org