[Pdns-users] 2.9.22-rc1 coming up!

bert hubert bert.hubert at netherlabs.nl
Tue Nov 18 10:43:27 UTC 2008


On Tue, Nov 18, 2008 at 10:45:43AM +0100, Ton van Rosmalen wrote:
>    I probably should have said that I'm using the following options in m
>    config-file
>    - setuid
>    - setgid
> 
>    Which might explain the problem I saw before my hack. No problems have
>    been seen after my modification.

Many thanks Ton!

I tested this, and applied your change in
http://wiki.powerdns.com/cgi-bin/trac.fcgi/changeset/1295

New snapshot is coming up on svn.powerdns.com/snapshots/1295 in a few
minutes.

	Bert

> 
>    I've attached a patch-file which contains the changes as I made them. I
>    hope it
>    comes through to the list.
> 
>    Regards,
> 
>    Ton
> 
>    Ton van Rosmalen schreef:
> 
>  Hi again,
> 
>  Ton van Rosmalen schreef:
>   
> 
>  I just downgraded the supermaster back to 2.9.21 and pdns_control
>  functions as it should.
>  It connects to the control-socket send the notify and exits.
> 
>  When shutting down using the pdns-initscript it hung on 'pdns_control
>  ping', so all usage of the
>  control socket seems to give me problems.
> 
>  Is there anything I can test to provide more info on this issue I'm
>  seeing?
>     
> 
>  After looking into the code and the diffs between 2.9.21 and the
>  snapshot I found the only difference
>  between the old and new in the manner in which the control-socket is
>  set-up in the server.
> 
>  In 2.9.21 only the local unix socket existed and this was set-up.
>  In 2.9.22 both the local unix socket and a tcp/ip socket exist for which
>  a shared function
>  is create b the name 'createSocketAndBind'.
> 
>  The problem seems to be that this function essentially does a bind() and
>  listen() after which the gid and mode
>  of the control-socket is changed.
> 
>  Before it did a bind(), change gid/mode and listen().
> 
>  I did a quick hack to change behaviour as it was in 2.9.21 and
>  pdns_control does everything I want it to.
> 
>  At this time I'm getting a bit cloudy in my head ;-) so if I don't make
>  sense please forgive me.
> 
>  If the hack I made is of interest to anyone please let me know and I'll
>  post a diff against snapshot 1293 to the list.
> 
>  Regards,
> 
>  Ton
>  _______________________________________________
>  Pdns-users mailing list
>  Pdns-users at mailman.powerdns.com
>  http://mailman.powerdns.com/mailman/listinfo/pdns-users
>   
> 
>    !DSPAM:49228ed5133604495314143!

> Index: dynlistener.cc
> ===================================================================
> --- dynlistener.cc	(revision 1294)
> +++ dynlistener.cc	(working copy)
> @@ -74,8 +74,6 @@
>      L<<Logger::Critical<<"Binding to dynlistener: "<<strerror(errno)<<endl;
>      exit(1);
>    }
> -
> -  listen(d_s,10);
>  }
>  
>  void DynListener::listenOnUnixDomain(const string& fname)
> @@ -100,6 +98,7 @@
>        L<<Logger::Error<<"Unable to change group access mode of controlsocket: "<<strerror(errno)<<endl;
>    }
>    
> +  listen(d_s,10);
>    
>    L<<Logger::Warning<<"Listening on controlsocket in '"<<fname<<"'"<<endl;
>    d_nonlocal=true;
> @@ -108,6 +107,7 @@
>  void DynListener::listenOnTCP(const ComboAddress& local)
>  {
>    createSocketAndBind(AF_INET, (struct sockaddr*)& local, local.getSocklen());
> +  listen(d_s,10);
>    d_socketaddress=local;
>    L<<Logger::Warning<<"Listening on controlsocket on '"<<local.toStringWithPort()<<"'"<<endl;
>    d_nonlocal=true;
> 
> !DSPAM:49228ed5133604495314143!


-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://netherlabs.nl              Open and Closed source services


More information about the Pdns-users mailing list