config.go 572 B

1234567891011121314151617181920212223242526272829
  1. package domainsocket
  2. import (
  3. "v2ray.com/core/common"
  4. "v2ray.com/core/common/net"
  5. "v2ray.com/core/transport/internet"
  6. )
  7. const protocolName = "domainsocket"
  8. func (c *Config) GetUnixAddr() (*net.UnixAddr, error) {
  9. path := c.Path
  10. if len(path) == 0 {
  11. return nil, newError("empty domain socket path")
  12. }
  13. if c.Abstract && path[0] != '\x00' {
  14. path = "\x00" + path
  15. }
  16. return &net.UnixAddr{
  17. Name: path,
  18. Net: "unix",
  19. }, nil
  20. }
  21. func init() {
  22. common.Must(internet.RegisterProtocolConfigCreatorByName(protocolName, func() interface{} {
  23. return new(Config)
  24. }))
  25. }