Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ne_set_proxy_auth (3)

Name

ne_set_proxy_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

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
       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
ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/neon     |
       +---------------+------------------+
       |Stability      | Volatile         |
       +---------------+------------------+

NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.webdav.org/neon/neon-0.30.1.tar.gz.

       Further information about this software can be found on the open source
       community website at http://www.webdav.org/neon/.



neon 0.30.1                    23 September 2014         NE_SET_SERVER_AUTH(3)