diff --git a/doc/guix.texi b/doc/guix.texi index 87147802b3..ee9f80ef4d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/guix/store.scm b/guix/store.scm index 9b4c65532e..d1a4c67ae8 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -383,6 +383,10 @@ (define (open-unix-domain-socket file) (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 @@ (define connect (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.