Added control socket, doesn't do anything yet.

This commit is contained in:
mbloch
2012-05-18 18:44:34 +01:00
parent f5d8e740f8
commit b533e4e31c
4 changed files with 42 additions and 7 deletions

View File

@@ -14,10 +14,14 @@
void syntax()
{
fprintf(stderr,
"Syntax: flexnbd serve <IP address> <port> <file> [ip addresses ...]\n"
"Syntax: flexnbd serve <listen IP address> <port> <file> \\\n"
" [full path to control socket] \\\n"
" [allowed connection addresses ...]\n"
" flexnbd mirror <control socket> <dst IP address> <dst port>\n"
" flexnbd status <control socket>\n"
" flexnbd read <IP address> <port> <offset> <length> > data\n"
" flexnbd write <IP address> <port> <offset> <length> < data\n"
" flexnbd write <IP address> <port> <offset> <data file>\n"
" flexnbd write <IP address> <port> <offset> <file to write>\n"
);
exit(1);
}
@@ -102,7 +106,7 @@ void params_serve(
char* s_port,
char* s_file,
int acl_entries,
char** s_acl_entries
char** s_acl_entries /* first may actually be path to control socket */
)
{
int parsed;
@@ -120,6 +124,12 @@ void params_serve(
SERVER_ERROR("Couldn't parse server address '%s' (use 0 if "
"you want to bind to all IPs)", s_ip_address);
if (acl_entries > 0 && s_acl_entries[0][0] == '/') {
out->control_socket_name = s_acl_entries[0];
s_acl_entries++;
acl_entries--;
}
out->acl_entries = acl_entries;
parsed = parse_acl(&out->acl, acl_entries, s_acl_entries);
if (parsed != acl_entries)