diff options
author | Epoch Qwert <epoch@53flpnlls43fcguy.onion> | 2014-12-24 07:31:09 -0600 |
---|---|---|
committer | Epoch Qwert <epoch@53flpnlls43fcguy.onion> | 2014-12-24 07:31:09 -0600 |
commit | 9750d3845bd5bbc2e5e76134b8c4a902faa9bce9 (patch) | |
tree | 1b38f9a5a0e80eee6be6d93d33aeab0dd9ca641b /src | |
parent | 612926651db0c13fa9f45f58764b56ab132b211c (diff) | |
download | misc-9750d3845bd5bbc2e5e76134b8c4a902faa9bce9.tar.gz misc-9750d3845bd5bbc2e5e76134b8c4a902faa9bce9.zip |
added IPv6 support to hop0, peerip, and gopherd.sh
gopherd.sh got lots of other updates too.
speed is for measuring how many lines per second your pipes can do.
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/speed.c | 21 | ||||
-rw-r--r-- | src/bin/strstr.c | 7 | ||||
-rw-r--r-- | src/libexec/peerip.c | 12 |
3 files changed, 36 insertions, 4 deletions
diff --git a/src/bin/speed.c b/src/bin/speed.c new file mode 100644 index 0000000..3b8cc72 --- /dev/null +++ b/src/bin/speed.c @@ -0,0 +1,21 @@ +#include <stdio.h> +#include <signal.h> + +int count; + +void printandreset(int sig) { + alarm(1); + printf("persecond: %d\n",count); + count=0; +} + +int main(int argc,char *argv[]) { + char in[256]; + count=0; + signal(SIGALRM,printandreset); + alarm(1); + while(fgets(in,256,stdin)) { + count++; + } + return 0; +} diff --git a/src/bin/strstr.c b/src/bin/strstr.c new file mode 100644 index 0000000..9b244ec --- /dev/null +++ b/src/bin/strstr.c @@ -0,0 +1,7 @@ +#include <stdio.h> +#include <string.h> + +int main(int argc,char *argv[]) { + if(argc < 3) return printf("usage: strstr big little\n"),2; + else return !strstr(argv[1],argv[2]); +} diff --git a/src/libexec/peerip.c b/src/libexec/peerip.c index 9298f87..6bcf1f1 100644 --- a/src/libexec/peerip.c +++ b/src/libexec/peerip.c @@ -1,16 +1,20 @@ #include <stdio.h> #include <sys/socket.h> #include <netdb.h> +#include <netinet/in.h> int main(int argc,char *argv[]) { int i; - struct sockaddr sa; - int sl=sizeof(sa); + struct sockaddr_in6 sa6; + int err; + int sl=sizeof(sa6); char h[NI_MAXHOST], s[NI_MAXSERV]; - getpeername(0,&sa,&sl); - if(getnameinfo(&sa,sl,h,sizeof(h),s,sizeof(s),NI_NUMERICHOST|NI_NUMERICSERV)) { + if(getpeername(0,(struct sockaddr *)&sa6,&sl) == -1) { return 1; } + if(err=getnameinfo((struct sockaddr *)&sa6,sl,h,sizeof(h),s,sizeof(s),NI_NUMERICHOST|NI_NUMERICSERV)) { + return 2; + } puts(h); puts(s); return 0; |