|
Monero
|
#include "config.h"#include <stdlib.h>#include <stdio.h>#include <string.h>#include <signal.h>#include <errno.h>#include <sys/time.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <netinet/in.h>#include <arpa/inet.h>#include <syslog.h>#include <ctype.h>#include <time.h>#include <sys/queue.h>#include <sys/stat.h>#include <sys/un.h>#include "getifaddr.h"#include "upnputils.h"#include "openssdpsocket.h"#include "daemonize.h"#include "codelength.h"#include "ifacewatch.h"#include "minissdpdtypes.h"#include "asyncsendto.h"
Classes | |
| struct | reqelem |
| struct | header |
| struct | device |
| struct | service |
Macros | |
| #define | LOG_PERROR 0 |
| #define | SET_MAX(max, x) |
| #define | MIN(x, y) |
| #define | HEADER_NT 0 |
| #define | HEADER_USN 1 |
| #define | HEADER_LOCATION 2 |
| #define | NTS_SSDP_ALIVE 1 |
| #define | NTS_SSDP_BYEBYE 2 |
| #define | NTS_SSDP_UPDATE 3 |
| #define | NOTIF_NEW 1 |
| #define | NOTIF_UPDATE 2 |
| #define | NOTIF_REMOVE 3 |
| #define | METHOD_MSEARCH 1 |
| #define | METHOD_NOTIFY 2 |
| #define | PORT 1900 |
| #define | XSTR(s) |
| #define | STR(s) |
| #define | UPNP_MCAST_ADDR "239.255.255.250" |
| #define | UPNP_MCAST_LL_ADDR "FF02::C" /* link-local */ |
| #define | UPNP_MCAST_SL_ADDR "FF05::C" /* site-local */ |
Functions | |
| LIST_HEAD (servicehead, service) | |
| LIST_HEAD (reqstructhead, reqelem) | |
| static int | write_buffer (struct reqelem *req) |
| static int | add_to_buffer (struct reqelem *req, const unsigned char *data, int len) |
| static int | write_or_buffer (struct reqelem *req, const unsigned char *data, int len) |
| static const char * | nts_to_str (int nts) |
| static int | updateDevice (const struct header *headers, time_t t) |
| static int | removeDevice (const struct header *headers) |
| static void | sendNotifications (int notif_type, const struct device *dev, const struct service *serv) |
| static void | SendSSDPMSEARCHResponse (int s, const struct sockaddr *sockname, const char *st, size_t st_len, const char *usn, const char *server, const char *location) |
| static void | processMSEARCH (int s, const char *st, size_t st_len, const struct sockaddr *addr) |
| static int | containsForbiddenChars (const unsigned char *p, int len) |
| static int | ParseSSDPPacket (int s, const char *p, ssize_t n, const struct sockaddr *addr, const char *searched_device) |
| static int | OpenUnixSocket (const char *path) |
| static ssize_t | processRequestSub (struct reqelem *req, const unsigned char *buf, ssize_t n) |
| void | processRequest (struct reqelem *req) |
| static void | sigterm (int sig) |
| static void | ssdpDiscover (int s, int ipv6, const char *search) |
| int | main (int argc, char **argv) |
Variables | |
| struct device * | devlist = 0 |
| unsigned int | upnp_bootid = 1 |
| unsigned int | upnp_configid = 1337 |
| struct lan_addr_list | lan_addrs |
| static volatile sig_atomic_t | quitting = 0 |
| #define HEADER_LOCATION 2 |
| #define HEADER_NT 0 |
| #define HEADER_USN 1 |
| #define LOG_PERROR 0 |
| #define METHOD_MSEARCH 1 |
| #define METHOD_NOTIFY 2 |
| #define MIN | ( | x, | |
| y ) |
| #define NOTIF_NEW 1 |
| #define NOTIF_REMOVE 3 |
| #define NOTIF_UPDATE 2 |
| #define NTS_SSDP_ALIVE 1 |
| #define NTS_SSDP_BYEBYE 2 |
| #define NTS_SSDP_UPDATE 3 |
| #define PORT 1900 |
| #define SET_MAX | ( | max, | |
| x ) |
| #define STR | ( | s | ) |
| #define UPNP_MCAST_ADDR "239.255.255.250" |
| #define UPNP_MCAST_LL_ADDR "FF02::C" /* link-local */ |
| #define UPNP_MCAST_SL_ADDR "FF05::C" /* site-local */ |
| #define XSTR | ( | s | ) |
|
static |
helper function. reject any non ASCII or non printable character.
| LIST_HEAD | ( | reqstructhead | , |
| reqelem | ) |
| LIST_HEAD | ( | servicehead | , |
| service | ) |
| int main | ( | int | argc, |
| char ** | argv ) |
|
static |
|
static |
|
static |
| void processRequest | ( | struct reqelem * | req | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
| struct device* devlist = 0 |
| struct lan_addr_list lan_addrs |
|
static |
| unsigned int upnp_bootid = 1 |
| unsigned int upnp_configid = 1337 |