Question regarding -s option of rrdcached

Bernard Li <[email protected]>
Newsgroups gmane.comp.db.rrdtool.devel
Message-ID <[email protected]>
Hi all:

I understand that the new '-s' option for rrdcached will change the
group ownership of the socket specified by -l following the -s
argument, eg:

# rrdcached -s rrdcached -l unix:/tmp/rrdcached.socket

would change the group ownership of the socket to group 'rrdcached'.

However, if I specify -s without -l, I would expect the default socket
created by rrdcached would have the ownership changed, like:

# rrdcached -s rrdcached

The default socket created is still owned by user 'root'.

Is this considered a bug?

Also, if you run the following as root:

# rrdcached -s root -l unix:/tmp/rrdcached.socket

the following block of code from rrd_daemon.c gets executed:

2544	  if (sock->socket_group != (gid_t)-1)
2545	  {
2546	    if ( (chown(path, getuid(), sock->socket_group) != 0) ||
2547	         (chmod(path, (S_IRUSR|S_IWUSR|S_IXUSR | S_IRGRP|S_IWGRP)) != 0) )
2548	    {
2549	      fprintf(stderr, "rrdcached: failed to set socket group
permissions (%s)\n", strerror(errno));
2550	    }
2551	  }

So I believe there is some issue with the comparison.

Finally, would people object to having a new option where you can
change the user ownership of the socket?

Thanks,

Bernard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.