[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21685 - gnunet/src/gns/nss
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21685 - gnunet/src/gns/nss |
Date: |
Fri, 1 Jun 2012 11:12:04 +0200 |
Author: schanzen
Date: 2012-06-01 11:12:04 +0200 (Fri, 01 Jun 2012)
New Revision: 21685
Modified:
gnunet/src/gns/nss/nss_gns.c
gnunet/src/gns/nss/nss_gns_query.c
gnunet/src/gns/nss/nss_gns_query.h
Log:
-comments
Modified: gnunet/src/gns/nss/nss_gns.c
===================================================================
--- gnunet/src/gns/nss/nss_gns.c 2012-06-01 08:58:20 UTC (rev 21684)
+++ gnunet/src/gns/nss/nss_gns.c 2012-06-01 09:12:04 UTC (rev 21685)
@@ -34,11 +34,20 @@
#include <arpa/inet.h>
+/** macro to align idx to 32bit boundary */
#define ALIGN(idx) do { \
if (idx % sizeof(void*)) \
idx += (sizeof(void*) - idx % sizeof(void*)); /* Align on 32 bit boundary
*/ \
} while(0)
+
+/**
+ * function to check if name ends with a specific suffix
+ *
+ * @param name the name to check
+ * @param suffix the suffix to check for
+ * @return 1 if true
+ */
static int ends_with(const char *name, const char* suffix) {
size_t ln, ls;
assert(name);
@@ -50,10 +59,29 @@
return strcasecmp(name+ln-ls, suffix) == 0;
}
+
+/**
+ * Check if name is inside .gnunet or .zkey TLD
+ *
+ * @param name name to check
+ * @return 1 if true
+ */
static int verify_name_allowed(const char *name) {
return ends_with(name, ".gnunet") || ends_with(name, ".zkey");
}
+/**
+ * The gethostbyname hook executed by nsswitch
+ *
+ * @param name the name to resolve
+ * @param af the address family to resolve
+ * @param result the result hostent
+ * @param buffer the result buffer
+ * @param buflen length of the buffer
+ * @param errnop idk
+ * @param h_errnop idk
+ * @return a nss_status code
+ */
enum nss_status _nss_gns_gethostbyname2_r(
const char *name,
int af,
@@ -166,6 +194,17 @@
return status;
}
+/**
+ * The gethostbyname hook executed by nsswitch
+ *
+ * @param name the name to resolve
+ * @param result the result hostent
+ * @param buffer the result buffer
+ * @param buflen length of the buffer
+ * @param errnop idk
+ * @param h_errnop idk
+ * @return a nss_status code
+ */
enum nss_status _nss_gns_gethostbyname_r (
const char *name,
struct hostent *result,
@@ -184,6 +223,20 @@
h_errnop);
}
+/**
+ * The gethostbyaddr hook executed by nsswitch
+ * We can't do this so we always return NSS_STATUS_UNAVAIL
+ *
+ * @param addr the address to resolve
+ * @param len the length of the address
+ * @param af the address family of the address
+ * @param result the result hostent
+ * @param buffer the result buffer
+ * @param buflen length of the buffer
+ * @param errnop idk
+ * @param h_errnop idk
+ * @return NSS_STATUS_UNAVAIL
+ */
enum nss_status _nss_gns_gethostbyaddr_r(
const void* addr,
int len,
Modified: gnunet/src/gns/nss/nss_gns_query.c
===================================================================
--- gnunet/src/gns/nss/nss_gns_query.c 2012-06-01 08:58:20 UTC (rev 21684)
+++ gnunet/src/gns/nss/nss_gns_query.c 2012-06-01 09:12:04 UTC (rev 21685)
@@ -4,6 +4,16 @@
#include "nss_gns_query.h"
#include <arpa/inet.h>
+
+/**
+ * Wrapper function that uses gnunet-gns cli tool to resolve
+ * an IPv4/6 address.
+ *
+ * @param af address family
+ * @param name the name to resolve
+ * @param u the userdata (result struct)
+ * @return -1 on error else 0
+ */
int gns_resolve_name(int af, const char *name, struct userdata *u)
{
FILE *p;
Modified: gnunet/src/gns/nss/nss_gns_query.h
===================================================================
--- gnunet/src/gns/nss/nss_gns_query.h 2012-06-01 08:58:20 UTC (rev 21684)
+++ gnunet/src/gns/nss/nss_gns_query.h 2012-06-01 09:12:04 UTC (rev 21685)
@@ -1,6 +1,10 @@
-#ifndef fooqueryhfoo
-#define fooqueryhfoo
+#ifndef NSS_GNS_QUERY_H
+#define NSS_GNS_QUERY_H
+/**
+ * Parts taken from nss-mdns. Original license statement follows
+ */
+
/* $Id$ */
/***
@@ -46,6 +50,15 @@
} data;
};
+/**
+ * Wrapper function that uses gnunet-gns cli tool to resolve
+ * an IPv4/6 address.
+ *
+ * @param af address family
+ * @param name the name to resolve
+ * @param u the userdata (result struct)
+ * @return -1 on error else 0
+ */
int gns_resolve_name(int af,
const char *name,
struct userdata *userdata);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21685 - gnunet/src/gns/nss,
gnunet <=