Re: Fwd: [patch] ifconfig.c
On 08/10/18 03:09, Sebastian Benoit wrote: i know about the tab in ieee80211_listnodes() but your diffs are unreadable, please fix that. sorry about that. I blame thunderbird. Index: ifconfig.c === RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v retrieving revision 1.362 diff -u -p -u -r1.362 ifconfig.c --- ifconfig.c 27 Feb 2018 22:32:26 - 1.362 +++ ifconfig.c 11 Aug 2018 01:27:39 - @@ -793,9 +793,13 @@ main(int argc, char *argv[]) } else noarg = 0; - if (noarg == 0) - (*p->c_func)(NULL, 0); - else + if (noarg == 0) { + if (strcmp(p->c_name, "scan") == 0) { + (*p->c_func)(NULL, 0); + goto done; + } else + (*p->c_func)(NULL, 0); + } else goto nextarg; } else if (p->c_parameter == NEXTARG) { nextarg: @@ -863,6 +867,7 @@ nextarg: if (ioctl(s, rafp->af_aifaddr, rafp->af_addreq) < 0) err(1, "SIOCAIFADDR"); } +done: return (0); } @@ -1994,9 +1999,7 @@ setifchan(const char *val, int d) void setifscan(const char *val, int d) { - if (shownet80211chans || shownet80211nodes) - usage(); - shownet80211nodes = 1; + return(ieee80211_listnodes()); } #ifndef SMALL @@ -2201,7 +2204,6 @@ ieee80211_status(void) putchar(' '); printb_status(ifr.ifr_flags, IEEE80211_F_USERBITS); } - putchar('\n'); if (shownet80211chans) ieee80211_listchans(); @@ -2288,7 +2290,7 @@ ieee80211_listnodes(void) qsort(nr, na.na_nodes, sizeof(*nr), rssicmp); for (i = 0; i < na.na_nodes; i++) { - printf("\t\t"); + printf("\t"); ieee80211_printnode(&nr[i]); putchar('\n'); }
Re: Fwd: [patch] ifconfig.c
i know about the tab in ieee80211_listnodes() but your diffs are unreadable, please fix that. Edgar Pettijohn III(ed...@pettijohn-web.com) on 2018.08.09 20:34:37 -0500: > Unfortunantly it wasn't that easy. This version doesn't segfault with > bad input :) Also just noticed there is a bunch of stuff going on with > ifconfig in current. So I guess this can just be a conversation starter, > and perhaps whomever is doing the work can possibly put something like > this in. > > Index: ifconfig.c > === > RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v > retrieving revision 1.362 > diff -u -p -u -r1.362 ifconfig.c > --- ifconfig.c?? 27 Feb 2018 22:32:26 -?? 1.362 > +++ ifconfig.c?? 10 Aug 2018 01:31:10 - > @@ -793,9 +793,13 @@ main(int argc, char *argv[]) > ?? ?? ?? } else > ?? ?? ?? ?? noarg = 0; > > -?? ?? ?? ?? if (noarg == 0) > -?? ?? ?? ?? ?? (*p->c_func)(NULL, 0); > -?? ?? ?? ?? else > +?? ?? ?? ?? if (noarg == 0) { > +?? ?? ?? ?? ?? if (strcmp(p->c_name, "scan") == 0) { > +?? ?? ?? ?? ?? ?? (*p->c_func)(NULL, 0); > +?? ?? ?? ?? ?? ?? goto done; > +?? ?? ?? ?? ?? } else > +?? ?? ?? ?? ?? ?? (*p->c_func)(NULL, 0); > +?? ?? ?? ?? } else > ?? ?? ?? ?? goto nextarg; > ?? ?? } else if (p->c_parameter == NEXTARG) { > ??nextarg: > @@ -863,6 +867,7 @@ nextarg: > ?? if (ioctl(s, rafp->af_aifaddr, rafp->af_addreq) < 0) > ?? ?? err(1, "SIOCAIFADDR"); > } > +done: > return (0); > ??} > > @@ -1994,9 +1999,7 @@ setifchan(const char *val, int d) > ??void > ??setifscan(const char *val, int d) > ??{ > -?? if (shownet80211chans || shownet80211nodes) > -?? ?? usage(); > -?? shownet80211nodes = 1; > +?? return(ieee80211_listnodes()); > ??} > > ??#ifndef SMALL > @@ -2201,7 +2204,6 @@ ieee80211_status(void) > ?? putchar(' '); > ?? printb_status(ifr.ifr_flags, IEEE80211_F_USERBITS); > } > - > putchar('\n'); > if (shownet80211chans) > ?? ieee80211_listchans(); > > > Forwarded Message > Subject: [patch] ifconfig.c > Date: Thu, 9 Aug 2018 18:20:47 -0500 > From: Edgar Pettijohn III > To: tech@openbsd.org > > > > I hate to assume, but I'm going to assume that if one wants to scan for > ap's for their wifi interface to connect to they don't care about > anything else. I also removed what to me is one too many tabs. > > > Index: ifconfig.c > === > RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v > retrieving revision 1.362 > diff -u -p -u -r1.362 ifconfig.c > --- ifconfig.c?? 27 Feb 2018 22:32:26 -?? 1.362 > +++ ifconfig.c?? 9 Aug 2018 23:16:59 - > @@ -772,6 +772,11 @@ main(int argc, char *argv[]) > ?? ?? return bridge_rule(argc, argv, -1); > ?? } > ??#endif > +?? ?? if (strcmp(p->c_name, "scan") == 0) { > +?? ?? ?? ieee80211_listnodes(); > +?? ?? ?? return 0; > +?? ?? } > + > ?? if (p->c_name == 0 && setaddr) > ?? ?? for (i = setaddr; i > 0; i--) { > ?? ?? ?? p++; > @@ -2288,7 +2293,7 @@ ieee80211_listnodes(void) > ?? qsort(nr, na.na_nodes, sizeof(*nr), rssicmp); > > for (i = 0; i < na.na_nodes; i++) { > -?? ?? printf("\t\t"); > +?? ?? printf("\t"); > ?? ieee80211_printnode(&nr[i]); > ?? putchar('\n'); > } > >
Fwd: [patch] ifconfig.c
Unfortunantly it wasn't that easy. This version doesn't segfault with bad input :) Also just noticed there is a bunch of stuff going on with ifconfig in current. So I guess this can just be a conversation starter, and perhaps whomever is doing the work can possibly put something like this in. Index: ifconfig.c === RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v retrieving revision 1.362 diff -u -p -u -r1.362 ifconfig.c --- ifconfig.c 27 Feb 2018 22:32:26 - 1.362 +++ ifconfig.c 10 Aug 2018 01:31:10 - @@ -793,9 +793,13 @@ main(int argc, char *argv[]) } else noarg = 0; - if (noarg == 0) - (*p->c_func)(NULL, 0); - else + if (noarg == 0) { + if (strcmp(p->c_name, "scan") == 0) { + (*p->c_func)(NULL, 0); + goto done; + } else + (*p->c_func)(NULL, 0); + } else goto nextarg; } else if (p->c_parameter == NEXTARG) { nextarg: @@ -863,6 +867,7 @@ nextarg: if (ioctl(s, rafp->af_aifaddr, rafp->af_addreq) < 0) err(1, "SIOCAIFADDR"); } +done: return (0); } @@ -1994,9 +1999,7 @@ setifchan(const char *val, int d) void setifscan(const char *val, int d) { - if (shownet80211chans || shownet80211nodes) - usage(); - shownet80211nodes = 1; + return(ieee80211_listnodes()); } #ifndef SMALL @@ -2201,7 +2204,6 @@ ieee80211_status(void) putchar(' '); printb_status(ifr.ifr_flags, IEEE80211_F_USERBITS); } - putchar('\n'); if (shownet80211chans) ieee80211_listchans(); Forwarded Message Subject:[patch] ifconfig.c Date: Thu, 9 Aug 2018 18:20:47 -0500 From: Edgar Pettijohn III To: tech@openbsd.org I hate to assume, but I'm going to assume that if one wants to scan for ap's for their wifi interface to connect to they don't care about anything else. I also removed what to me is one too many tabs. Index: ifconfig.c === RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v retrieving revision 1.362 diff -u -p -u -r1.362 ifconfig.c --- ifconfig.c 27 Feb 2018 22:32:26 - 1.362 +++ ifconfig.c 9 Aug 2018 23:16:59 - @@ -772,6 +772,11 @@ main(int argc, char *argv[]) return bridge_rule(argc, argv, -1); } #endif + if (strcmp(p->c_name, "scan") == 0) { + ieee80211_listnodes(); + return 0; + } + if (p->c_name == 0 && setaddr) for (i = setaddr; i > 0; i--) { p++; @@ -2288,7 +2293,7 @@ ieee80211_listnodes(void) qsort(nr, na.na_nodes, sizeof(*nr), rssicmp); for (i = 0; i < na.na_nodes; i++) { - printf("\t\t"); + printf("\t"); ieee80211_printnode(&nr[i]); putchar('\n'); }
[patch] ifconfig.c
I hate to assume, but I'm going to assume that if one wants to scan for ap's for their wifi interface to connect to they don't care about anything else. I also removed what to me is one too many tabs. Index: ifconfig.c === RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v retrieving revision 1.362 diff -u -p -u -r1.362 ifconfig.c --- ifconfig.c 27 Feb 2018 22:32:26 - 1.362 +++ ifconfig.c 9 Aug 2018 23:16:59 - @@ -772,6 +772,11 @@ main(int argc, char *argv[]) return bridge_rule(argc, argv, -1); } #endif + if (strcmp(p->c_name, "scan") == 0) { + ieee80211_listnodes(); + return 0; + } + if (p->c_name == 0 && setaddr) for (i = setaddr; i > 0; i--) { p++; @@ -2288,7 +2293,7 @@ ieee80211_listnodes(void) qsort(nr, na.na_nodes, sizeof(*nr), rssicmp); for (i = 0; i < na.na_nodes; i++) { - printf("\t\t"); + printf("\t"); ieee80211_printnode(&nr[i]); putchar('\n'); }