from small one page howto to huge articles all in one place
poll results
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
NE_SET_SERVER_AUTH
Section: neon API reference (3) Updated: 30 September 2016 Index
Return to Main Contents
NAME
ne_set_server_auth, ne_set_proxy_auth, ne_forget_auth - register authentication callbacks
SYNOPSIS
#include <ne_auth.h>
-
typedef int (*ne_auth_creds)(void *userdata, const char *realm, int attempt, char *username, char *password);
-
void ne_set_server_auth(ne_session *session, ne_auth_creds callback, void *userdata);
-
void ne_set_proxy_auth(ne_session *session, ne_auth_creds callback, void *userdata);
-
void ne_forget_auth(ne_session *session);
DESCRIPTION
The
ne_auth_creds
function type defines a callback which is invoked when a server or proxy server requires user authentication for a particular request. The
realm
string is supplied by the server.
The
attempt
is a counter giving the number of times the request has been retried with different authentication credentials. The first time the callback is invoked for a particular request,
attempt
will be zero.
To retry the request using new authentication credentials, the callback should return zero, and the
username
and
password
buffers must contain
NUL-terminated strings. The
NE_ABUFSIZ
constant gives the size of these buffers.
-
Tip
If you only wish to allow the user one attempt to enter credentials, use the value of the
attempt
parameter as the return value of the callback.
To abort the request, the callback should return a non-zero value; in which case the contents of the
username
and
password
buffers are ignored.
The
ne_forget_auth
function can be used to discard the cached authentication credentials.
EXAMPLES
-
/* Function which prompts for a line of user input: */
extern char *prompt_for(const char *prompt);
static int
my_auth(void *userdata, const char *realm, int attempts,
char *username, char *password)
{
strncpy(username, prompt_for("Username: "), NE_ABUFSIZ);
strncpy(password, prompt_for("Password: "), NE_ABUFSIZ);
return attempts;
}
int main(...)
{
ne_session *sess = ne_session_create(...);
ne_set_server_auth(sess, my_auth, NULL);
/* ... */
}
AUTHOR
Joe Orton <neon@lists.manyfish.co.uk>
-
Author.
COPYRIGHT
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- EXAMPLES
-
- AUTHOR
-
- COPYRIGHT
-
|