Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
NE_SET_SERVER_AUTH(3)	       neon API reference	   NE_SET_SERVER_AUTH(3)

NAME
     ne_set_server_auth,  ne_set_proxy_auth, ne_forget_auth - register authenti-
     cation callbacks

SYNOPSIS
     #include <ne_auth.h>

     typedef  int  (*ne_auth_creds)(void *userdata,  const char *realm,  int at-
				  tempt, 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  re-
     quest.  The  realm  string  is  supplied  by  the server.	The attempt is a
     counter giving the number of times the request has been retried  with  dif-
     ferent  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 call-
	 back.

     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  authentica-
     tion 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);

	    /* ... */
	 }

COPYRIGHT
     Copyright (C) 2001-2024 Joe Orton

neon 0.34.0			23 November 2024	   NE_SET_SERVER_AUTH(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ne_forget_auth&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help