From nobody@FreeBSD.org  Wed Oct 12 22:01:56 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D4A751065674
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Oct 2011 22:01:56 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id BA83B8FC12
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Oct 2011 22:01:56 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p9CM1uYP024769
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Oct 2011 22:01:56 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p9CM1uDF024764;
	Wed, 12 Oct 2011 22:01:56 GMT
	(envelope-from nobody)
Message-Id: <201110122201.p9CM1uDF024764@red.freebsd.org>
Date: Wed, 12 Oct 2011 22:01:56 GMT
From: Adrian Wontroba <aw1@stade.co.uk>
To: freebsd-gnats-submit@FreeBSD.org
Subject: script outputs corrupt if input is not from a terminal
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         161526
>Category:       bin
>Synopsis:       script(1) outputs corrupt if input is not from a terminal
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 12 22:10:07 UTC 2011
>Closed-Date:    Tue Jan 21 08:59:52 UTC 2014
>Last-Modified:  Tue Jan 21 09:10:01 UTC 2014
>Originator:     Adrian Wontroba
>Release:        RELENG_8
>Organization:
na
>Environment:
FreeBSD awbsd.censored 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Oct  7 00:51:20 BST 2011     toor@awbsd.censored:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
If the standard input for the current version of script (1.24.30.5) in
RELENG_8 / 8-STABLE is not a terminal, in a simple case (running date)
both the output file and the standard output from script are corrupt with
multiple 5e 44 08 08 sequences inserted.

The previous version of script (1.24.30.4) does not display this behaviour.
Output is is similar irrespective of standard input redirection.

I have been unable so far to produce a simple test case for my starting
point of portupgrade hanging when run in a batch job.

The examples below were produced using freshly compiled versions of the
previous and current versions of script. I have already reverted
/usr/bin/script on this system to the old version.

current script without standard input redirection - works as expected

[aw1@awbsd ~/script]$ /home/aw1/script/1.24.30.5/script -qa /tmp/56 date > /tmp/56o 2> /tmp/56e
[aw1@awbsd ~/script]$
[aw1@awbsd /tmp]$ ls -l 56*
-rw-r--r--  1 aw1  wheel  36 Oct 12 22:17 56
-rw-r--r--  1 aw1  wheel   0 Oct 12 22:17 56e
-rw-r--r--  1 aw1  wheel  30 Oct 12 22:17 56o
[aw1@awbsd /tmp]$ for i in 56*; do echo $i; hd $i; done
56
00000000  64 61 74 65 0d 0a 57 65  64 20 4f 63 74 20 31 32  |date..Wed Oct 12|
00000010  20 32 32 3a 31 37 3a 32  37 20 42 53 54 20 32 30  | 22:17:27 BST 20|
00000020  31 31 0d 0a                                       |11..|
00000024
56e
56o
00000000  57 65 64 20 4f 63 74 20  31 32 20 32 32 3a 31 37  |Wed Oct 12 22:17|
00000010  3a 32 37 20 42 53 54 20  32 30 31 31 0d 0a        |:27 BST 2011..|
0000001e

current script with standard input redirection - outputs corrupt

[aw1@awbsd ~/script]$ /home/aw1/script/1.24.30.5/script -qa /tmp/55 date > /tmp/55o 2> /tmp/55e < /dev/null
[aw1@awbsd ~/script]$
[aw1@awbsd /tmp]$ ls -l 55*
-rw-r--r--  1 aw1  wheel  516 Oct 12 22:11 55
-rw-r--r--  1 aw1  wheel    0 Oct 12 22:11 55e
-rw-r--r--  1 aw1  wheel  510 Oct 12 22:11 55o
[aw1@awbsd /tmp]$ for i in 55*; do echo $i; hd $i; done
55
00000000  64 61 74 65 0d 0a 5e 44  08 08 5e 44 08 08 5e 44  |date..^D..^D..^D|
00000010  08 08 5e 44 08 08 5e 44  08 08 5e 44 08 08 5e 44  |..^D..^D..^D..^D|
*
000001d0  08 08 5e 44 08 08 5e 44  08 08 5e 44 08 08 57 65  |..^D..^D..^D..We|
000001e0  64 20 4f 63 74 20 31 32  20 32 32 3a 31 31 3a 31  |d Oct 12 22:11:1|
000001f0  37 20 42 53 54 20 32 30  31 31 0d 0a 5e 44 08 08  |7 BST 2011..^D..|
00000200  5e 44 08 08                                       |^D..|
00000204
55e
55o
00000000  5e 44 08 08 5e 44 08 08  5e 44 08 08 5e 44 08 08  |^D..^D..^D..^D..|
*
000001d0  5e 44 08 08 5e 44 08 08  57 65 64 20 4f 63 74 20  |^D..^D..Wed Oct |
000001e0  31 32 20 32 32 3a 31 31  3a 31 37 20 42 53 54 20  |12 22:11:17 BST |
000001f0  32 30 31 31 0d 0a 5e 44  08 08 5e 44 08 08        |2011..^D..^D..|
000001fe

the previous version of script (1.24.30.4) does not display this behaviour,

previous script without standard input redirection

[aw1@awbsd ~/script]$ /home/aw1/script/1.24.30.4/script -qa /tmp/46 date > /tmp/46o 2> /tmp/46e
[aw1@awbsd ~/script]$

[aw1@awbsd /tmp]$ ls -l 46*
-rw-r--r--  1 aw1  wheel  36 Oct 12 22:14 46
-rw-r--r--  1 aw1  wheel   0 Oct 12 22:14 46e
-rw-r--r--  1 aw1  wheel  30 Oct 12 22:14 46o
[aw1@awbsd /tmp]$ for i in 46*; do echo $i; hd $i; done
46
00000000  64 61 74 65 0d 0a 57 65  64 20 4f 63 74 20 31 32  |date..Wed Oct 12|
00000010  20 32 32 3a 31 34 3a 33  39 20 42 53 54 20 32 30  | 22:14:39 BST 20|
00000020  31 31 0d 0a                                       |11..|
00000024
46e
46o
00000000  57 65 64 20 4f 63 74 20  31 32 20 32 32 3a 31 34  |Wed Oct 12 22:14|
00000010  3a 33 39 20 42 53 54 20  32 30 31 31 0d 0a        |:39 BST 2011..|
0000001e

previous script with standard input redirection
[aw1@awbsd ~/script]$ /home/aw1/script/1.24.30.4/script -qa /tmp/45 date > /tmp/45o 2> /tmp/45e < /dev/null
[aw1@awbsd ~/script]$

[aw1@awbsd /tmp]$ ls -l 45*
-rw-r--r--  1 aw1  wheel  36 Oct 12 22:08 45
-rw-r--r--  1 aw1  wheel   0 Oct 12 22:08 45e
-rw-r--r--  1 aw1  wheel  30 Oct 12 22:08 45o
[aw1@awbsd /tmp]$ for i in 45*; do echo $i; hd $i; done
45
00000000  64 61 74 65 0d 0a 57 65  64 20 4f 63 74 20 31 32  |date..Wed Oct 12|
00000010  20 32 32 3a 30 38 3a 34  31 20 42 53 54 20 32 30  | 22:08:41 BST 20|
00000020  31 31 0d 0a                                       |11..|
00000024
45e
45o
00000000  57 65 64 20 4f 63 74 20  31 32 20 32 32 3a 30 38  |Wed Oct 12 22:08|
00000010  3a 34 31 20 42 53 54 20  32 30 31 31 0d 0a        |:41 BST 2011..|
0000001e

>How-To-Repeat:
On a standard system, something like
script -qa /tmp/55 date > /tmp/55o 2> /tmp/55e < /dev/null
and inspection of the output files should show the problem
>Fix:
not known

>Release-Note:
>Audit-Trail:

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Sat, 15 Oct 2011 19:08:32 +0000 (UTC)

 Author: trociny
 Date: Sat Oct 15 19:08:22 2011
 New Revision: 226403
 URL: http://svn.freebsd.org/changeset/base/226403
 
 Log:
   In r225809 the intention was to send VEOF only once if STDIN was not a
   terminal. Unfortunately the fix was incorrect and for flushtime > 0 it
   keept sending VEOF.
   
   Sent VEOF generates ^D\b\b echoed by the terminal, which was reported
   in bin/161526. Note, we still send VEOF at least once. Otherwise
   commands like below would hang forever:
   
     echo 1 |script /tmp/script.out cat
   
   PR:		bin/161526
   Reported by:	Adrian Wontroba <aw1@stade.co.uk>, Stefan Bethke <stb@lassitu.de>
   Tested by:	Stefan Bethke <stb@lassitu.de>
   MFC after:	3 days
 
 Modified:
   head/usr.bin/script/script.c
 
 Modified: head/usr.bin/script/script.c
 ==============================================================================
 --- head/usr.bin/script/script.c	Sat Oct 15 18:41:25 2011	(r226402)
 +++ head/usr.bin/script/script.c	Sat Oct 15 19:08:22 2011	(r226403)
 @@ -163,12 +163,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Fri, 21 Oct 2011 05:37:52 +0000 (UTC)

 Author: trociny
 Date: Fri Oct 21 05:37:40 2011
 New Revision: 226591
 URL: http://svn.freebsd.org/changeset/base/226591
 
 Log:
   MFC r226403:
   
   In r225809 the intention was to send VEOF only once if STDIN was not a
   terminal. Unfortunately the fix was incorrect and for flushtime > 0 it
   keept sending VEOF.
   
   Sent VEOF generates ^D\b\b echoed by the terminal, which was reported
   in bin/161526. Note, we still send VEOF at least once. Otherwise
   commands like below would hang forever:
   
     echo 1 |script /tmp/script.out cat
   
   PR:		bin/161526
   Reported by:	Adrian Wontroba <aw1@stade.co.uk>, Stefan Bethke <stb@lassitu.de>
   Tested by:	Stefan Bethke <stb@lassitu.de>
   Approved by:	re (kib)
 
 Modified:
   stable/9/usr.bin/script/script.c
 Directory Properties:
   stable/9/usr.bin/script/   (props changed)
 
 Modified: stable/9/usr.bin/script/script.c
 ==============================================================================
 --- stable/9/usr.bin/script/script.c	Thu Oct 20 22:38:24 2011	(r226590)
 +++ stable/9/usr.bin/script/script.c	Fri Oct 21 05:37:40 2011	(r226591)
 @@ -163,12 +163,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Fri, 21 Oct 2011 05:41:40 +0000 (UTC)

 Author: trociny
 Date: Fri Oct 21 05:40:30 2011
 New Revision: 226592
 URL: http://svn.freebsd.org/changeset/base/226592
 
 Log:
   MFC r226403:
   
   In r225809 the intention was to send VEOF only once if STDIN was not a
   terminal. Unfortunately the fix was incorrect and for flushtime > 0 it
   keept sending VEOF.
   
   Sent VEOF generates ^D\b\b echoed by the terminal, which was reported
   in bin/161526. Note, we still send VEOF at least once. Otherwise
   commands like below would hang forever:
   
     echo 1 |script /tmp/script.out cat
   
   PR:		bin/161526
   Reported by:	Adrian Wontroba <aw1@stade.co.uk>, Stefan Bethke <stb@lassitu.de>
   Tested by:	Stefan Bethke <stb@lassitu.de>
 
 Modified:
   stable/8/usr.bin/script/script.c
 Directory Properties:
   stable/8/usr.bin/script/   (props changed)
 
 Modified: stable/8/usr.bin/script/script.c
 ==============================================================================
 --- stable/8/usr.bin/script/script.c	Fri Oct 21 05:37:40 2011	(r226591)
 +++ stable/8/usr.bin/script/script.c	Fri Oct 21 05:40:30 2011	(r226592)
 @@ -168,12 +168,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Fri, 21 Oct 2011 05:42:32 +0000 (UTC)

 Author: trociny
 Date: Fri Oct 21 05:41:20 2011
 New Revision: 226593
 URL: http://svn.freebsd.org/changeset/base/226593
 
 Log:
   MFC r226403:
   
   In r225809 the intention was to send VEOF only once if STDIN was not a
   terminal. Unfortunately the fix was incorrect and for flushtime > 0 it
   keept sending VEOF.
   
   Sent VEOF generates ^D\b\b echoed by the terminal, which was reported
   in bin/161526. Note, we still send VEOF at least once. Otherwise
   commands like below would hang forever:
   
     echo 1 |script /tmp/script.out cat
   
   PR:		bin/161526
   Reported by:	Adrian Wontroba <aw1@stade.co.uk>, Stefan Bethke <stb@lassitu.de>
   Tested by:	Stefan Bethke <stb@lassitu.de>
 
 Modified:
   stable/7/usr.bin/script/script.c
 Directory Properties:
   stable/7/usr.bin/script/   (props changed)
 
 Modified: stable/7/usr.bin/script/script.c
 ==============================================================================
 --- stable/7/usr.bin/script/script.c	Fri Oct 21 05:40:30 2011	(r226592)
 +++ stable/7/usr.bin/script/script.c	Fri Oct 21 05:41:20 2011	(r226593)
 @@ -167,12 +167,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: =?utf-8?B?S2FybGkgU2rDtmJlcmc=?= <Karli.Sjoberg@slu.se>
To: "bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>, "aw1@stade.co.uk"
	<aw1@stade.co.uk>, "stb@lassitu.de" <stb@lassitu.de>, "trociny@freebsd.org"
	<trociny@freebsd.org>
Cc:  
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Tue, 7 Jan 2014 10:46:11 +0000

 SGkhCgpUaGlzIHdhcyByZXBvcnRlZCB0d28geWVhcnMgYmFjaywgd2l0aCBwYXRjaCBzZXQgdG8g
 TUZDIGFmdGVyIDMgZGF5cywKYWNjb3JkaW5nIHRvOgpodHRwOi8vc3Zud2ViLmZyZWVic2Qub3Jn
 L2Jhc2U/dmlldz1yZXZpc2lvbiZhbXA7cmV2aXNpb249MjI2NDAzCgpNeSBzeXN0ZW1zIGFyZSBj
 dXJyZW50bHkgcnVubmluZyA5LjItUkVMRUFTRSBhbmQgdGhpcyBwYXRjaCBzdGlsbCBpc27CtHQK
 aW5jbHVkZWQsIHdoaWNoIEkgdGhpbmsgaXMgdW5mb3J0dW5hdGUsIHNpbmNlIGl0IHRvdGFsbHkg
 c29sdmVzIHRoZQpwcm9ibGVtIG9mIHJ1bm5pbmcgZS5nLiBwb3J0dXBncmFkZSBzb21ld2hlcmUg
 bm90IGV4ZWN1dGVkIGZyb20gYQp0ZXJtaW5hbCwgd2hpY2ggaXMgYXdlc29tZSEKCknCtHZlIGJl
 ZW4gcmVhbGx5IHN0cnVnZ2xpbmcsIHRyeWluZyB0byBnZXQgcHVwcGV0IHRvIGhhbmRsZSBhIHNj
 cmlwdAp0aGF0IGNhbGxzIG9uIHBvcnR1cGdyYWRlIHRvIGF1dG9tYXRpY2FsbHkgdGFrZSBjYXJl
 IG9mIG91ciBwYWNrYWdlCnVwZGF0ZXMgYnV0IGhhdmUgc28gZmFyIGJlZW4gc3R1bXBlZCB0byBz
 ZWUgaXQganVzdCBzdGFsbC4gRXNwZWNpYWxseQpzaW5jZSB0aGUgc2NyaXB0IHdvcmtzIGp1c3Qg
 ZmluZSBtYW51YWxseSBleGVjdXRlZCBvdmVyIFNTSCwgc28gZmluZGluZwp0aGlzIG1lYW50IGEg
 aHVnZSBkZWFsIGZvciB1cywgYmVpbmcgYWJsZSB0byBhdXRvbWF0ZSB0aGlzIHByb2Nlc3MgYW5k
 CnRocm91Z2ggcHVwcGV0IGFsc28gcmVwb3J0ZWQsIG1ha2luZyB1cyBtb3JlIGF3YXJlIG9mIGhv
 dyBpdCB3ZW50LgoKSSB3b3VsZCB2ZXJ5IG11Y2ggbGlrZSB0byBzZWUgdGhpcyBwYXRjaCBpbmNs
 dWRlZCBpbiBiYXNlIHNvIGZ1dHVyZQpwZW9wbGUgd29uwrR0IGhhdmUgdG8gcnVuIGluIHRvIHRo
 ZSBzYW1lIHByb2JsZW0gYXMgSSBkaWQsIHNpbmNlIGl0IHRvb2sKcXVpdGUgc29tZSB0aW1lIHJl
 c2VhcmNoaW5nIHVudGlsIGZpbmRpbmcgdGhpcyBmaXguIEhvdyBjYW4gd2UgbWFrZSB0aGlzCmhh
 cHBlbj8KCi0tIAoKTWVkIFbDpG5saWdhIEjDpGxzbmluZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tCkthcmxpIFNqw7ZiZXJnClN3ZWRpc2ggVW5pdmVyc2l0eSBvZiBBZ3JpY3VsdHVyYWwgU2Np
 ZW5jZXMgQm94IDcwNzkgKFZpc2l0aW5nIEFkZHJlc3MKS3JvbsOlc3bDpGdlbiA4KQpTLTc1MCAw
 NyBVcHBzYWxhLCBTd2VkZW4KUGhvbmU6ICArNDYtKDApMTgtNjcgMTUgNjYKa2FybGkuc2pvYmVy
 Z0BzbHUuc2UK

From: Mikolaj Golub <to.my.trociny@gmail.com>
To: Karli =?koi8-r?Q?Sj=22oberg?= <Karli.Sjoberg@slu.se>
Cc: "bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>,
	"aw1@stade.co.uk" <aw1@stade.co.uk>,
	"stb@lassitu.de" <stb@lassitu.de>,
	"trociny@freebsd.org" <trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Tue, 7 Jan 2014 17:45:38 +0200

 On Tue, Jan 07, 2014 at 10:46:11AM +0000, Karli Sj"oberg wrote:
 > Hi!
 > 
 > This was reported two years back, with patch set to MFC after 3 days,
 > according to:
 > http://svnweb.freebsd.org/base?view=revision&amp;revision=226403
 > 
 > My systems are currently running 9.2-RELEASE and this patch still isn't
 > included, which I think is unfortunate, since it totally solves the
 > problem of running e.g. portupgrade somewhere not executed from a
 > terminal, which is awesome!
 
 It was merged to stable/9 in r226591
 
 http://svnweb.freebsd.org/base?view=revision&revision=226591
 
 (and the commit was traced by this PR) so I beleive 9.2-RELEASE
 includes it.
 
 If you still observe behavior that looks strange for you please
 provide more details.
 
 -- 
 Mikolaj Golub

From: =?utf-8?B?S2FybGkgU2rDtmJlcmc=?= <Karli.Sjoberg@slu.se>
To: "to.my.trociny@gmail.com" <to.my.trociny@gmail.com>
Cc: "bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>, "aw1@stade.co.uk"
	<aw1@stade.co.uk>, "stb@lassitu.de" <stb@lassitu.de>, "trociny@freebsd.org"
	<trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Wed, 8 Jan 2014 06:25:31 +0000

 dGlzIDIwMTQtMDEtMDcga2xvY2thbiAxNzo0NSArMDIwMCBza3JldiBNaWtvbGFqIEdvbHViOgo+
 IE9uIFR1ZSwgSmFuIDA3LCAyMDE0IGF0IDEwOjQ2OjExQU0gKzAwMDAsIEthcmxpIFNqIm9iZXJn
 IHdyb3RlOgo+ID4gSGkhCj4gPiAKPiA+IFRoaXMgd2FzIHJlcG9ydGVkIHR3byB5ZWFycyBiYWNr
 LCB3aXRoIHBhdGNoIHNldCB0byBNRkMgYWZ0ZXIgMyBkYXlzLAo+ID4gYWNjb3JkaW5nIHRvOgo+
 ID4gaHR0cDovL3N2bndlYi5mcmVlYnNkLm9yZy9iYXNlP3ZpZXc9cmV2aXNpb24mYW1wO3Jldmlz
 aW9uPTIyNjQwMwo+ID4gCj4gPiBNeSBzeXN0ZW1zIGFyZSBjdXJyZW50bHkgcnVubmluZyA5LjIt
 UkVMRUFTRSBhbmQgdGhpcyBwYXRjaCBzdGlsbCBpc24ndAo+ID4gaW5jbHVkZWQsIHdoaWNoIEkg
 dGhpbmsgaXMgdW5mb3J0dW5hdGUsIHNpbmNlIGl0IHRvdGFsbHkgc29sdmVzIHRoZQo+ID4gcHJv
 YmxlbSBvZiBydW5uaW5nIGUuZy4gcG9ydHVwZ3JhZGUgc29tZXdoZXJlIG5vdCBleGVjdXRlZCBm
 cm9tIGEKPiA+IHRlcm1pbmFsLCB3aGljaCBpcyBhd2Vzb21lIQo+IAo+IEl0IHdhcyBtZXJnZWQg
 dG8gc3RhYmxlLzkgaW4gcjIyNjU5MQo+IAo+IGh0dHA6Ly9zdm53ZWIuZnJlZWJzZC5vcmcvYmFz
 ZT92aWV3PXJldmlzaW9uJnJldmlzaW9uPTIyNjU5MQo+IAo+IChhbmQgdGhlIGNvbW1pdCB3YXMg
 dHJhY2VkIGJ5IHRoaXMgUFIpIHNvIEkgYmVsZWl2ZSA5LjItUkVMRUFTRQo+IGluY2x1ZGVzIGl0
 Lgo+IAo+IElmIHlvdSBzdGlsbCBvYnNlcnZlIGJlaGF2aW9yIHRoYXQgbG9va3Mgc3RyYW5nZSBm
 b3IgeW91IHBsZWFzZQo+IHByb3ZpZGUgbW9yZSBkZXRhaWxzLgoKSSBrbm93LCBpdCBzaG91bGQg
 YmUgdGhlcmUsIGJ1dCBzb21laG93IGl0wrRzIG5vdCBpbmNsdWRlZCBpbiA5LjItUkVMRUFTRQpy
 MjU2MDk4LiBIZXJlwrRzIGZyb20gYSBtYWNoaW5lIEkganVzdCBwYXRjaGVkIHNjcmlwdC5jOgoK
 IyBkaWZmIC11IHNjcmlwdC5jLm9yaWcgc2NyaXB0LmMKLS0tIHNjcmlwdC5jLm9yaWcJMjAxMy0x
 MC0wNyAxMDowNToxMC40NzUzMjY1OTggKzAyMDAKKysrIHNjcmlwdC5jCTIwMTQtMDEtMDcgMTQ6
 MTk6MTguNDg5MDg3NDQ0ICswMTAwCkBAIC0yMzUsMTIgKzIzNSwxNSBAQAogCQlGRF9TRVQobWFz
 dGVyLCAmcmZkKTsKIAkJaWYgKHJlYWRzdGRpbikKIAkJCUZEX1NFVChTVERJTl9GSUxFTk8sICZy
 ZmQpOwotCQlpZiAoKCFyZWFkc3RkaW4gJiYgdHR5ZmxnKSB8fCBmbHVzaHRpbWUgPiAwKSB7Ci0J
 CQl0di50dl9zZWMgPSAhcmVhZHN0ZGluICYmIHR0eWZsZyA/IDEgOgotCQkJICAgIGZsdXNodGlt
 ZSAtICh0dmVjIC0gc3RhcnQpOworCQlpZiAoIXJlYWRzdGRpbiAmJiB0dHlmbGcpIHsKKwkJCXR2
 LnR2X3NlYyA9IDE7CiAJCQl0di50dl91c2VjID0gMDsKIAkJCXR2cCA9ICZ0djsKIAkJCXJlYWRz
 dGRpbiA9IDE7CisJCX0gZWxzZSBpZiAoZmx1c2h0aW1lID4gMCkgeworCQkJdHYudHZfc2VjID0g
 Zmx1c2h0aW1lIC0gKHR2ZWMgLSBzdGFydCk7CisJCQl0di50dl91c2VjID0gMDsKKwkJCXR2cCA9
 ICZ0djsKIAkJfSBlbHNlIHsKIAkJCXR2cCA9IE5VTEw7CiAJCX0KCldoZXJlICJzY3JpcHQuYy5v
 cmlnIiBpcyB3aGF0IHlvdSBnZXQgYWZ0ZXIgaW5zdGFsbGluZywgYW5kICJzY3JpcHQuYyIKaXMg
 dGhlIG5vdyBwYXRjaGVkIGZpbGUuCgpBbmQgd2hhdMK0cyBtb3JlIHN0cmFuZ2UgaXMgdGhhdCBJ
 IGhhdmUgYW5vdGhlciBzeXN0ZW0gcnVubmluZyA5LjEtU1RBQkxFCnIyNDk1ODAsIGFuZCB0aGF0
 IHN5c3RlbSBkb2VzIGhhdmUgdGhlIGNvZGU6CiAgICAgICAgICAgICAgICBGRF9TRVQobWFzdGVy
 LCAmcmZkKTsKICAgICAgICAgICAgICAgIGlmIChyZWFkc3RkaW4pCiAgICAgICAgICAgICAgICAg
 ICAgICAgIEZEX1NFVChTVERJTl9GSUxFTk8sICZyZmQpOwogICAgICAgICAgICAgICAgaWYgKCFy
 ZWFkc3RkaW4gJiYgdHR5ZmxnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR2LnR2X3NlYyA9
 IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIHR2LnR2X3VzZWMgPSAwOwogICAgICAgICAgICAg
 ICAgICAgICAgICB0dnAgPSAmdHY7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRzdGRpbiA9
 IDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZsdXNodGltZSA+IDApIHsKICAgICAgICAg
 ICAgICAgICAgICAgICAgdHYudHZfc2VjID0gZmx1c2h0aW1lIC0gKHR2ZWMgLSBzdGFydCk7CiAg
 ICAgICAgICAgICAgICAgICAgICAgIHR2LnR2X3VzZWMgPSAwOwogICAgICAgICAgICAgICAgICAg
 ICAgICB0dnAgPSAmdHY7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
 ICAgICAgICB0dnAgPSBOVUxMOwogICAgICAgICAgICAgICAgfQoKU28gc29tZXdoZXJlIGJldHdl
 ZW4gcjI0OTU4MCBhbmQgcjI1NjA5OCwgdGhpcyB2ZXJ5IGltcG9ydGFudCBwaWVjZSBvZgpjb2Rl
 IGhhcyBnb25lIG1pc3Npbmc/CgpQUy4gV2h5IGRvIG15IGVtYWlscyBsb29rIGxpa2UgY29tcGxl
 dGUgKioqKiB3aGVuIHZpZXdlZCBmcm9tOgpodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9xdWVy
 eS1wci5jZ2k/cHI9MTYxNTI2JmNhdD0gPwoKL0sKCj4gCj4gLS0gCj4gTWlrb2xhaiBHb2x1YgoK
 LS0gCgpNZWQgVsOkbmxpZ2EgSMOkbHNuaW5nYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KS2Fy
 bGkgU2rDtmJlcmcKU3dlZGlzaCBVbml2ZXJzaXR5IG9mIEFncmljdWx0dXJhbCBTY2llbmNlcyBC
 b3ggNzA3OSAoVmlzaXRpbmcgQWRkcmVzcwpLcm9uw6VzdsOkZ2VuIDgpClMtNzUwIDA3IFVwcHNh
 bGEsIFN3ZWRlbgpQaG9uZTogICs0Ni0oMCkxOC02NyAxNSA2NgprYXJsaS5zam9iZXJnQHNsdS5z
 ZQo=

From: Mikolaj Golub <to.my.trociny@gmail.com>
To: Karli =?utf-8?Q?Sj=C3=B6berg?= <Karli.Sjoberg@slu.se>
Cc: Brian Somers <brian@FreeBSD.org>,
	"bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>,
	"aw1@stade.co.uk" <aw1@stade.co.uk>,
	"stb@lassitu.de" <stb@lassitu.de>,
	"trociny@freebsd.org" <trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Wed, 8 Jan 2014 09:17:13 +0200

 On Wed, Jan 08, 2014 at 06:25:31AM +0000, Karli Sjöberg wrote:
 > tis 2014-01-07 klockan 17:45 +0200 skrev Mikolaj Golub:
 > > On Tue, Jan 07, 2014 at 10:46:11AM +0000, Karli Sj"oberg wrote:
 > > > Hi!
 > > > 
 > > > This was reported two years back, with patch set to MFC after 3 days,
 > > > according to:
 > > > http://svnweb.freebsd.org/base?view=revision&amp;revision=226403
 > > > 
 > > > My systems are currently running 9.2-RELEASE and this patch still isn't
 > > > included, which I think is unfortunate, since it totally solves the
 > > > problem of running e.g. portupgrade somewhere not executed from a
 > > > terminal, which is awesome!
 > > 
 > > It was merged to stable/9 in r226591
 > > 
 > > http://svnweb.freebsd.org/base?view=revision&revision=226591
 > > 
 > > (and the commit was traced by this PR) so I beleive 9.2-RELEASE
 > > includes it.
 > > 
 > > If you still observe behavior that looks strange for you please
 > > provide more details.
 > 
 > I know, it should be there, but somehow it´s not included in 9.2-RELEASE
 > r256098. Here´s from a machine I just patched script.c:
 > 
 > # diff -u script.c.orig script.c
 > --- script.c.orig	2013-10-07 10:05:10.475326598 +0200
 > +++ script.c	2014-01-07 14:19:18.489087444 +0100
 > @@ -235,12 +235,15 @@
 >  		FD_SET(master, &rfd);
 >  		if (readstdin)
 >  			FD_SET(STDIN_FILENO, &rfd);
 > -		if ((!readstdin && ttyflg) || flushtime > 0) {
 > -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 > -			    flushtime - (tvec - start);
 > +		if (!readstdin && ttyflg) {
 > +			tv.tv_sec = 1;
 >  			tv.tv_usec = 0;
 >  			tvp = &tv;
 >  			readstdin = 1;
 > +		} else if (flushtime > 0) {
 > +			tv.tv_sec = flushtime - (tvec - start);
 > +			tv.tv_usec = 0;
 > +			tvp = &tv;
 >  		} else {
 >  			tvp = NULL;
 >  		}
 > 
 > Where "script.c.orig" is what you get after installing, and "script.c"
 > is the now patched file.
 > 
 > And what´s more strange is that I have another system running 9.1-STABLE
 > r249580, and that system does have the code:
 >                 FD_SET(master, &rfd);
 >                 if (readstdin)
 >                         FD_SET(STDIN_FILENO, &rfd);
 >                 if (!readstdin && ttyflg) {
 >                         tv.tv_sec = 1;
 >                         tv.tv_usec = 0;
 >                         tvp = &tv;
 >                         readstdin = 1;
 >                 } else if (flushtime > 0) {
 >                         tv.tv_sec = flushtime - (tvec - start);
 >                         tv.tv_usec = 0;
 >                         tvp = &tv;
 >                 } else {
 >                         tvp = NULL;
 >                 }
 > 
 > So somewhere between r249580 and r256098, this very important piece of
 > code has gone missing?
 
 It looks this fix was reverted in r238896, when doing bin/114465. All
 branches are affected.
 
 Brian, did you have a reason for this or it was just an accident?
 Would you want to fix this?
 
 > 
 > PS. Why do my emails look like complete **** when viewed from:
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=161526&cat= ?
 
 It is base64 encoded. I suppose GNAT can't handle properly messages
 with 'Content-Transfer-Encoding: base64'.
 
 -- 
 Mikolaj Golub

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Fri, 17 Jan 2014 21:45:32 +0000 (UTC)

 Author: trociny
 Date: Fri Jan 17 21:45:25 2014
 New Revision: 260833
 URL: http://svnweb.freebsd.org/changeset/base/260833
 
 Log:
   Bring back r226403, the fix for bin/161526, which was (accidentally?)
   reverted in r238896.
   
   PR:		bin/161526
   Reported by:	Karli.Sjoberg slu.se
   MFC after:	3 days
 
 Modified:
   head/usr.bin/script/script.c
 
 Modified: head/usr.bin/script/script.c
 ==============================================================================
 --- head/usr.bin/script/script.c	Fri Jan 17 21:37:55 2014	(r260832)
 +++ head/usr.bin/script/script.c	Fri Jan 17 21:45:25 2014	(r260833)
 @@ -238,12 +238,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Mon, 20 Jan 2014 20:34:38 +0000 (UTC)

 Author: trociny
 Date: Mon Jan 20 20:34:31 2014
 New Revision: 260925
 URL: http://svnweb.freebsd.org/changeset/base/260925
 
 Log:
   MFC r260833:
   
   Bring back r226403, the fix for bin/161526, which was (accidentally?)
   reverted in r238896.
   
   PR:		bin/161526
   Reported by:	Karli.Sjoberg slu.se
 
 Modified:
   stable/9/usr.bin/script/script.c
 Directory Properties:
   stable/9/usr.bin/script/   (props changed)
 
 Modified: stable/9/usr.bin/script/script.c
 ==============================================================================
 --- stable/9/usr.bin/script/script.c	Mon Jan 20 20:33:40 2014	(r260924)
 +++ stable/9/usr.bin/script/script.c	Mon Jan 20 20:34:31 2014	(r260925)
 @@ -235,12 +235,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/161526: commit references a PR
Date: Mon, 20 Jan 2014 20:33:53 +0000 (UTC)

 Author: trociny
 Date: Mon Jan 20 20:33:40 2014
 New Revision: 260924
 URL: http://svnweb.freebsd.org/changeset/base/260924
 
 Log:
   MFC r260833:
   
   Bring back r226403, the fix for bin/161526, which was (accidentally?)
   reverted in r238896.
   
   PR:		bin/161526
   Reported by:	Karli.Sjoberg slu.se
 
 Modified:
   stable/10/usr.bin/script/script.c
 Directory Properties:
   stable/10/   (props changed)
 
 Modified: stable/10/usr.bin/script/script.c
 ==============================================================================
 --- stable/10/usr.bin/script/script.c	Mon Jan 20 20:28:04 2014	(r260923)
 +++ stable/10/usr.bin/script/script.c	Mon Jan 20 20:33:40 2014	(r260924)
 @@ -235,12 +235,15 @@ main(int argc, char *argv[])
  		FD_SET(master, &rfd);
  		if (readstdin)
  			FD_SET(STDIN_FILENO, &rfd);
 -		if ((!readstdin && ttyflg) || flushtime > 0) {
 -			tv.tv_sec = !readstdin && ttyflg ? 1 :
 -			    flushtime - (tvec - start);
 +		if (!readstdin && ttyflg) {
 +			tv.tv_sec = 1;
  			tv.tv_usec = 0;
  			tvp = &tv;
  			readstdin = 1;
 +		} else if (flushtime > 0) {
 +			tv.tv_sec = flushtime - (tvec - start);
 +			tv.tv_usec = 0;
 +			tvp = &tv;
  		} else {
  			tvp = NULL;
  		}
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: =?utf-8?B?S2FybGkgU2rDtmJlcmc=?= <Karli.Sjoberg@slu.se>
To: "to.my.trociny@gmail.com" <to.my.trociny@gmail.com>
Cc: "brian@FreeBSD.org" <brian@FreeBSD.org>, "bug-followup@FreeBSD.org"
	<bug-followup@FreeBSD.org>, "aw1@stade.co.uk" <aw1@stade.co.uk>,
	"stb@lassitu.de" <stb@lassitu.de>, "trociny@freebsd.org"
	<trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Tue, 21 Jan 2014 08:15:43 +0000

 T24gV2VkLCAyMDE0LTAxLTA4IGF0IDA5OjE3ICswMjAwLCBNaWtvbGFqIEdvbHViIHdyb3RlOgo+
 IE9uIFdlZCwgSmFuIDA4LCAyMDE0IGF0IDA2OjI1OjMxQU0gKzAwMDAsIEthcmxpIFNqw7ZiZXJn
 IHdyb3RlOgo+ID4gdGlzIDIwMTQtMDEtMDcga2xvY2thbiAxNzo0NSArMDIwMCBza3JldiBNaWtv
 bGFqIEdvbHViOgo+ID4gPiBPbiBUdWUsIEphbiAwNywgMjAxNCBhdCAxMDo0NjoxMUFNICswMDAw
 LCBLYXJsaSBTaiJvYmVyZyB3cm90ZToKPiA+ID4gPiBIaSEKPiA+ID4gPiAKPiA+ID4gPiBUaGlz
 IHdhcyByZXBvcnRlZCB0d28geWVhcnMgYmFjaywgd2l0aCBwYXRjaCBzZXQgdG8gTUZDIGFmdGVy
 IDMgZGF5cywKPiA+ID4gPiBhY2NvcmRpbmcgdG86Cj4gPiA+ID4gaHR0cDovL3N2bndlYi5mcmVl
 YnNkLm9yZy9iYXNlP3ZpZXc9cmV2aXNpb24mYW1wO3JldmlzaW9uPTIyNjQwMwo+ID4gPiA+IAo+
 ID4gPiA+IE15IHN5c3RlbXMgYXJlIGN1cnJlbnRseSBydW5uaW5nIDkuMi1SRUxFQVNFIGFuZCB0
 aGlzIHBhdGNoIHN0aWxsIGlzbid0Cj4gPiA+ID4gaW5jbHVkZWQsIHdoaWNoIEkgdGhpbmsgaXMg
 dW5mb3J0dW5hdGUsIHNpbmNlIGl0IHRvdGFsbHkgc29sdmVzIHRoZQo+ID4gPiA+IHByb2JsZW0g
 b2YgcnVubmluZyBlLmcuIHBvcnR1cGdyYWRlIHNvbWV3aGVyZSBub3QgZXhlY3V0ZWQgZnJvbSBh
 Cj4gPiA+ID4gdGVybWluYWwsIHdoaWNoIGlzIGF3ZXNvbWUhCj4gPiA+IAo+ID4gPiBJdCB3YXMg
 bWVyZ2VkIHRvIHN0YWJsZS85IGluIHIyMjY1OTEKPiA+ID4gCj4gPiA+IGh0dHA6Ly9zdm53ZWIu
 ZnJlZWJzZC5vcmcvYmFzZT92aWV3PXJldmlzaW9uJnJldmlzaW9uPTIyNjU5MQo+ID4gPiAKPiA+
 ID4gKGFuZCB0aGUgY29tbWl0IHdhcyB0cmFjZWQgYnkgdGhpcyBQUikgc28gSSBiZWxlaXZlIDku
 Mi1SRUxFQVNFCj4gPiA+IGluY2x1ZGVzIGl0Lgo+ID4gPiAKPiA+ID4gSWYgeW91IHN0aWxsIG9i
 c2VydmUgYmVoYXZpb3IgdGhhdCBsb29rcyBzdHJhbmdlIGZvciB5b3UgcGxlYXNlCj4gPiA+IHBy
 b3ZpZGUgbW9yZSBkZXRhaWxzLgo+ID4gCj4gPiBJIGtub3csIGl0IHNob3VsZCBiZSB0aGVyZSwg
 YnV0IHNvbWVob3cgaXTCtHMgbm90IGluY2x1ZGVkIGluIDkuMi1SRUxFQVNFCj4gPiByMjU2MDk4
 LiBIZXJlwrRzIGZyb20gYSBtYWNoaW5lIEkganVzdCBwYXRjaGVkIHNjcmlwdC5jOgo+ID4gCj4g
 PiAjIGRpZmYgLXUgc2NyaXB0LmMub3JpZyBzY3JpcHQuYwo+ID4gLS0tIHNjcmlwdC5jLm9yaWcJ
 MjAxMy0xMC0wNyAxMDowNToxMC40NzUzMjY1OTggKzAyMDAKPiA+ICsrKyBzY3JpcHQuYwkyMDE0
 LTAxLTA3IDE0OjE5OjE4LjQ4OTA4NzQ0NCArMDEwMAo+ID4gQEAgLTIzNSwxMiArMjM1LDE1IEBA
 Cj4gPiAgCQlGRF9TRVQobWFzdGVyLCAmcmZkKTsKPiA+ICAJCWlmIChyZWFkc3RkaW4pCj4gPiAg
 CQkJRkRfU0VUKFNURElOX0ZJTEVOTywgJnJmZCk7Cj4gPiAtCQlpZiAoKCFyZWFkc3RkaW4gJiYg
 dHR5ZmxnKSB8fCBmbHVzaHRpbWUgPiAwKSB7Cj4gPiAtCQkJdHYudHZfc2VjID0gIXJlYWRzdGRp
 biAmJiB0dHlmbGcgPyAxIDoKPiA+IC0JCQkgICAgZmx1c2h0aW1lIC0gKHR2ZWMgLSBzdGFydCk7
 Cj4gPiArCQlpZiAoIXJlYWRzdGRpbiAmJiB0dHlmbGcpIHsKPiA+ICsJCQl0di50dl9zZWMgPSAx
 Owo+ID4gIAkJCXR2LnR2X3VzZWMgPSAwOwo+ID4gIAkJCXR2cCA9ICZ0djsKPiA+ICAJCQlyZWFk
 c3RkaW4gPSAxOwo+ID4gKwkJfSBlbHNlIGlmIChmbHVzaHRpbWUgPiAwKSB7Cj4gPiArCQkJdHYu
 dHZfc2VjID0gZmx1c2h0aW1lIC0gKHR2ZWMgLSBzdGFydCk7Cj4gPiArCQkJdHYudHZfdXNlYyA9
 IDA7Cj4gPiArCQkJdHZwID0gJnR2Owo+ID4gIAkJfSBlbHNlIHsKPiA+ICAJCQl0dnAgPSBOVUxM
 Owo+ID4gIAkJfQo+ID4gCj4gPiBXaGVyZSAic2NyaXB0LmMub3JpZyIgaXMgd2hhdCB5b3UgZ2V0
 IGFmdGVyIGluc3RhbGxpbmcsIGFuZCAic2NyaXB0LmMiCj4gPiBpcyB0aGUgbm93IHBhdGNoZWQg
 ZmlsZS4KPiA+IAo+ID4gQW5kIHdoYXTCtHMgbW9yZSBzdHJhbmdlIGlzIHRoYXQgSSBoYXZlIGFu
 b3RoZXIgc3lzdGVtIHJ1bm5pbmcgOS4xLVNUQUJMRQo+ID4gcjI0OTU4MCwgYW5kIHRoYXQgc3lz
 dGVtIGRvZXMgaGF2ZSB0aGUgY29kZToKPiA+ICAgICAgICAgICAgICAgICBGRF9TRVQobWFzdGVy
 LCAmcmZkKTsKPiA+ICAgICAgICAgICAgICAgICBpZiAocmVhZHN0ZGluKQo+ID4gICAgICAgICAg
 ICAgICAgICAgICAgICAgRkRfU0VUKFNURElOX0ZJTEVOTywgJnJmZCk7Cj4gPiAgICAgICAgICAg
 ICAgICAgaWYgKCFyZWFkc3RkaW4gJiYgdHR5ZmxnKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAg
 ICAgICB0di50dl9zZWMgPSAxOwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgdHYudHZfdXNl
 YyA9IDA7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICB0dnAgPSAmdHY7Cj4gPiAgICAgICAg
 ICAgICAgICAgICAgICAgICByZWFkc3RkaW4gPSAxOwo+ID4gICAgICAgICAgICAgICAgIH0gZWxz
 ZSBpZiAoZmx1c2h0aW1lID4gMCkgewo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgdHYudHZf
 c2VjID0gZmx1c2h0aW1lIC0gKHR2ZWMgLSBzdGFydCk7Cj4gPiAgICAgICAgICAgICAgICAgICAg
 ICAgICB0di50dl91c2VjID0gMDsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHR2cCA9ICZ0
 djsKPiA+ICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+ID4gICAgICAgICAgICAgICAgICAgICAg
 ICAgdHZwID0gTlVMTDsKPiA+ICAgICAgICAgICAgICAgICB9Cj4gPiAKPiA+IFNvIHNvbWV3aGVy
 ZSBiZXR3ZWVuIHIyNDk1ODAgYW5kIHIyNTYwOTgsIHRoaXMgdmVyeSBpbXBvcnRhbnQgcGllY2Ug
 b2YKPiA+IGNvZGUgaGFzIGdvbmUgbWlzc2luZz8KPiAKPiBJdCBsb29rcyB0aGlzIGZpeCB3YXMg
 cmV2ZXJ0ZWQgaW4gcjIzODg5Niwgd2hlbiBkb2luZyBiaW4vMTE0NDY1LiBBbGwKPiBicmFuY2hl
 cyBhcmUgYWZmZWN0ZWQuCj4gCj4gQnJpYW4sIGRpZCB5b3UgaGF2ZSBhIHJlYXNvbiBmb3IgdGhp
 cyBvciBpdCB3YXMganVzdCBhbiBhY2NpZGVudD8KPiBXb3VsZCB5b3Ugd2FudCB0byBmaXggdGhp
 cz8KCkhpIGV2ZXJ5b25lLCBhbnkgcHJvZ3Jlc3Mgb24gdGhpcz8KCi9LCgo+IAo+ID4gCj4gPiBQ
 Uy4gV2h5IGRvIG15IGVtYWlscyBsb29rIGxpa2UgY29tcGxldGUgKioqKiB3aGVuIHZpZXdlZCBm
 cm9tOgo+ID4gaHR0cDovL3d3dy5mcmVlYnNkLm9yZy9jZ2kvcXVlcnktcHIuY2dpP3ByPTE2MTUy
 NiZjYXQ9ID8KPiAKPiBJdCBpcyBiYXNlNjQgZW5jb2RlZC4gSSBzdXBwb3NlIEdOQVQgY2FuJ3Qg
 aGFuZGxlIHByb3Blcmx5IG1lc3NhZ2VzCj4gd2l0aCAnQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu
 ZzogYmFzZTY0Jy4KPiAKPiAtLSAKPiBNaWtvbGFqIEdvbHViCgoKCi0tIAoKTWVkIFbDpG5saWdh
 IEjDpGxzbmluZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkthcmxpIFNqw7ZiZXJnClN3ZWRp
 c2ggVW5pdmVyc2l0eSBvZiBBZ3JpY3VsdHVyYWwgU2NpZW5jZXMgQm94IDcwNzkgKFZpc2l0aW5n
 IEFkZHJlc3MKS3JvbsOlc3bDpGdlbiA4KQpTLTc1MCAwNyBVcHBzYWxhLCBTd2VkZW4KUGhvbmU6
 ICArNDYtKDApMTgtNjcgMTUgNjYKa2FybGkuc2pvYmVyZ0BzbHUuc2UKX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVXNlcnMgbWFpbGluZyBsaXN0ClVzZXJz
 QG92aXJ0Lm9yZwpodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMK
State-Changed-From-To: open->closed 
State-Changed-By: trociny 
State-Changed-When: Tue Jan 21 08:58:29 UTC 2014 
State-Changed-Why:  
Fixed in the current and all affected stable branches. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=161526 

From: Mikolaj Golub <to.my.trociny@gmail.com>
To: Karli =?utf-8?Q?Sj=C3=B6berg?= <Karli.Sjoberg@slu.se>
Cc: "brian@FreeBSD.org" <brian@FreeBSD.org>,
	"bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org>,
	"aw1@stade.co.uk" <aw1@stade.co.uk>,
	"stb@lassitu.de" <stb@lassitu.de>,
	"trociny@freebsd.org" <trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Tue, 21 Jan 2014 10:57:34 +0200

 On Tue, Jan 21, 2014 at 08:15:43AM +0000, Karli Sjöberg wrote:
 
 > Hi everyone, any progress on this?
 
 I merged the fix to stable/9 and 10 branches yesterday (stable/8 does
 not need the fix).
 
 I didn't write back because the commit log messages are traced by this
 pr, so I thought you saw it.
 
 -- 
 Mikolaj Golub

From: =?utf-8?B?S2FybGkgU2rDtmJlcmc=?= <Karli.Sjoberg@slu.se>
To: "to.my.trociny@gmail.com" <to.my.trociny@gmail.com>
Cc: "brian@FreeBSD.org" <brian@FreeBSD.org>, "bug-followup@FreeBSD.org"
	<bug-followup@FreeBSD.org>, "aw1@stade.co.uk" <aw1@stade.co.uk>,
	"stb@lassitu.de" <stb@lassitu.de>, "trociny@freebsd.org"
	<trociny@freebsd.org>
Subject: Re: bin/161526: script(1) outputs corrupt if input is not from a
 terminal
Date: Tue, 21 Jan 2014 09:05:28 +0000

 T24gVHVlLCAyMDE0LTAxLTIxIGF0IDEwOjU3ICswMjAwLCBNaWtvbGFqIEdvbHViIHdyb3RlOgo+
 IE9uIFR1ZSwgSmFuIDIxLCAyMDE0IGF0IDA4OjE1OjQzQU0gKzAwMDAsIEthcmxpIFNqw7ZiZXJn
 IHdyb3RlOgo+IAo+ID4gSGkgZXZlcnlvbmUsIGFueSBwcm9ncmVzcyBvbiB0aGlzPwo+IAo+IEkg
 bWVyZ2VkIHRoZSBmaXggdG8gc3RhYmxlLzkgYW5kIDEwIGJyYW5jaGVzIHllc3RlcmRheSAoc3Rh
 YmxlLzggZG9lcwo+IG5vdCBuZWVkIHRoZSBmaXgpLgoKU3dlZXQhIEdsYWQgdG8gaGVhci4KCj4g
 Cj4gSSBkaWRuJ3Qgd3JpdGUgYmFjayBiZWNhdXNlIHRoZSBjb21taXQgbG9nIG1lc3NhZ2VzIGFy
 ZSB0cmFjZWQgYnkgdGhpcwo+IHByLCBzbyBJIHRob3VnaHQgeW91IHNhdyBpdC4KCllvdSBtZWFu
 IEkgc2hvdWxkIGtlZXAgbG9va2luZyBhdCB0aGUgUFIgZm9yIHVwZGF0ZXMsIG9yIHRoYXQgSSBz
 aG91bGQKZ2V0IG1haWw/IElmIG1haWwsIHRoZW4gbm8sIEkgaGF2ZW7CtHQgZ290dGVuIGFueS4u
 CgpQUy4gScK0dmUgY2hlY2tlZCBteSBzb3VyY2Ugb24gdGhlIG1haWxzIEkgc2VuZDoKQ29udGVu
 dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KCkJ1dCB0
 aGUgbWFpbCBzdGlsbCBsb29rcyBmdW5reSB3aGVuIGFycml2aW5nIHRvIHRoZSBQUi4gTWF5IGJl
 IG91cgpFeGNoYW5nZSBkb2luZyBzb21ldGhpbmcgdG8gaXQgb24gdGhlIHdheS4uLgoKL0sKCj4g
 Cj4gLS0gCj4gTWlrb2xhaiBHb2x1YgoKCgotLSAKCk1lZCBWw6RubGlnYSBIw6Rsc25pbmdhcgoK
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpLYXJsaSBTasO2YmVyZwpTd2VkaXNoIFVuaXZlcnNpdHkg
 b2YgQWdyaWN1bHR1cmFsIFNjaWVuY2VzIEJveCA3MDc5IChWaXNpdGluZyBBZGRyZXNzCktyb27D
 pXN2w6RnZW4gOCkKUy03NTAgMDcgVXBwc2FsYSwgU3dlZGVuClBob25lOiAgKzQ2LSgwKTE4LTY3
 IDE1IDY2CmthcmxpLnNqb2JlcmdAc2x1LnNlCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fClVzZXJzIG1haWxpbmcgbGlzdApVc2Vyc0BvdmlydC5vcmcKaHR0
 cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzCg==
>Unformatted:
