static int sm_addrs = 0;
static int sm_child = NOTOK;
static int sm_debug = 0;
-static int sm_nl = TRUE;
+static bool sm_nl = true;
static int sm_verbose = 0;
static netsec_context *nsc = NULL;
char *errstr, *chosen_server;
if (watch)
- verbose = TRUE;
+ verbose = true;
sm_verbose = verbose;
sm_debug = debug;
char *vec[15], *errstr;
if (watch)
- verbose = TRUE;
+ verbose = true;
sm_verbose = verbose;
sm_debug = debug;
{
switch (smtalk (SM_DATA, "DATA")) {
case 354:
- sm_nl = TRUE;
+ sm_nl = true;
return RP_OK;
case 451:
for (bp = buffer; bp && len > 0; bp++, len--) {
switch (*bp) {
case '\n':
- sm_nl = TRUE;
+ sm_nl = true;
if (netsec_write(nsc, "\r", 1, &errstr) != OK) {
sm_nerror(errstr);
return NOTOK;
/* FALLTHRU */
default:
- sm_nl = FALSE;
+ sm_nl = false;
}
if (netsec_write(nsc, bp, 1, &errstr) != OK) {
sm_nerror(errstr);
static int
smhear (void)
{
- int i, code, cont, more;
+ int i, code;
+ bool cont, more;
size_t buflen, rc;
unsigned char *bp;
char *rp;
rp = sm_reply.text;
rc = sizeof(sm_reply.text) - 1;
- for (more = FALSE; (buffer = netsec_readline(nsc, &buflen,
+ for (more = false; (buffer = netsec_readline(nsc, &buflen,
&errstr)) != NULL ; ) {
if (doingEHLO
for (; buflen > 0 && (!isascii (*bp) || !isdigit (*bp)); bp++, buflen--)
continue;
- cont = FALSE;
+ cont = false;
code = atoi ((char *) bp);
bp += 3, buflen -= 3;
for (; buflen > 0 && isspace (*bp); bp++, buflen--)
continue;
if (buflen > 0 && *bp == '-') {
- cont = TRUE;
+ cont = true;
bp++, buflen--;
for (; buflen > 0 && isspace (*bp); bp++, buflen--)
continue;
if (more) {
if (code != sm_reply.code || cont)
continue;
- more = FALSE;
+ more = false;
} else {
sm_reply.code = code;
more = cont;
if (!mh_oauth_get_service_info(svc_name, &ctx->svc, ctx->err_buf,
sizeof(ctx->err_buf))) {
set_err_details(ctx, MH_OAUTH_BAD_PROFILE, ctx->err_buf);
- return FALSE;
+ return false;
}
ctx->curl = curl_easy_init();
if (ctx->curl == NULL) {
set_err(ctx, MH_OAUTH_CURL_INIT);
- return FALSE;
+ return false;
}
curl_easy_setopt(ctx->curl, CURLOPT_ERRORBUFFER, ctx->err_buf);
if (curl_easy_setopt(ctx->curl, CURLOPT_USERAGENT,
ctx->user_agent) != CURLE_OK) {
set_err_details(ctx, MH_OAUTH_CURL_INIT, ctx->err_buf);
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
void
cred_from_response(mh_oauth_cred *cred, const char *content_type,
const char *input, size_t input_len)
{
- bool result = FALSE;
+ bool result = false;
char *access_token, *expires_in, *refresh_token;
const mh_oauth_ctx *ctx = cred->ctx;
if (!is_json(content_type)) {
- return FALSE;
+ return false;
}
access_token = expires_in = refresh_token = NULL;
}
}
- result = TRUE;
+ result = true;
free(cred->access_token);
cred->access_token = access_token;
} else {
set_err_details(ctx, MH_OAUTH_POST, ctx->err_buf);
}
- return FALSE;
+ return false;
}
if (curl_ctx.res_code != 200) {
set_err_http(ctx, &curl_ctx);
- return FALSE;
+ return false;
}
if (!cred_from_response(cred, curl_ctx.content_type, curl_ctx.res_body,
curl_ctx.res_len)) {
set_err(ctx, MH_OAUTH_RESPONSE_BAD);
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
mh_oauth_cred *
if (cred->refresh_token == NULL) {
set_err(ctx, MH_OAUTH_NO_REFRESH);
- return FALSE;
+ return false;
}
if (!make_query_url(ctx->buf, sizeof ctx->buf, ctx->curl, NULL,
"client_secret", ctx->svc.client_secret,
(void *)NULL)) {
set_err(ctx, MH_OAUTH_REQUEST_INIT);
- return FALSE;
+ return false;
}
result = do_access_request(cred, ctx->buf);
if (result && cred->access_token == NULL) {
set_err_details(ctx, MH_OAUTH_RESPONSE_BAD, "no access token");
- return FALSE;
+ return false;
}
return result;
static bool
load_creds(struct user_creds **result, FILE *fp, mh_oauth_ctx *ctx)
{
- bool success = FALSE;
+ bool success = false;
char name[NAMESZ], value_buf[BUFSIZ];
int state;
m_getfld_state_t getfld_ctx;
case BODY:
case FILEEOF:
- success = TRUE;
+ success = true;
break;
default:
long expires_at)
{
if (access != NULL) {
- if (fprintf(fp, "access-%s: %s\n", user, access) < 0) return FALSE;
+ if (fprintf(fp, "access-%s: %s\n", user, access) < 0) return false;
}
if (refresh != NULL) {
- if (fprintf(fp, "refresh-%s: %s\n", user, refresh) < 0) return FALSE;
+ if (fprintf(fp, "refresh-%s: %s\n", user, refresh) < 0) return false;
}
if (expires_at > 0) {
if (fprintf(fp, "expire-%s: %ld\n", user, (long)expires_at) < 0) {
- return FALSE;
+ return false;
}
}
- return TRUE;
+ return true;
}
bool
/* Load existing creds if any. */
if (!load_creds(&user_creds, fp, cred->ctx)) {
- return FALSE;
+ return false;
}
if (fchmod(fd, S_IRUSR | S_IWUSR) < 0) goto err;
free_user_creds(user_creds);
- return TRUE;
+ return true;
err:
free_user_creds(user_creds);
set_err(cred->ctx, MH_OAUTH_CRED_FILE);
- return FALSE;
+ return false;
}
mh_oauth_cred *
/*
* Build null-terminated URL in the array pointed to by s. If the URL doesn't
- * fit within size (including the terminating null byte), return FALSE without *
+ * fit within size (including the terminating null byte), return false without *
* building the entire URL. Some of URL may already have been written into the
* result array in that case.
*/
static bool
make_query_url(char *s, size_t size, CURL *curl, const char *base_url, ...)
{
- bool result = FALSE;
+ bool result = false;
size_t len;
char *prefix;
va_list ap;
} else {
len = strlen(base_url);
if (len > size - 1) /* Less one for NUL. */
- return FALSE;
+ return false;
strcpy(s, base_url);
prefix = "?";
}
prefix = "&";
}
- result = TRUE;
+ result = true;
out:
va_end(ap);
size *= nmemb;
new_len = ctx->res_len + size;
if (new_len > sizeof ctx->res_body) {
- ctx->too_big = TRUE;
+ ctx->too_big = true;
return 0;
}
CURL *curl = ctx->curl;
CURLcode status;
- ctx->too_big = FALSE;
+ ctx->too_big = false;
ctx->res_len = 0;
if (ctx->log != NULL) {
}
if ((status = curl_easy_setopt(curl, CURLOPT_URL, url)) != CURLE_OK) {
- return FALSE;
+ return false;
}
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, req_body);
status = curl_easy_perform(curl);
/* first check for error from callback */
if (ctx->too_big) {
- return FALSE;
+ return false;
}
/* now from curl */
if (status != CURLE_OK) {
- return FALSE;
+ return false;
}
if ((status = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE,
&ctx->res_code)) != CURLE_OK
|| (status = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE,
&ctx->content_type)) != CURLE_OK) {
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
/*******************************************************************************
*tokens = mh_xrealloc(*tokens, *tokens_len * sizeof **tokens);
}
if (r <= 0) {
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
/*
int skip_tokens = 0;
/* whether the current token represents a field name */
/* The next token will be the value. */
- bool is_key = TRUE;
+ bool is_key = true;
int i;
for (i = 1; i <= token_count; i++) {
if (skip_tokens > 0) {
skip_tokens--;
/* When we finish with the object or list, we'll have a key. */
- is_key = TRUE;
+ is_key = true;
continue;
}
if (is_key) {
- is_key = FALSE;
+ is_key = false;
continue;
}
key = input + tokens[i - 1].start;
(*val)[val_len] = '\0';
return;
}
- is_key = TRUE;
+ is_key = true;
}
}
static bool
get_json_strings(const char *input, size_t input_len, FILE *log, ...)
{
- bool result = FALSE;
+ bool result = false;
jsmntok_t *tokens;
size_t tokens_len;
va_list ap;
goto out;
}
- result = TRUE;
+ result = true;
va_start(ap, log);
for (name = va_arg(ap, char *); name != NULL; name = va_arg(ap, char *)) {