[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21684 - gnunet/src/gns/nss
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21684 - gnunet/src/gns/nss |
Date: |
Fri, 1 Jun 2012 10:58:20 +0200 |
Author: schanzen
Date: 2012-06-01 10:58:20 +0200 (Fri, 01 Jun 2012)
New Revision: 21684
Added:
gnunet/src/gns/nss/nss_gns_query.c
gnunet/src/gns/nss/nss_gns_query.h
Removed:
gnunet/src/gns/nss/query.c
gnunet/src/gns/nss/query.h
gnunet/src/gns/nss/util.c
gnunet/src/gns/nss/util.h
Modified:
gnunet/src/gns/nss/Makefile.am
gnunet/src/gns/nss/nss_gns.c
Log:
cleanup
Modified: gnunet/src/gns/nss/Makefile.am
===================================================================
--- gnunet/src/gns/nss/Makefile.am 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/Makefile.am 2012-06-01 08:58:20 UTC (rev 21684)
@@ -36,7 +36,7 @@
libnss_gns6.la
endif
-sources = util.c util.h query.h query.c
+sources = nss_gns_query.h nss_gns_query.c
# GNU Libc
libnss_gns_la_SOURCES= $(sources) nss_gns.c
Modified: gnunet/src/gns/nss/nss_gns.c
===================================================================
--- gnunet/src/gns/nss/nss_gns.c 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/nss_gns.c 2012-06-01 08:58:20 UTC (rev 21684)
@@ -30,7 +30,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include "query.h"
+#include "nss_gns_query.h"
#include <arpa/inet.h>
Added: gnunet/src/gns/nss/nss_gns_query.c
===================================================================
--- gnunet/src/gns/nss/nss_gns_query.c (rev 0)
+++ gnunet/src/gns/nss/nss_gns_query.c 2012-06-01 08:58:20 UTC (rev 21684)
@@ -0,0 +1,55 @@
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "nss_gns_query.h"
+#include <arpa/inet.h>
+
+int gns_resolve_name(int af, const char *name, struct userdata *u)
+{
+ FILE *p;
+ char *cmd;
+ char line[128];
+
+ if (af == AF_INET6)
+ {
+ if (-1 == asprintf(&cmd, "%s -t AAAA -u %s\n", "gnunet-gns -r", name))
+ return -1;
+ }
+ else
+ {
+ if (-1 == asprintf(&cmd, "%s %s\n", "gnunet-gns -r -u", name))
+ return -1;
+ }
+
+ p = popen(cmd,"r");
+
+ if (p != NULL )
+ {
+ while (fgets( line, sizeof(line), p ) != NULL)
+ {
+
+ if (u->count >= MAX_ENTRIES)
+ break;
+
+ if (line[strlen(line)-1] == '\n')
+ {
+ line[strlen(line)-1] = '\0';
+ if (af == AF_INET)
+ {
+ inet_pton(af, line, &(u->data.ipv4[u->count++]));
+ u->data_len += sizeof(ipv4_address_t);
+ }
+ else if ((af == AF_INET6))
+ {
+ inet_pton(af, line, &(u->data.ipv6[u->count++]));
+ u->data_len += sizeof(ipv6_address_t);
+ }
+ }
+ }
+ }
+ fclose(p);
+ free(cmd);
+
+ return 0;
+
+}
Added: gnunet/src/gns/nss/nss_gns_query.h
===================================================================
--- gnunet/src/gns/nss/nss_gns_query.h (rev 0)
+++ gnunet/src/gns/nss/nss_gns_query.h 2012-06-01 08:58:20 UTC (rev 21684)
@@ -0,0 +1,53 @@
+#ifndef fooqueryhfoo
+#define fooqueryhfoo
+
+/* $Id$ */
+
+/***
+ This file is part of nss-mdns.
+
+ nss-mdns is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ nss-mdns is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with nss-mdns; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#include <inttypes.h>
+
+/* Maximum number of entries to return */
+#define MAX_ENTRIES 16
+
+typedef struct {
+ uint32_t address;
+} ipv4_address_t;
+
+typedef struct {
+ uint8_t address[16];
+} ipv6_address_t;
+
+
+struct userdata {
+ int count;
+ int data_len; /* only valid when doing reverse lookup */
+ union {
+ ipv4_address_t ipv4[MAX_ENTRIES];
+ ipv6_address_t ipv6[MAX_ENTRIES];
+ char *name[MAX_ENTRIES];
+ } data;
+};
+
+int gns_resolve_name(int af,
+ const char *name,
+ struct userdata *userdata);
+
+#endif
Deleted: gnunet/src/gns/nss/query.c
===================================================================
--- gnunet/src/gns/nss/query.c 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/query.c 2012-06-01 08:58:20 UTC (rev 21684)
@@ -1,49 +0,0 @@
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "query.h"
-#include <arpa/inet.h>
-
-int gns_resolve_name(int af, const char *name, struct userdata *u)
-{
- FILE *p;
- char *cmd;
- char line[128];
-
- if (af == AF_INET6)
- asprintf(&cmd, "%s -t AAAA -u %s\n", "gnunet-gns -r", name);
- else
- asprintf(&cmd, "%s %s\n", "gnunet-gns -r -u", name);
-
- p = popen(cmd,"r");
-
- if (p != NULL )
- {
- while (fgets( line, sizeof(line), p ) != NULL)
- {
-
- if (u->count >= MAX_ENTRIES)
- break;
-
- if (line[strlen(line)-1] == '\n')
- {
- line[strlen(line)-1] = '\0';
- if (af == AF_INET)
- {
- inet_pton(af, line, &(u->data.ipv4[u->count++]));
- u->data_len += sizeof(ipv4_address_t);
- }
- else if ((af == AF_INET6))
- {
- inet_pton(af, line, &(u->data.ipv6[u->count++]));
- u->data_len += sizeof(ipv6_address_t);
- }
- }
- }
- }
- fclose(p);
- free(cmd);
-
- return 0;
-
-}
Deleted: gnunet/src/gns/nss/query.h
===================================================================
--- gnunet/src/gns/nss/query.h 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/query.h 2012-06-01 08:58:20 UTC (rev 21684)
@@ -1,53 +0,0 @@
-#ifndef fooqueryhfoo
-#define fooqueryhfoo
-
-/* $Id$ */
-
-/***
- This file is part of nss-mdns.
-
- nss-mdns is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- nss-mdns is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with nss-mdns; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA.
-***/
-
-#include <inttypes.h>
-
-/* Maximum number of entries to return */
-#define MAX_ENTRIES 16
-
-typedef struct {
- uint32_t address;
-} ipv4_address_t;
-
-typedef struct {
- uint8_t address[16];
-} ipv6_address_t;
-
-
-struct userdata {
- int count;
- int data_len; /* only valid when doing reverse lookup */
- union {
- ipv4_address_t ipv4[MAX_ENTRIES];
- ipv6_address_t ipv6[MAX_ENTRIES];
- char *name[MAX_ENTRIES];
- } data;
-};
-
-int gns_resolve_name(int af,
- const char *name,
- struct userdata *userdata);
-
-#endif
Deleted: gnunet/src/gns/nss/util.c
===================================================================
--- gnunet/src/gns/nss/util.c 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/util.c 2012-06-01 08:58:20 UTC (rev 21684)
@@ -1,207 +0,0 @@
-/* $Id$ */
-
-/***
- This file is part of nss-mdns.
-
- nss-mdns is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- nss-mdns is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with nss-mdns; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA.
-***/
-
-#include <gnunet_config.h>
-
-#include <sys/select.h>
-#include <errno.h>
-#include <string.h>
-#include <assert.h>
-#include <fcntl.h>
-
-#include "util.h"
-
-#ifdef ENABLE_LEGACY
-
-/* Calculate the difference between the two specfified timeval
- * timestamsps. */
-usec_t timeval_diff(const struct timeval *a, const struct timeval *b) {
- usec_t r;
- assert(a && b);
-
- /* Check which whan is the earlier time and swap the two arguments if
reuqired. */
- if (timeval_cmp(a, b) < 0) {
- const struct timeval *c;
- c = a;
- a = b;
- b = c;
- }
-
- /* Calculate the second difference*/
- r = ((usec_t) a->tv_sec - b->tv_sec)* 1000000;
-
- /* Calculate the microsecond difference */
- if (a->tv_usec > b->tv_usec)
- r += ((usec_t) a->tv_usec - b->tv_usec);
- else if (a->tv_usec < b->tv_usec)
- r -= ((usec_t) b->tv_usec - a->tv_usec);
-
- return r;
-}
-
-/* Compare the two timeval structs and return 0 when equal, negative when a <
b, positive otherwse */
-int timeval_cmp(const struct timeval *a, const struct timeval *b) {
- assert(a && b);
-
- if (a->tv_sec < b->tv_sec)
- return -1;
-
- if (a->tv_sec > b->tv_sec)
- return 1;
-
- if (a->tv_usec < b->tv_usec)
- return -1;
-
- if (a->tv_usec > b->tv_usec)
- return 1;
-
- return 0;
-}
-
-/* Return the time difference between now and the specified timestamp */
-usec_t timeval_age(const struct timeval *tv) {
- struct timeval now;
- assert(tv);
- gettimeofday(&now, NULL);
- return timeval_diff(&now, tv);
-}
-
-/* Add the specified time inmicroseconds to the specified timeval structure */
-void timeval_add(struct timeval *tv, usec_t v) {
- unsigned long secs;
- assert(tv);
-
- secs = (v/1000000);
- tv->tv_sec += (unsigned long) secs;
- v -= secs*1000000;
-
- tv->tv_usec += v;
-
- /* Normalize */
- while (tv->tv_usec >= 1000000) {
- tv->tv_sec++;
- tv->tv_usec -= 1000000;
- }
-}
-
-int set_nonblock(int fd) {
- int n;
- assert(fd >= 0);
-
- if ((n = fcntl(fd, F_GETFL)) < 0)
- return -1;
-
- if (n & O_NONBLOCK)
- return 0;
-
- return fcntl(fd, F_SETFL, n|O_NONBLOCK);
-}
-
-int wait_for_write(int fd, struct timeval *end) {
- struct timeval now;
-
- if (end)
- gettimeofday(&now, NULL);
-
- for (;;) {
- struct timeval tv;
- fd_set fds;
- int r;
-
- FD_ZERO(&fds);
- FD_SET(fd, &fds);
-
- if (end) {
- if (timeval_cmp(&now, end) >= 0)
- return 1;
-
- tv.tv_sec = tv.tv_usec = 0;
- timeval_add(&tv, timeval_diff(end, &now));
- }
-
- if ((r = select(fd+1, NULL, &fds, NULL, end ? &tv : NULL)) < 0) {
- if (errno != EINTR)
- return -1;
- } else if (r == 0)
- return 1;
- else {
- if (FD_ISSET(fd, &fds))
- return 0;
- }
-
- if (end)
- gettimeofday(&now, NULL);
- }
-}
-
-int wait_for_read(int fd, struct timeval *end) {
- struct timeval now;
-
- if (end)
- gettimeofday(&now, NULL);
-
- for (;;) {
- struct timeval tv;
- fd_set fds;
- int r;
-
- FD_ZERO(&fds);
- FD_SET(fd, &fds);
-
- if (end) {
- if (timeval_cmp(&now, end) >= 0)
- return 1;
-
- tv.tv_sec = tv.tv_usec = 0;
- timeval_add(&tv, timeval_diff(end, &now));
- }
-
- if ((r = select(fd+1, &fds, NULL, NULL, end ? &tv : NULL)) < 0) {
- if (errno != EINTR)
- return -1;
- } else if (r == 0)
- return 1;
- else {
-
- if (FD_ISSET(fd, &fds))
- return 0;
- }
-
- if (end)
- gettimeofday(&now, NULL);
- }
-}
-
-#endif
-
-int set_cloexec(int fd) {
- int n;
- assert(fd >= 0);
-
- if ((n = fcntl(fd, F_GETFD)) < 0)
- return -1;
-
- if (n & FD_CLOEXEC)
- return 0;
-
- return fcntl(fd, F_SETFD, n|FD_CLOEXEC);
-}
-
Deleted: gnunet/src/gns/nss/util.h
===================================================================
--- gnunet/src/gns/nss/util.h 2012-06-01 08:53:44 UTC (rev 21683)
+++ gnunet/src/gns/nss/util.h 2012-06-01 08:58:20 UTC (rev 21684)
@@ -1,47 +0,0 @@
-#ifndef fooutilhfoo
-#define fooutilhfoo
-
-/* $Id$ */
-
-/***
- This file is part of nss-mdns.
-
- nss-mdns is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- nss-mdns is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with nss-mdns; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA.
-***/
-
-#include <sys/time.h>
-#include <time.h>
-#include <inttypes.h>
-
-#ifdef ENABLE_LEGACY
-typedef uint64_t usec_t;
-
-usec_t timeval_diff(const struct timeval *a, const struct timeval *b);
-int timeval_cmp(const struct timeval *a, const struct timeval *b);
-usec_t timeval_age(const struct timeval *tv);
-void timeval_add(struct timeval *tv, usec_t v);
-
-int set_nonblock(int fd);
-
-int wait_for_write(int fd, struct timeval *end);
-int wait_for_read(int fd, struct timeval *end);
-
-#endif
-
-int set_cloexec(int fd);
-
-
-#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21684 - gnunet/src/gns/nss,
gnunet <=