Török Edvin
bfd89d7c84
fix Solaris build
...
git-svn: trunk@4776
17 years ago
Tomasz Kojm
086eab5c26
update old copyright headers
...
git-svn: trunk@4775
17 years ago
Török Edvin
034994bd9c
fdpassing is now in others.c instead of session.c, move
...
the defines.
git-svn: trunk@4774
17 years ago
Török Edvin
9ac109f338
add missing include
...
git-svn: trunk@4773
17 years ago
Török Edvin
4fd2ccf0ea
fix distcheck
...
git-svn: trunk@4771
17 years ago
Török Edvin
7a997ac950
move TCP socket creation to shared/
...
git-svn: trunk@4769
17 years ago
Török Edvin
6e3256f492
Unify error paths.
...
Remove unix socket we created if startup fails due to invalid config.
git-svn: trunk@4768
17 years ago
Török Edvin
4cc952e322
add check for msg.controllen, apparently Mac OS X sets it to 0,
...
but CMSG_FIRSTHDR is not NULL!
git-svn: trunk@4761
17 years ago
Török Edvin
949c6fe54f
merge from clamd-proto branch:
...
handle multiple %v parameters
introduce poll_fds that also does the read into a buffer
introduce thrmgr_group* commands for keeping track of groups of commands
(multiscan, IDSESSION)
introduce 2 queues in thrmgr, multiscan queues get lower priority. Commands
are processed from both queues in a 4:1 ratio to avoid starvation.
unify reply code: conn_reply*
unify scanner code into scan_callback that is called from cli_ftw
multiscan doesn't need stat() now if readdir() provides dt_type
redesign clamd main loop: there is now an accept thread, and a
recv()/dispatch thread, +MaxThreads worker (scanner) threads.
introduce limiting on commands when worker threads are contended.
introduce IDSESSION, a replacement for the old SESSION command, that allows
asyncronous (scan) commands and scan replies
introduce INSTREAM that allows sending the data to scan on same connection
(vs STREAM that requires another port)
introduce zCOMMANDS
git-svn: trunk@4755
17 years ago
Török Edvin
004f8386ce
output "stream" instead of "fd[]" for INSTREAM.
...
Add INSTREAM command test.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4753 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
9f0a28adcb
actually use the flags we calculated!
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4748 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
0115f12ffc
fix some more warnings
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4746 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
10ab5e32f4
fix some compiler warnings
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4745 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
9ef7e0bdae
fix memory leaks
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4743 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
d0f6ecae1c
Never close a file descriptor that is monitored using
...
poll()/select() from another thread.
It introduces subtle bugs.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4742 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
f243f00fc5
fix some races reported by valgrind
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4737 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
ae083d79ff
downgrade message
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4736 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
bac978a8f8
move the break to the proper place, so we don't parse same command twice!
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4734 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
730d97fb2b
inv cmd
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4733 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
0c8c3a5463
fix use-after-free
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4732 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
699bfc282c
dumpname(filename) is going to be dispatched, don't allow a later error path to
...
free it.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4728 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
91cafbe095
break loop
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4727 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
3f26090eb7
clamdscan doesn't give us any deadbeef any more, so don't look for it.
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4725 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Tomasz Kojm
00eab4092f
clamd/others.c: handle multiple %v parameters
...
clamd/server-th.c: fix dbstat memleak
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4724 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
c73edc125e
Reject invalid minport/maxport in clamd.conf, instead of silently replacing them
...
with "good" values.
Simplify rest of the code a bit.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4723 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
aCaB
544e7fd814
allow clamd to be stopped and backgrounded
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4721 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
30e36bfb5c
fix build
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4720 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
4f266591a0
fix INSTREAM when not in IDSESSION mode
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4718 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
e640277428
fix INSTREAM/IDSESSION.
...
Introduced a chunksize marker.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4717 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
467ac26c95
fix INSTREAM end handling
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4715 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
0cac67ab4c
fix use-after-free
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4714 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
76f21b4a30
introduce RR of connections.
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4713 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
fdbaba8d49
always allocate a jobgroup, that way on shutdown we are sure
...
that it doesn't dissappear.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4712 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
e066e3cb47
unify thresholds
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4711 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
e001f2838e
Use 2 queues: one for single, one for bulk messages.
...
Also introduce MaxQueue, this will prevent clamdscan from flooding
clamd with too many FILDES requests.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4710 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
4cc08c8c1c
init chunksize
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4709 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
4ca3fc953f
close FD when we refuse to process command.
...
Print errno in clamdscan.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4706 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
fd468937fc
keep MODE_WAITREPLY in select still, so if garbage is sent we can close.
...
Though when poll says that socket is closed, we shouldn't try closing again
if we're in WAIT_REPLY mode (since we alraedy closed it from another thread).
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4698 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
07ac8bb23a
also remove socket from tracked sockets after switching mode to WAITREPLY.
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4697 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
869d03832d
add proto debug messages to LogVerbose temporarely
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4696 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
33019f0a18
properly initalize fd_buf slot, even when reusing slot.
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4695 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
8f74b8e4ee
handle multiple commands and ancillary data in one packet
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4692 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
f022339bfc
initialize all fields
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4691 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
8eac8d3e88
fix FILDES infloop
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4690 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
060c6715bb
introduce MODE_WAITREPLY.
...
MULTISCAN now quits if client quits
(TODO: CONTSCAN/SCAN should have a group too!)
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4685 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
8d66a87ed4
really fix multiscan
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4684 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
4c59bda1ef
symlink flags for cli_ftw
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4683 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
2ea8946280
don't execute commands if client disconnected.
...
fix MULTISCAN
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4682 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
ef4ed2e180
preliminary INSTREAM support.
...
TODO: the code starts to look ugly, clean up the code.
INSTREAM shouldn't reply fd[]
make jobgroup own the resources (sockets, tempfiles)
allow to notify jobgroup to terminate when remote disconnects
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4681 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago
Török Edvin
428efe72d4
close connection when we see invalid command in IDSESSIOn
...
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4680 77e5149b-7576-45b1-b177-96237e5ba77b
17 years ago