+ if( p_sys->i_code == 401 )
+ {
+ char *psz_login = NULL; char *psz_password = NULL;
+ int i_ret;
+ msg_Dbg( p_access, "Authentication failed" );
+ i_ret = intf_UserLoginPassword( p_access, "HTTP authentication",
+ "Authentication failed", &psz_login, &psz_password );
+ if( i_ret == DIALOG_OK_YES )
+ {
+ msg_Dbg( p_access, "retrying with user=%s, pwd=%s",
+ psz_login, psz_password );
+ if( psz_login ) p_sys->url.psz_username = strdup( psz_login );
+ if( psz_password ) p_sys->url.psz_password = strdup( psz_password );
+ if( psz_login ) free( psz_login );
+ if( psz_password ) free( psz_password );
+ goto connect;
+ }
+ else
+ {
+ if( psz_login ) free( psz_login );
+ if( psz_password ) free( psz_password );
+ goto error;
+ }
+ }
+