Electroneum
upnppermissions.h
Go to the documentation of this file.
1
/* $Id: upnppermissions.h,v 1.10 2014/03/07 10:43:29 nanard Exp $ */
2
/* MiniUPnP project
3
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4
* (c) 2006-2014 Thomas Bernard
5
* This software is subject to the conditions detailed
6
* in the LICENCE file provided within the distribution */
7
8
#ifndef UPNPPERMISSIONS_H_INCLUDED
9
#define UPNPPERMISSIONS_H_INCLUDED
10
11
#include <sys/types.h>
12
#include <sys/socket.h>
13
#include <netinet/in.h>
14
#include "config.h"
15
16
/* UPnP permission rule samples:
17
* allow 1024-65535 192.168.3.0/24 1024-65535
18
* deny 0-65535 192.168.1.125/32 0-65535 */
19
struct
upnpperm
{
20
enum
{
UPNPPERM_ALLOW
=1,
UPNPPERM_DENY
=2 }
type
;
21
/* is it an allow or deny permission rule ? */
22
u_short
eport_min
,
eport_max
;
/* external port range */
23
struct
in_addr
address
,
mask
;
/* ip/mask */
24
u_short
iport_min
,
iport_max
;
/* internal port range */
25
};
26
27
/* read_permission_line()
28
* returns: 0 line read okay
29
* -1 error reading line
30
*
31
* line sample :
32
* allow 1024-65535 192.168.3.0/24 1024-65535
33
* allow 22 192.168.4.33/32 22
34
* deny 0-65535 0.0.0.0/0 0-65535 */
35
int
36
read_permission_line
(
struct
upnpperm
* perm,
37
char
* p);
38
39
/* check_upnp_rule_against_permissions()
40
* returns: 0 if the upnp rule should be rejected,
41
* 1 if it could be accepted */
42
int
43
check_upnp_rule_against_permissions
(
const
struct
upnpperm
* permary,
44
int
n_perms,
45
u_short eport,
struct
in_addr
address
,
46
u_short iport);
47
48
#ifdef USE_MINIUPNPDCTL
49
void
50
write_permlist(
int
fd,
const
struct
upnpperm
* permary,
51
int
nperms);
52
#endif
53
54
#endif
55
upnpperm::eport_max
u_short eport_max
Definition:
upnppermissions.h:22
upnpperm::iport_max
u_short iport_max
Definition:
upnppermissions.h:24
upnpperm::iport_min
u_short iport_min
Definition:
upnppermissions.h:24
read_permission_line
int read_permission_line(struct upnpperm *perm, char *p)
upnpperm::UPNPPERM_ALLOW
Definition:
upnppermissions.h:20
upnpperm::eport_min
u_short eport_min
Definition:
upnppermissions.h:22
upnpperm::type
enum upnpperm::@16 type
upnpperm::mask
struct in_addr address mask
Definition:
upnppermissions.h:23
check_upnp_rule_against_permissions
int check_upnp_rule_against_permissions(const struct upnpperm *permary, int n_perms, u_short eport, struct in_addr address, u_short iport)
upnpperm
Definition:
upnppermissions.h:19
address
const char * address
Definition:
multisig.cpp:37
upnpperm::UPNPPERM_DENY
Definition:
upnppermissions.h:20
external
miniupnp
miniupnpd
upnppermissions.h
Generated on Sun Mar 10 2024 12:00:00 for Electroneum by
1.8.14