empty trunk



git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@1 a7b224a2-3734-0410-bdde-bffc314696b2
some initial code


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@2 a7b224a2-3734-0410-bdde-bffc314696b2
added support for HTTP/1.1
replicator is now suitable for maintaining a gentoo package cache
fixed problem with absolute urls
added posting support
added support for servers that use LF in header instead of CRLF
added a command line system
fixed security issues
improved traceback message for unhandled exceptions
fixed problem with incomplete files after a server crash
fixed problems with select
fixed size calculation in cron script


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@4 a7b224a2-3734-0410-bdde-bffc314696b2
integrated daemon code in http-replicator
changed init.d and cron script to bash
moved settings from configuration file to /etc/default/http-replicator
introduced optparse module for command line parsing
introduced logging module for output
added support for an external proxy server
added support for an external proxy requiring authentication


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@6 a7b224a2-3734-0410-bdde-bffc314696b2
new feature: cache brower on proxy address
new feature: client-side support for partial content
added alias option for caching mirrors on same location
added check to prevent access outside of cache through symlinks
added header length restriction to fight infinite request server attacks
created man pages for http-replicator and http-replicator_maintenance
fixed timestamp bug; files are now properly closed before changing mtime


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@8 a7b224a2-3734-0410-bdde-bffc314696b2
introduced new advanced alias option
removed superceded static option
removed superceded flat option
files with unknown name are by default no longer cached (as index.html)
now all known ip address are tried before failing
supported ipv6 hosts
supported ipv6 clients


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@10 a7b224a2-3734-0410-bdde-bffc314696b2
start of complete rewrite
replaced asyncore with asynchrolets.py
added initial support for ftp
added download resuming
added bandwidth shaping
functional but buggy; needs cleanup


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@11 a7b224a2-3734-0410-bdde-bffc314696b2
reintroduced debug options
created GatherThread and DebugThread objects
fixed sendqueue / recvqueue typo in asynchrolets.py
added documentation to Request, Protocol and Response templates
still very buggy


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@12 a7b224a2-3734-0410-bdde-bffc314696b2
introduced 'fiber' terminology
started developer documentation in README.devel
changed fiber status SEND, RECV, WAIT into objects
introduced simple Inf object for dealing with infinite timeouts
changed all __nonzero__ functions to 'done'
removed superfluous Request, Protocol, Response base classes


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@13 a7b224a2-3734-0410-bdde-bffc314696b2
changed schedular appearance; added 'busy' state


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@14 a7b224a2-3734-0410-bdde-bffc314696b2
changed all occurrences of Head to simple dicts and lists; removed Util.py
merged Request members 'done' and 'getprotocol' in 'Protocol'
merged Protocol members 'done' and 'getResponse' in 'Response'
changed Response member 'done' to 'Done'


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@15 a7b224a2-3734-0410-bdde-bffc314696b2
revised cache handling; now centralized in new Cache base class
re-enables old 'static' mode
ftp support broken


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@16 a7b224a2-3734-0410-bdde-bffc314696b2
fixed server deadlock in case header is sent in several chunks
new class Http parses header for both client and server
new class Cache handles cache for both http and ftp (soon)
changed pretty much all function names
started cleanup of log output


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@17 a7b224a2-3734-0410-bdde-bffc314696b2
changed scheduler to support simultaneous connections to single socket
resurrected joined downloads
introduced simple DNS cache
restyled log output


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@18 a7b224a2-3734-0410-bdde-bffc314696b2
bugfix, unknown filesize caused premature connection close


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@19 a7b224a2-3734-0410-bdde-bffc314696b2
re-introduced support for chunked data caching
added support for repeated http header keys (most notably, set-cookie)


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@20 a7b224a2-3734-0410-bdde-bffc314696b2
fixed 'invalid file descriptor' bug in fiber.py
moved timeout argument to SEND & RECV waiting states


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@21 a7b224a2-3734-0410-bdde-bffc314696b2
fixed fiber.py bug that prevented last created client from being auto-closed


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@22 a7b224a2-3734-0410-bdde-bffc314696b2
http post requests buffered as os.tmpfile; sending for now still via string
removed Http base class and Util.py module
moved Cache base class to Protocol.py module
added initial unittest script - still very fragile!


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@23 a7b224a2-3734-0410-bdde-bffc314696b2
rewrote HttpRequest.recv and HttpProtocol.recv using __parse_* scheme
fixed bug that broke partial downloads


git-svn-id: http://svn.code.sf.net/p/http-replicator/code/trunk@24 a7b224a2-3734-0410-bdde-bffc314696b2