www.LinuxHowtos.org
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 callbacksSYNOPSIS
#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);
- void ne_set_server_auth(ne_session *session, ne_auth_creds callback, void *userdata);
DESCRIPTION
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