]> code.citadel.org Git - citadel.git/blobdiff - citadel/sysdep.c
* client_read_blob(): behave the same way in non-ssl as ssl, so we return <0 in case...
[citadel.git] / citadel / sysdep.c
index cb5b3a650458d22013992b9e1ee374a9711cdf41..41bc7d0e79113d62149535ba6e8fe8a0d20becc0 100644 (file)
@@ -573,10 +573,15 @@ int client_read_blob(StrBuf *Target, int bytes, int timeout)
 #ifdef HAVE_OPENSSL
        if (CCC->redirect_ssl) {
                retval = client_read_sslblob(Target, bytes, timeout);
+               if (retval < 0) {
+                       CtdlLogPrintf(CTDL_CRIT, 
+                                     "%s failed\n",
+                                     __FUNCTION__);
+               }
        }
        else 
 #endif
-
+       {
                retval = StrBufReadBLOBBuffered(Target, 
                                                CCC->ReadBuf,
                                                &CCC->Pos,
@@ -585,33 +590,35 @@ int client_read_blob(StrBuf *Target, int bytes, int timeout)
                                                bytes,
                                                O_TERM,
                                                &Error);
-       if (retval < 0) {
-               CtdlLogPrintf(CTDL_CRIT, 
-                             "%s failed: %s\n",
-                             __FUNCTION__,
-                             Error);
-       }
-       else
-       {
+               if (retval < 0) {
+                       CtdlLogPrintf(CTDL_CRIT, 
+                                     "%s failed: %s\n",
+                                     __FUNCTION__, 
+                                     Error);
+                       return retval;
+               }
+               else
+               {
 #ifdef BIGBAD_IODBG
-               int rv = 0;
-               char fn [SIZ];
-               FILE *fd;
-
-               snprintf(fn, SIZ, "/tmp/foolog_%s.%d", CCC->ServiceName, CCC->cs_pid);
-
-               fd = fopen(fn, "a+");
-                fprintf(fd, "Read: BufSize: %d BufContent: [",
-                        StrLength(Target));
-               rv = fwrite(ChrPtr(Target), StrLength(Target), 1, fd);
-                fprintf(fd, "]\n");
-               
+                       int rv = 0;
+                       char fn [SIZ];
+                       FILE *fd;
                        
-                fclose(fd);
+                       snprintf(fn, SIZ, "/tmp/foolog_%s.%d", CCC->ServiceName, CCC->cs_pid);
+                       
+                       fd = fopen(fn, "a+");
+                       fprintf(fd, "Read: BufSize: %d BufContent: [",
+                               StrLength(Target));
+                       rv = fwrite(ChrPtr(Target), StrLength(Target), 1, fd);
+                       fprintf(fd, "]\n");
+                       
+                       
+                       fclose(fd);
 #endif
 
+               }
        }
-       return retval == bytes;
+       return retval;
 }
 
 int client_read_to(char *buf, int bytes, int timeout)
@@ -670,7 +677,10 @@ int CtdlClientGetLine(StrBuf *Target)
 #ifdef BIGBAD_IODBG
                char fn [SIZ];
                FILE *fd;
-               int len, rlen, nlen, nrlen;
+               int len = 0;
+               int rlen = 0;
+               int  nlen = 0;
+               int nrlen = 0;
                const char *pch;
 
                snprintf(fn, SIZ, "/tmp/foolog_%s.%d", CCC->ServiceName, CCC->cs_pid);
@@ -686,11 +696,12 @@ int CtdlClientGetLine(StrBuf *Target)
 /*             fprintf(fd, "\n\n\nBufSize: %d BufPos: %d \nBufContent: [%s]\n\n_____________________\n",
                        len, rlen, pch);
 */
-               fprintf(fd, "\n\n\nBufSize: %d BufPos: %d \n_____________________\n",
+               fprintf(fd, "\n\n\nSSL1: BufSize: %d BufPos: %d \n_____________________\n",
                        len, rlen);
 #endif
                rc = client_readline_sslbuffer(Target,
                                               CCC->ReadBuf,
+                                              &CCC->Pos,
                                               1);
 #ifdef BIGBAD_IODBG
                 pch = ChrPtr(CCC->ReadBuf);
@@ -703,18 +714,17 @@ int CtdlClientGetLine(StrBuf *Target)
                 fprintf(fd, "\n\n\nBufSize: was: %d is: %d BufPos: was: %d is: %d \nBufContent: [%s]\n\n_____________________\n",
                         len, nlen, rlen, nrlen, pch);
 */
-                fprintf(fd, "\n\n\nBufSize: was: %d is: %d BufPos: was: %d is: %d \n",
+                fprintf(fd, "\n\n\nSSL2: BufSize: was: %d is: %d BufPos: was: %d is: %d \n",
                         len, nlen, rlen, nrlen);
 
-                fprintf(fd, "Read: BufSize: %d BufContent: [%s]\n\n*************\n",
+                fprintf(fd, "SSL3: Read: BufSize: %d BufContent: [%s]\n\n*************\n",
                         StrLength(Target), ChrPtr(Target));
                 fclose(fd);
 
-               if ((rc < 0) && (Error != NULL))
+               if (rc < 0)
                        CtdlLogPrintf(CTDL_CRIT, 
-                                     "%s failed: %s\n",
-                                     __FUNCTION__,
-                                     Error);
+                                     "%s failed\n",
+                                     __FUNCTION__);
 #endif
                return rc;
        }