GNU logs - #36340, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#36340: Test failures when networking is disabled
Resent-From: Cyprien Nicolas <cyprien@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sun, 23 Jun 2019 11:45:02 +0000
Resent-Message-ID: <handler.36340.B.156129028221710 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 36340
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 36340 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.156129028221710
          (code B ref -1); Sun, 23 Jun 2019 11:45:02 +0000
Received: (at submit) by debbugs.gnu.org; 23 Jun 2019 11:44:42 +0000
Received: from localhost ([127.0.0.1]:52932 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hf0vJ-0005e5-LV
	for submit <at> debbugs.gnu.org; Sun, 23 Jun 2019 07:44:41 -0400
Received: from lists.gnu.org ([209.51.188.17]:55858)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vG-0005dx-Mr
 for submit <at> debbugs.gnu.org; Sun, 23 Jun 2019 07:44:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37432)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vF-0006yC-Is
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:38 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vE-0003tB-H6
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:37 -0400
Received: from cubran.fulax.net ([2a03:7220:8081:7e00::1]:53452)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vE-0003Wk-2J
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:36 -0400
Received: from [192.168.1.9] (static-176-139-30-77.ftth.abo.bbox.fr
 [176.139.30.77])
 by cubran.fulax.net (Postfix) with ESMTPSA id 0CA319600B
 for <bug-guile@HIDDEN>; Sun, 23 Jun 2019 11:44:27 +0000 (UTC)
Authentication-Results: cubran.fulax.net; dmarc=none header.from=nicolas.tf
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nicolas.tf; s=beta;
 t=1561290267; bh=XD1LbDW/ykmKAV3U7Xg6rBb0GpktVd0mVm+eiS2WYSE=;
 h=To:From:Subject:Date:From;
 b=fEeSn0A35Qb+N2s49gtBv3ce0/W2r3XYpAJyez03UVnNd6EfQMmAgFRVAKngRqPV1
 y2cBXWdq4DMjIILzb0Ur+/xDLbL2MEgMTJBfpKNoD2It3In4ekUU2OpdlBvmHA27sH
 PEMdu/pVQf/7IkTU/U7bjTWDCt1wupaNwgNXEAQ0c3pNdj+ZAFzzFVYiZjQdfudUk1
 Y2WVCCnuYrMW8WgECyvdmhdjM+mLBsLhk1CCQ6zDjnjfOiRC8GSX+e+Rjz2R04LBaP
 8BMiFyEMWSmR6AlSZvB0NZ4qol98fyK6qQGGzot28mGBJFlpz4PQ4Hz0962VkNWxkE
 0x7wAQHgo86DmeAhGUirk7yHNNPgi1N+WNrqV1yN9dp2xxWIpVRWsRe5q0gSuF37wQ
 APCllYOF8+rOJBeVyinvZo+AyJ522aX+9bB3Fb1cWsG4zN+gia4Mmv0/PdmqpnpbLT
 qDtgEQv4nJVKt41KIoeRdhdIZ/krMwJ/lsAzS45FFdn5SlznYKS2coZ0Nthc/MuMPv
 Zvagk0MEhAZlI01Kkyx6wgzcAbX6NENlwGA+WzBZmeaBpGeZHwR4bt1B+nSMEuW6Yf
 fLWBW/zBRCGaBCYXLVAJDDu7SzfApoRFRE8+mgvqz6rVjNLT4RPEcFMqsgZrLt6skk
 qINpGGgvKV5vV9D02VToEnFw=
From: Cyprien Nicolas <cyprien@HIDDEN>
Message-ID: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
Date: Sun, 23 Jun 2019 13:44:26 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2a03:7220:8081:7e00::1
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Hello,

Guile's configure script offers an option to disable networking support,
but when disabled, some test won't pass.

-----8<-----8<-----8<-----8<-----8<-----
Running 00-repl-server.test
ERROR: 00-repl-server.test: repl-server: simple expression - arguments:
((unbound-variable #f "Unbound variable: ~S" (make-socket-address) #f))
ERROR: 00-repl-server.test: repl-server: HTTP inter-protocol attack -
arguments: ((unbound-variable #f "Unbound variable: ~S"
(make-socket-address) #f))
----->8----->8----->8----->8----->8-----

The error is obviously related to the configure option. I have a patch
for catching unbound-variable and throw unresolved instead, tested on
2.2 and 2.0 branches. Reference: https://bugs.gentoo.org/629004

That patch is enough for stable-2.0 but there is another failure in
suspendable-ports in 2.2.5, as the suspendable-ports ice-9 module
overrides accept and connect functions, missing when networking is disabled.

-----8<-----8<-----8<-----8<-----8<-----
$ guile-2.2
GNU Guile 2.2.5
Copyright (C) 1995-2019 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (use-modules (ice-9 suspendable-ports))
While compiling expression:
In procedure public-lookup: No variable bound to accept in module (guile)
----->8----->8----->8----->8----->8-----

Is guile configured with --disable-networking still a supported
configuration?

Thanks,
Cyprien




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Cyprien Nicolas <cyprien@HIDDEN>
Subject: bug#36340: Acknowledgement (Test failures when networking is
 disabled)
Message-ID: <handler.36340.B.156129028221710.ack <at> debbugs.gnu.org>
References: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
X-Gnu-PR-Message: ack 36340
X-Gnu-PR-Package: guile
Reply-To: 36340 <at> debbugs.gnu.org
Date: Sun, 23 Jun 2019 11:45:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 36340 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
36340: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36340
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#36340: Test failures when networking is disabled
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Mon, 24 Jun 2019 12:36:01 +0000
Resent-Message-ID: <handler.36340.B36340.156137975215925 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 36340
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Cyprien Nicolas <cyprien@HIDDEN>
Cc: 36340 <at> debbugs.gnu.org
Received: via spool by 36340-submit <at> debbugs.gnu.org id=B36340.156137975215925
          (code B ref 36340); Mon, 24 Jun 2019 12:36:01 +0000
Received: (at 36340) by debbugs.gnu.org; 24 Jun 2019 12:35:52 +0000
Received: from localhost ([127.0.0.1]:55755 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hfOCN-00048n-On
	for submit <at> debbugs.gnu.org; Mon, 24 Jun 2019 08:35:52 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46802)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1hfOCL-00048W-CP
 for 36340 <at> debbugs.gnu.org; Mon, 24 Jun 2019 08:35:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36550)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1hfOCF-0006Os-1G; Mon, 24 Jun 2019 08:35:43 -0400
Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=43584 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1hfOC8-0001v7-QL; Mon, 24 Jun 2019 08:35:38 -0400
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
References: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
Date: Mon, 24 Jun 2019 14:35:35 +0200
In-Reply-To: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN> (Cyprien
 Nicolas's message of "Sun, 23 Jun 2019 13:44:26 +0200")
Message-ID: <878strb1pk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Cyprien!  :-)

Cyprien Nicolas <cyprien@HIDDEN> skribis:

> Is guile configured with --disable-networking still a supported
> configuration?

In theory yes, but as you found out, it=E2=80=99s not well tested.

The way we=E2=80=99d normally addressing in the test suite is by testing:

  (provided? 'socket)

and/or:

  (provided? 'net-db)

and throwing to unresolved or skipping tests altogether.

Would you like to propose a patch that does that for all the instances
that you found?

Thanks!

Ludo=E2=80=99.




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#36340: Test failures when networking is disabled
Resent-From: Cyprien Nicolas <cyprien@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sun, 07 Jul 2019 13:27:01 +0000
Resent-Message-ID: <handler.36340.B36340.156250601117042 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 36340
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Cc: 36340 <at> debbugs.gnu.org
Received: via spool by 36340-submit <at> debbugs.gnu.org id=B36340.156250601117042
          (code B ref 36340); Sun, 07 Jul 2019 13:27:01 +0000
Received: (at 36340) by debbugs.gnu.org; 7 Jul 2019 13:26:51 +0000
Received: from localhost ([127.0.0.1]:56313 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hk7Br-0004Qn-71
	for submit <at> debbugs.gnu.org; Sun, 07 Jul 2019 09:26:51 -0400
Received: from cubran.fulax.net ([91.224.149.126]:35629 ident=cubran)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cyprien@HIDDEN>) id 1hk7Bo-0004Qf-Qs
 for 36340 <at> debbugs.gnu.org; Sun, 07 Jul 2019 09:26:50 -0400
Received: from [192.168.1.9] (static-176-139-30-77.ftth.abo.bbox.fr
 [176.139.30.77])
 by cubran.fulax.net (Postfix) with ESMTPSA id D8D8596036;
 Sun,  7 Jul 2019 13:26:46 +0000 (UTC)
Authentication-Results: cubran.fulax.net; dmarc=none header.from=nicolas.tf
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nicolas.tf; s=beta;
 t=1562506006; bh=ufkNouHpgWpyT5SNdrFgkqk08lrDu7axUioZb99toyM=;
 h=Subject:To:Cc:References:From:Date:In-Reply-To:From;
 b=HuOvKuILaEc5bs+Ir2kNlA0pCO3wwVdz+zRFC7sa10XiTAld91SJhfw3oCMRzeEsz
 2hW1fjFOkYpGkT8Z7slH272TbzA+vOqLtvK6mU9e4pBvy/UfHRZUreayjYb57rGopT
 5M3mOLeaeJ5V1PPk/scNhWe9HQ8EOAo6xUMxLXHEHGvfp0p+kdBtXvF58Jcw2UEhqp
 7NSnZRGVHkCOOwdLZzPvav0DX8tqiBsSu2ksq8QqVQJYoOKOyO8LU5Mfq9WjSjFsY7
 bSRnMxRqmkZW9EZlrNF6WvdyVTIp+RTLoSl06nJeyKwHOQZOf9MELJgOOKYnsWk6Zf
 s26I5TV6NpZQgRq1uYctNwXFnxGhra2903/cr68XNRoPn6Y21xaSbAIdRcRP3Nv/NV
 jOjzx8MNIEhF2q/KinL7tAmze24nwAGpbbhebRckFAsH3DibrqIFDVpKkczfyEd0mg
 PSV8k/CLIJM9z7d8LxlJd1CSNKQ5QwnBFXGrGPSnmmURRwphm8Xi/4rmOAJHm3/4aD
 WM72T17TAu9oEtKydp+q4EW+bgXNJAuZAKH2ve0YL62j42hcFxXv6/Rt9w0rQkJ0xs
 Qmjff43jARfArt8nvNv6a8hMdiWSQ+/Jd0QsrKGnJF9QCzQcTQYm8SX1rB8QQOBuxX
 wIxbw7M6SXkrb9HtCdiYQi1g=
References: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
 <878strb1pk.fsf@HIDDEN>
From: Cyprien Nicolas <cyprien@HIDDEN>
Message-ID: <7983c7cd-8c1c-3d8e-f35e-6204880ffb4f@HIDDEN>
Date: Sun, 7 Jul 2019 15:26:46 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.1
MIME-Version: 1.0
In-Reply-To: <878strb1pk.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------60E7FB9D4C5D81126F01399E"
Content-Language: en-US
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This is a multi-part message in MIME format.
--------------60E7FB9D4C5D81126F01399E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/06/2019 14:35, Ludovic Courtès wrote:
> Hi Cyprien!  :-)
> 
> Cyprien Nicolas <cyprien@HIDDEN> skribis:
> 
>> Is guile configured with --disable-networking still a supported
>> configuration?
> 
> In theory yes, but as you found out, it’s not well tested.
> 
> The way we’d normally addressing in the test suite is by testing:
> 
>    (provided? 'socket)
> 
> and/or:
> 
>    (provided? 'net-db)
> 
> and throwing to unresolved or skipping tests altogether.
> 
> Would you like to propose a patch that does that for all the instances
> that you found?

Do you mean also harmonizing current tests that uses

     (memq 'socket *features*) ; web-uri.test

and/or

     (defined? 'AF_INET) ; 00-socket.test

or only fixing failing ones?

The attached path mimics net-db.test style for skipping tests for
00-repl-server.test (I hope the indentation is correct).

However, we still have the ice-9 suspendable-ports module issue which
compiles fine but fails to load (actually not related to tests).

Thanks,

--------------60E7FB9D4C5D81126F01399E
Content-Type: text/x-patch;
 name="guile-tests-00-repl-server.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="guile-tests-00-repl-server.patch"

--- guile-2.2.6/test-suite/tests/00-repl-server.test.old	2017-04-14 23:26:40.000000000 +0200
+++ guile-2.2.6/test-suite/tests/00-repl-server.test	2019-07-07 15:14:59.681831790 +0200
@@ -105,47 +105,48 @@
 ;;; Since we call 'primitive-fork', these tests must run before any
 ;;; tests that create threads.
 
-(with-test-prefix "repl-server"
+(if (provided? 'socket)
+    (with-test-prefix "repl-server"
 
-  (pass-if-equal "simple expression"
-      "scheme@(repl-server)> $1 = 42\n"
-    (with-repl-server socket
-      (read-until-prompt socket %last-line-before-prompt)
-
-      ;; Wait until 'repl-reader' in boot-9 has written the prompt.
-      ;; Otherwise, if we write too quickly, 'repl-reader' checks for
-      ;; 'char-ready?' and doesn't print the prompt.
-      (match (select (list socket) '() (list socket) 3)
-        (((_) () ())
-         (display "(+ 40 2)\n(quit)\n" socket)
-         (read-string socket)))))
-
-  (pass-if "HTTP inter-protocol attack"           ;CVE-2016-8606
-    (with-repl-server socket
-      ;; Avoid SIGPIPE when the server closes the connection.
-      (sigaction SIGPIPE SIG_IGN)
-
-      (read-until-prompt socket %last-line-before-prompt)
-
-      ;; Simulate an HTTP inter-protocol attack.
-      (write-request (build-request (string->uri "http://localhost"))
-                     socket)
-
-      ;; Make sure the server reacts by closing the connection.  If it
-      ;; fails to do that, this test hangs.
-      (catch 'system-error
-        (lambda ()
-          (let loop ((n 0))
-            (display "(+ 40 2)\n(quit)\n" socket) ;trigger EPIPE
-            (read-string socket)
-            (if (> n 5)
-                #f                                ;failure
-                (begin
-                  (sleep 1)
-                  (loop (+ 1 n))))))
-        (lambda args
-          (->bool (memv (system-error-errno args)
-                        (list ECONNRESET EPIPE ECONNABORTED))))))))
+      (pass-if-equal "simple expression"
+          "scheme@(repl-server)> $1 = 42\n"
+        (with-repl-server socket
+          (read-until-prompt socket %last-line-before-prompt)
+
+          ;; Wait until 'repl-reader' in boot-9 has written the prompt.
+          ;; Otherwise, if we write too quickly, 'repl-reader' checks for
+          ;; 'char-ready?' and doesn't print the prompt.
+          (match (select (list socket) '() (list socket) 3)
+            (((_) () ())
+             (display "(+ 40 2)\n(quit)\n" socket)
+             (read-string socket)))))
+
+      (pass-if "HTTP inter-protocol attack"           ;CVE-2016-8606
+        (with-repl-server socket
+          ;; Avoid SIGPIPE when the server closes the connection.
+          (sigaction SIGPIPE SIG_IGN)
+
+          (read-until-prompt socket %last-line-before-prompt)
+
+          ;; Simulate an HTTP inter-protocol attack.
+          (write-request (build-request (string->uri "http://localhost"))
+                         socket)
+
+          ;; Make sure the server reacts by closing the connection.  If it
+          ;; fails to do that, this test hangs.
+          (catch 'system-error
+            (lambda ()
+              (let loop ((n 0))
+                (display "(+ 40 2)\n(quit)\n" socket) ;trigger EPIPE
+                (read-string socket)
+                (if (> n 5)
+                    #f                                ;failure
+                    (begin
+                      (sleep 1)
+                      (loop (+ 1 n))))))
+            (lambda args
+              (->bool (memv (system-error-errno args)
+                            (list ECONNRESET EPIPE ECONNABORTED)))))))))
 
 ;;; Local Variables:
 ;;; eval: (put 'with-repl-server 'scheme-indent-function 1)

--------------60E7FB9D4C5D81126F01399E--





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.