From 1dadd0e8b42378d92a86230f9b7aa18546d6a755 Mon Sep 17 00:00:00 2001 From: MissValeska Date: Thu, 13 Mar 2014 20:19:40 -0700 Subject: [PATCH] Oh my god! So many things have changed, IGS is so close, If not already working! --- Install-Ntk-Debug.sh | 7 ++++ src/andns.c | 66 +++++++++++++++++++----------------- src/scripts/ip_masquerade.sh | 2 +- 3 files changed, 42 insertions(+), 33 deletions(-) create mode 100755 Install-Ntk-Debug.sh diff --git a/Install-Ntk-Debug.sh b/Install-Ntk-Debug.sh new file mode 100755 index 0000000..59c5e89 --- /dev/null +++ b/Install-Ntk-Debug.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +make clean +autoreconf -i +CFLAGS="-g" ./configure +make +sudo make install diff --git a/src/andns.c b/src/andns.c index 2c291b7..50e6224 100644 --- a/src/andns.c +++ b/src/andns.c @@ -5,7 +5,7 @@ *********************************************** ******* BEGIN 3/2006 ******** ************************************************************************* -* * +* * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -131,19 +131,19 @@ int collect_resolv_conf(char *resolve_conf) while ((crow=fgets(buf,512,erc)) && _andns_ns_count_ %s",strerror(errno)); err_ret(ERR_RSLERC,-1); } - if (!_andns_ns_count_) + if (!_andns_ns_count_) err_ret(ERR_RSLNNS,-1); return _andns_ns_count_; } @@ -418,10 +418,10 @@ int is_prefixed(dns_pkt *dp) } /* - * A very stupid function that converts + * A very stupid function that converts * ANDNS code to DNS code. */ -int qtype_a_to_d(andns_pkt *ap) +int qtype_a_to_d(andns_pkt *ap) { switch (ap->qtype) { case AT_PTR: @@ -431,7 +431,7 @@ int qtype_a_to_d(andns_pkt *ap) return T_MX; else if (!ap->service) return T_A; - else + else return -1; default: return -1; @@ -456,7 +456,7 @@ int apqsttodpqst(andns_pkt *ap,dns_pkt **dpsrc) if (qt==T_A || qt==T_MX) { qlen=strlen(ap->qstdata); - if (qlen>DNS_MAX_HNAME_LEN) + if (qlen>DNS_MAX_HNAME_LEN) goto incomp_err; strcpy(dpq->qname,ap->qstdata); } @@ -475,13 +475,13 @@ int apqsttodpqst(andns_pkt *ap,dns_pkt **dpsrc) goto incomp_err; } res=swapped_straddr_pref(temp, - dpq->qname,family); + dpq->qname,family); if (res==-1) { debug(DBG_INSANE,err_str); goto incomp_err; } } - else + else goto incomp_err; dph->id=ap->id; dph->rd=1; @@ -503,14 +503,14 @@ int dpanswtoapansw(dns_pkt *dp,andns_pkt *ap) rcode=DNS_GET_RCODE(dp); ap->rcode=rcode; ap->qr=1; - - if (rcode!=DNS_RCODE_NOERR) + + if (rcode!=DNS_RCODE_NOERR) return 0; qt=dp->pkt_qst->qtype; dpa=dp->pkt_answ; for (i=0;irdata,dpa->rdata,_ip_len_); nan++; - } + } else if (qt==T_PTR ) { apd->rdlength=strlen(dpa->rdata); APD_ALIGN(apd); @@ -543,7 +543,7 @@ int dpanswtoapansw(dns_pkt *dp,andns_pkt *ap) // memcpy(&(apd->prio),dpa->rdata,sizeof(uint16_t)); nan++; } - else + else andns_del_answ(ap); dpa=dpa->next; } @@ -603,6 +603,8 @@ int andns_gethostbyname(char *hname, inet_prefix *ip) error(err_str); err_ret(ERR_RSLRSL,-1); } + fprintf(stderr, "Addr is %p, rdata is %p\n", (void*)addr, (void*) dp->pkt_answ->rdata); + if ((dp == NULL) || (dp->pkt_answ == NULL) || (dp->pkt_answ->rdata == NULL)) return -1; memcpy(&addr, dp->pkt_answ->rdata, sizeof(uint32_t)); addr=ntohl(addr); if ((res=inet_setip_raw(ip,&addr, AF_INET))==-1) { @@ -615,15 +617,15 @@ int andns_gethostbyname(char *hname, inet_prefix *ip) /* There is a DNS query, internet realm. - * I'm going to forward it, but first I have + * I'm going to forward it, but first I have * to control suffix presence. - * - * After this function, `answer` is the answer to be + * + * After this function, `answer` is the answer to be * sent to the client. * * Returns: * answer len - */ + */ int dns_forward(dns_pkt *dp,char *msg,int msglen,char* answer) { dns_pkt *dp_forward; @@ -684,7 +686,7 @@ failing: * * I'm going to resolve it in ANDNA. * - * After this function, `answer` is the answer to be + * After this function, `answer` is the answer to be * sent to the client. * * Returns: @@ -720,7 +722,7 @@ int inet_rslv(dns_pkt *dp,char *msg,int msglen,char *answer) } else if (qt==T_PTR) { char tomp[DNS_MAX_HNAME_LEN]; lcl_cache *lc; - + res=swapped_straddr(temp,tomp); if (res==-1) { rcode=RCODE_EINTRPRT; @@ -757,14 +759,14 @@ return_rcode: ANDNS_SET_QR(answer); return msglen; } - + int nk_rslv(andns_pkt *ap,char *msg,int msglen,char *answer) { int qt,res,rcode,records; inet_prefix ipres; uint8_t recs; uint16_t s; - + qt=ap->qtype; if (qt==AT_A) { snsd_service *ss; @@ -783,11 +785,11 @@ int nk_rslv(andns_pkt *ap,char *msg,int msglen,char *answer) goto safe_return_rcode; } snsd_service_llist_del(&ss); - } + } else if (qt==AT_PTR) { lcl_cache *lc; int family; - + family=ap->qstlength==4?AF_INET:AF_INET6; res=inet_setip_raw(&ipres,(u_int*)ap->qstdata,family); if (res==-1) { @@ -802,7 +804,7 @@ int nk_rslv(andns_pkt *ap,char *msg,int msglen,char *answer) goto safe_return_rcode; } res=lcl_cache_to_aansws(answer+msglen,lc,&records); /* destroys lc */ - } + } else if (qt==AT_G) { snsd_service *ss; ss=andna_resolve_hash((u_int *)ap->qstdata, @@ -914,7 +916,7 @@ char *andns_rslv(char *msg, int msglen,char *answer, int *answ_len) andns_pkt *ap; proto=GET_NK_BIT(msg); - if (proto==NK_DNS) + if (proto==NK_DNS) res=d_u(msg,msglen,&dp); else if (proto==NK_INET || proto==NK_NTK) res=a_u(msg,msglen,&ap); @@ -923,10 +925,10 @@ char *andns_rslv(char *msg, int msglen,char *answer, int *answ_len) "Which language are you speaking?"); return NULL; } - if (res==0) + if (res==0) goto discard; memset(answer, 0, ANDNS_MAX_SZ); - if (res==-1) + if (res==-1) goto intrprt; if (proto==NK_DNS) { r=andns_realm(dp->pkt_qst,NULL); @@ -934,7 +936,7 @@ char *andns_rslv(char *msg, int msglen,char *answer, int *answ_len) res=dns_forward(dp,msg,msglen,answer); else res=inet_rslv(dp,msg,msglen,answer); - } + } else if (proto==NK_NTK) res=nk_rslv(ap,msg,msglen,answer); else if (proto==NK_INET) diff --git a/src/scripts/ip_masquerade.sh b/src/scripts/ip_masquerade.sh index da0e9e0..3aa772d 100755 --- a/src/scripts/ip_masquerade.sh +++ b/src/scripts/ip_masquerade.sh @@ -26,7 +26,7 @@ masq_start() { # echo "1" > /proc/sys/net/ipv4/ip_dynaddr # Masquerade - iptables -A POSTROUTING -t nat -j MASQUERADE -o ! lo + iptables -A POSTROUTING -t nat -j MASQUERADE ! -o lo # Static IP users: #