Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SERVER] Add function to parse x-www-form-urlencoded strings | Simon Rettberg | 2017-10-28 | 4 | -26/+126 |
| | | | | | | Use it to properly parse RPC queries. Will also come in handy when parsing POST body for calls that actually trigger any actions in the server (reload, alt-servers, ...) | ||||
* | [SERVER] Use picohttpparser from h2o | Simon Rettberg | 2017-10-26 | 4 | -48/+884 |
| | | | | | | | Simple and lean interface, no bloat, noice. Slighly modified to use a simple string struct for passing around strings that are not null terminated, instead of separate char* and length. | ||||
* | [SERVER] net: Simplify check for HTTP | Simon Rettberg | 2017-10-26 | 1 | -10/+11 |
| | | | | | Pretty loose guesswork, but preventing the false positives would not lead to any meaningful result anyways, so why bother. | ||||
* | [SERVER] Rename missing occurence of ret, possibly leading to infinite loop :( | Simon Rettberg | 2017-10-26 | 1 | -1/+1 |
| | |||||
* | [SERVER] uplink: Fix updating of global byte counter, fix incremental updates | Simon Rettberg | 2017-10-25 | 1 | -2/+7 |
| | | | | | Incremental updating of the global byte counter would only work when background replication is disabled. Fix this. | ||||
* | [SERVER] Only start reloading images if no other reload is in progress | Simon Rettberg | 2017-10-25 | 1 | -4/+12 |
| | |||||
* | [SERVER] Improve handling of byte stats counters | Simon Rettberg | 2017-10-25 | 3 | -19/+29 |
| | | | | Less writes to variables, more up-to-date values for uplinks. | ||||
* | [SERVER] Improve altserver handling and selection | Simon Rettberg | 2017-10-25 | 1 | -26/+41 |
| | | | | | | We order the list so that servers that fail are kept at the end of the list. This is so that when we fetch servers for RTT measurement, we're less likely to pick those. | ||||
* | [FUSE] Cache signalfd instances used in fuse read handler | Simon Rettberg | 2017-10-24 | 1 | -2/+43 |
| | | | | | | Previously, a fresh one was created and destroyed fo every read requests. This caused a lot of syscalls when reading. Now there's a simple cache of currently up to 6 signalfd. | ||||
* | [FUSE] Spacing; Don't check if server proto is newer than client | Simon Rettberg | 2017-10-24 | 1 | -3/+3 |
| | | | | | | | The server is always backwards compatible, and so should be the client. If support for an older version will not be kept up, MIN_SUPPORTED_{CLIENT,SERVER} will be increased accordingly so that the connection is dropped. | ||||
* | [FUSE] Fix type mismatch warnings | Simon Rettberg | 2017-10-24 | 3 | -18/+37 |
| | |||||
* | [SERVER] Initialize PRNG | Simon Rettberg | 2017-10-24 | 2 | -0/+2 |
| | |||||
* | [SERVER] Get rid of zlib dependency | Simon Rettberg | 2017-10-24 | 4 | -19/+649 |
| | | | | | | We only used it for CRC-32, so now the source tree includes a stripped down version of the crc32 code from the zlib project. | ||||
* | [SERVER] Fix types or add explicit casts everywhere we might have type ↵ | Simon Rettberg | 2017-10-24 | 16 | -110/+120 |
| | | | | conversion problems | ||||
* | [SERVER] Properly support passing negative values to timing_gets() | Simon Rettberg | 2017-10-20 | 1 | -1/+1 |
| | |||||
* | [SERVER] Mute signedness warning on 32bit | Simon Rettberg | 2017-10-20 | 1 | -2/+2 |
| | |||||
* | [SERVER] Use monotonic clock for measuring time | Simon Rettberg | 2017-10-19 | 10 | -74/+264 |
| | | | | | Introduces new shared source unit timing.[ch] Closes #3214 | ||||
* | [SERVER] More tweaks to alt-server selection wrt proxy cycles | Simon Rettberg | 2017-10-18 | 1 | -4/+9 |
| | | | | | This needs an overhaul; status needs to be moved from global alt-servers list to individual uplinks | ||||
* | [SERVER] Don't try to load metadata files as images; fix clang-analyzer ↵ | Simon Rettberg | 2017-10-18 | 2 | -15/+36 |
| | | | | false positives | ||||
* | [SERVER] Try to connect to different server if proxy cycle is detected | Simon Rettberg | 2017-10-17 | 4 | -9/+34 |
| | |||||
* | [*] Support hop-counting in request header, protocol version 3 | Simon Rettberg | 2017-10-17 | 10 | -45/+101 |
| | | | | | | | | | | | | | | We steal 8 bits from the request offset to count hops when requests get relayed by proxies. This still leaves plenty of bits for the offset (56 bits, supporting images of up to 72 petabytes). This is used to detect proxy cycles. The algorithm is not perfect but should prevent endless relays of the same request. This is backwards compatible to old clients and servers, as the server only ever sets the hopcount in relayed requests if the upstream server is using protocol version 3 or newer, and clients are automatically upwards compatible as there is practically no image larger than 74PB, so the newly introduced hop count field is always 0 even in requests from old clients. | ||||
* | [SERVER] rpc: Support querying storage size + available space | Simon Rettberg | 2017-10-11 | 4 | -9/+27 |
| | |||||
* | [KERNEL] version check to support pointer to backing_dev_info in request_queue | Simon Rettberg | 2017-10-09 | 1 | -0/+6 |
| | | | | | This changed in 4.11, see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc3b17cc8bf21307c7e076e7c778d5db756f7871 | ||||
* | [SERVER] Fix invalid pointer deref | Simon Rettberg | 2017-10-06 | 1 | -1/+1 |
| | |||||
* | [SERVER] rpc: Return a unique id generated at startup with each reply | Simon Rettberg | 2017-10-06 | 1 | -4/+19 |
| | |||||
* | [SERVER] Return client count when requesting stats but not client list | Simon Rettberg | 2017-10-06 | 2 | -4/+14 |
| | |||||
* | [SERVER] rpc: Fix bitmask calc for odd subnet sizes (not 8, 16, ...) | Simon Rettberg | 2017-10-04 | 1 | -1/+1 |
| | |||||
* | [SERVER] How about updating atime on connect? | Simon Rettberg | 2017-10-04 | 1 | -0/+3 |
| | |||||
* | [SERVER] Implement HTTP RPC that supports different queries and ACL | Simon Rettberg | 2017-10-01 | 5 | -45/+264 |
| | | | | | | | | | - ACL is defined in new file rpc.acl - Queries are still WIP, for now something like /query?q=stats&q=images /query?q=clients works, although the parsing is still ugly - Also supports HTTP keep-alive | ||||
* | [SERVER] Move includes from header to source unit | Simon Rettberg | 2017-10-01 | 2 | -2/+2 |
| | |||||
* | [SERVER] Helper function for loading line based space separated data from file | Simon Rettberg | 2017-10-01 | 3 | -34/+63 |
| | |||||
* | [*] constness for sock_sendAll params | Simon Rettberg | 2017-10-01 | 2 | -3/+3 |
| | |||||
* | [SERVER] Fix closing timeout reset, fix log messages | Simon Rettberg | 2017-09-08 | 2 | -1/+5 |
| | |||||
* | [SERVER] Refactor: Move client list to net.* and isolate | Simon Rettberg | 2017-09-07 | 8 | -247/+290 |
| | |||||
* | [SERVER] Implement closeUnusedFd config option | Simon Rettberg | 2017-09-02 | 4 | -0/+36 |
| | | | | | | | This will close the readFd of images that have no active clients after some idle period (1 hour currently). Prevents deleted images from taking up space until the server is shut down. | ||||
* | [*] Continue splitting #defines to clientconfig.h etc. | Simon Rettberg | 2017-09-02 | 10 | -35/+51 |
| | |||||
* | [SERVER] Split server-only defs from config.h to serverconfig.h | Simon Rettberg | 2017-08-26 | 8 | -32/+54 |
| | |||||
* | [SERVER] Change handling of nonworking images, check for size change | Simon Rettberg | 2017-08-24 | 1 | -77/+169 |
| | |||||
* | [SERVER] Fix status query on big endian | Simon Rettberg | 2017-08-21 | 1 | -4/+7 |
| | |||||
* | [SERVER] Make crclist handling endian-safe | Simon Rettberg | 2017-04-27 | 2 | -1/+9 |
| | |||||
* | [SERVER] Remove stray line | Simon Rettberg | 2017-04-27 | 1 | -1/+0 |
| | |||||
* | [SERVER] Fix image_load aswell... | Simon Rettberg | 2016-11-09 | 1 | -12/+12 |
| | |||||
* | [SERVER] Fix loading of rid-based images in vmdk legacy mode | Simon Rettberg | 2016-11-09 | 1 | -9/+8 |
| | |||||
* | [FUSE] Little more verbosity in some error msg | Simon Rettberg | 2016-11-09 | 1 | -1/+1 |
| | |||||
* | [KERNEL] PAGE_CACHE_SIZE -> PAGE_SIZE | Simon Rettberg | 2016-10-17 | 1 | -1/+1 |
| | | | | | | | These two have been the same all along and recently, the _CACHE variant has been removed (kernel 4.6). Switch to the non-CACHE version so build doesn't break on newer kernels. | ||||
* | SERVER_MAX_CLIENTS: 400 -> 4000 | konrad | 2016-07-19 | 1 | -1/+1 |
| | |||||
* | Added rudimentary benchmark tool. | Christian Klinger | 2016-07-15 | 6 | -0/+392 |
| | |||||
* | [SERVER] Bump debug lock tracking limits | Simon Rettberg | 2016-07-13 | 1 | -2/+2 |
| | |||||
* | [CLIENT] fix help output for closing a device | Jonathan Bauer | 2016-06-13 | 1 | -1/+1 |
| | |||||
* | [FUSE] Wait a little longer before switching via new approach | Simon Rettberg | 2016-03-23 | 1 | -8/+8 |
| |