tls_start(int sock, SSL **ssl, SSL_CTX *ctx)
{
int rc;
-static const char *sid_ctx = "exim";
+static const unsigned char *sid_ctx = "exim";
RAND_load_file("client.c", -1); /* Not *very* random! */
if (rc < 0)
{
close(sock);
- printf("failed: %s\n", strerror(save_errno));
+ printf("connect failed: %s\n", strerror(save_errno));
exit(85);
}
}
#endif
-while (fgets(outbuffer, sizeof(outbuffer), stdin) != NULL)
+while (fgets(CS outbuffer, sizeof(outbuffer), stdin) != NULL)
{
- int n = (int)strlen(outbuffer);
+ int n = (int)strlen(CS outbuffer);
while (n > 0 && isspace(outbuffer[n-1])) n--;
outbuffer[n] = 0;
/* Expect incoming */
- if (strncmp(outbuffer, "??? ", 4) == 0)
+ if (strncmp(CS outbuffer, "??? ", 4) == 0)
{
unsigned char *lineptr;
printf("%s\n", outbuffer);
}
printf("<<< %s\n", lineptr);
- if (strncmp(lineptr, outbuffer + 4, (int)strlen(outbuffer) - 4) != 0)
+ if (strncmp(CS lineptr, CS outbuffer + 4, (int)strlen(CS outbuffer) - 4) != 0)
{
printf("\n******** Input mismatch ********\n");
exit(79);
/* Wait for a bit before proceeding */
- else if (strncmp(outbuffer, "+++ ", 4) == 0)
+ else if (strncmp(CS outbuffer, "+++ ", 4) == 0)
{
printf("%s\n", outbuffer);
- sleep(atoi(outbuffer + 4));
+ sleep(atoi(CS outbuffer + 4));
}
/* Send outgoing, but barf if unconsumed incoming */
/* Shutdown TLS */
- if (strcmp(outbuffer, "stoptls") == 0 ||
- strcmp(outbuffer, "STOPTLS") == 0)
+ if (strcmp(CS outbuffer, "stoptls") == 0 ||
+ strcmp(CS outbuffer, "STOPTLS") == 0)
{
if (!tls_active)
{
/* Remember that we sent STARTTLS */
- sent_starttls = (strcmp(outbuffer, "starttls") == 0 ||
- strcmp(outbuffer, "STARTTLS") == 0);
+ sent_starttls = (strcmp(CS outbuffer, "starttls") == 0 ||
+ strcmp(CS outbuffer, "STARTTLS") == 0);
/* Fudge: if the command is "starttls_wait", we send the starttls bit,
but we haven't set the flag, so that there is no negotiation. This is for
testing the server's timeout. */
- if (strcmp(outbuffer, "starttls_wait") == 0)
+ if (strcmp(CS outbuffer, "starttls_wait") == 0)
{
outbuffer[8] = 0;
n = 8;
#endif
printf(">>> %s\n", outbuffer);
- strcpy(outbuffer + n, "\r\n");
+ strcpy(CS outbuffer + n, "\r\n");
/* Turn "\n" and "\r" into the relevant characters. This is a hack. */
- while ((escape = strstr(outbuffer, "\\r")) != NULL)
+ while ((escape = US strstr(CS outbuffer, "\\r")) != NULL)
{
*escape = '\r';
memmove(escape + 1, escape + 2, (n + 2) - (escape - outbuffer) - 2);
n--;
}
- while ((escape = strstr(outbuffer, "\\n")) != NULL)
+ while ((escape = US strstr(CS outbuffer, "\\n")) != NULL)
{
*escape = '\n';
memmove(escape + 1, escape + 2, (n + 2) - (escape - outbuffer) - 2);