Date: Thu, 25 Mar 2010 02:14:04 +0000 (UTC) From: Maxim Sobolev <sobomax@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r205634 - stable/8/contrib/tcp_wrappers Message-ID: <201003250214.o2P2E4bi072188@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sobomax Date: Thu Mar 25 02:14:04 2010 New Revision: 205634 URL: http://svn.freebsd.org/changeset/base/205634 Log: MFC: Allow comment in the middle of the line. Modified: stable/8/contrib/tcp_wrappers/hosts_access.c Directory Properties: stable/8/contrib/tcp_wrappers/ (props changed) Modified: stable/8/contrib/tcp_wrappers/hosts_access.c ============================================================================== --- stable/8/contrib/tcp_wrappers/hosts_access.c Thu Mar 25 00:37:13 2010 (r205633) +++ stable/8/contrib/tcp_wrappers/hosts_access.c Thu Mar 25 02:14:04 2010 (r205634) @@ -148,6 +148,7 @@ struct request_info *request; char *sh_cmd; /* becomes optional shell command */ int match = NO; struct tcpd_context saved_context; + char *cp; saved_context = tcpd_context; /* stupid compilers */ @@ -164,7 +165,16 @@ struct request_info *request; tcpd_warn("missing newline or line too long"); continue; } - if (sv_list[0] == '#' || sv_list[strspn(sv_list, " \t\r\n")] == 0) + /* Ignore anything after unescaped # character */ + for (cp = strchr(sv_list, '#'); cp != NULL;) { + if (cp > sv_list && cp[-1] == '\\') { + cp = strchr(cp + 1, '#'); + continue; + } + *cp = '\0'; + break; + } + if (sv_list[strspn(sv_list, " \t\r\n")] == 0) continue; if ((cl_list = split_at(sv_list, ':')) == 0) { tcpd_warn("missing \":\" separator");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003250214.o2P2E4bi072188>