| Summary: | [patch] times.allow field parsed incorrectly | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Sergey Shkonda <serg> |
| Component: | bin | Assignee: | Mark Linimon <linimon> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->feedback Does this problem still occur in newer versions of FreeBSD, such as 4.3-RELEASE? Adding to Audit-Trail. ----- Forwarded message from Sergey Shkonda <serg@bcs.zp.ua> ----- Delivered-To: mike@freebsd.org From: Sergey Shkonda <serg@bcs.zp.ua> Subject: Re: bin/18742: times.allow field parsed incorrectly X-ELM-OSV: (Our standard violations) hdr-charset=KOI8-U In-Reply-To: <200107220243.f6M2hCN83847@freefall.freebsd.org> "from mike@FreeBSD.org at Jul 21, 2001 07:43:12 pm" To: mike@FreeBSD.org Date: Mon, 23 Jul 2001 12:17:07 +0300 (EEST) X-Mailer: ELM [version 2.4ME+ PL88 (25)] > Synopsis: times.allow field parsed incorrectly > > State-Changed-From-To: open->feedback > State-Changed-By: mike > State-Changed-When: Sat Jul 21 19:42:50 PDT 2001 > State-Changed-Why: > > Does this problem still occur in newer versions of FreeBSD, > such as 4.3-RELEASE? Yes. There is the patch: --- login_times.c 1999/08/28 00:05:48 1.7 +++ login_times.c 2001/07/23 09:12:58 @@ -99,6 +99,8 @@ p = parse_time(++p, &m.lt_end); else m.lt_end = 1440; + if (m.lt_end < m.lt_start) + m_lt_end += 1440; t = m; } -- Sergey Shkonda <serg@bcs.zp.ua> ----- End forwarded message ----- State Changed From-To: feedback->suspended Still a problem. Responsible Changed From-To: freebsd-bugs->mike I'll take a look at this one. State Changed From-To: suspended->feedback Is this still a problem with recent versions of FreeBSD? Responsible Changed From-To: mike->linimon Reset PR assigned to inactive committer who has not responded to email. State Changed From-To: feedback->closed Submitter's email address bounces. |
times.allow incorrectly handled in case of 2200-0700 Fix: a) Document this b) Change login_times.c: parse_lt(): if (*p == '-') p = parse_time(++p, &m.lt_end); else m.lt_end = 1440; + if (m.lt_end < m.lt_start) + m.lt_end += 1440; t = m; } return t; } -- Sergey Shkonda <serg@bcs.zp.ua>