getaddrinfo("3ffe:....?, ATM

Maciej 'Agaran' Pijanka agaran w agaran.6bone.pl
Czw, 19 Paź 2000, 18:13:28 MEST


On Thu, 19 Oct 2000, Rafal Maszkowski wrote:

> On Thu, Oct 19, 2000 at 04:37:04PM +0200, Jan Rekorajski wrote:
> > [czwartek, 19 październik 2000], Rafal Maszkowski napisał(a):
> > > Dodaje wreszcie v6 do tcpblasta:
> > >         memset(&req, 0, sizeof(struct addrinfo));
> > >         req.ai_socktype = tcp? SOCK_STREAM:SOCK_DGRAM;
> > >         if (index(hostname, ':')) req.ai_flags = AI_NUMERICHOST;
> > >         if ( (err=getaddrinfo(hostname, port, &req, &ai0)) != 0 ) {
> > >                 printf( _("getaddrinfo(): %s (%d)\n"), gai_strerror(err), err);
> > >                 return 1;
> > >         }
> > > ale jezeli hostname jest z :, to
> > > ./tcpblast 3ffe:8010::1
> > > Sending non-random TCP data to 3ffe:8010::1 using 1024 B blocks.
> > > getaddrinfo(): Name or service not known (-2)
> > > Co jest zle?
> > IMHO brakuje tam jeszcze przed getaddrinfo()
> > req.ai_family = AF_UNSPEC;
> 
> Nie pomaga, probowalem juz PF_INET6. Ciekawe, ze adresy v4 dzialaja, mimo ze
> nie ustawiam NUMERICHOST dla nich. Moze ktos dobry przyklad do sciagania?
moze to cos pomoze ;)
-- CUT --
/*
   (C) 1999 Arkadiusz Miśkiewicz <misiek w pld.org.pl>
   Prosty resolver dla hostów IPv4 oraz IPv6
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int main(int argc,char *argv[])
{

  struct addrinfo hints, *ai, *aitop;
  int gaierr;
  char addr[1025], addrip[1025];
 
  if (argc <= 1) {
	  printf("Usage:\t%s\t<host or ip addr>\n", argv[0]);
	  exit(1);
  }
	  
  memset(&hints, 0, sizeof(hints));
  hints.ai_family = PF_UNSPEC;
  hints.ai_socktype = SOCK_STREAM;
  gaierr = getaddrinfo(argv[1], NULL, &hints, &aitop);
  if (gaierr != 0) {
	  printf("Error\t%s\n", gai_strerror(gaierr));
	  exit(1);
  }
  gaierr = -1;
  printf("Resolving ... %s\n", argv[1]);
  for (ai = aitop; ai; ai = ai->ai_next) {
	  if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
		  continue;
	  if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr),
			  NULL, 0, NI_NAMEREQD) != 0)
		  strcpy(addr, "unknown");
	  if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addrip, sizeof(addrip),
			  NULL, 0, NI_NUMERICHOST) != 0)
		  strcpy(addrip, "unknown");
	  printf("fqdn: %s\tip addr: %s\n", addr, addrip);
  }
  freeaddrinfo(aitop);
-- CUT --
}
> 
> > > Wojsyl kupil mi ATM! Karty podobno juz leza na biurku.
> > :))) Teraz naciągnij jwra na skonfigurowanie ELANa :)
> 
> A sam to nie dam rady? Eee.. nie wiem, zobacze.
> 
> R.
> 

-- 
Maciej 'Agaran' Pijanka <agaran w agaran.6bone.pl> MAP2-6BONE
i386, Linux 2.2, Pine, Slrn, Vi(m), IPv6, Gdb, 
I do not fear computers.  I fear the lack of them.
                -- Isaac Asimov

-- Support your government, give Echelon / Carnivore something to parse --
classified top-secret government jankowski restricted data radio information
project alek CIA KGB GRU DoD defense elektryk systems  military ksiadz steal
systems spy ojciec terrorist Allah Natasha  Gregori destroy  destruct attack
democracy will send Russia bank system compromise international own rule the
world force power enforce sensitive directorate STRAP warrior-T presidential
elections political foreign embassy takeover
--------------------------------------------------------------------------





Więcej informacji o liście dyskusyjnej 6BONE-PL