|
Network Block Device
@PACKAGE_VERSION@
|
#include "config.h"#include "nbd-debug.h"#include <nbdsrv.h>#include <assert.h>#include <ctype.h>#include <netdb.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <syslog.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <sys/socket.h>#include <treefiles.h>#include "backend.h"#include <sys/mount.h>#include <cliserv.h>Go to the source code of this file.
Macros | |
| #define | LINELEN 256 |
| Size of static buffer used to read the authorization file (yuck) More... | |
Functions | |
| bool | address_matches (const char *mask, const struct sockaddr *addr, GError **err) |
| Check whether a given address matches a given netmask. More... | |
| uint8_t | getmaskbyte (int masklen) |
| Gets a byte to allow for address masking. More... | |
| int | authorized_client (CLIENT *opts) |
| Check whether a client is allowed to connect. More... | |
| SERVER * | dup_serve (const SERVER *const s) |
| duplicate server More... | |
| uint64_t | size_autodetect (int fhandle) |
| Detect the size of a file. More... | |
| int | exptrim (struct nbd_request *req, CLIENT *client) |
| Punch a hole in the backend file (if supported by the current system). More... | |
| void | myseek (int handle, off_t a) |
| seek to a position in a file, with error handling. More... | |
| #define LINELEN 256 |
| bool address_matches | ( | const char * | mask, |
| const struct sockaddr * | addr, | ||
| GError ** | err | ||
| ) |
Check whether a given address matches a given netmask.
| mask | the address or netmask to check against, in ASCII representation |
| addr | the address to check |
| int authorized_client | ( | CLIENT * | opts | ) |
Check whether a client is allowed to connect.
Works with an authorization file which contains one line per machine or network, with CIDR-style netmasks.
| opts | The client who's trying to connect. |
Definition at line 110 of file nbdsrv.c.
References msg.
Referenced by handle_modern_connection().
| int exptrim | ( | struct nbd_request * | req, |
| CLIENT * | client | ||
| ) |
Punch a hole in the backend file (if supported by the current system).
| req | the request for which this is being processed |
| client | the client for which we're processing this request |
Definition at line 237 of file nbdsrv.c.
Referenced by handle_trim(), and mainloop().
| uint8_t getmaskbyte | ( | int | masklen | ) |
Gets a byte to allow for address masking.
| masklen | the length of the requested mask. |
Definition at line 98 of file nbdsrv.c.
Referenced by set_peername().
| void myseek | ( | int | handle, |
| off_t | a | ||
| ) |
seek to a position in a file, with error handling.
| handle | a filedescriptor |
| a | position to seek to |
Definition at line 289 of file nbdsrv.c.
References err().
Referenced by expread(), expwrite(), and open_treefile().
| uint64_t size_autodetect | ( | int | fhandle | ) |
Detect the size of a file.
| fhandle | An open filedescriptor |
Definition at line 196 of file nbdsrv.c.
Referenced by setupexport().
1.8.8