flexnbd-proxy: Add UNIX socket support for the listen address
This commit is contained in:
17
src/parse.c
17
src/parse.c
@@ -8,6 +8,7 @@ int atoi(const char *nptr);
|
||||
((x) >= 'A' && (x) <= 'F' ) || \
|
||||
(x) == ':' || (x) == '.' \
|
||||
)
|
||||
|
||||
/* FIXME: should change this to return negative on error like everything else */
|
||||
int parse_ip_to_sockaddr(struct sockaddr* out, char* src)
|
||||
{
|
||||
@@ -47,6 +48,22 @@ int parse_ip_to_sockaddr(struct sockaddr* out, char* src)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int parse_to_sockaddr(struct sockaddr* out, char* address)
|
||||
{
|
||||
struct sockaddr_un* un = (struct sockaddr_un*) out;
|
||||
|
||||
NULLCHECK( address );
|
||||
|
||||
if ( address[0] == '/' ) {
|
||||
un->sun_family = AF_UNIX;
|
||||
strncpy( un->sun_path, address, 108 ); /* FIXME: linux only */
|
||||
return 1;
|
||||
}
|
||||
|
||||
return parse_ip_to_sockaddr( out, address );
|
||||
}
|
||||
|
||||
int parse_acl(struct ip_and_mask (**out)[], int max, char **entries)
|
||||
{
|
||||
struct ip_and_mask* list;
|
||||
|
Reference in New Issue
Block a user