- err =
- clib_error_return_unix (0, "bind (fd %d, '%s')", s->fd, s->config);
- goto done;
+ int bind_ret;
+ if (sa->sa_family == AF_UNIX && s->allow_group_write)
+ {
+ mode_t def_restrictions = umask (S_IWOTH);
+ bind_ret = bind (s->fd, sa, addr_len);
+ umask (def_restrictions);
+ }
+ else
+ bind_ret = bind (s->fd, sa, addr_len);
+
+ if (bind_ret < 0)
+ {
+ err = clib_error_return_unix (0, "bind (fd %d, '%s')", s->fd,
+ s->config);
+ goto done;
+ }