head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.162 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.160 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.158 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.156 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.154 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.152 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.150 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.148 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.146 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.144 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.142 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.140 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.138 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.136 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.134 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.132 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.130 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.128 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.126 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.124 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.122 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.120 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.118 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.114 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.94 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.116 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.112 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.110 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.108 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.106 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.104 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.102 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.100 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.98 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.96 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.92 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.90 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.88 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.86 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.84 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.82 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.80 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.78 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.76 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.74 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.72 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.70 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.68 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.66 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.64 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.62 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.60 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.58 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.56 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.54 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.52 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.50 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.48 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.46 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.44 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.42 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.40 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.38 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.5.0.36 pkgsrc-2010Q2-base:1.5 pkgsrc-2010Q1:1.5.0.34 pkgsrc-2010Q1-base:1.5 pkgsrc-2009Q4:1.5.0.32 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.30 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.28 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.5.0.26 pkgsrc-2009Q1-base:1.5 pkgsrc-2008Q4:1.5.0.24 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.22 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.20 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.18 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.16 pkgsrc-2008Q1:1.5.0.14 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.12 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.10 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.8 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.6 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.4 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.2 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.4.0.30 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.28 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.4.0.26 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.24 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.22 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.4.0.20 pkgsrc-2005Q1-base:1.4 pkgsrc-2004Q4:1.4.0.18 pkgsrc-2004Q4-base:1.4 pkgsrc-2004Q3:1.4.0.16 pkgsrc-2004Q3-base:1.4 pkgsrc-2004Q2:1.4.0.14 pkgsrc-2004Q2-base:1.4 pkgsrc-2004Q1:1.4.0.12 pkgsrc-2004Q1-base:1.4 pkgsrc-2003Q4:1.4.0.10 pkgsrc-2003Q4-base:1.4 netbsd-1-6-1:1.4.0.6 netbsd-1-6-1-base:1.4 netbsd-1-6:1.4.0.8 netbsd-1-6-RELEASE-base:1.4 pkgviews:1.4.0.4 pkgviews-base:1.4 buildlink2:1.4.0.2 buildlink2-base:1.4 netbsd-1-5-PATCH003:1.4 netbsd-1-5-PATCH001:1.4 netbsd-1-5-RELEASE:1.3 netbsd-1-4-PATCH003:1.3 netbsd-1-4-PATCH002:1.3 current19991226:1.1.1.1 FREEBSD:1.1.1; locks; strict; comment @# @; 1.5 date 2006.09.11.21.26.04; author cube; state Exp; branches; next 1.4; 1.4 date 2001.02.14.06.02.44; author itojun; state Exp; branches; next 1.3; 1.3 date 2000.01.21.05.11.22; author itojun; state Exp; branches; next 1.2; 1.2 date 99.12.26.18.39.02; author itojun; state Exp; branches; next 1.1; 1.1 date 99.12.26.18.35.40; author itojun; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 99.12.26.18.35.40; author itojun; state Exp; branches; next ; desc @@ 1.5 log @Update to version 1.5, by Shaun Amott in PR#34492. Changes since 1.4: * Converted to automake/autoconf for configuration, which should make it easier to extend portability. * Added support for checking multiple addresses in one invokation. * Added support for reading addresses to check from standard input, by specifying an argument of '-'. * Changed rbl.dorkslayers.com to relays.orbs.org, due to a change in management. @ text @$NetBSD: patch-aa,v 1.4 2001/02/14 06:02:44 itojun Exp $ --- rblcheck.c.orig Thu Nov 8 14:05:27 2001 +++ rblcheck.c Wed May 1 08:19:16 2002 @@@@ -28,8 +28,10 @@@@ #include #include #include +#include #include #include +#include /*-- PORTABILITY ------------------------------------------------------------*/ @@@@ -184,7 +186,7 @@@@ * domain. If "txt" is non-zero, we perform a TXT record lookup. We * return the text returned from a TXT match, or an empty string, on * a successful match, or NULL on an unsuccessful match. */ -char * rblcheck( int a, int b, int c, int d, char * rbldomain, int txt ) +char * rblcheck( struct in_addr a, char * rbldomain, int txt ) { char * domain; char * result = NULL; @@@@ -195,12 +197,15 @@@@ const u_char * cend; const u_char * rend; int len; + u_char *p; + int i, j; /* 16 characters max in a dotted-quad address, plus 1 for null */ domain = ( char * )malloc( 17 + strlen( rbldomain ) ); + p = (u_char *)&a; /* Create a domain name, in reverse. */ - sprintf( domain, "%d.%d.%d.%d.%s", d, c, b, a, rbldomain ); + sprintf( domain, "%d.%d.%d.%d.%s", p[3], p[2], p[1], p[0], rbldomain ); /* Make our DNS query. */ res_init(); @@@@ -242,8 +247,8 @@@@ cp = answer + sizeof( HEADER ); while( *cp != '\0' ) { - a = *cp++; - while( a-- ) + i = *cp++; + while( i-- ) cp++; } @@@@ -258,8 +263,8 @@@@ cp += ( NS_INT16SZ * 2 ) + NS_INT32SZ; /* Get the length and end of the buffer. */ - NS_GET16( c, cp ); - cend = cp + c; + NS_GET16( i, cp ); + cend = cp + i; /* Iterate over any multiple answers we might have. In this context, it's unlikely, but anyway. */ @@@@ -267,10 +272,10 @@@@ rend = result + RESULT_SIZE - 1; while( cp < cend && rp < rend ) { - a = *cp++; - if( a != 0 ) - for( b = a; b > 0 && cp < cend && rp < rend; - b-- ) + i = *cp++; + if( i != 0 ) + for( j = i; j > 0 && cp < cend && rp < rend; + j-- ) { if( *cp == '\n' || *cp == '"' || *cp == '\\' ) @@@@ -289,22 +294,39 @@@@ * RBL listing, handling output of results if necessary. */ int full_rblcheck( char * addr ) { - int a, b, c, d; + struct hostent *ent; + struct in_addr a; int count = 0; + int rblchecking = 0; char * response; struct rbl * ptr; + int fail; + int c; for( ptr = rblsites; ptr != NULL; ptr = ptr->next ) { - if( sscanf( addr, "%d.%d.%d.%d", &a, &b, &c, &d ) != 4 - || a < 0 || a > 255 || b < 0 || b > 255 || c < 0 || c > 255 - || d < 0 || d > 255 ) - { + fail = 0; + if ((ent = gethostbyname(addr)) != NULL) { + memcpy(&a, ent->h_addr_list[0], sizeof(a)); + if (ent->h_addr_list[1]) { + if (!quiet && rblchecking == 0) + fprintf(stderr, + "%s resolved to mutiple addresses: ", + addr); + } + if (!quiet && rblchecking++ == 0) + fprintf(stderr, "checking %s\n", inet_ntoa(a)); + } else { + if (!inet_aton(addr, &a)) + fail++; + } + + if (fail) { fprintf( stderr, "%s: warning: invalid address `%s'\n", progname, addr ); return 0; } - response = rblcheck( a, b, c, d, ptr->site, txt ); + response = rblcheck( a, ptr->site, txt ); if( !quiet || response ) printf( "%s %s%s%s%s%s%s", addr, ( !quiet && !response ? "not " : "" ), @ 1.4 log @sync RBL list with reality (MAPS: most went to mail-abuse.org, ORBS: inputs/outputs.orbs.org) @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.3 2000/01/21 05:11:22 itojun Exp $ d3 3 a5 3 --- rblcheck.c.orig Thu Aug 20 14:47:03 1998 +++ rblcheck.c Wed Feb 14 15:01:20 2001 @@@@ -79,6 +79,7 @@@@ d12 1 d14 3 a16 1 @@@@ -203,7 +204,7 @@@@ d25 1 a25 1 @@@@ -214,12 +215,15 @@@@ d42 1 a42 1 @@@@ -261,8 +265,8 @@@@ d53 1 a53 1 @@@@ -277,8 +281,8 @@@@ d64 1 a64 1 @@@@ -286,10 +290,10 @@@@ d79 3 a81 2 @@@@ -308,23 +312,30 @@@@ char **argv; a82 1 extern int optind; a83 1 + extern char *optarg; d86 2 a87 3 int quiet = 0; int txt = 0; int rblfiltered = 0; a88 1 struct rbl * rblsites = NULL; d93 20 a112 33 /* Add more sites you want in the default list of RBL-alike systems here. ### An easier way to change this is needed. ### */ - rblsites = togglesite( "rbl.maps.vix.com", rblsites ); - rblsites = togglesite( "rbl.dorkslayers.com", rblsites ); + rblsites = togglesite( "blackholes.mail-abuse.org", rblsites ); + rblsites = togglesite( "inputs.orbs.org", rblsites ); + rblsites = togglesite( "outputs.orbs.org", rblsites ); + rblsites = togglesite( "dialups.mail-abuse.org", rblsites ); + rblsites = togglesite( "relays.mail-abuse.org", rblsites ); progname = argv[ 0 ]; - while( ( a = getopt( argc, argv, "qtls:c?hv" ) ) != EOF ) - switch( a ) + while( ( c = getopt( argc, argv, "qtls:c?hv" ) ) != EOF ) + switch( c ) { case 'q': /* Quiet */ @@@@ -372,10 +383,20 @@@@ return -1; } - if( sscanf( argv[ optind ], "%d.%d.%d.%d", &a, &b, &c, &d ) != 4 || - a < 0 || a > 255 || b < 0 || b > 255 || c < 0 || c > 255 || - d < 0 || d > 255 ) - { + fail = 0; + if (ent = gethostbyname(argv[optind])) { + memcpy(&a, ent->h_addr_list[0], sizeof(a)); + if (ent->h_addr_list[1]) { + fprintf(stderr, "%s resolved to mutiple addresses: ", + argv[optind]); a113 5 + fprintf(stderr, "checking %s\n", inet_ntoa(a)); + } else { + if (!inet_aton(argv[optind], &a)) + fail++; + } d115 5 a119 8 + if (fail) { fprintf( stderr, "%s: invalid IP address\n", progname ); usage(); return -1; @@@@ -383,7 +404,7 @@@@ for( ptr = rblsites; ptr != NULL; ptr = ptr->next ) { d122 3 a124 3 printf( "%s%s%s%s%s%s", !quiet && !response ? "not " : "", !quiet ? "RBL filtered by " : "", !quiet ? ptr->site : "", txt && response && strlen( response ) && !quiet ? ": " : "", @ 1.3 log @add relays.mail-abuse.org to the list of checked domain names. @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.2 1999/12/26 18:39:02 itojun Exp $ d3 2 a4 2 --- rblcheck.c.orig Thu Aug 20 00:47:03 1998 +++ rblcheck.c Sun May 2 12:39:29 1999 d76 1 a76 1 @@@@ -308,23 +312,29 @@@@ d95 1 a95 1 rblsites = togglesite( "rbl.maps.vix.com", rblsites ); d97 4 a100 2 + rblsites = togglesite( "relays.orbs.org", rblsites ); + rblsites = togglesite( "dul.maps.vix.com", rblsites ); d112 1 a112 1 @@@@ -372,10 +381,20 @@@@ d137 1 a137 1 @@@@ -383,7 +402,7 @@@@ @ 1.2 log @sync with netbsd pkgsrc practice. @ text @d1 1 a1 1 $NetBSD$ d76 1 a76 1 @@@@ -308,23 +312,28 @@@@ d99 1 @ 1.1 log @Initial revision @ text @d1 2 @ 1.1.1.1 log @mail/rblcheck from freebsd-current @ text @@