Annotation of embedaddon/miniupnpd/upnppermissions.h, revision 1.1.1.2

1.1.1.2 ! misho       1: /* $Id: upnppermissions.h,v 1.9 2012/09/27 16:00:10 nanard Exp $ */
1.1       misho       2: /* MiniUPnP project
                      3:  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
                      4:  * (c) 2006 Thomas Bernard
                      5:  * This software is subject to the conditions detailed
                      6:  * in the LICENCE file provided within the distribution */
                      7: 
1.1.1.2 ! misho       8: #ifndef UPNPPERMISSIONS_H_INCLUDED
        !             9: #define UPNPPERMISSIONS_H_INCLUDED
1.1       misho      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 :
1.1.1.2 ! misho      32:  *  allow 1024-65535 192.168.3.0/24 1024-65535
1.1       misho      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: 
1.1.1.2 ! misho      39: /* check_upnp_rule_against_permissions()
1.1       misho      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: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>