if (ret)
return getnameinfo_err (ret);
- if (outlen < mutt_strlen (hbuf) + mutt_strlen (pbuf) + 2)
+ if (outlen < str_len (hbuf) + str_len (pbuf) + 2)
return SASL_BUFOVER;
snprintf (out, outlen, "%s;%s", hbuf, pbuf);
/*** set sasl IP properties, necessary for use with krb4 ***/
/* Do we need to fail if this fails? I would assume having these unset
- * would just disable KRB4. Who wrote this code? I'm not sure how this
- * interacts with the NSS code either, since that mucks with the fd. */
+ * would just disable KRB4. Who wrote this code?
+ */
#ifndef USE_SASL2 /* with SASLv2 this all happens in sasl_client_new */
{
struct sockaddr_in local, remote;
return -1;
}
- /* we currently don't have an SSF finder for NSS (I don't know the API).
- * If someone does it'd probably be trivial to write mutt_nss_get_ssf().
- * I have a feeling more SSL code could be shared between those two files,
- * but I haven't looked into it yet, since I still don't know the APIs. */
-#if (defined(USE_SSL) || defined(USE_GNUTLS) && !defined(USE_NSS))
- if (conn->account.flags & M_ACCT_SSL) {
+#if defined(USE_SSL) || defined(USE_GNUTLS)
+ if (conn->ssf) {
#ifdef USE_SASL2 /* I'm not sure this actually has an effect, at least with SASLv2 */
debug_print (2, ("External SSF: %d\n", conn->ssf));
if (sasl_setprop (*saslconn, SASL_SSF_EXTERNAL, &(conn->ssf)) != SASL_OK)
if (mutt_get_field (prompt, resp, sizeof (resp), 0))
return SASL_FAIL;
- interaction->len = mutt_strlen (resp) + 1;
- interaction->result = safe_malloc (interaction->len);
- memcpy (interaction->result, resp, interaction->len);
+ interaction->len = str_len (resp) + 1;
+ interaction->result = mem_malloc (interaction->len);
+ memcpy ((char*) interaction->result, resp, interaction->len);
interaction++;
}
* for the read/write methods. */
void mutt_sasl_setup_conn (CONNECTION * conn, sasl_conn_t * saslconn)
{
- SASL_DATA *sasldata = (SASL_DATA *) safe_malloc (sizeof (SASL_DATA));
+ SASL_DATA *sasldata = (SASL_DATA *) mem_malloc (sizeof (SASL_DATA));
sasldata->saslconn = saslconn;
/* get ssf so we know whether we have to (en|de)code read/write */
}
if (len)
- *len = mutt_strlen (*result);
+ *len = str_len (*result);
return SASL_OK;
}
if (mutt_account_getpass (account))
return SASL_FAIL;
- len = mutt_strlen (account->pass);
+ len = str_len (account->pass);
- *psecret = (sasl_secret_t *) safe_malloc (sizeof (sasl_secret_t) + len);
+ *psecret = (sasl_secret_t *) mem_malloc (sizeof (sasl_secret_t) + len);
(*psecret)->len = len;
- strcpy ((*psecret)->data, account->pass); /* __STRCPY_CHECKED__ */
+ strcpy ((char*) (*psecret)->data, account->pass); /* __STRCPY_CHECKED__ */
return SASL_OK;
}
/* release sasl resources */
sasl_dispose (&sasldata->saslconn);
#ifndef USE_SASL2
- FREE (&sasldata->buf);
+ mem_free (&sasldata->buf);
#endif
- FREE (&sasldata);
+ mem_free (&sasldata);
/* call underlying close */
rc = (conn->conn_close) (conn);
conn->sockdata = sasldata->sockdata;
#ifndef USE_SASL2
- FREE (&sasldata->buf);
+ mem_free (&sasldata->buf);
#endif
sasldata->bpos = 0;
sasldata->blen = 0;
rc = (sasldata->msasl_write) (conn, pbuf, plen);
#ifndef USE_SASL2
- FREE (&pbuf);
+ mem_free (&pbuf);
#endif
if (rc != plen)
goto fail;