Package: openvpn
Version: 2.4.3

Backtrace:
In srfi/srfi-1.scm:
   592:29 19 (map1 (#<<service> type: #<service-type nscd 3a8acc0?> ?))
   592:29 18 (map1 (#<<service> type: #<service-type guix 3a8ac00?> ?))
   592:29 17 (map1 (#<<service> type: #<service-type urandom-seed?> ?))
   592:29 16 (map1 (#<<service> type: #<service-type syslog 3a8ac?> ?))
   592:29 15 (map1 (#<<service> type: #<service-type static-netwo?> ?))
   592:29 14 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29 13 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29 12 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29 11 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29 10 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29  9 (map1 (#<<service> type: #<service-type mingetty 3a2?> ?))
   592:29  8 (map1 (#<<service> type: #<service-type console-font?> ?))
   592:17  7 (map1 (#<<service> type: #<service-type openvpn-clie?> ?))
In gnu/services/vpn.scm:
   409:24  6 (_ #<<openvpn-client-configuration> openvpn: #<package ?>)
    379:9  5 (openvpn-config-file client #<<openvpn-client-configura?>)
In ice-9/ports.scm:
    549:4  4 (call-with-output-string _)
    473:4  3 (with-output-to-port _ _)
In ice-9/boot-9.scm:
   268:13  2 (for-each #<procedure 534a100 at gnu/services/configur?> ?)
In gnu/services/vpn.scm:
   112:19  1 (serialize-tls-auth client #f)
In unknown file:
           0 (string-append #f " " "1")

ERROR: In procedure string-append:
ERROR: In procedure string-append: Wrong type (expecting string): #f



To have this error, I tried do build a vm-image using the openvpn service:
(service openvpn-client-service-type
  (openvpn-client-configuration
  (proto 'tcp)
  (ca "ca.crt")
  (cert "client.crt")
  (key "client.key")
))


Guix doesn't want to build the VM, because of the openvpn service. The problem is in the function serialize-tls-auth (line 110 of the file /gnu/services/vpn.scm). The function tries to concatenate a string with the input of the "tls_auth" field in openvpn_client_configuration. But by default this input's value is #f. Test function are implemented just after this one, but not used.

As I don't know what the function is supposed to return, I can't correct this.

I'm using Guix 0.13.0