bugzilla-daemon@netfilter.org
2003-Mar-07 17:35 UTC
[Bug 62] New: I patched the iptables-restore and liblptulog for string included "," "
https://bugzilla.netfilter.org/cgi-bin/bugzilla/show_bug.cgi?id=62 Summary: I patched the iptables-restore and liblptulog for string included "," " Product: iptables userspace Version: 1.2.7a Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: iptables-restore AssignedTo: laforge@netfilter.org ReportedBy: larycho@hanmail.net CC: netfilter-buglog@lists.netfilter.org I have found the not critical bug(?). If ulog-prefix is included the quote or space. iptables-restore can't restore from the saved file. This patch use the backquote ----patch file begin --- diff -urN iptables-1.2.7a.org/extensions/libipt_ULOG.c iptables- 1.2.7a/extensions/libipt_ULOG.c --- iptables-1.2.7a.org/extensions/libipt_ULOG.c Wed May 29 22:08:16 2002 +++ iptables-1.2.7a/extensions/libipt_ULOG.c Sat Mar 8 02:09:08 2003 @@ -157,7 +157,7 @@ = (const struct ipt_ulog_info *) target->data; if (strcmp(loginfo->prefix, "") != 0) - printf("--ulog-prefix %s ", loginfo->prefix); + printf("--ulog-prefix \`%s\` ", loginfo->prefix); if (loginfo->nl_group != ULOG_DEFAULT_NLGROUP) { printf("--ulog-nlgroup "); diff -urN iptables-1.2.7a.org/iptables-restore.c iptables-1.2.7a/iptables- restore.c --- iptables-1.2.7a.org/iptables-restore.c Wed Aug 7 18:07:41 2002 +++ iptables-1.2.7a/iptables-restore.c Sat Mar 8 02:08:01 2003 @@ -262,6 +262,7 @@ /* the parser */ char *param_start, *curchar; int quote_open; + int backquote_open; /* reset the newargv */ newargc = 0; @@ -308,10 +309,20 @@ * longer a real hacker, but I can live with that */ quote_open = 0; + backquote_open = 0; param_start = parsestart; for (curchar = parsestart; *curchar; curchar++) { - if (*curchar == '"') { + if (*curchar == '\`') { + if (backquote_open) { + backquote_open = 0; + *curchar = ' '; + } else { + backquote_open = 1; + param_start++; + } + } + if (!backquote_open && *curchar == '"') { if (quote_open) { quote_open = 0; *curchar = ' '; @@ -325,6 +336,9 @@ || * curchar == '\n') { char param_buffer[1024]; int param_len = curchar-param_start; + + if (backquote_open) + continue; if (quote_open) continue; ------------ patch file end ----- ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
Seemingly Similar Threads
- [Bug 62] I patched the iptables-restore and liblptulog for string included "," "
- [LLVMdev] Multiple one-line bugs in LLVM
- [LLVMdev] Multiple one-line bugs in LLVM
- [LLVMdev] fix warning with newer g++ compilers
- [fdo] Updated syncmail script for new CVS loginfo syntax