Alex Young
8825f86726
Merge
2012-06-11 13:49:56 +01:00
Alex Young
b5427d13db
Explicitly check for which fd is acceptable in server_accept
2012-06-11 13:49:35 +01:00
nick
893db71d7c
Whitespace
2012-06-11 13:05:22 +01:00
nick
224bdcbf87
Fix handling ACLs where > 1 entry exists
2012-06-11 12:56:45 +01:00
Matthew Bloch
e8b5fae7ab
Merge, just renaming old error macros.
2012-06-09 02:37:23 +01:00
Matthew Bloch
b546539ab8
Rewrote error & log functions to be more general, use longjmp to get out of
...
trouble and into predictable cleanup functions (one for each of serve,
client & control contexts). We use 'fatal' to mean 'kill the thread' and
'error' to mean 'don't kill the thread', assuming some recovery action,
except I don't use error anywhere yet.
2012-06-09 02:25:12 +01:00
Alex Young
b7096ef908
Audit client connections on acl update
2012-06-08 18:03:41 +01:00
Alex Young
35ca93b42c
Lock around acl updates
2012-06-08 11:02:40 +01:00
Alex Young
f7e1a098b1
Move updating the acl object into serve.c
...
* * *
Replacing the server acl sends an acl_updated signal
2012-06-08 10:32:33 +01:00
Alex Young
5fb0cd4cca
Fix O_NONBLOCK setting on self_pipes
2012-06-08 10:11:06 +01:00
Alex Young
2d9d00b636
Pull ACLs into their own struct
2012-06-07 17:47:43 +01:00
Alex Young
601e5b475a
Tidy the NULLCHECK macro to swallow semicolons properly
2012-06-07 16:00:38 +01:00
Alex Young
c628435f77
Fix an invalid define symbol
2012-06-07 15:59:13 +01:00
Alex Young
1cd8f4660f
Merge of doom
2012-06-07 14:40:55 +01:00
Alex Young
5930f25034
Use client stop signals for thread stopping
2012-06-07 14:25:30 +01:00
Matthew Bloch
40f0f9fab6
Big bit of debug output in write_not_zeroes (disabled).
2012-06-07 12:28:21 +01:00
Matthew Bloch
d763ab4e74
Fixed bug in bitset_run_count which was causing data corruptionn writing
...
around sparse boundaries.
2012-06-07 12:27:46 +01:00
Alex Young
a90f84972b
Add stop signals to client threads
2012-06-07 11:44:19 +01:00
Matthew Bloch
5710431780
Refactored write_not_zeroes to use struct bitset_mapping instead of
...
repeating all that code (has not fixed earlier bug yet, but lots of
repetition cut).
2012-06-07 11:17:02 +01:00
Matthew Bloch
9fc3c061f8
Fixed arguments to debug function.
2012-06-07 01:15:29 +01:00
Matthew Bloch
8cf1a515dd
Missing break; in switch statement (verbose was setting default deny!)
2012-06-07 00:01:11 +01:00
Alex Young
cfa9f9c71f
Fix the sense of client_serve_request
2012-06-06 14:25:35 +01:00
Alex Young
e8b47d5855
Remove the accept lock as being unneeded
2012-06-06 14:07:55 +01:00
Alex Young
1fc76ad77f
Merge
2012-06-06 13:44:49 +01:00
Alex Young
16001eb9eb
Move checking for a closed client out of server_lock_io and into client_serve_request
2012-06-06 13:44:38 +01:00
Alex Young
1b289a0e87
Change io lock and unlock to server error on failure
2012-06-06 13:29:13 +01:00
Alex Young
9dbc0a31a8
Better error message
2012-06-06 13:19:24 +01:00
Alex Young
339e766339
Use self_pipe for close_signal
2012-06-06 12:41:03 +01:00
nick
14c9468b68
Automated merge with ssh://dev/flexnbd-c
2012-06-06 12:35:18 +01:00
nick
7544a59da1
mirror: Add --bind to our mirror mode.
...
Mirroring doesn't actually work yet, of course.
2012-06-06 12:35:01 +01:00
nick
f4a403842d
flexnbd: Fix specifying -d as --default-deny on the command line
2012-06-06 12:07:40 +01:00
Alex Young
457987664a
Renamed struct client_params to struct client
2012-06-06 11:33:17 +01:00
Alex Young
40279bc9ca
Split client-specific code into client.{c,h}
2012-06-06 11:27:52 +01:00
Alex Young
d22471d195
Fix a \#define symbol
2012-06-06 10:55:50 +01:00
Alex Young
a80c5ce6b5
Moved sockaddr_address_data to serve.c and renamed params.h to serve.h
2012-06-06 10:45:07 +01:00
Alex Young
cc97dd4842
Rename control to control_fd and struct mode_serve_params to struct server
2012-06-06 10:35:50 +01:00
Alex Young
78b1879cab
Merge
2012-06-06 10:19:59 +01:00
Alex Young
059be22c27
Rename int server to int server_fd in mode_serve_params
2012-06-06 10:19:45 +01:00
nick
15513c03df
Remove a duplicated line due to the last merge
2012-06-06 10:05:12 +01:00
nick
682f3c70ef
Automated merge with ssh://dev/flexnbd-c
2012-06-06 10:03:46 +01:00
nick
3e0628e2fc
flexnbd: Re-add --sock to flexnbd mirror
2012-06-06 09:55:47 +01:00
nick
8a2fd06c31
flexnbd: Add --bind to flexnbd read and flexnbd write
2012-06-06 09:55:08 +01:00
Matthew Bloch
2245385117
Added msync() call after every write - not sure whether it's necessary yet.
2012-06-06 01:27:37 +01:00
Alex Young
d87d7a826f
Rename the 'debug' cli option 'verbose' and switch default-deny from 'D' to 'd'
2012-06-01 16:58:32 +01:00
Alex Young
8511cacb03
Make sure the -d short option is honoured
2012-06-01 16:47:34 +01:00
Alex Young
29937cdcf9
Merge
2012-06-01 16:25:41 +01:00
Alex Young
1ddb3bb609
Add a self_pipe set of convenience functions
2012-06-01 16:25:27 +01:00
Alex Young
91ab715659
Indentation fix
2012-06-01 16:24:50 +01:00
nick
b985e97098
Automated merge with ssh://dev/flexnbd-c
2012-06-01 14:51:43 +01:00
nick
04d67b3bab
acls: Add a default-deny option, which allows you to specify what an empty ACL means.
...
When this option is specified, an empty ACL means "reject all clients". Without it,
an empty ACL means "accept all clients"
2012-06-01 14:48:34 +01:00