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

1.1     ! misho       1: /* $Id: upnppermissions.h,v 1.7 2007/02/28 18:13:18 nanard Exp $ */
        !             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: 
        !             8: #ifndef __UPNPPERMISSIONS_H__
        !             9: #define __UPNPPERMISSIONS_H__
        !            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: 

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