#include "citadel_decls.h"
#include "ipc.h"
#include "tools.h"
+#if defined(HAVE_OPENSSL) && defined(CIT_CLIENT)
+#include "client_crypto.h"
+#endif
#ifndef HAVE_SNPRINTF
#include "snprintf.h"
#endif
int serv_sock;
+#if defined(HAVE_OPENSSL) && defined(CIT_CLIENT)
+extern int ssl_is_connected;
+#endif
+
+
void connection_died(void) {
fprintf(stderr, "\r"
"Your connection to this Citadel server is broken.\n"
{
int len, rlen;
+#if defined(HAVE_OPENSSL) && defined(CIT_CLIENT)
+ if (ssl_is_connected) {
+ serv_read_ssl(buf, bytes);
+ return;
+ }
+#endif
len = 0;
while (len < bytes) {
rlen = read(serv_sock, &buf[len], bytes - len);
connection_died();
return;
}
- len = len + rlen;
+ len += rlen;
}
}
{
int bytes_written = 0;
int retval;
+
+#if defined(HAVE_OPENSSL) && defined(CIT_CLIENT)
+ if (ssl_is_connected) {
+ serv_write_ssl(buf, nbytes);
+ return;
+ }
+#endif
while (bytes_written < nbytes) {
retval = write(serv_sock, &buf[bytes_written],
nbytes - bytes_written);
connection_died();
return;
}
- bytes_written = bytes_written + retval;
+ bytes_written += retval;
}
}
return (ch);
}
-