cups service: fix client sockets
Use systemd to create the directory for UNIX socket. Also use localhost instead of 127.0.0.1 as is done in default cupsd.conf so that IPv6 is enabled when available.
This commit is contained in:
parent
34a37c5e94
commit
cf4c077343
@ -124,7 +124,7 @@ in
|
||||
|
||||
listenAddresses = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "127.0.0.1:631" ];
|
||||
default = [ "localhost:631" ];
|
||||
example = [ "*:631" ];
|
||||
description = ''
|
||||
A list of addresses and ports on which to listen.
|
||||
@ -321,7 +321,10 @@ in
|
||||
''}
|
||||
'';
|
||||
|
||||
serviceConfig.PrivateTmp = true;
|
||||
serviceConfig = {
|
||||
PrivateTmp = true;
|
||||
RuntimeDirectory = [ "cups" ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.cups-browsed = mkIf avahiEnabled
|
||||
|
@ -39,7 +39,9 @@ import ./make-test.nix ({pkgs, ... }: {
|
||||
$client->waitForUnit("cups.service");
|
||||
$client->sleep(10); # wait until cups is fully initialized
|
||||
$client->succeed("lpstat -r") =~ /scheduler is running/ or die;
|
||||
$client->succeed("lpstat -H") =~ "localhost:631" or die;
|
||||
# Test that UNIX socket is used for connections.
|
||||
$client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
|
||||
# Test that HTTP server is available too.
|
||||
$client->succeed("curl --fail http://localhost:631/");
|
||||
$client->succeed("curl --fail http://server:631/");
|
||||
$server->fail("curl --fail --connect-timeout 2 http://client:631/");
|
||||
|
Loading…
Reference in New Issue
Block a user