2 nd SUMOVER Workshop: Code Management Systems
E N D
Presentation Transcript
WP2: Software management systems • Surveyed a number of systems • Source code versioning systems • CVS, RCS, Git, Bitkeeper, Arch, Subversion • Bug tracking systems • Bugzilla, Mantis, Trac • Static analysis tools, Testing suites, Doc systems • Now running selected system • Trac with Subversion • Imported all existing code and history • Local and external users active • Active use by other UCL 2nd SUMOVER Workshop - Code Management
Subversion • Advantages over CVS • Atomic commits • Directory versioning • File renaming/deletion handled nicely • HTTP based access • WebDAV use for storage and retrieval • Apache/LDAP user authentication • File based Authorisation 2nd SUMOVER Workshop - Code Management
Trac • Written in Python • Uses apache python • Subversion code access • Revisions, diffs, syntax colouring, line numbered • Wikis • Generally editable (despite Spam probs) • News, Tool info pages, Dev info, Docs… • Tickets • Bugs reports, Feature requests, milestone tracking 2nd SUMOVER Workshop - Code Management
Apache • Running apache-2.0.54 • Prefork mode (each HTTP request handled in a separate process) • Two virtual hosts • Mediatools.cs.ucl.ac.uk (User friendly name) • Apache rewrite used simply access and switch to SSL • Non-SSL access • Frostie.cs.ucl.ac.uk (Actual machine name) • Used by other projects • SSL capable • Utilises modules • WebDAV, Python, LDAP, SSL • LDAP • Simplifies/Converges user management • Provides authentication for Trac and Subversion users • Authorisation info for some Trac users 2nd SUMOVER Workshop - Code Management
Load tuning • Robots.txt • Limited access to just main Source Code • Tuned apache • Match “MaxClients” to machine memory • Reduce KeepaliveTimeout to 5 secs • Removed non-essential modules 2nd SUMOVER Workshop - Code Management
Anti-Spam measures • Implemented • Only certain ‘leaf’ pages are editable • SSL enabled: • Logged in users • Trac tickets and Comments • Added ticket modification Trac module • Investigating • Apache modsecurity.org • Rule based application level firewall • Protection against a range of HTTP based attacks • Trac anti-spam module • Uses pattern matching to trip up spammers • CAPTCHA’s • "Completely Automated Public Turing test to tell Computers and Humans Apart" 2nd SUMOVER Workshop - Code Management