head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.2 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.2.0.182 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.180 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.178 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.176 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.174 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.172 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.170 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.168 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.166 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.164 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.162 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.160 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.158 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.156 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.154 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.152 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.150 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.148 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.146 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.144 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.142 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.140 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.136 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.116 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.138 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.134 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.132 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.130 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.128 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.126 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.124 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.122 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.120 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.118 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.114 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.112 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.110 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.108 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.106 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.104 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.102 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.100 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.98 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.96 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.94 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.92 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.90 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.88 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.86 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.84 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.82 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.80 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.78 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.76 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.74 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.72 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.70 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.68 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.66 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.64 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.62 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.60 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.58 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.56 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.54 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.52 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.50 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.48 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.46 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.44 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.42 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.40 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.38 pkgsrc-2008Q1:1.2.0.36 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.34 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.32 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.30 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.28 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.26 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.24 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.22 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.20 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.18 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.16 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.14 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.12 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.10 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.8 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.6 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.1.1.1.0.6 netbsd-1-6-1-base:1.1.1.1 netbsd-1-6:1.1.1.1.0.8 netbsd-1-6-RELEASE-base:1.1.1.1 pkgviews:1.1.1.1.0.4 pkgviews-base:1.1.1.1 buildlink2:1.1.1.1.0.2 buildlink2-base:1.1.1.1 netbsd-1-5-PATCH003:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2026.03.21.09.42.00; author nia; state Exp; branches; next 1.2; commitid K4hOueHoVZR9dPyG; 1.2 date 2003.04.07.15.01.22; author bouyer; state Exp; branches; next 1.1; 1.1 date 2002.01.10.14.06.31; author bouyer; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.01.10.14.06.31; author bouyer; state Exp; branches; next ; desc @@ 1.3 log @sdig: Fix build with recent GCC - Wrong number of arguments to function. This is problematic on all systems with GCC 14 or newer. - Incorrect header for bzero. This is problematic on non-BSD systems. @ text @$NetBSD: patch-ab,v 1.2 2003/04/07 15:01:22 bouyer Exp $ --- sdig.c.orig 2002-07-23 03:03:20.000000000 +0000 +++ sdig.c @@@@ -24,17 +24,23 @@@@ #include #include #include +#include #include -#include -#include +#include #include +#include +#include +#include +#include +#include + #include "sdig.h" #include "common.h" #include "snmpget.h" #include "version.h" -#define CONFIGFILE "/etc/sdig.conf" +#define CONFIGFILE PREFIX "/etc/sdig.conf" stype *firstsw = NULL; rtype *firstrt = NULL; @@@@ -114,7 +120,7 @@@@ static int findport(unsigned char *mac, /* build the OID for the mapping of MAC addresses to port numbers */ - snprintf(query, sizeof(query), "17.4.3.1.2.%u.%u.%u.%u.%u.%u", + snprintf(query, sizeof(query), ".1.3.6.1.2.1.17.4.3.1.2.%u.%u.%u.%u.%u.%u", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); debug(5, "findport: query is [%s]\n", query); @@@@ -355,6 +361,7 @@@@ static char *macmfr(unsigned char *inmac snprintf(macfind, sizeof(macfind), "%02x %02x %02x", inmac[0], inmac[1], inmac[2]); + debug(1, "looking for MAC prefix [%s] in %s\n", macfind, mactable); while (fgets(buf, sizeof(buf), macdb)) { buf[strlen(buf) - 1] = '\0'; @@@@ -494,14 +501,13 @@@@ static void do_ifdescr(stype *sw, long p /* first get the switch's ifnum for the port */ - snprintf(query, sizeof(query), "17.1.4.1.2.%ld", port); + snprintf(query, sizeof(query), ".1.3.6.1.2.1.17.1.4.1.2.%ld", port); ifnum = snmpget_int(sw->ip, sw->pw, query); if (ifnum == -1) return; - snprintf(query, sizeof(query), "interfaces.ifTable.ifEntry.ifDescr.%ld", - ifnum); + snprintf(query, sizeof(query), ".1.3.6.1.2.1.2.2.1.2.%ld", ifnum); ifdescr = snmpget_str(sw->ip, sw->pw, query); @@@@ -728,6 +734,7 @@@@ int main(int argc, char **argv) { char *prog, *query, *conf = NULL, *mac = NULL; int i; + char macaddr[6]; printf("Switch Digger %s - http://www.exploits.org/sdig/\n\n", VERSION); @@@@ -791,7 +798,10 @@@@ int main(int argc, char **argv) mac, query); checkmac(mac); - switchscan(query, mac); + macaddr[0] = strtoul(strtok(mac, ":"), NULL, 16); + for (i = 1; i < 6; i++) + macaddr[i] = strtoul(strtok(NULL, ":"), NULL, 16); + switchscan(query, macaddr); /* NOTREACHED */ } @ 1.2 log @Update to 0.30. Major changes: - rewrite of large parts of code. Now use net-snmp libraries instead of calling an external program - There are now a sdig(8) and sdig.conf(5) man pages - the debug code now has multiple levels so using -d once doesn't give you all the really messy unimportant stuff. To see that, use several - the really ugly ones are hiding down at 5 and 6. With some snmp fixes by myself, I can now successfully querry my 3com and alliedtelesyn switches. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.1.1.1 2002/01/10 14:06:31 bouyer Exp $ d3 4 a6 3 --- sdig.c.orig Tue Jul 23 05:03:20 2002 +++ sdig.c Thu Apr 3 12:22:07 2003 @@@@ -25,16 +25,21 @@@@ d9 1 d32 1 a32 1 @@@@ -114,7 +119,7 @@@@ d41 1 a41 1 @@@@ -355,6 +360,7 @@@@ d45 1 a45 1 + debug("looking for MAC prefix [%s] in %s\n", macfind, mactable); d49 1 a49 1 @@@@ -494,14 +500,13 @@@@ d66 1 a66 1 @@@@ -728,6 +733,7 @@@@ d74 1 a74 1 @@@@ -791,7 +797,10 @@@@ @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD: $ d3 3 a5 3 --- sdig.c.orig Fri May 18 15:02:55 2001 +++ sdig.c Sun Jan 6 18:45:02 2002 @@@@ -25,15 +25,19 @@@@ d13 6 a18 5 +#include +#include +#include +#include +#include d20 1 d22 1 a24 1 #define PPS 32 /* 32 ports per switch */ d28 9 a36 16 char *wins = NULL, *nbname = NULL, *nmblookup = NULL, *snmpget = NULL, *mactable = NULL; @@@@ -115,6 +119,7 @@@@ char *findport (char *mac, char *swip, char *swpw) { char needle[64], oid[64], exec[256], *ptr, *ptr2, buf[256], *sp; + char sep = ':'; char *tmp; FILE *out; int i; @@@@ -125,13 +130,22 @@@@ exit (1); } - snprintf (needle, sizeof(needle), "17.4.3.1.2"); + snprintf (needle, sizeof(needle), ".1.3.6.1.2.1.17.4.3.1.2"); d38 2 a39 56 - ptr = strdup(mac); + if (strncmp(mac, " Hex: ", 6) == 0) { + sep = ' '; + ptr = strdup(mac + 6); + debug("MAC ptr with sep = ' ' is [%s]\n", ptr); + } else { + ptr = strdup(mac); + debug("MAC ptr with sep = ':' is [%s]\n", ptr); + } for (i = 0; i < 6; i++) { - sp = strchr (ptr, ':'); + sp = strchr (ptr, sep); if (sp) *sp = '\0'; + else + break; val = strtoul (ptr, NULL, 16); if (i == 5) @@@@ -145,7 +159,7 @@@@ debug("needle is [%s]\n", needle); - snprintf (exec, sizeof(exec), "%s %s %s %s 2>/dev/null", snmpget, swip, swpw, needle); + snprintf (exec, sizeof(exec), "%s -On %s %s %s 2>/dev/null", snmpget, swip, swpw, needle); debug("popen: %s\n", exec); out = popen (exec, "r"); @@@@ -472,6 +486,7 @@@@ { FILE *macdb; char buf[256], *mac, *tmp, *ptr, *cp, macfind[16]; + char sep = ':'; int i, num[3]; macdb = fopen (mactable, "r"); @@@@ -482,9 +497,16 @@@@ num[0] = num[1] = num[2] = 0; - ptr = mac = strdup(inmac); + if (strncmp(inmac, " Hex: ", 6) == 0) { + sep = ' '; + ptr = mac = strdup(inmac + 6); + debug("inMAC ptr with sep = ' ' is [%s]\n", ptr); + } else { + ptr = mac = strdup(inmac); + debug("inMAC ptr with sep = ':' is [%s]\n", ptr); + } for (i = 0; i < 3; i++) { - cp = strchr (ptr, ':'); + cp = strchr (ptr, sep); if (!cp) continue; @@@@ -498,6 +520,7 @@@@ d41 1 a41 1 num[0], num[1], num[2]); d47 37 @ 1.1.1.1 log @Import sdig, Switch Digger finds port assignments for a client on a switched Ethernet Provided by Greg A. Woods in PR 15157, with some minor changes to quiet pkglint. @ text @@