gethostbyname auf der dbox2 ?

Sklaventreiber
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

gethostbyname auf der dbox2 ?

Beitrag von TaGana »

Hi,

weis jemand warum dieser code nicht auf der dbox2 läuft ?

Auf dem PC läuft er ok.

Code: Alles auswählen

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int main() {
  struct hostent *host;

  host=gethostbyname("t-online.de");
  if (host==NULL) {
    fprintf(stderr, "Unknown Host\n");
    return -1;
  }

  printf("IP: %08X\n",*((struct in_addr *)host->h_addr));

  fflush(stdout);

  return (0);
}
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

was kommt denn als Ausgabe?
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

Die box meldet nach ein paar Sekunden (10 oder so) unknown host, obwohl ich mit der dbox2 online bin.

Ansonsten klappt die verbindung mit dem Internet, daten senden und empfangen, also die konfiguration (dbox2 und router) ist ok.

ps. wget "http://t-online.de" -O test, geht auch nicht, wenn ich eine ip eintrage geht es aber schon ...
Space_2063
Einsteiger
Einsteiger
Beiträge: 294
Registriert: Samstag 8. Dezember 2001, 00:00

Beitrag von Space_2063 »

Ich kenne zwar deine CDK/Image Stand nicht, sprich ich weiss nicht, ob dein busybox nslookup unterstuetzt, aber probier mal, ob die name resolution ueberhaupt funktioniert

nslookup localhost

und dann

nslookup t-online.de

Wie bekommt denn deine Box die IP, DHCP vom Router oder feste IP (hast du einen DNS, z.B. den von t-online 194.25.2.129 in den Einstellungen des Box Netzwerks gesetzt ? )
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

nslookup localhost geht, bekomme 127.0.0.1, nslookup t-online.de geht aber nicht (wieder unknown host)

Meine dbox2 ist am router, jedoch mit statischer IP, also kein dhcp, ist alles im router so eingestellt, und funktioniert auch ok, nur das gethostbyname geht nicht :(
Space_2063
Einsteiger
Einsteiger
Beiträge: 294
Registriert: Samstag 8. Dezember 2001, 00:00

Beitrag von Space_2063 »

Na dann ist es doch klar. Wenn du ueber DHCP gehen wuerdest, wuerde der DNS mit uebertragen. Da du aber ueber statische IP gehst, kennt die Box keinen DNS und somit kann sie auch die hostnames nicht aufloesen. Sprich fuer neutrino muesstest du z.B. den DNS Server festlegen, in deinem Tool muesstest du den DNS Server mitgeben.

Ich habe es noch nicht probiert, aber fuege mal folgenden Eintrag in die /etc/resolv.conf hinzu

nameserver 194.25.2.129

(geht natuerlich nur bei CDK oder jffs2only Image).
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

Mit dhcp habe ich so meine Probleme.

Wen ich das dhcp für die dbox2 aktiviere (in der dbox2 und im router), bekommt die dbox2 die 192.168.0.5 zugewiesen (steht im router maintance window, die mac stimmt auch), die dbox2 reagiert aber nur auf die 192.168.0.202 ?
Space_2063
Einsteiger
Einsteiger
Beiträge: 294
Registriert: Samstag 8. Dezember 2001, 00:00

Beitrag von Space_2063 »

Kannst du bei dir im Router nicht statische Zuweisungen machen ? Damit zu einer bestimmten MAC immer die gleiche IP vergeben wird ?

Das andere Problem, immer 192.168.0.202 liegt bestimmt am start script fuer neutrino. Da steht eventuell ein

/sbin/ifconfig eth0 192.168.0.202

drin, aendere das mal ab ;)
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Warum konfigurierst Du den Nameserver nicht einfach in Neutrino?
...und stellst dort auch die feste IP ein?
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

Jungs, danke für die hilfe, klappt jetzt alles !!!

Danke :)
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

Hi,

gethostbyname willst du wegen memoryleak sowieso nicht verwenden sondern gethostbyname_r.

Gruss wolginde
Dirch
Senior Member
Beiträge: 394
Registriert: Freitag 9. November 2001, 00:00

Beitrag von Dirch »

mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

Super! :D

Gruß
mash
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

Hi,

der gute Programmierer verwedent
gethostbyname nicht mehr, da memoryleak.

Lieber die 2. variante benutzen:

gethostbyname2

Gruss Woglinde
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

Äh, der Thread war zuletzt eigentlich nicht mehr allzu ernst gemeint :o

Gruß
mash
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

hilfe,

wie peinlich zweimal mit der gleich antworten zu kommen.

*versteck* woglinde
TaGana
Interessierter
Interessierter
Beiträge: 96
Registriert: Samstag 6. Oktober 2001, 00:00

Beitrag von TaGana »

Hi Jungs, gut das Ihr wieder da seid :D

Warum kann ich gethostbyname nicht static linken ? Ich bekomme immer ein Warning: Die gblic die fürs linken benutzt wurde muss beim runtime vorhanden sein oder sowas.

Was kann ich alternativ nehmen, damit ich 100% static linken kann ?
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

hm,

nachgucken, ob es eine statische version von libc gibt?
sonst weiss ich auch nicht.

Gruss Woglinde