s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s < 0) {
- syslog(1, "Can't create socket[%s]: %s\n", sockpath, strerror(errno));
+ syslog(1, "Can't create socket [%s]: %s\n", sockpath, strerror(errno));
return(-1);
}
syslog(1, "StrBuf_ServGetln(): Server connection broken: %s\n",
(ErrStr)?ErrStr:"");
wc_backtrace();
+ if (WCC->serv_sock > 0) close(WCC->serv_sock);
WCC->serv_sock = (-1);
WCC->connected = 0;
WCC->logged_in = 0;
syslog(1, "StrBuf_ServGetBLOBBuffered(): Server connection broken: %s\n",
(ErrStr)?ErrStr:"");
wc_backtrace();
+ if (WCC->serv_sock > 0) close(WCC->serv_sock);
WCC->serv_sock = (-1);
WCC->connected = 0;
WCC->logged_in = 0;
syslog(1, "StrBuf_ServGetBLOB(): Server connection broken: %s\n",
(ErrStr)?ErrStr:"");
wc_backtrace();
+ if (WCC->serv_sock > 0) close(WCC->serv_sock);
WCC->serv_sock = (-1);
WCC->connected = 0;
WCC->logged_in = 0;
pche = pch + len;
if (WCC->ReadPos != pche)
{
- syslog(1, "ERROR: somebody didn't eat his soup! Remaing Chars: %ld [%s]\n",
- pche - WCC->ReadPos, pche);
+ syslog(1,
+ "ERROR: somebody didn't eat his soup! Remaing Chars: %ld [%s]\n",
+ (long)(pche - WCC->ReadPos),
+ pche
+ );
syslog(1,
"--------------------------------------------------------------------------------\n"
"Whole buf: [%s]\n"
const char *ErrStr = strerror(errno);
syslog(1, "serv_write(): Server connection broken: %s\n",
(ErrStr)?ErrStr:"");
- close(WCC->serv_sock);
+ if (WCC->serv_sock > 0) close(WCC->serv_sock);
WCC->serv_sock = (-1);
WCC->connected = 0;
WCC->logged_in = 0;
if (rc < 0) {
syslog(1, "Server connection broken during download\n");
wc_backtrace();
+ if (WCC->serv_sock > 0) close(WCC->serv_sock);
WCC->serv_sock = (-1);
WCC->connected = 0;
WCC->logged_in = 0;
if (is_https) {
int ntries = 0;
- if (StrLength(Hdr->ReadBuf) > 0) {
+ if (StrLength(Hdr->ReadBuf) > 0)
+ {
pchs = ChrPtr(Hdr->ReadBuf);
pch = strchr(pchs, '\n');
if (pch != NULL) {
retval = client_read_sslbuffer(Hdr->ReadBuf, SLEEPING);
pchs = ChrPtr(Hdr->ReadBuf);
pch = strchr(pchs, '\n');
+ if (pch == NULL)
+ retval = 0;
}
if (retval == 0) {
sleeeeeeeeeep(1);
if (b < 0) {
syslog(1, "Can't bind: %s\n", strerror(errno));
+ close(s);
return (-WC_EXIT_BIND);
}
if (listen(s, queue_len) < 0) {
syslog(1, "Can't listen: %s\n", strerror(errno));
+ close(s);
return (-WC_EXIT_BIND);
}
return (s);
}
if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- syslog(1, "webcit: Can't bind: %s\n",
- strerror(errno));
+ syslog(1, "webcit: Can't bind: %s\n", strerror(errno));
+ close(s);
return (-WC_EXIT_BIND);
}
if (listen(s, actual_queue_len) < 0) {
- syslog(1, "webcit: Can't listen: %s\n",
- strerror(errno));
+ syslog(1, "webcit: Can't listen: %s\n", strerror(errno));
+ close(s);
return (-WC_EXIT_BIND);
}
retval = client_read_sslbuffer(Hdr->ReadBuf, timeout);
if (retval >= 0) {
StrBufAppendBuf(Target, Hdr->ReadBuf, 0); /* todo: Buf > bytes? */
-#ifdef HTTP_TRACING
- write(2, "\033[32m", 5);
- write(2, buf, bytes);
- write(2, "\033[30m", 5);
-#endif
return 1;
}
else {
return retval;
}
-#ifdef HTTP_TRACING
- write(2, "\033[32m", 5);
- write(2, buf, bytes);
- write(2, "\033[30m", 5);
-#endif
return 1;
}
}
#endif
-
-#ifdef HTTP_TRACING
-
- write(2, "\033[34m", 5);
- write(2, ptr, StrLength(WCC->WBuf));
- write(2, "\033[30m", 5);
-#endif
if (WCC->Hdr->http_sock == -1)
return -1;
fdflags = fcntl(WC->Hdr->http_sock, F_GETFL);
count = StrLength(WCC->WBuf);
eptr = ptr + count;
-#ifdef HTTP_TRACING
-
- write(2, "\033[34m", 5);
- write(2, ptr, StrLength(WCC->WBuf));
- write(2, "\033[30m", 5);
-#endif
-
while ((ptr < eptr) && (WCC->Hdr->http_sock != -1)) {
if ((fdflags & O_NONBLOCK) == O_NONBLOCK) {
FD_ZERO(&wset);