Aus der Tiefe
   


About
Aus der Tiefe, Meldungen des Rechenzentrums in der Cauerstrasse 11

Matthias Bauer und Martin Bayer problems@math.fau.de

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavours
There's more than one way to view this weblog; try these flavours on for size.

  • index
  • circa 1993
  • RSS
  • Links

  • Shoestring FoundationMiscellaneous byproducts

  •        
    Tue, 22 Mar 2022


    	To the universal deployment of IPv6
    	war ein beliebter, ironischer Trinkspruch auf IETF Meetings. Wie universal
    	das ist, kann man an folgendem sehen. Wenn man den sshd mit
    	der Konfig X11Forwarding yes und X11UseLocalhost yes
    	startet, dann geht in dem Default-Setup von Ubuntu kein X-Forwarding,
    	wenn man keine IPv6-Loopback-Addr ([::1]) auf dem lo
    	Interface hat.Dazu gibt es keine verdammte Fehlermeldung, ausser 
     	   "Failed to allocate internet-domain X11 display socket."
    	und in der steht nicht, warum. Wenn man dann in die C-sourcen von OpenSSH schaut,
    	findet man (beim aktuellen OpenSSH) in channel.c in der Zeile 4744:
    
    	  	for (display_number = x11_display_offset;
    		    display_number < MAX_DISPLAYS;
    		    display_number++) { 
    			    ...
    			    getaddrinfo(NULL, strport,
    			    &hints, &aitop))
     				...
     				sock = socket(ai->ai_family, ai->ai_socktype,
    			    	ai->ai_protocol);
    				...
    		  		if (bind(sock, ai->ai_addr, ai->ai_addrlen) == -1) {
    				debug2_f("bind port %d: %.100s", port,
    				    strerror(errno));
    				close(sock);
    				...
    		}
    		if (display_number >= MAX_DISPLAYS) {
    			error("Failed to allocate internet-domain X11 display socket.");
    			return -1;
    		}
    	D.h. der socket call funktioniert auf einem PoetteringOS ohne IPv6,
    	wenn die ai_family == AF_INET6 ist, aber das bind
    	schlaegt fehl, und darauf gibts nur eine Debug-Nachricht auf Level DEBUG2.
    	Und weil das keinen Abbruch der Schleife erzwingt, zaehlt die aeussere Schleife
    	froehlich bis MAX_DISPLAYS, und stirbt dann mit einer eher obskuren Vehlermehldung.
    	Wenn man die AddressFamily vom Default any auf inet
    	umstellt, geht wieder alles. 
    	WeheheeeeTeeheEhehhhfFFFF
    
    
    

    [/bauerm] permanent link