store: Define a default port for TCP connections.

* guix/store.scm (%default-guix-port): New variable.
(connect-to-daemon)[connect]: Use it when (uri-port uri) is #f.
* doc/guix.texi (The Store): Mention the default port number.
This commit is contained in:
Ludovic Courtès 2017-06-19 17:50:28 +02:00 committed by Ludovic Courtès
parent 7ae97a4c3f
commit 5df1395a8d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 8 additions and 8 deletions

View File

@ -3770,8 +3770,8 @@ These are for Unix-domain sockets.
@item guix
These URIs denote connections over TCP/IP, without encryption nor
authentication of the remote host. The URI must always specify both the
host name and port number:
authentication of the remote host. The URI must specify the host name
and optionally a port number (by default port 44146 is used):
@example
guix://master.guix.example.org:1234

View File

@ -383,6 +383,10 @@
(connect s a)
s)))
(define %default-guix-port
;; Default port when connecting to a daemon over TCP/IP.
44146)
(define (open-inet-socket host port)
"Connect to the Unix-domain socket at HOST:PORT and return it. Raise a
'&nix-connection-error' upon error."
@ -446,12 +450,8 @@ name."
(open-unix-domain-socket (uri-path uri))))
('guix
(lambda (_)
(unless (uri-port uri)
(raise (condition (&nix-connection-error
(file (uri->string uri))
(errno EBADR))))) ;bah!
(open-inet-socket (uri-host uri) (uri-port uri))))
(open-inet-socket (uri-host uri)
(or (uri-port uri) %default-guix-port))))
((? symbol? scheme)
;; Try to dynamically load a module for SCHEME.
;; XXX: Errors are swallowed.