Hi Geri,
Yes, this is a problem.. I would think that the best solution is to have a
method that registers a "prompt" callback. For instance,
void setPasswordCallBack((void func)(const char *prompt, char *replybuff,
int bufflen));
If there are other prompt intercepts then perhaps a more general scheme
would be needed. I suspect this change would be rather significant as it
would affect several classes.
Andy
----- Original Message -----
From: "Gerri Ganis" <[log in to unmask]>
To: "Joern Wuestenfeld" <[log in to unmask]>
Cc: <[log in to unmask]>
Sent: Wednesday, May 02, 2007 6:39 AM
Subject: Re: Authentification in xrootd client
>
> Hi Joern,
>
> In xrootd login/authentication is done at level of physical connection;
> I am not sure of the documentation you refer to, but I believe that is
> quite natural to have those actions at Connect() level.
> Moreover, that is the place where client first sees the server, so there
> is no way to know in advance whether a server requires authentication.
> The username can be set via the env XrdSecUSER, but there is not way to
> set the password, except via the autologin file.
>
> Having said that, I think I see your problem but I am not sure that we
> can have a solution without some changes.
>
> I guess that what you would like to have is the possibility to enter a
> password via some graphic interface, like a password box or a direct
> connection to your GUI.
>
> The password is prompted for via a call to XrdSutGetPass; it was some what
> foreseen to have this configurable, a sort of hook to alternatives; but
> for
> the time being this is not yet the case.
> One possible solution is that we enable this feature, so that you can
> pickup
> your own XrdSutGetPass where you do what you need.
>
> Let me know what you think.
>
> Gerri
>
>
>
> Joern Wuestenfeld wrote:
>
>>Hello,
>>
>>I'm currently writing a client GUI for xrootd. The basics are working
>>with a xrootd server, that does not require user authentification. Now I
>>want to implement authentification, but failed at the time, when first
>>connecting to the server. The library asks for a password on the
>>commandline, which in a GUI is not visible. Looking at the code, I think
>>something is wrong documented, as the request for the password comes
>>during the XrdClientAdmin->Connect() call, which following the
>>documentation in the code, is not doing login/authorization.
>>
>>So here are some questions:
>>
>>1) Is there a way to find out, whether a server requires authorization,
>>besides a failing connection?
>>
>>2) How to do authorization not using the automatic detection in the
>>XrdClientConn class?
>>
>>3) How to set username and password for the used protocol then? I did
>>not find any functions for that in XrdSec.
>>
>>Hope someone can help me.
>>
>>Cheers Joern
>>
>>
>
>
|