diff options
author | Henryk Plötz <henryk@ploetzli.ch> | 2014-10-03 19:58:52 +0200 |
---|---|---|
committer | Henryk Plötz <henryk@ploetzli.ch> | 2014-10-03 19:58:52 +0200 |
commit | 0e5b2871ca6456b01d4bf037a6e68badf1ff1a41 (patch) | |
tree | 97b95b74c9618d85da9aa9451a55a819cd7b1c2e /okclient.c | |
download | tinydnssec-0e5b2871ca6456b01d4bf037a6e68badf1ff1a41.tar.gz tinydnssec-0e5b2871ca6456b01d4bf037a6e68badf1ff1a41.tar.bz2 |
Initial commit of djbdns-1.05.tar.gz
Source was http://cr.yp.to/djbdns/djbdns-1.05.tar.gz, SHA1 2efdb3a039d0c548f40936aa9cb30829e0ce8c3d
Diffstat (limited to 'okclient.c')
-rw-r--r-- | okclient.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/okclient.c b/okclient.c new file mode 100644 index 0000000..a648c02 --- /dev/null +++ b/okclient.c @@ -0,0 +1,26 @@ +#include <sys/types.h> +#include <sys/stat.h> +#include "str.h" +#include "ip4.h" +#include "okclient.h" + +static char fn[3 + IP4_FMT]; + +int okclient(char ip[4]) +{ + struct stat st; + int i; + + fn[0] = 'i'; + fn[1] = 'p'; + fn[2] = '/'; + fn[3 + ip4_fmt(fn + 3,ip)] = 0; + + for (;;) { + if (stat(fn,&st) == 0) return 1; + /* treat temporary error as rejection */ + i = str_rchr(fn,'.'); + if (!fn[i]) return 0; + fn[i] = 0; + } +} |