unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* [PATCH] web: default to INADDR_ANY instead of INADDR_LOOPBACK
@ 2022-02-03  0:26 Aleix Conchillo Flaqué
  2022-02-03  7:25 ` Dr. Arne Babenhauserheide
  0 siblings, 1 reply; 2+ messages in thread
From: Aleix Conchillo Flaqué @ 2022-02-03  0:26 UTC (permalink / raw)
  To: guile-devel; +Cc: Aleix Conchillo Flaqué

Using INADDR_ANY instead of INADDR_LOOPBACK makes it convenient when
starting the web server inside containers without the need to having to
specify INADDR_ANY all the time. This is the default in most libraries
and languages.

This doesn't break backwards compatibility since INADDR_LOOPBACK is also
included in INADDR_ANY.

* doc/ref/web.texi (Web Server): update INADDR_LOOPBACK to INADDR_ANY
and related text.

* module/web/server/http.scm (http-open): default to INADDR_ANY for the
web server.
---
 doc/ref/web.texi           | 10 +++++-----
 module/web/server/http.scm |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/doc/ref/web.texi b/doc/ref/web.texi
index 93cd0214f..6b42b8ff6 100644
--- a/doc/ref/web.texi
+++ b/doc/ref/web.texi
@@ -1807,7 +1807,7 @@ socket, listening for request on that port.
 
 @deffn {HTTP Implementation} http [#:host=#f] @
                              [#:family=AF_INET] @
-                             [#:addr=INADDR_LOOPBACK] @
+                             [#:addr=INADDR_ANY] @
                              [#:port 8080] [#:socket]
 The default HTTP implementation.  We document it as a function with
 keyword arguments, because that is precisely the way that it is -- all
@@ -1815,7 +1815,7 @@ of the @var{open-params} to @code{run-server} get passed to the
 implementation's open function.
 
 @example
-;; The defaults: localhost:8080
+;; The defaults: any local IP on port 8080
 (run-server handler)
 ;; Same thing
 (run-server handler 'http '())
@@ -1866,9 +1866,9 @@ handler:
 (run-server hello-world-handler)
 @end example
 
-By default, the web server listens for requests on
-@code{localhost:8080}.  Visit that address in your web browser to
-test.  If you see the string, @code{Hello World!}, sweet!
+By default, the web server listens for requests on port @code{8080}.
+Visit @code{http://localhost:8080} in your web browser to test.  If you
+see the string, @code{Hello World!}, sweet!
 
 @subsubsection Inspecting the Request
 
diff --git a/module/web/server/http.scm b/module/web/server/http.scm
index 05bf46bf0..91354021c 100644
--- a/module/web/server/http.scm
+++ b/module/web/server/http.scm
@@ -1,6 +1,6 @@
 ;;; Web I/O: HTTP
 
-;; Copyright (C)  2010, 2011, 2012, 2015 Free Software Foundation, Inc.
+;; Copyright (C)  2010, 2011, 2012, 2015, 2022 Free Software Foundation, Inc.
 
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -61,7 +61,7 @@
                     (family AF_INET)
                     (addr (if host
                               (inet-pton family host)
-                              INADDR_LOOPBACK))
+                              INADDR_ANY))
                     (port 8080)
                     (socket (make-default-socket family addr port)))
   (listen socket 128)
-- 
2.35.1




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] web: default to INADDR_ANY instead of INADDR_LOOPBACK
  2022-02-03  0:26 [PATCH] web: default to INADDR_ANY instead of INADDR_LOOPBACK Aleix Conchillo Flaqué
@ 2022-02-03  7:25 ` Dr. Arne Babenhauserheide
  0 siblings, 0 replies; 2+ messages in thread
From: Dr. Arne Babenhauserheide @ 2022-02-03  7:25 UTC (permalink / raw)
  To: Aleix Conchillo Flaqué; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 813 bytes --]


Aleix Conchillo Flaqué <aconchillo@gmail.com> writes:

> Using INADDR_ANY instead of INADDR_LOOPBACK makes it convenient when
> starting the web server inside containers without the need to having to
> specify INADDR_ANY all the time. This is the default in most libraries
> and languages.
>
> This doesn't break backwards compatibility since INADDR_LOOPBACK is also
> included in INADDR_ANY.

I’d like to know whether there was a specific reason not to use it.

I prefer the new behavior (ANY), because it’s less surprising (it once
surprised me that it was different).

It might be an option to switch to IPV6 ANY instead to get a real ANY.
But there are different opinions about this.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-03  7:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-03  0:26 [PATCH] web: default to INADDR_ANY instead of INADDR_LOOPBACK Aleix Conchillo Flaqué
2022-02-03  7:25 ` Dr. Arne Babenhauserheide

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).