X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6fc2909634fb431c65ecfa8b6db4f6519f99b389..7eae0c1a6153c57b0dc76ccded15937c202d8473:/h/oauth.h diff --git a/h/oauth.h b/h/oauth.h index ad6bd940..1ba53149 100644 --- a/h/oauth.h +++ b/h/oauth.h @@ -1,13 +1,12 @@ -/* - * Implementation of OAuth 2.0 [1] for XOAUTH2 in SMTP [2] and POP3 [3]. +/* oauth.h -- OAuth 2.0 implementation for XOAUTH2 in SMTP and POP3. * * Google defined XOAUTH2 for SMTP, and that's what we use here. If other * providers implement XOAUTH2 or some similar OAuth-based SMTP authentication * protocol, it should be simple to extend this. * - * [1] https://tools.ietf.org/html/rfc6749 - * [2] https://developers.google.com/gmail/xoauth2_protocol - * [3] http://googleappsdeveloper.blogspot.com/2014/10/updates-on-authentication-for-gmail.html + * OAuth https://tools.ietf.org/html/rfc6749 + * SMTP https://developers.google.com/gmail/xoauth2_protocol + * POP3 http://googleappsdeveloper.blogspot.com/2014/10/updates-on-authentication-for-gmail.html * * Presumably [2] should document POP3 and that is an over-sight. As it stands, * that blog post is the closest we have to documentation. @@ -20,7 +19,7 @@ * 1. User runs mhlogin which prints a URL the user must visit, and prompts for * a code retrieved from that page. * - * 2. User vists this URL in browser, signs in with some Google account, and + * 2. User visits this URL in browser, signs in with some Google account, and * copies and pastes the resulting code back to mhlogin. * * 3. mhlogin does HTTP POST to Google to exchange the user-provided code for a @@ -146,7 +145,7 @@ mh_oauth_free(mh_oauth_ctx *ctx); * Never returns NULL. */ const char * -mh_oauth_svc_display_name(const mh_oauth_ctx *ctx); +mh_oauth_svc_display_name(const mh_oauth_ctx *ctx) PURE; /* * Enable logging for subsequent operations on ctx. @@ -165,7 +164,7 @@ mh_oauth_log_to(FILE *log, mh_oauth_ctx *ctx); * Must not be called if an error was not indicated. */ mh_oauth_err_code -mh_oauth_get_err_code(const mh_oauth_ctx *ctx); +mh_oauth_get_err_code(const mh_oauth_ctx *ctx) PURE; /* * Return null-terminated error message after some function indicated an error. @@ -206,7 +205,7 @@ mh_oauth_refresh(mh_oauth_cred *cred); * Return whether access token is present and not expired at time T. */ boolean -mh_oauth_access_token_valid(time_t t, const mh_oauth_cred *cred); +mh_oauth_access_token_valid(time_t t, const mh_oauth_cred *cred) PURE; /* * Free all resources associated with cred. @@ -235,7 +234,7 @@ mh_oauth_cred_save(FILE *fp, mh_oauth_cred *cred, const char *user); /* * Load OAuth tokens from file. * - * Calls m_getfld(), which writes to stderr with advise(). + * Calls m_getfld2(), which writes to stderr with advise(). * * On error, return NULL. */