Annotation of embedaddon/miniupnpd/testupnppermissions.c, revision 1.1
1.1 ! misho 1: /* $Id: testupnppermissions.c,v 1.3 2009/09/14 15:24:46 nanard Exp $ */
! 2: /* (c) 2007-2009 Thomas Bernard
! 3: * MiniUPnP Project
! 4: * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
! 5: */
! 6: #include <stdio.h>
! 7: #include <string.h>
! 8: #include <syslog.h>
! 9: #include <sys/types.h>
! 10: #include <sys/socket.h>
! 11: #include <netinet/in.h>
! 12: #include <arpa/inet.h>
! 13: #include "upnppermissions.h"
! 14:
! 15: void
! 16: print_upnpperm(const struct upnpperm * p)
! 17: {
! 18: switch(p->type)
! 19: {
! 20: case UPNPPERM_ALLOW:
! 21: printf("allow ");
! 22: break;
! 23: case UPNPPERM_DENY:
! 24: printf("deny ");
! 25: break;
! 26: default:
! 27: printf("error ! ");
! 28: }
! 29: printf("%hu-%hu ", p->eport_min, p->eport_max);
! 30: printf("%s/", inet_ntoa(p->address));
! 31: printf("%s ", inet_ntoa(p->mask));
! 32: printf("%hu-%hu", p->iport_min, p->iport_max);
! 33: putchar('\n');
! 34: }
! 35:
! 36: int main(int argc, char * * argv)
! 37: {
! 38: int i, r;
! 39: struct upnpperm p;
! 40: if(argc < 2) {
! 41: fprintf(stderr, "Usage: %s \"permission line\" [...]\n", argv[0]);
! 42: fprintf(stderr, "Example: %s \"allow 1234 10.10.10.10/32 1234\"\n", argv[0]);
! 43: return 1;
! 44: }
! 45: openlog("testupnppermissions", LOG_PERROR, LOG_USER);
! 46: /* for(i=0; i<argc; i++)
! 47: printf("%2d '%s'\n", i, argv[i]); */
! 48: for(i=1; i<argc; i++) {
! 49: printf("%2d '%s'\n", i, argv[i]);
! 50: memset(&p, 0, sizeof(struct upnpperm));
! 51: r = read_permission_line(&p, argv[i]);
! 52: if(r==0) {
! 53: printf("Permission read successfully\n");
! 54: print_upnpperm(&p);
! 55: } else {
! 56: printf("Permission read failed, please check its correctness\n");
! 57: }
! 58: putchar('\n');
! 59: }
! 60: return 0;
! 61: }
! 62:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>