Annotation of embedaddon/miniupnpd/pf/testobsdrdr.c, revision 1.1.1.1

1.1       misho       1: /* $Id: testobsdrdr.c,v 1.19 2010/03/07 09:25:20 nanard Exp $ */
                      2: /* MiniUPnP project
                      3:  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
                      4:  * (c) 2006-2010 Thomas Bernard 
                      5:  * This software is subject to the conditions detailed
                      6:  * in the LICENCE file provided within the distribution */
                      7: 
                      8: #include <stdio.h>
                      9: #include <sys/types.h>
                     10: #include <netinet/in.h>
                     11: #include <syslog.h>
                     12: 
                     13: #include "obsdrdr.h"
                     14: 
                     15: /*int logpackets = 1;*/
                     16: int runtime_flags = 0;
                     17: const char * tag = 0;
                     18: 
                     19: void
                     20: list_rules(void);
                     21: 
                     22: void
                     23: test_index(void)
                     24: {
                     25:        char ifname[16/*IFNAMSIZ*/];
                     26:        char iaddr[32];
                     27:        char desc[64];
                     28:        unsigned short iport = 0;
                     29:        unsigned short eport = 0;
                     30:        int proto = 0;
                     31:        ifname[0] = '\0';
                     32:        iaddr[0] = '\0';
                     33:        if(get_redirect_rule_by_index(0, ifname, &eport, iaddr, sizeof(iaddr),
                     34:                                      &iport, &proto, desc, sizeof(desc),
                     35:                                   0, 0) < 0)
                     36:        {
                     37:                printf("get.._by_index : no rule\n");
                     38:        }
                     39:        else
                     40:        {
                     41:                printf("%s %u -> %s:%u proto %d\n", ifname, (unsigned int)eport,
                     42:                       iaddr, (unsigned int)iport, proto);
                     43:                printf("description: \"%s\"\n", desc);
                     44:        }
                     45: }
                     46: 
                     47: int
                     48: main(int arc, char * * argv)
                     49: {
                     50:        char buf[32];
                     51:        char desc[64];
                     52:        unsigned short iport;
                     53:        u_int64_t packets = 0;
                     54:        u_int64_t bytes = 0;
                     55: 
                     56:        openlog("testobsdrdr", LOG_PERROR, LOG_USER);
                     57:        if(init_redirect() < 0)
                     58:        {
                     59:                fprintf(stderr, "init_redirect() failed\n");
                     60:                return 1;
                     61:        }
                     62:        //add_redirect_rule("ep0", 12123, "192.168.1.23", 1234);
                     63:        //add_redirect_rule2("ep0", 12155, "192.168.1.155", 1255, IPPROTO_TCP);
                     64:        //add_redirect_rule2("ep0", 12123, "192.168.1.125", 1234,
                     65:        //                   IPPROTO_UDP, "test description");
                     66:        //add_redirect_rule2("em0", 12123, "127.1.2.3", 1234,
                     67:        //                   IPPROTO_TCP, "test description tcp");
                     68: 
                     69:        list_rules();
                     70: 
                     71:        if(get_redirect_rule("xl1", 4662, IPPROTO_TCP,
                     72:                             buf, 32, &iport, desc, sizeof(desc),
                     73:                             &packets, &bytes) < 0)
                     74:                printf("get_redirect_rule() failed\n");
                     75:        else
                     76:        {
                     77:                printf("\n%s:%d '%s' packets=%llu bytes=%llu\n", buf, (int)iport, desc,
                     78:                       packets, bytes);
                     79:        }
                     80: #if 0
                     81:        if(delete_redirect_rule("ep0", 12123, IPPROTO_UDP) < 0)
                     82:                printf("delete_redirect_rule() failed\n");
                     83:        else
                     84:                printf("delete_redirect_rule() succeded\n");
                     85: 
                     86:        if(delete_redirect_rule("ep0", 12123, IPPROTO_UDP) < 0)
                     87:                printf("delete_redirect_rule() failed\n");
                     88:        else
                     89:                printf("delete_redirect_rule() succeded\n");
                     90: #endif
                     91:        //test_index();
                     92: 
                     93:        //clear_redirect_rules();
                     94:        //list_rules();
                     95: 
                     96:        return 0;
                     97: }
                     98: 
                     99: 

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