On Mon, 2019-07-29 at 16:49 +0100, Daniel P. Berrangé wrote:
On Mon, Jul 29, 2019 at 02:32:31PM +0200, Andrea Bolognani wrote:
> On Tue, 2019-07-23 at 17:03 +0100, Daniel P. Berrangé wrote:
> > - if (virAsprintf(&sockname,
> > - "%s/" LIBVIRTD_USER_UNIX_SOCKET, userdir)
< 0)
> > + if (virAsprintf(&sockname, "%s/%s-sock",
> > + userdir, sock_prefix) < 0)
>
> I kinda just noticed, but don't we support R/O connections in
> session mode?
The client app is required to be the same user ID as the daemon.
As such there's no meaningful security separation between the
two from a DAC pov, so R/O socket was deemed to be a waste of
time.
If you had SELinux strictly locking things down it could be
considered slightly more secure, but no one has ever cared
enough to enable it.
Alright.
> > + if (!direct_sock_name) {
> > + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> > + _("Cannot use direct socket mode if no URI is
set"));
> > + return NULL;
> > + }
>
> Is the error message accurate? We should be way past making sure we
> have a URI to work with by now.
We'll only hit direct_sock_name == NULL, if driver == NULL.
We'll only hit driver == NULL, if the original URI was NULL.
Okay.
> > +#ifndef WIN32
> > +static const char *
> > +remoteGetDaemonPathEnv(void)
> > +{
> > + /* We prefer a VIRTD_PATH env var to use for all daemons,
> > + * but if it is not set we will fallback to LIBVIRTD_PATH
> > + * for previous behaviour
> > + */
> > + if (virGetEnvBlockSUID("VIRTD_PATH") != NULL) {
> > + return "VIRTD_PATH";
> > + } else {
> > + return "LIBVIRTD_PATH";
> > + }
> > +}
> > +#endif /* WIN32 */
>
> I don't think this function needs to be guarded by 'ifndef WIN32':
> we already do so at the call site, and AFAICT there's nothing in the
> helper itself that warrants compiling it out on Windows.
It is a static function, so will trigger an unused function warning.
You've convinced me, so
Reviewed-by: Andrea Bolognani <abologna(a)redhat.com>
if you address the style issues and most importantly switch the
default mode to legacy.
--
Andrea Bolognani / Red Hat / Virtualization