Hi On Tue, Apr 11, 2023 at 11:10 AM Michal Prívozník <mpriv...@redhat.com> wrote:
> On 4/6/23 17:58, marcandre.lur...@redhat.com wrote: > > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > The function does not exist on win32. > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > --- > > src/rpc/virnetlibsshsession.c | 14 ++++++++++++-- > > 1 file changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/src/rpc/virnetlibsshsession.c > b/src/rpc/virnetlibsshsession.c > > index e71a79d0fb..e94b0d7a2e 100644 > > --- a/src/rpc/virnetlibsshsession.c > > +++ b/src/rpc/virnetlibsshsession.c > > @@ -60,7 +60,9 @@ typedef enum { > > VIR_NET_LIBSSH_AUTH_KEYBOARD_INTERACTIVE, > > VIR_NET_LIBSSH_AUTH_PASSWORD, > > VIR_NET_LIBSSH_AUTH_PRIVKEY, > > - VIR_NET_LIBSSH_AUTH_AGENT > > +#ifndef WIN32 > > + VIR_NET_LIBSSH_AUTH_AGENT, > > +#endif > > } virNetLibsshAuthMethods; > > > > I'd just drop this hunk, and ... > > > > > @@ -698,6 +700,7 @@ virNetLibsshAuthenticate(virNetLibsshSession *sess) > > /* try to authenticate using the keyboard interactive way */ > > ret = virNetLibsshAuthenticateKeyboardInteractive(sess, > auth); > > break; > > +#ifndef WIN32 > > case VIR_NET_LIBSSH_AUTH_AGENT: > > /* try to authenticate using ssh-agent */ > > ret = ssh_userauth_agent(sess->session, NULL); > > @@ -708,6 +711,7 @@ virNetLibsshAuthenticate(virNetLibsshSession *sess) > > errmsg); > > } > > break; > > +#endif > > > .. here just wrap the actual ssh_userauth_agent() call in ifdnef. The > @ret is set to SSH_AUTH_DENIED beforehand, and later in the code a > proper error message is reported. > > > case VIR_NET_LIBSSH_AUTH_PRIVKEY: > > /* try to authenticate using the provided ssh key */ > > ret = virNetLibsshAuthenticatePrivkey(sess, auth); > > @@ -861,8 +865,13 @@ > virNetLibsshSessionAuthAddPasswordAuth(virNetLibsshSession *sess, > > } > > > > int > > -virNetLibsshSessionAuthAddAgentAuth(virNetLibsshSession *sess) > > +virNetLibsshSessionAuthAddAgentAuth(virNetLibsshSession *sess > G_GNUC_UNUSED) > > { > > +#ifdef WIN32 > > + virReportError(VIR_ERR_LIBSSH, "%s", > > + _("Agent authentication is not supported on this > host")); > > + return -1; > > +#else > > virNetLibsshAuthMethod *auth; > > > > virObjectLock(sess); > > @@ -873,6 +882,7 @@ > virNetLibsshSessionAuthAddAgentAuth(virNetLibsshSession *sess) > > > > virObjectUnlock(sess); > > return 0; > > +#endif > > } > > > > int > > This hunk alone is enough to ensure agent is not available on WIN32. > > Sure, that's fine with me. thanks