--- aolserver4-4.5.1.orig/debian/compat +++ aolserver4-4.5.1/debian/compat @@ -0,0 +1 @@ +7 --- aolserver4-4.5.1.orig/debian/aolserver4-doc.doc-base.admin +++ aolserver4-4.5.1/debian/aolserver4-doc.doc-base.admin @@ -0,0 +1,10 @@ +Document: aolserver4-admin +Title: AOLserver Administrators Manual +Author: Jim Davidson et al, America On-Line. +Abstract: This package contains the reference documentation + for the AOLserver HTTP Server. +Section: System/Administration + +Format: HTML +Index: /usr/share/doc/aolserver4-doc/html/admin/index.html +Files: /usr/share/doc/aolserver4-doc/html/admin/*.html --- aolserver4-4.5.1.orig/debian/changelog +++ aolserver4-4.5.1/debian/changelog @@ -0,0 +1,978 @@ +aolserver4 (4.5.1-15.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix pending l10n issues. Debconf translations: + - Dutch; (Jeroen Schot). Closes: #658840 + - Polish (Michał Kułach). Closes: #670626 + - Italian (Beatrice Torracca). Closes: #671397 + + -- Christian Perrier Fri, 04 May 2012 07:46:52 +0200 + +aolserver4 (4.5.1-15) unstable; urgency=low + + * Merges from experimental branch. + * Added lintian overrides file for using rpath, which is legitimate for + internal libraries of aolserver4-core/daemon in order to avoid pollution + of /usr/lib path. + * Policy bumped to 3.9.1 without changes. + * Revised debian/changelog layout for 80 cols. + * Fixed aolserver4-daemon.postinst to avoid having +x in /etc/default/aolserver4 + (closes: #600925) + * Fixed postinst to avoid changing recursively run and log dirs at + configuration time. It could expose to (sym)link attacks when upgrading. + (closes: #606554) + * Fixed maint rules to autogenerate template *.in files at every build. + * ABI increased to 1 for safety to avoid mixing modules built with different + Tcl versions. + + -- Francesco Paolo Lovergine Mon, 21 Mar 2011 12:41:19 +0100 + +aolserver4 (4.5.1-12) unstable; urgency=low + + * Removed aolserver4-daemon depending for aolserver4-core. + (closes: #560790) + * Added a debconf-updatepo to myclean target to updated templates + automagically. Fixed outdated debian/po/POTFILES.in to point the right + template file, too. + (closes: #563507) + * Updated japanes debconf template. + (closes: #564304) + * Added build-dep on po-debconf. + + -- Francesco Paolo Lovergine Tue, 19 Jan 2010 14:57:07 +0100 + +aolserver4 (4.5.1-11) unstable; urgency=low + + * Fixed init script to find the right shell snippet for non main instances. + Thanks Hector. + + -- Francesco Paolo Lovergine Fri, 18 Dec 2009 13:43:27 +0100 + +aolserver4 (4.5.1-10) unstable; urgency=low + + * Fixed debian/rules and other scripts to use the -core package. + + -- Francesco Paolo Lovergine Sat, 12 Dec 2009 11:09:21 +0100 + +aolserver4 (4.5.1-9) unstable; urgency=low + + * Removing default script at purge time by ucf. + * Converted to the use of a single virtual package to avoid package + prolification. The previous -core transitional package is now again a + proper one. + (closes: #520914) + + -- Francesco Paolo Lovergine Sat, 14 Nov 2009 07:43:37 +0100 + +aolserver4 (4.5.1-8) unstable; urgency=low + + * Now using bash in example sheebang line. + (closes: #530043) + * Tcl configuration script now reads parameters from shell snippet to + avoid inconsistencies in changing both default snippet and the Tcl + configuration script. Thanks Hector Romojaro for pointed that. + * Fixed LSB init section and added $postgresql as possible interested + optional service. Thanks Hector. + * Fixed init script syntax. Thanks Hector. + * Updated vietnamese debconf template. + (closes: #548007) + * Postinst changed to manage debconf reconfiguration and work with + the new styling in setting options. + + -- Francesco Paolo Lovergine Thu, 29 Oct 2009 11:10:34 +0100 + +aolserver4 (4.5.1-7) unstable; urgency=low + + [ Christian Perrier ] + * Debconf templates and debian/control reviewed by the debian-l10n- + english team as part of the Smith review project. Closes: #521146 + - [Debconf translation updates] + - Galician. Closes: #524249 + - Russian. Closes: #523800 + - Portuguese. Closes: #523624 + - Spanish. Closes: #523386 + - Basque. Closes: #523015 + - Finnish. Closes: #523002 + - Swedish. Closes: #522974, #518789 + - Danish. Closes: #522894 + - German. Closes: #522832 + - French. Closes: #522648 + - Italian. Closes: #521877 + - Czech. Closes: #521664 + - Japanese. Closes: #519891 + + [ Francesco Paolo Lovergine ] + * Changed section to match ftpmasters override. + * Policy bumped to 3.8.3, without changes. + * Added a README.source file to explain use of dpatch to build the package. + * Now more than one instance of AOLserver can be run by simple custom + scripts under /etc/aolserver4/conf.d. This is useful for OpenACS and other + custom application. This is now explained in the README.Debian file. + * Removed empty /var/run/aolserver4, now created in init script and postinst. + * Updated NEWS file. + * Updated README.Debian file. + * Now init script uses a /etc/default/aolserver4 shell snippet, initially + commented. + * Added /etc/aolserver4/conf.d among directories. + + -- Francesco Paolo Lovergine Wed, 14 Oct 2009 16:19:01 +0200 + +aolserver4 (4.5.1-6) unstable; urgency=high + + * Removed not released clause in the previous release changelog entry. + * For some reasons dh_installexamples now does not compress index.adp, so + now postinst is more defensive in installing the default template page. + (closes: #542155) + + -- Francesco Paolo Lovergine Tue, 01 Sep 2009 23:36:22 +0200 + +aolserver4 (4.5.1-5) unstable; urgency=low + + * Added a README.debian file for -dev package. + * Now new section has been truly propagated to debian/control. + * Added VCS information fields in debian/control. + * Added debian.substvars and debian.substvars.in template to support + a deb-substvars ${aolserver:Depends} variable to be used instead of + the makefile snippet introduced in 4.5.1-4. The resulting + /usr/share/aolserver4/debian.substvars can be used/concatenated in other + packages to depend on the right interface. + * Removed debian/control target in debian.mak as introduced in -4. + That would allow still having a couple of useful makefile vars defined for + people with possibly complicated templates, without constraints on the + targets layout. In simple cases it is more straight using the substvar. + + -- Francesco Paolo Lovergine Fri, 19 Jun 2009 11:57:57 +0200 + +aolserver4 (4.5.1-4) unstable; urgency=low + + * Changed sections: web, devel -> httpd as by override file. + * Now removes any residual aolserver4.conf still around. + * Now debian.mak introduce a standard rule for debian/control to facilitate + module maintainance. Use a build-dep on this version to use it. + + -- Francesco Paolo Lovergine Wed, 17 Jun 2009 14:39:25 +0200 + +aolserver4 (4.5.1-3) unstable; urgency=low + + * Introduced an ABI version for Tcl migrations. + * Removed aolserver4 conflicting for aolserver4-dev. + + -- Francesco Paolo Lovergine Sun, 22 Mar 2009 12:09:31 +0100 + +aolserver4 (4.5.1-2) unstable; urgency=low + + * To avoid possible breakages with the plugin structure, now the -core package + is versioned on the basis of AOLserver PATCHLEVEL. This will ensure a smooth + upgrading of all extensions provided in external sources for future releases. + Thanks Sune Vourela for useful hints about that. For the same reason aolserver4 + package has been changed in aolserver4-daemon: that allows removing of + obsoleted module extensions at upgrading time. + (closes: #520075) + * Now moved to templated files: + debian/control.in + debian/aolserver4-core.dirs.in + debian/aolserver4-core.install.in + + -- Francesco Paolo Lovergine Wed, 18 Mar 2009 13:49:25 +0100 + +aolserver4 (4.5.1-1) unstable; urgency=low + + * New upstream release. + * Merged l10n changes of previous NMU. + (closes: #492882, #503578, #503585, #503637) + * Added a couple of new translations: es and vi. + (closes: #513363, #510104) + * Patcheset revised for merged patches upstream. + * Cleaned obsolete aolserver/aolserver-doc targets. + * Debhelper level moved to 7. + * Introduced dh_prep instead of dh_clean -k. + * Revised dh_* calls order. + * Policy bumped to 3.8.0. + * Added a debian/watch file for 4.* versions. + * Added descriptions for patches. + * Revised ns.mak.in patch to add Debian specific rpath. + * Now mainly dh_install is used instead of manual copies. + * Removed the supefluous inital note in debconf configuration. + * Added ${misc:Depends} entries to make lintian happy about debhelper use. + * Tentative doc-base sections reclassification done. + * Moved man3 from aolserver4 to aolserver4-dev and introduced a Conflicts + field to avoid problems. + * Introduced dh_installexamples and revised sample page. + * This version obsoletes nscache, so conflicting with still distributed module. + * Added nsproxy program building, previously missing in Makefile.daptch. + * Removed superfluous Suggests. + * Renamed TMPDIR into TARGETDIR to avoid name clash in debian/rules. + (closes: #496553) + + -- Francesco Paolo Lovergine Thu, 05 Mar 2009 10:18:18 +0100 + +aolserver4 (4.5.0-16.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix pending l10n issues. Debconf translations: + - Swedish. Closes: #492882 + - Danish. Closes: #503578 + - Czech. Closes: #503585 + - Russian. Closes: #503637 + + -- Christian Perrier Mon, 27 Oct 2008 20:43:21 +0100 + +aolserver4 (4.5.0-16) unstable; urgency=low + + * New patch: nscp.c.dpatch fixes control port echo. Thanks Vlad Seryakov. + * Policy bumped to 3.8.0, without changes. + * Updated/added debconf templates. + (closes: #489941, #489424, #483224) + + -- Francesco Paolo Lovergine Wed, 23 Jul 2008 10:39:36 +0200 + +aolserver4 (4.5.0-15) unstable; urgency=low + + * Added LSB init description section to the postinst template for the init script. + * LSB functions are now required, so compatibilty functions are now removed in the + template init script. + * New patch: redirection.dpatch. Long due fix for the post 4.5.0 release + redirection bug fix (See upstream bug #1518426 -- 404 redirects not working ) + + -- Francesco Paolo Lovergine Mon, 11 Feb 2008 15:58:50 +0100 + +aolserver4 (4.5.0-14) unstable; urgency=medium + + * debian/aolserver4.postrm missed a ldconfig on simple remove, now added. + * Minor revisions in some scripts. + * Now libaolserver4.conf has been renamed aolserver4 and created on fly in + aolserver4.postinst. That should avoid breakages in removing+installing. + * Patched the init file to create rundir on fly, if /var/run is a tmpfs. + Autoconf example script patched as well. + (closes: #451834) + * Added core library path to dh_shlibdeps in debian/rules. + + -- Francesco Paolo Lovergine Mon, 03 Dec 2007 16:44:12 +0100 + +aolserver4 (4.5.0-13) unstable; urgency=low + + * Switched to new Tcl/Tk policy, using default tcl package. + * Fixed man page inclusion for nsd.1 + * Now aolserver4-doc suggests tcl-doc + * Does not install nsthreadtest + * Fixed cleaning to avoid failure and lintian warning. + + -- Francesco Paolo Lovergine Tue, 23 Oct 2007 15:35:17 +0200 + +aolserver4 (4.5.0-12) unstable; urgency=high + + * Changed deprecated ${Source:Version} in ${binary:Version} and removed unuseful strict dependency. + * Introduced Homepage field in debian/control. + * Introduced versioned conflicts against aolserver4 in aolserver4-core for a clean upgrade + due to conflicting files. + * Minor change to the aolserver4-doc long description. + + -- Francesco Paolo Lovergine Sun, 07 Oct 2007 11:51:42 +0200 + +aolserver4 (4.5.0-11) unstable; urgency=high + + * Moved shared libs into aolserver4-core and changed internal dependencies + for aolserver4/aolserver4-dev in order to avoid running aolserver daemon + just for building third parties modules. + (closes: #438425) + + -- Francesco Paolo Lovergine Mon, 24 Sep 2007 12:44:23 +0200 + +aolserver4 (4.5.0-10) unstable; urgency=low + + * Updated aolconf example scripts for PHP5. + * Added ld-fix patch to work correctly with current tclConfig.sh in Tcl 8.4.15. It also works + with tcl 8.4.12, so there are no problems for backporters also. + (closes: #434713) + + -- Francesco Paolo Lovergine Thu, 26 Jul 2007 16:34:05 +0200 + +aolserver4 (4.5.0-9) unstable; urgency=low + + * Now init script print errors while starting/stopping ns daemon. + + -- Francesco Paolo Lovergine Sun, 17 Jun 2007 17:02:53 +0200 + +aolserver4 (4.5.0-8) unstable; urgency=low + + * Removed 'source' bashism from aolserver4.postinst. + (closes: #422293) + * Updated fr.po debconf template. + (closes: #427448) + * Updated de.po debconf template. + (closes: #427538) + + -- Francesco Paolo Lovergine Thu, 07 Jun 2007 11:23:07 +0200 + +aolserver4 (4.5.0-7) unstable; urgency=low + + * Now aolserver4.postinst removes an obsolete ld.so.conf entry from previous versions. + * Postinst revised to remove undefined function 'die'. + * Removed stdout redirection in init script. + * ru.po templates revised. + (closes: #426743) + + -- Francesco Paolo Lovergine Thu, 31 May 2007 09:57:28 +0200 + +aolserver4 (4.5.0-6) unstable; urgency=low + + * Missing removing of libaolserver4.conf in /etc/ld.so.conf.d added to postrm. + + -- Francesco Paolo Lovergine Sat, 26 May 2007 18:31:31 +0200 + +aolserver4 (4.5.0-5) unstable; urgency=low + + * Now installs a new file libaolserver4.conf into /etc/ld.so.conf.d to add the ld.so path for its libraries. + Simplified postinst and postrm for the new config. + (closes: #422293) + * Main debconf template fixed and po-updated. + (closes: #420567) + * Updated fr.po and de.po templates. They will need surely another update anyway. + (closes: #420568,#421710) + + -- Francesco Paolo Lovergine Sat, 26 May 2007 17:27:46 +0200 + +aolserver4 (4.5.0-4) unstable; urgency=low + + * Man pages moved from section 3/n to section 3aolserver to simplify consultation. + * Merging fixes from 4.0.10-7, missed due to previuous branching for 4.5.0. + o Removes tmp files still around before postinst end. (closed: #361367) + o Remove annoying debconf note and rewirte debconf templates (closed: #377961, #388820) + o Revised translation (closed: #313051 #386801 #396493) + + -- Francesco Paolo Lovergine Sun, 22 Apr 2007 19:56:21 +0200 + +aolserver4 (4.5.0-3) unstable; urgency=low + + * Adding a link /usr/share/aolserver4/Makefile.module -> /usr/lib/aolserver4/Makefile.module + to avoid FTBFS breakage of other ns* module. + * Documenting the new position of the files in NEWS. + * Moving all shlibs under /usr/lib/aolserver4/lib to avoid /usr/lib pollution. + Now ALL modules will install a private library libns*.so under that directory to work and + a shared module ns*so under /usr/lib/aolserver4/bin as before. + Now the it adds /usr/lib/aolserver4/lib to /etc/ld.so.conf and runs + ldconfig in postinst/postrm. The same thing is required for every module postinst/postrm + + -- Francesco Paolo Lovergine Sun, 22 Apr 2007 12:26:37 +0200 + +aolserver4 (4.5.0-2) unstable; urgency=low + + * Patch 1615787 now activated. + * Added adduser dependency due to its use in maintainer script. + * Fixed versioned build-dep on debhelper. + * Re-fixed vi.po, lost in previous upload. + (closes: #313051) + * Fixed debconf template title aolserver4/introduction and rephrased a bit all templates. + * Removed useless debconf inclusion in preinst. + * Now man pages are gzipped with max compression (-9). + * Fixed section in nsd.8 contents. + + -- Francesco Paolo Lovergine Sun, 22 Apr 2007 09:56:33 +0200 + +aolserver4 (4.5.0-1) unstable; urgency=low + + * New long-due upstream release. + (closes: #402848) + * nl.po updated + (closes: #404562) + * Patchset revised and updated. Old patches removed. + * Debhelper bumped to 5. + * Home page added to long descriptions in debian/control. + * A lot of little changes all around due to the modified building system. + * CVS stolen patch: + 1615787 - Driver thread fails to queue new connections correctly. + + -- Francesco Paolo Lovergine Wed, 18 Apr 2007 19:15:31 +0200 + +aolserver4 (4.0.10-6) unstable; urgency=low + + * Debhelper compatibility level set to 4 + * Now uses lsb-base function in autogenerated init script, if available. + lsb-base is now required in etch, but currently provides also backporting + compatibility functions, just in case. + * Changed amd64.dpatch to manage ppc64 case too. + (closes: #360715) + + -- Francesco Paolo Lovergine Wed, 5 Apr 2006 14:49:41 +0200 + +aolserver4 (4.0.10-5) unstable; urgency=low + + * Updated garbaged sv.po template. + (closes: #339053) + * Added Magma Soft custom configuration as an example of multiple vhost setup. + (closes: #300818) + * Revised patch httptime to remove orig file. + + -- Francesco Paolo Lovergine Tue, 15 Nov 2005 15:10:19 +0100 + +aolserver4 (4.0.10-4) unstable; urgency=low + + * Updated debconf long due templates. + (closes: #330262,#313051,#314131,#315820) + * Updated debconf dependency + (closes: #331740) + * Policy bumped to 3.6.2, without changes + * Corrected mispelling in description + (closes: #328066,#301707) + * Provides httpd-cgi in cotrol + (closes: #304305,#304304) + * Use rm when ucf is not available at postrm, thanks Lars. + (closes: #330527) + * Applying patch for locale problem of httptime. Thanks Eduardo P Ureta + (closes: #320578) + + -- Francesco Paolo Lovergine Thu, 10 Nov 2005 00:03:22 +0100 + +aolserver4 (4.0.10-3) unstable; urgency=high + + * Removed obsolete check in tclobj.c. + New patch added for that, nstclinitobjs.dpatch. Severity justifies urgency. + (closes: #293079) + * Reverted to non-native package. + + -- Francesco Paolo Lovergine Sun, 6 Mar 2005 21:04:12 +0100 + +aolserver4 (4.0.10-2) unstable; urgency=low + + * Brent retired, removed in control file. + * New patch amd64, a bit more refined in respect with proposed ones. + (closes: #292954, #287680) + + -- Francesco Paolo Lovergine Mon, 31 Jan 2005 14:48:24 +0100 + +aolserver4 (4.0.10-1) unstable; urgency=high + + * New upstream release. + * Adding dependency on zlib1g-dev for aolserver4-dev. + (closes: #291697) + * Added patch conn.c to remove lvalue casting. + (closes: #285121) + * New debconf templates added. + (closes: #276362, #270757) + + -- Francesco Paolo Lovergine Sat, 22 Jan 2005 18:11:07 +0100 + +aolserver4 (4.0.9-1) unstable; urgency=low + + * New upstream release. + + -- Francesco Paolo Lovergine Mon, 27 Dec 2004 23:04:49 +0100 + +aolserver4 (4.0.8-2) unstable; urgency=high + + * Too bad: I used a wrong tarball of an experimental version for 4.1.0a in + latest release. Unfortunately that version is badly broken upstream. So + uploading again with true 4.0.8 sources in native form to avoid epoch. + Thanks Otto Solares for having showed me the light ... + + -- Francesco Paolo Lovergine Thu, 23 Sep 2004 12:23:48 +0200 + +aolserver4 (4.0.8-1) unstable; urgency=low + + * New upstream release. + * Modified patch [Makefile.global.in.dpatch], upstream finally removed + rpath inclusion. + * Updated pt_BR template translation. + (closes: #264083) + + -- Francesco Paolo Lovergine Tue, 7 Sep 2004 22:58:46 +0200 + +aolserver4 (4.0.7-1) unstable; urgency=low + + * New upstream release. + * Patch ns.h.dpatch removed (integrated upstream) + + -- Francesco Paolo Lovergine Fri, 23 Jul 2004 14:56:45 +0200 + +aolserver4 (4.0.5-1) unstable; urgency=low + + * New upstream release (again!) + * French template updated + (closes: #249779) + + -- Francesco Paolo Lovergine Mon, 7 Jun 2004 21:23:31 +0200 + +aolserver4 (4.0.3-1) unstable; urgency=low + + * New upstream release. + AOLserver project leader changed, so we could have good news in a few. + * Modified Description for aolserver4-doc in order to warn about status of + documentation. + + -- Francesco Paolo Lovergine Sat, 5 Jun 2004 12:55:45 +0200 + +aolserver4 (4.0.1-6) unstable; urgency=low + + * Renamed /usr/sbin/nsd into /usr/sbin/aolserver4-nsd to avoid conflicts + with other packages (nsdc and mico). The new symlink for OpenACS + /usr/lib/aolserver4/bin/nsd did not change. + The same for its man page nsd(8). + * Updated dutch template. + (closes: #248965) + + -- Francesco Paolo Lovergine Sat, 15 May 2004 23:50:15 +0200 + +aolserver4 (4.0.1-5) unstable; urgency=high + + * Added a symlink /usr/sbin/nsd -> /usr/lib/aolserver4/bin/nsd. It's + convenient for OpenACS. (Thanks Eduardo Pérez Ureta) + * Debconf translated templates updated + (closes: #233160,#239370,#235382) + * Patch ns.h added for redundant definition of INT64 + (closes: #232568) + * Main debconf template revised. + (closes: #232493) + + -- Francesco Paolo Lovergine Wed, 12 May 2004 13:28:42 +0200 + +aolserver4 (4.0.1-4) unstable; urgency=high + + * Uhm, moved db_stop after any calls to ucf, it looks better. Also, added + debconf versioning in control file to use --debconf-ok. + + -- Francesco Paolo Lovergine Tue, 30 Mar 2004 12:44:21 +0200 + +aolserver4 (4.0.1-3) unstable; urgency=high + + * Removed unuseful tty redirect. The call of ucf was in the right order with db_stop + also without using the new --debconf-ok argument. + (closes: #240951) + + -- Francesco Paolo Lovergine Tue, 30 Mar 2004 09:56:58 +0200 + +aolserver4 (4.0.1-2) unstable; urgency=high + + * Damn it. Reverting to old-days good policy for cgi-bin in postinst. + See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=32263 :-( + Repeat after me: NEVER apply new policies without double checking if + that policy has been truly adopted. + + -- Francesco Paolo Lovergine Thu, 12 Feb 2004 16:01:37 +0100 + +aolserver4 (4.0.1-1) unstable; urgency=low + + The "here we go" release. + + * New upstream release. + To avoid upgrading problems, now adopting a new source packaging. + * Package source tree changed. + * Due to a bug in AOLServer pre-binding, nsd needs explicit interface binding now + via -b command option, in order to run as non-privileged user. + * Standard configuration file DEEPLY revised to run under 4.0. + * Changed multiple init scripts schema. Now all configurations are performed + at pre/postinst level. There is no more an aolsrvconfig script, and + logrotate is used now to manage log files. + + Changes are so extensive that a changelog file does not suffice: + maintainers script are almost completely rewritten, and now use ucf to + ensure a smooth upgrading/installation. + + -- Francesco Paolo Lovergine Thu, 5 Feb 2004 11:17:03 +0100 + +aolserver (3.5.6-1) unstable; urgency=low + + * New upstream release: the "awaiting for 4.0" release. + * Policy updated to 3.6.1 + * debian/docs revised. + * Now package converted to use dpatch. + * Basic nsd.tcl revised to comment out some statements. + (closes: #202443) + + -- Francesco Paolo Lovergine Fri, 29 Aug 2003 16:00:51 +0200 + +aolserver (3.5.5-2) unstable; urgency=low + + * Moved NEWS to NEWS.debian in order to be compliant with new standard, in + changelog format. + (closes: #199931) + * The config script now installs at the same sequence # of apache (91) + (closes: #197856) + * Changed a couple of debconf translations. + (closes: #183307, #183616) + * Policy updated. + + -- Francesco Paolo Lovergine Wed, 9 Jul 2003 16:30:38 +0200 + +aolserver (3.5.5-1) unstable; urgency=low + + * New upstream release + * Moved aolserver-doc generation in the binary-indep section + (closes: #181455) + + -- Francesco Paolo Lovergine Mon, 24 Feb 2003 15:31:51 +0100 + +aolserver (3.5.1-1) unstable; urgency=low + + * Ready for sid (hopefully). + * If upgrading from 3.4, now remove all init scripts and reconfigure. + + -- Francesco Paolo Lovergine Sat, 8 Feb 2003 17:54:07 +0100 + +aolserver (3.5.1-0pre2) unstable; urgency=low + + * Added Brent as an uploader. + * Upgrading/Re-installing scripting revised. + * Added libc-dev|libc6-dev dep for aolserver-dev. + * Removed perl in build-deps: it's in base. + + - THIS IS A PRE-RELEASE - + + -- Francesco Paolo Lovergine Mon, 13 Jan 2003 10:34:36 +0100 + +aolserver (3.5.1-0pre1) unstable; urgency=low + + * New upstream release. + This could solve many problems and create many - totally new - others :-) + (should close: #169636) + * Typo in maintainer address is now ok + (should close: #114821) + * New policy about cgi-lib map is adopted. The cgi-bin alias points now + to /var/www/cgi-bin only for a new installation, otherwise it points to + /usr/lib/cgi-bin for compatibility. The new map cgi-lib -> /usr/lib/cgi-bin is always added. + (should close: #167510) + * Standard updated to 3.5.8. + * File paths revised to be truly FHS compliant. Not all files are now under /usr/lib/aolserver + as before. All lib*.so files are now moved under /usr/lib. + * Major and deep revisions of rules file - anyway it needs other changes in + order to be considered 'clean' by me :) + * Copyright file updated. + * A good deal of modifications done in all debhelper files. + * Many (or more :)) modifications all around. + * Added italian template for debconf. + * Debconf now uses new po-style templates. + * Early releasing. I do not like current single-domain configuration limits and some bugs + could be present. Moreover current opened bugs should be verified against + this release. + + - THIS IS A PRE-RELEASE - + + -- Francesco Paolo Lovergine Thu, 2 Jan 2003 12:24:20 +0100 + +aolserver (3.4.2-2) unstable; urgency=low + + * New maintainer (closes: #114821). + A new release is out, but I need some times for packaging due to + major changes in 3.5 series. + + -- Francesco Paolo Lovergine Wed, 20 Nov 2002 09:32:14 +0100 + +aolserver (3.4.2-1) unstable; urgency=low + + * New point-level release. Fixes some problems with the Tcl runtime. + * Use $(NSHOME) as prefix in Makefile.global, and include the nsd.h header + file. Many thanks to Jowell S. Sabino (Closes:Bug#121766) + * Correct compile flag for 686's -- Yikes! Thanks again to + Jowell S. Sabino (Closes:Bug#121764) + * Changed default user to be 'www-data' to better interoperate with dwww + and similar debian packages. + * Don't remove $pageroot data when uninstalling. Someone might have a + website they just want to move to another server. + * Correct preremoval script to not complain about missing configuration + files so you can remove aolserver. (Closes:Bug#117020) + * Added support for Brazillian Portuguese (pt_BR). Thanks to Andre + Luis Lopes for the work. (Closes:Bug#107039) + + -- Brent A. Fulgham Sat, 1 Dec 2001 22:34:12 -0800 + +aolserver (3.4-10) unstable; urgency=low + + * Add German template translation (many thanks to Sebastian Feltel + ). (Closes:Bug#114296) + * Looking for somone (preferably non-US) to take over this package + so we can distribute SSL and other crypto-related items. + + -- Brent A. Fulgham Sun, 7 Oct 2001 20:55:37 -0700 + +aolserver (3.4-9) unstable; urgency=low + + * Correct documentation link for temporary homepage. Thanks to Andrew + McMillan for catching that bug. (Closes:Bug#111844) + * The bug in this security issue related to AOLserver 3.0, and was corrected + long ago. It does not apply to AOLserver 3.4. (Closes:Bug#109901) + * Correct typo in cron.conf (and examples/cron.conf). Thanks to Lee + Teague for noticing that. (Closes:Bug#112122) + + -- Brent A. Fulgham Sat, 15 Sep 2001 16:50:51 -0700 + +aolserver (3.4-8) unstable; urgency=low + + * Incorporated Brazillian Portuguese template patch. Thanks to + Andre Luis Lopes for his translation + efforts. (Closes:Bug:#107039) + * Correct template type "text" to be "note". (Closes:Bug#106328) + + -- Brent A. Fulgham Sun, 29 Jul 2001 20:09:46 -0700 + +aolserver (3.4-7) unstable; urgency=low + + * Incorporate Swedish template patch. Thanks go to Martin Sjlgren + (Closes:Bug#103149) + + -- Brent A. Fulgham Wed, 4 Jul 2001 21:49:38 -0700 + +aolserver (3.4-6) unstable; urgency=low + + * Correct Sparc build (and others) for what is hopefully the final time. + + -- Brent A. Fulgham Sun, 17 Jun 2001 19:38:11 -0700 + +aolserver (3.4-5) unstable; urgency=low + + * Correct Sparc build, which I screwed up by trying to be smart about + architecture as in the m68k case. Mea culpa -- I'm returning it to + its original form. Closes:Bug#100355 + + -- Brent A. Fulgham Sun, 10 Jun 2001 20:03:31 -0700 + +aolserver (3.4-4) unstable; urgency=low + + * Another attempt for the m68k. Try, try, again... + + -- Brent A. Fulgham Fri, 8 Jun 2001 21:02:46 -0700 + +aolserver (3.4-3) unstable; urgency=low + + * Provide better support for building arm and m68k architectures. + + -- Brent A. Fulgham Sun, 3 Jun 2001 21:28:01 -0700 + +aolserver (3.4-2) unstable; urgency=low + + * Fix f-up where the install root was modified but I didn't notice. + Result: No nsd binary in its usual place -- whoops! + + -- Brent A. Fulgham Sun, 27 May 2001 12:26:04 -0700 + +aolserver (3.4-1) unstable; urgency=low + + * A new upstream copy released! + * Make sure aolserver-dev has enough supplied to build other AOLserver + modules. + * Modify package to use doc-base. + * Clean up old suidregister/unregister stuff. + * Start-up code fixed a long time ago. (Closes:Bug#85130) + * Can't recreate this problem any more. (Closes:Bug#57815) + * Add /var/www/doc links. (Closes:Bug#65142) + * Add spanish templates to files (Thanks for the translation by + Carlos Valdivia . (Closes:Bug#92830), + and a more recent one by Gorka Olaizola . + (Closes:Bug#96429).) Any errors in these templates are almost + certainly due to my poor editing skills. + + -- Brent A. Fulgham Sat, 26 May 2001 21:02:27 -0700 + +aolserver (3.3.1-1) unstable; urgency=low + + * New upstream sources. + * Including an XML parsing module (courtesy of our friends at + Ars Digita). + * Postgres driver has been moved to its own package now in contrib + due to PostgreSQL being in non-US. + + -- Brent A. Fulgham Sat, 12 May 2001 20:35:41 -0700 + +aolserver (3.2-4) unstable; urgency=low + + * Correct some stupid debconf errors. + + -- Brent A. Fulgham Mon, 8 Jan 2001 21:12:51 -0800 + +aolserver (3.2-3) unstable; urgency=low + + * Update to correct various Lintian warnings. + * Update to support debconf. + * Correct a buffer overflow problem in Ns_DStringPrintf. + * Correct dhelp locations (Closes:Bug#79455). + * Correct Build-Depends (Closes:Bug#70264). + * This was fixed long ago: Closes:Bug#63228. + * So was this: Closes:Bug#63706. + + -- Brent A. Fulgham Thu, 28 Dec 2000 18:56:49 -0800 + +aolserver (3.2-2) unstable; urgency=low + + * Move development-related stuff to a new "aolserver-dev" package. + * Remove requirement that PostgreSQL be installed on the host machine + to install the nspostgres.so driver. Closes:Bug#71290 + * Remove CVS directories from source distribution. Closes:Bug#77104 + * Update PostgreSQL driver to current CVS version. Closes:Bug#77915 + * Correct problem with purging AOLserver. Closes:Bug#78074 + + -- Brent A. Fulgham Sun, 10 Dec 2000 17:16:22 -0800 + +aolserver (3.2-1) unstable; urgency=low + + * New upstream version. + * Correct documentation link. Closes:Bug#62996 + * Corrects suggestion for openacs. Closes:Bug#74175. Closes:Bug#74242 + + -- Brent A. Fulgham Wed, 8 Nov 2000 20:56:33 -0800 + +aolserver (3.0rc2-4) frozen unstable; urgency=high + + * Many additional bug fixes based on reports from jtr... + * Fixes some postgres 6.5/7.0 stuff. Closes:Bug#63151 + * Correct aolserver-postgres postrm. Closes:Bug#63152 + * Correct purging issues in postrm. Closes:Bug#63153 + * Fixes broken aolpgcofig. Closes:Bug#63281 + + -- Brent A. Fulgham Sun, 30 Apr 2000 16:43:11 -0800 + +aolserver (3.0rc2-3) frozen unstable; urgency=high + + * A special bug-fix award should go to Joachim R. + for fixing the following two bugs in my work: + * Fixes broken adduser in preinst. Closes:Bug#62965 + * Fixes aolserver-postgres to better handle differences in + postgresql 6.5.3 and 7.0betaX (for createuser activities) + Closes:Bug#62966 + + -- Brent A. Fulgham Mon, 24 Apr 2000 19:15:21 -0800 + +aolserver (3.0rc2-2) frozen unstable; urgency=high + + * Fixes broken naming convention. Closes:Bug#62632 + * Make better use of Tcl features of nsd.tcl files to minimize + string substitution requirements + * Fixes to aolserver-postgres to better handle differences in + postgresql 6.5.3 and 7.0betaX. + + -- Brent A. Fulgham Sat, 22 Apr 2000 13:40:32 -0800 + +aolserver (3.0rc2-1) frozen unstable; urgency=high + + * Release candidate 2 -- Moves Debian fixes into upstream source. + * Upgrade/enhanced postgres driver sources + * Better handling of postgres.init modifications + * Fixes abort problem when accessing certain directories with Tcl + * Fix to keepalive code that stomps out a race condition + * "ADP" is the standard scripting tag (rather than fancy). + * Add a dependency for aolserver-postgres on aolserver. Duh! Closes:Bug#62075 + + -- Brent A. Fulgham Sat, 9 Apr 2000 20:00:32 -0800 + +aolserver (3.0rc1-3) frozen unstable; urgency=high + + * Corrects a typo in aolserver-postgres.postinst. + * Corrects an unneeded dependency in aoladddb that prevented it from running + on systems that did not have libpgperl. + + -- Brent A. Fulgham Sat, 5 Apr 2000 20:00:32 -0800 + +aolserver (3.0rc1-2) frozen unstable; urgency=high + + * Corrects an update bug in aolserver-postgres + + -- Brent A. Fulgham Sat, 3 Apr 2000 20:15:32 -0800 + +aolserver (3.0rc1-1) unstable; urgency=high + + * This marks the official Release Candidate 1 (plus patches). + * Correctly handle AOLserver permissions. Closes:Bug#61361 + * Better configuration scripts and corrected some problems with + the pre/post remove handling. This was a problem based on some + feedback I received via E-mail (but no bug report filed). + * The postgres module has been moved to its own package. This forced + me to notice that the postgres module had never worked properly. Now + it does. + + -- Brent A. Fulgham Sat, 1 Apr 2000 19:45:32 -0800 + +aolserver (3.0c-4) frozen unstable; urgency=high + + * Correct SPARC build problem (Thanks to Ben Collins) Closes:Bug#59435 + + -- Brent A. Fulgham Thu, 3 Feb 2000 18:45:36 -0800 + +aolserver (3.0c-3) frozen unstable; urgency=high + + * Remove architecture line from control -- this package is + (theoretically) architecture-independent. Closes:Bug#58869 + + -- Brent A. Fulgham Tue, 29 Feb 2000 20:25:36 -0800 + +aolserver (3.0c-2) frozen unstable; urgency=high + + * Remove reference to unneeded dqd_tclpages.so module (it's now part + of the stock server build). + + -- Brent A. Fulgham Wed, 23 Feb 2000 20:25:36 -0800 + +alserver (3.0c-1) frozen unstable; urgency=high + + * Well, it didn't take long for a new release to come out. Here it is. + * Fixed a build dependency, Closes:Bug#58064 + * The changes I made to the source seem to have fixed the aolserver + build issue on Alpha. It builds properly, but may not run (I can't + tell since I don't have access to an alpha. I'm closing the bug, + since the filer hasn't responded and it fixes the "build" bug. We + can always file a new "runs" bug. Closes:Bug#55228 + + -- Brent A. Fulgham Fri, 18 Feb 2000 23:25:36 -0800 + +aolserver (3.0b-1) frozen unstable; urgency=high + + * Fix startup bug that prevented it from running properly + in some linux installations. + + -- Brent A. Fulgham Fri, 11 Feb 2000 22:15:19 -0800 + +aolserver (3.0a-2) frozen unstable; urgency=high + + * Fix bug in install script where install failed if no /var/www + directory existed. + * Added build dependency for sharutils, Closes:Bug#55418 + * Using new AOLserver branding for logo. + * Updated aolsrvconfig script so it enters a password value for the + control port. This lessens a potential security threat. + * Fix to allow compilation under Alpha architecture. + + -- Brent A. Fulgham Sat, 28 Jan 2000 11:15:19 -0800 + +aolserver (3.0a-1) unstable; urgency=low + + * Major new beta release. See the changelog for details, + but suffice it to say that it has some efficiency improvements, + bugfixes, and revisions. + * We are now at Tcl 8.2.3 -- but it's still a private version due + to a few threading issues in "plain" Tcl. The goal is to + be using "plain" Tcl soon. + + -- Brent A. Fulgham Tue, 11 Jan 2000 21:00:19 -0800 + +aolserver (3.0-4) unstable; urgency=low + + * Added patch by Rob Mayoff to enable the parsing + of tcl scripts within the AOLserver process. This should help get + some things (like ACS) working. + * Sometimes AOLserver says it didn't start on system boot. It actually + does start, but I had the wrong field in a 'cut' statement. This + should work now. + * I added a fun little example (from the AOLserver Tcl docs) to the + example webpage. + + -- Brent A. Fulgham Sat, 8 Jan 2000 19:18:09 -0800 + +aolserver (3.0-3) unstable; urgency=low + + * Changed aolsrvcfg script to actually modify the /etc/aolserver/nsd.tcl + file. This should work now. Closes #53863 + * Modified the /etc/init.d/aolserver start/stop script so it now handles + things a bit more robustly. It is a bit more persistant with AOLserver + when it doesn't want to shut down. + + -- Brent A. Fulgham Sun, 2 Jan 2000 19:18:09 -0800 + +aolserver (3.0-2) unstable; urgency=low + + * CGI-bin stuff now works properly. Permissions seem to be right + now, tool. + + -- Brent A. Fulgham Thu, 30 Dec 1999 17:35:09 -0800 + +aolserver (3.0-1) unstable; urgency=low + + * Initial Release. + + -- Brent A. Fulgham Thu, 21 Dec 1999 21:15:09 -0800 + --- aolserver4-4.5.1.orig/debian/aolserver4-core.lintian-overrides +++ aolserver4-4.5.1/debian/aolserver4-core.lintian-overrides @@ -0,0 +1 @@ +aolserver4-core: binary-or-shlib-defines-rpath --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.links +++ aolserver4-4.5.1/debian/aolserver4-daemon.links @@ -0,0 +1 @@ +usr/sbin/aolserver4-nsd usr/lib/aolserver4/bin/nsd --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.preinst +++ aolserver4-4.5.1/debian/aolserver4-daemon.preinst @@ -0,0 +1,60 @@ +#!/bin/sh -e +# preinst script for aolserver +# +# see: dh_installdeb(1) + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' + +# Source debconf library +#. /usr/share/debconf/confmodule + +# check for presence of www-data:www-data user + +add_group_if_missing() { + if [ -x /usr/sbin/adduser ]; then + if ! id -g www-data >/dev/null 2>&1; then + addgroup --gid 33 --force-badname www-data + fi + fi +} + +add_user_if_missing() { + if [ -x /usr/sbin/adduser ]; then + if ! id -u www-data > /dev/null 2>&1; then + adduser --system --home /var/www --no-create-home \ + --uid 33 --gid 33 --disabled-password --force-badname \ + www-data + fi + fi +} + + +case "$1" in + upgrade|install) + + add_group_if_missing + add_user_if_missing + + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + + + --- aolserver4-4.5.1.orig/debian/aolserver4-doc.doc-base.drv +++ aolserver4-4.5.1/debian/aolserver4-doc.doc-base.drv @@ -0,0 +1,10 @@ +Document: aolserver4-drv +Title: AOLserver Driver Development Guide +Author: Jim Davidson et al, America On-Line. +Abstract: This package contains the reference documentation + for the Communications & Database Driver Development +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/aolserver4-doc/html/devel/driver/index.html +Files: /usr/share/doc/aolserver4-doc/html/devel/driver/*.html --- aolserver4-4.5.1.orig/debian/watch +++ aolserver4-4.5.1/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/aolserver/aolserver-(4)\.(.+)\.(.+)-src\.tar\.gz --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.postinst +++ aolserver4-4.5.1/debian/aolserver4-daemon.postinst @@ -0,0 +1,961 @@ +#! /bin/sh -e +# postinst script for aolserver4 +# +# see: dh_installdeb(1) +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +PACKAGE="aolserver4" +ETCDIR="/etc/$PACKAGE" +RUNDIR="/var/run/$PACKAGE" +LOGDIR="/var/log/$PACKAGE" +NEW_SUFFIX="new" +OLD_SUFFIX="old" +CONF="$ETCDIR/$PACKAGE.tcl" +CONF_NEW="$CONF.$NEW_SUFFIX" +INIT="/etc/init.d/$PACKAGE" +INIT_NEW="$INIT.$NEW_SUFFIX" +DEFAULT="/etc/default/$PACKAGE" +DEFAULT_NEW="$DEFAULT.$NEW_SUFFIX" + +[ -d $RUNDIR ] || mkdir -p -m 0755 $RUNDIR + +replace_file () { + file=$1 + if [ ! -f $file ] ; then + mv $file.$NEW_SUFFIX $file + else + # ask before replacing + cp $file $file.$OLD_SUFFIX + ucf --debconf-ok $file.$NEW_SUFFIX $file + fi +} + +do_update () { + file=$1 + if diff -q $file $file.$NEW_SUFFIX >/dev/null 2>&1; then + # Old file and new file are identical + rm -f ${file}.$NEW_SUFFIX + else + replace_file $file + fi +} + +if [ "$1" != "configure" ] +then + exit 0 +fi + + +# get debconf choices + +. /usr/share/debconf/confmodule + +db_get $PACKAGE/hostname +HOSTNAME=$RET + +db_get $PACKAGE/address +ADDRESS=$RET + +db_get $PACKAGE/port +PORT=$RET + +# use current configuration or generate a new one from scratch + +if [ ! -f $CONF ]; then + + cat <$CONF_NEW +# +# AOLServer 4 configuration file. +# +# Copyright (C) 2003-2009 Francesco P. Lovergine +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# On Debian GNU/Linux systems a copy of the license is available +# as /usr/share/common-licenses/GPL. +# + +# +# AOLServer can run multiple domains on a single machine. +# +# You can add more ns/server/domain sections and use the -s domain +# command line option to use the same configuration file in multi-configuration +# flavor. You could also use more configuration files and run multiple +# instances of the daemon, alternatively. +# +# This file use a single 'main' domain per default. +# + +array set debian_config { +HOSTNAME $HOSTNAME +ADDRESS $ADDRESS +HTTP_PORT $PORT +HTTPS_PORT 443 +} + +proc parse_shell_snippet {filename} { + global debian_config + set fd [open \$filename r] + set line_no 1 + while {![eof \$fd]} { + set line [string trim [gets \$fd] " "] + if {\$line == ""} continue + switch -regexp -- \$line { + ^#.* { } + .*=.* { + set pair [split \$line =] + set name [string trim [lindex \$pair 0] " "] + set value [string trim [lindex \$pair 1] " "] + set debian_config(\$name) \$value + } + default { + error "Error parsing \$filename (line: \$line_no): \$line" + } + } + incr line_no + } + close \$fd +} + +# +# Parse default vars snippet file +# +parse_shell_snippet /etc/default/aolserver4 + +############################################################################################# +# +# GLOBAL VARIABLES +# + +set httpport \$debian_config(HTTP_PORT) +set httpsport \$debian_config(HTTPS_PORT) +set controlport 9999 + +set hostname \$debian_config(HOSTNAME) +set address \$debian_config(ADDRESS) + +set servername main +set serverdesc "AOLServer Site" +set package $PACKAGE + +set pageroot /var/www +set directoryfile index.adp,index.html,index.htm + +set homedir /usr/lib/\${package} +set bindir \${homedir}/bin + +set sslmodule nsssl.so +set sslkeyfile \${homedir}/servers/\${servername}/modules/nsssl/keyfile.pem +set sslcertfile \${homedir}/servers/\${servername}/modules/nsssl/certfile.pem + +set serverlog /var/log/\${package}/\${package}.log +set pidfile /var/run/\${package}/\${package}.pid + +############################################################################################## +# +# GLOBAL SERVER PARAMETERS +# +# +ns_section "ns/parameters" + +ns_param home \${homedir} +ns_param debug false +ns_param servername \${servername} + +ns_param user www-data +ns_param group www-data + +# Data structures +ns_param dstringcachemaxentries 10 ;# Max no. of Dstrings to put on cache +ns_param dstringcachemaxsize [expr 3*1024] +ns_param iobufsize 16000 ;# Buffer size suitable for I/O + +# Limits +ns_param keepalivetimeout 30 ;# Max time conn is kept alive (keepalive) + ;# (set to 0 to disable keepalive) +ns_param listenbacklog 32 ;# Max length of pending conn queue +ns_param maxkeepalive 100 ;# Max no. of conns in keepalive state +ns_param schedmaxelapsed 2 ;# Warn when waiting on really long procs +ns_param shutdowntimeout 20 ;# Secs to wait on shutdown if open conns + +# Server logging +ns_param dev true ;# Display logging with "Dev" severity +ns_param debug false ;# Display logging with "Debug" severity +ns_param logexpanded false ;# true = double-spaced server.log +ns_param logroll false ;# Roll server.log every 24 hours. +ns_param maxbackup 10 ;# Max number of old server.log files + +ns_param serverlog \${serverlog} ;# Logging file name +ns_param pidfile \${pidfile} ;# pid of server file name + +# DNS tuning +ns_param dnscache true ;# In-memory cache of DNS lookups +ns_param dnscachetimeout 60 ;# How long to keep hostnames in cache + +# Miscellaneous +ns_param checkexitcode false ;# Check exit code on forked process +ns_param crashcmd ns_crash ;# A Tcl command that dumps core. +ns_param mailhost localhost ;# SMTP host for ns_sendmail + + + + + +############################################################################################## +# +# MODULE CONFIGURATIONS +# +# + +# +# Thread library (nsthread) parameters +# +ns_section "ns/threads" +ns_param mutexmeter true ;# measure lock contention +ns_param stacksize [expr 128*1024] ;# stack size per thread (in bytes) + +# +# MIME types. +# +# Note: AOLserver already has an exhaustive list of MIME types, but in +# case something is missing you can add it here. +# +ns_section "ns/mimetypes" +ns_param default "*/*" ;# MIME type for unknown extension +ns_param noextension "*/*" ;# MIME type for missing extension +#ns_param ".xls" "application/vnd.ms-excel" + +# +# I18N Mime-types; define content-type header values +# to be mapped from these file-types. +# Note that you can map file-types of adp files to control +# the output encoding through mime-type specificaion. +# Remember to add an adp mapping for that extension. +# +ns_param .adp "text/html; charset=iso-8859-1" +ns_param .u_adp "text/html; charset=UTF-8" +ns_param .gb_adp "text/html; charset=GB2312" +ns_param .sjis_html "text/html; charset=shift_jis" +ns_param .sjis_adp "text/html; charset=shift_jis" +ns_param .gb_html "text/html; charset=GB2312" + +# +# I18N File-type to Encoding mappings +# +ns_section "ns/encodings" +ns_param .utf_html "utf-8" +ns_param .sjis_html "shiftjis" +ns_param .gb_html "gb2312" +ns_param .big5_html "big5" +ns_param .euc-cn_html "euc-cn" + +# +# Note: you will need to include file-type to encoding mappings +# for ANY source files that are to be used, to allow the +# server to handle them properly. E.g., the following +# asserts that the GB-producing .adp files are themselves +# encoded in GB2312 (this is not simply assumed). +# +ns_param .gb_adp "gb2312" + +# +# Thread library (nsthread) parameters +# +ns_section "ns/threads" +ns_param mutexmeter true ;# measure lock contention +ns_param stacksize [expr 128*1024] ;# stack size per thread (in bytes) + + +########################################################################################## +# +# SERVER LEVEL CONFIGURATION +# +# There is only one server in AOLserver, but this is helpful when multiple +# servers share the same configuration file. This file assumes that only +# one server is in use so it is set at the top. +# + +ns_section "ns/servers" +ns_param \$servername \$serverdesc ;# Name of virtual server. + +# +# Server parameters +# +ns_section "ns/server/\${servername}" +ns_param directoryfile \$directoryfile ;# List of files to use (index.html) +ns_param pageroot \$pageroot ;# Directory under which all pages live + +# Tuning options +ns_param connsperthread 0 ;# Normally there's one conn per thread +ns_param flushcontent false ;# Flush all data before returning +ns_param maxconnections 100 ;# Max connections to put on queue +ns_param maxdropped 0 ;# Shut down if dropping too many conns +ns_param maxthreads 20 ;# Tune this to scale your server +ns_param minthreads 0 ;# Tune this to scale your server +ns_param threadtimeout 120 ;# Idle threads die at this rate + +# Limits +ns_param maxheaders 16384 ;# Max no. of headers from client +ns_param maxline 8192 ;# Max line length from client +ns_param maxpost 65536 ;# Max bytes on a POST +ns_param sendfdthreshold 2048 ;# Min size of file descriptor to send + +# Performance statistics gathering +ns_param globalstats true ;# Enable built-in statistics +ns_param urlstats true ;# Enable URL statistics +ns_param maxurlstats 1000 ;# Max number of URL's to do stats on + +# Directory listings can be generated with an ADP or a Tcl proc. +ns_param directoryadp \$homedir/dirlist.adp ;# Choose one or the other +ns_param directoryproc _ns_dirlist ;# ...but not both! +ns_param directorylisting simple ;# Can be simple or fancy (for ns_dirlist) + +# Miscellaneous +ns_param checkmodifiedsince true ;# Check url if no If-Modified-Since? +ns_param enableaolpress false ;# Enable extra features used by AOLpress +ns_param headercase preserve ;# tolower, toupper, preserve + +# +# Internal redirects +# +#ns_section "ns/server/\${servername}/redirects" +#ns_param 404 "/notfound.html" ;# Not Found error page +#ns_param 500 "/servererror.html" ;# Server Error page + +# +# Fastpath serves HTML +# +# Fast path configuration is used to configure options used for serving +# static content, and also provides options to automatically display +# directory listings. +# +# Parameters: +# +# cache Boolean. Enable cache for normal URLs. +# Optional, default is false. +# cachemaxsize Integer. Size of fast path cache. +# Optional, default is 5120000. +# cachemaxentry Integer. Largest file size allowed in cache. +# Optional, default is cachemaxsize / 10. +# mmap Boolean. Use mmap() for cache. +# Optional, default is false. +# directoryfile String. Directory index/default page to +# look for. Optional, default is directoryfile +# parameter set in ns/server/\${servername} section. +# directorylisting String. Directory listing style. Optional, +# Can be "fancy" or "simple". +# directoryproc String. Name of Tcl proc to use to display +# directory listings. Optional, default is to use +# _ns_dirlist. You can either specify directoryproc, +# or directoryadp - not both. +# directoryadp String. Name of ADP page to use to display +# directory listings. Optional. You can either +# specify directoryadp or directoryproc - not both. +# +# +# ns_section "ns/server/\${servername}/fastpath" +# ns_param directorylisting fancy +# + +ns_section "ns/server/\${servername}/fastpath" +ns_param cache true ;# Enable cache for normal URLs +ns_param cachemaxentry 8192 ;# Largest file size allowable in cache +ns_param cachemaxsize [expr 5000*1024] ;# Size of fastpath cache +ns_param mmap false ;# Use mmap() for cache + +# +# Tcl interpreter +# +ns_section "ns/server/\${servername}/tcl" +ns_param autoclose true ;# Close files the Tcl interp opened +ns_param debug false ;# Names of files sourced is logged +ns_param nsvbuckets 8 ;# No. of buckets to hold nsv's +ns_param statlevel 0 ;# How many levels deep to run tclstats +ns_param statmaxbuf 100 ;# Maximum entries in tclstats table +ns_param library \ + \$homedir/servers/\${servername}/modules/tcl ;# Private tcl library for the server + +# +# ADP (AOLserver Dynamic Page) configuration +# +ns_section "ns/server/\${servername}/adp" + +# ADP features +ns_param map "/*.adp" ;# Extensions to parse as ADP's +ns_param map "/*.html" ;# Any extension can be mapped +ns_param enableexpire true ;# Set "Expires: now" on all ADP's +ns_param enabledebug true ;# Turn on Tclpro debugging with "?debug" +ns_param debuginit "ns_adp_debuginit" ;# Debug procedure + +# ADP tuning +ns_param cache true ;# In-memory cache of ADP's +ns_param cachesize [expr 5000*1024] +ns_param taglocks false ;# Enable post-ini creation of ADP tags +ns_param threadcache false ;# default for Tcl 7.6 (nsd76) +ns_param threadcache true ;# default for Tcl 8.2 (nsd82) + +# ADP special pages +#ns_param errorpage \ +# \${pageroot}/errorpage.adp ;# Pretty-print ADP errors with an ADP +#ns_param startpage \ +# \${pageroot}/startpage.inc ;# Page to include for all ADP's + + +# +# ADP custom parsers -- see adp.c +# +ns_section "ns/server/\${servername}/adp/parsers" +ns_param adp ".adp" ;# The simple parser looks for <\% ... \%> +ns_param fancy ".adp" ;# The fancy parser does a lot more. + + +# +# Socket driver module (HTTP) -- nssock +# +ns_section "ns/server/\${servername}/module/nssock" +ns_param port \$httpport ;# Port for HTTP (typically 80) +ns_param hostname \$hostname ;# This is not the same as your hostname +ns_param address \$address ;# This is not the same as your host addr +ns_param location "http://\$hostname/" ;# URL for auto-redirects (trailing slash) + +# +# Socket driver module (HTTPS) -- nsssl +# +ns_section "ns/server/\${servername}/module/nsssl" +ns_param port \$httpsport +ns_param hostname \$hostname +ns_param address \$address +ns_param keyfile \$sslkeyfile +ns_param certfile \$sslcertfile + + +# +# Control port -- nscp +# +# To enable: +# +# 1. Define an address and port to listen on. For security +# reasons listening on any port other then 127.0.0.1 is +# not recommended. +# +# 2. Decided whether or not you wish to enable features such +# as password echoing at login time, and command logging. +# +# 3. Add a list of authorized users and passwords. The entires +# take the following format: +# +# :: +# +# You can use the ns_crypt Tcl command to generate an encrypted +# password. The ns_crypt command uses the same algorithm as the +# Unix crypt(3) command. You could also use passwords from the +# /etc/passwd file. +# +# The first two characters of the password are the salt - they can be +# anything since the salt is used to simply introduce disorder into +# the encoding algorithm. +# +# ns_crypt +# ns_crypt x t2 +# +# The configuration example below adds the user "nsadmin" with a +# password of "x". +# +# 4. Make sure the nscp.so module is loaded in the modules section. +# +ns_section "ns/server/\${servername}/module/nscp" +ns_param port \$controlport ;# Control port listens on port 9999 +ns_param address 127.0.0.1 ;# For security, use 127.0.0.1 only +ns_param echopassword 1 +ns_param cpcmdlogging 1 +ns_param reconnection off + +# Control port users +ns_section "ns/server/\${servername}/module/nscp/users" +# The default password for nsadmin is "x". You should change it. +# type "ns_crypt newpassword salt" and put the encrypted string below. +ns_param user "nsadmin:t2GqvvaiIUbF2:" ;# sample user="nsadmin", pw="x". + +# +# Access log -- nslog +# +ns_section "ns/server/\${servername}/module/nslog" +ns_param file \${serverlog} +ns_param formattedtime true ;# true=common log format +ns_param logcombined false ;# true==NCSA combined format +ns_param maxbackup 5 ;# Max number to keep around when rolling +ns_param rollhour 0 ;# Time to roll log +ns_param rolllog true ;# Should we roll log? +ns_param rollonsignal true ;# Roll log on SIGHUP + +# +# CGI interface -- nscgi +# +# Note: CGI is *vastly* inferior to ADP's or even built-in Tcl libraries. +# +ns_section "ns/server/\${servername}/module/nscgi" +ns_param debug false ;# Be chatty in log +ns_param gethostbyaddr false ;# Whether to do reverse DNS lookups +ns_param limit 0 ;# Max number of concurrent CGI processes +ns_param maxoutput 10240 ;# Max bytes allowed from external process +ns_param buffersize 8192 ;# Buffer output from external process +#ns_param map \ +# "GET /cgi-lib /usr/lib/cgi-bin" ;# Where system CGI executables live (GET) +#ns_param map \ +# "POST /cgi-lib /usr/lib/cgi-bin" ;# Where system CGI executables live (POST) +#ns_param map \ +# "GET /cgi-bin /usr/local/cgi-bin" ;# Where your CGI executables live (GET) +#ns_param map \ +# "POST /cgi-bin /usr/local/cgi-bin" ;# Where your CGI executables live (POST) +ns_param map \ + "GET /cgi-bin /usr/lib/cgi-bin" ;# Where your CGI executables live (GET) +ns_param map \ + "POST /cgi-bin /usr/lib/cgi-bin" ;# Where your CGI executables live (POST) + +ns_param map "GET /*.py" +#ns_param map "GET /doc /usr/share/doc" +ns_param map "POST /*.pl" +ns_param map "POST /*.py" +ns_param interps cgiinterps + +#ns_section "ns/interps/CGIinterps" +#ns_param .pl "/usr/bin/perl" +#ns_param .sh "/bin/sh" +#ns_param .py "/usr/bin/python" + + +# CGI environment variable handling -- See admin guide +ns_param systemenvironment false ;# Copies environment from nsd start shell + + +# +# Access control (permissions) -- nsperm +# +ns_section "ns/server/\${servername}/module/nsperm" + +# +# Unix domain socket driver -- nsunix +# +ns_section "ns/server/\${servername}/module/nsunix" +ns_param hostname \$hostname ;# Hostname used in response to client +ns_param port \$httpport ;# Port to listen on +ns_param socketfile /var/run/\${package}/\${servername}.sock ;# UNIX domain socket driver + +# +# Virtual Hosting redirector -- nsvhr +# +ns_section "ns/server/\${servername}/module/nsvhr" +ns_param busyurl "url" ;# Redirect here if back-end times out +ns_param errorurl "url" ;# Redirect here on proxy errors +ns_param method "GET" ;# Methods allowed to proxy +ns_param method "POST" ;# Methods allowed to proxy (can have >1) +ns_param timeout 30 ;# Timeout waiting for back-end + +# Register hosts to proxy +#ns_section "ns/server/\${servername}/module/nsvhr/maps" +#ns_param "www.tcpsocket.com" "http://127.0.0.0:2000" ;# HTTP proxy +#ns_param "www.domainsocket.com" "unix://somehost" ;# Domain socket + +# +# Database drivers +# +# Two pools are given here. Sybase uses the Sybase client libraries, +# obtained from Sybase. Postgres is freely available at +# www.postgresql.org. Sybase uses an external proxy daemon while +# Postgres uses an internal driver. The Sybase driver requires some +# configuration in ns/db/driver/sybase_driver to tell th "nsext.so" +# driver where to find the nssybpd executable and some other things. +# The Postgres driver doesn't need any of that because it's internal +# and does not use nsext.so. +# +#ns_section "ns/db/drivers" +#ns_param sybase_driver nsext.so ;# Use nsext.so for a proxy daemon +#ns_param postgres_driver nspostgres.so ;# An internal driver +# +#ns_section "ns/db/driver/sybase_driver" +#ns_param localdaemon nssybpd ;# Name of the proxy daemon executable +#ns_param param path_to_sybase ;# Usually the \$SYBASE env var +# +#ns_section "ns/db/pools" +#ns_param sybase_pool "Sybase Pool" +#ns_param postgres_pool "Postgres Pool" +# +#ns_section "ns/db/pool/sybase_pool" +#ns_param driver sybase_driver +#ns_param datasource SERVER_NAME:database_name +#ns_param user user_name +#ns_param password password +#ns_param connections 1 +#ns_param logsqlerrors true ;# Verbose SQL query error logging +#ns_param verbose false ;# Verbose error logging +#ns_param maxidle 600 ;# Max time to keep idle db conn open +#ns_param maxopen 3600 ;# Max time to keep active db conn open +# +#ns_section "ns/db/pool/postgres_pool" +#ns_param driver postgres_driver +#ns_param datasource HOSTNAME:PORT:database_name +#ns_param user user_name +#ns_param password password +#ns_param connections 1 +#ns_param logsqlerrors true ;# Verbose SQL query error logging +#ns_param verbose false ;# Verbose error logging +#ns_param maxidle 600 ;# Max time to keep idle db conn open +#ns_param maxopen 3600 ;# Max time to keep active db conn open +# +# Accessing DB pools +# +# In the case of virtual servers you can give different virtual +# servers access to different databases, or you can let them access +# them all. AOLserver 3.x does not use virtual servers so the only +# useful value is "*", but if you use one config file for multiple nsd +# processes, or you are using a version of AOLserver that supports +# virtual servers, then you should list the pools you want to access. +# +#ns_section "ns/server/\${servername}/db" +#ns_param pools * ;# Wildcard gives access to all +#ns_param defaultpool sybase_pool +# + +# +# Modules to load +# +# Note: Only load the modules you are actually going to use. +# Add here optional modules when needed. +# +ns_section "ns/server/\${servername}/modules" +ns_param nssock nssock.so +ns_param nslog nslog.so +ns_param nscgi nscgi.so +ns_param nsperm nsperm.so +#ns_param nscp nscp.so +#if { [file exists \$sslcertfile] && [file exists \$sslkeyfile] } { +#ns_param nsssl nsssl.so +#} + +# +# Loading a Tcl module +# +# This example shows a Tcl module, called "tcl_module", has its code +# in the AOLserver Tcl library in either the modules/tcl/tcl_module +# directory or servers/servername/modules/tcl/tcl_module directory. +# +ns_param tcl_module tcl + + +# +# Example: Multiple connection thread pools. +# +# To enable: +# +# 1. Define one or more thread pools. +# 2. Configure pools as with the default server pool. +# 3. Map method/URL combinations to the pools +# +# All unmapped method/URL's will go to the default server pool. +# +#ns_section ns/server/main/pools +#ns_section slow "Slow requests here." +#ns_section fast "Fast requests here." +# +#ns_section ns/server/main/pool/slow +#ns_param map {POST /slowupload.adp} +#ns_param maxconnections 100 ;# Max connections to put on queue +#ns_param maxdropped 0 ;# Shut down if dropping too many conns +#ns_param maxthreads 20 ;# Tune this to scale your server +#ns_param minthreads 0 ;# Tune this to scale your server +#ns_param threadtimeout 120 ;# Idle threads die at this rate +# +#ns_section ns/server/main/pool/fast +#ns_param map {GET /faststuff.adp} +#ns_param maxthreads 10 +# + +# +# Example: Web based stats interface. +# +# To enable: +# +# 1. Configure whether or not stats are enabled. (Optional: default = false) +# 2. Configure URL for statistics. (Optional: default = /_stats) +# +# http://:/_stats +# +# 3. Configure user. (Optional: default = aolserver) +# 4. Configure password. (Optional: default = stats) +# +# For added security it is recommended that configure your own +# URL, user, and password instead of using the default values. +# +#ns_section ns/server/stats +# ns_param enabled 1 +# ns_param url /aolserver/stats +# ns_param user nsadmin +# ns_param password 23dfs!d +# + +EOF + +else + cp $CONF $CONF_NEW + sed -i \ + -e "s/^HOSTNAME[ \t]\+\(.*\)\$/HOSTNAME $HOSTNAME/" \ + -e "s/^ADDRESS[ \t]\+\(.*\)\$/ADDRESS $ADDRESS/" \ + -e "s/^HTTP_PORT[ \t]\+\(.*\)\$/HTTP_PORT $PORT/" \ + $CONF_NEW +fi + +do_update $CONF + +chown root:root $CONF +chmod 644 $CONF + +# create a new init script if it not exists, or update the existing one + +cat <$INIT_NEW +#!/bin/sh +# +# Start the AOLServer HTTP server. +# +# Copyright (C) 2003-2009 Francesco P. Lovergine +# + +### BEGIN INIT INFO +# Provides: aolserver4 +# Required-Start: \$local_fs \$remote_fs \$network \$syslog +# Required-Stop: \$local_fs \$remote_fs \$network \$syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: \$postgresql +# Should-Stop: \$postgresql +# Short-Description: Starts AOLserver web daemon +# Description: It starts up the AOLserver http multi-threaded +# server +### END INIT INFO + +NAME=$PACKAGE +USER=www-data +GROUP=www-data +ADDRESS=$ADDRESS +HTTP_PORT=$PORT +DAEMON=/usr/sbin/$PACKAGE-nsd +PIDFILE=$RUNDIR/\$NAME.pid +CONF=$CONF +RUN_DAEMON=yes + +trap "" 1 + +[ -x \$DAEMON ] || exit 0 + +. /lib/lsb/init-functions + +if [ -f $DEFAULT ]; then + . $DEFAULT +fi + +# /var/run could be on a tmpfs + +[ ! -d \$RUNDIR ] && mkdir -p -m 755 \$RUNDIR + +start() +{ + if [ "\$RUN_DAEMON" = "yes" ]; then + log_daemon_msg "Starting web server" "\$NAME" + start-stop-daemon --start --quiet --exec \$DAEMON --pidfile \$PIDFILE --oknodo -- \\ + -u \$USER -g \$GROUP -b \$ADDRESS:\$HTTP_PORT -s main -t \$CONF >/dev/null + if [ \$? != 0 ]; then + log_end_msg 1 + exit 1 + else + log_end_msg 0 + fi + fi + + for name in $ETCDIR/conf.d/*.sh; do + base=\$(basename \$name .sh) + if [ -e $ETCDIR/conf.d/\$base.tcl ]; then + AOL_PIDFILE=$RUNDIR/\$base.pid + AOL_ADDRESS=\$ADDRESS + AOL_PORT=\$(expr \$HTTP_PORT + 1) + AOL_USER=\$USER + AOL_GROUP=\$GROUP + RUN_DAEMON=yes + . \$name + if [ "\$RUN_DAEMON" = "yes" ]; then + log_daemon_msg "Starting AOL instance" "\$base" + start-stop-daemon --start --quiet --exec \$DAEMON --pidfile \$AOL_PIDFILE --oknodo -- \\ + -u \$AOL_USER -g \$AOL_GROUP -b \$AOL_ADDRESS:\$AOL_PORT -s \$base -t $ETCDIR/conf.d/\$base.tcl >/dev/null + if [ \$? != 0 ]; then + log_end_msg 1 + exit 1 + else + log_end_msg 0 + fi + fi + fi + done +} + +stop() +{ + for name in $RUNDIR/*.pid; do + if [ -f \$name ]; then + base=\$(basename \$name .pid) + log_daemon_msg "Stopping web server" "\$base" + start-stop-daemon --stop --quiet --pidfile \$name --oknodo >/dev/null + if [ \$? != 0 ]; then + log_end_msg 1 + exit 2 + else + log_end_msg 0 + fi + fi + done +} + + +case "\$1" in + start) + start + ;; + + stop) + stop + ;; + + reload|force-reload|restart) + stop + sleep 2 + start + ;; + + *) + echo "Usage: /etc/init.d/\$NAME {start|stop|restart|reload|force-reload}" + exit 1 + ;; +esac + +exit 0 + +EOF + +chown root:root $INIT_NEW +chmod 755 $INIT_NEW + +if [ -f $INIT ]; then + do_update $INIT +else + replace_file $INIT +fi + +# create a default file + +cat <$DEFAULT_NEW +# +# These variables can be customized to change main AOLserver settings. +# More changes can be done by modifying the $CONF Tcl script. +# +# Note that these variables are read and interpreted by the Tcl script +# too, so avoid using shell capabilities in setting vars. +# + +#USER=www-data +#GROUP=www-data +#HOSTNAME=$HOSTNAME +#ADDRESS=$ADDRESS +#HTTP_PORT=$PORT +#HTTPS_PORT=443 +#CONF=$CONF +#RUN_DAEMON=yes +EOF + +chown root:root $DEFAULT_NEW +chmod 644 $DEFAULT_NEW + +if [ -f $DEFAULT ]; then + do_update $DEFAULT +else + replace_file $DEFAULT +fi + +# Important: keep db_stop before any ucf call or use --debconf-ok + +db_stop + +# remove any possible residual ldso file from previous installations + +rm /etc/ld.so.conf.d/aolserver4.conf >/dev/null 2>&1 && ldconfig || true + +if [ -x $INIT ]; then + update-rc.d $PACKAGE defaults 91 >/dev/null + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d $PACKAGE start + else + $INIT start + fi +fi + +# create the pageroot dir if it does not exist and a default home page + +if [ ! -d /var/www ]; then + mkdir -p /var/www + chown root:root /var/www + chmod 755 /var/www +fi + +if [ ! -f /var/www/index.adp ]; then + if [ -e /usr/share/doc/$PACKAGE/examples/index.adp.gz ]; then + zcat /usr/share/doc/$PACKAGE/examples/index.adp.gz >/var/www/index.adp + fi + if [ -e /usr/share/doc/$PACKAGE/examples/index.adp ]; then + cp /usr/share/doc/$PACKAGE/examples/index.adp /var/www/index.adp + fi + chmod 644 /var/www/index.adp || true +fi + +# assign ownership of run and log directories to www-data + +if [ -d $RUNDIR ]; then + chown www-data:www-data $RUNDIR + chmod 755 $RUNDIR +fi + +if [ -d $LOGDIR ]; then + chown www-data:www-data $LOGDIR + chmod 755 $LOGDIR +fi + +# remove tmp files still around if any... + +rm -f "$CONF.$NEW_SUFFIX" "$CONF.$OLD_SUFFIX" "$INIT.$NEW_SUFFIX" "$INIT.$OLD_SUFFIX" + +#DEBHELPER# + + + --- aolserver4-4.5.1.orig/debian/aolserver4-dev.install +++ aolserver4-4.5.1/debian/aolserver4-dev.install @@ -0,0 +1,7 @@ +include/*.h usr/share/aolserver4/include +include/Makefile* usr/share/aolserver4 +bin/ns*tcl usr/share/aolserver4 +include/ns.mak usr/share/aolserver4 +lib/*.a usr/lib/aolserver4/lib +man/man3 usr/share/man +debian.substvars usr/share/aolserver4 --- aolserver4-4.5.1.orig/debian/control +++ aolserver4-4.5.1/debian/control @@ -0,0 +1,94 @@ +Source: aolserver4 +Section: web +Priority: optional +Maintainer: Francesco Paolo Lovergine +Build-Depends: sharutils, patch, debhelper (>= 7), tcl-dev (>= 8.4), dpatch, groff, zlib1g-dev, po-debconf +Standards-Version: 3.9.1 +Homepage: http://www.aolserver.com/ +Vcs-Browser: http://svn.debian.org/viewsvn/collab-maint/deb-maint/aolserver/aolserver4/trunk +Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/aolserver/aolserver4/trunk + +Package: aolserver4-daemon +Architecture: any +Depends: aolserver4-core (= ${binary:Version}), debconf (>= 1.2.9) | debconf-2.0, mime-support, ucf (>= 0.30), + logrotate (>= 3.6.5-1), adduser, ${shlibs:Depends}, ${misc:Depends} +Provides: httpd, httpd-cgi, aolserver4 +Recommends: aolserver4-doc +Conflicts: aolserver4 +Replaces: aolserver4-nscache, aolserver4 +Description: AOL web server version 4 - program files + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package provides the server itself. + +Package: aolserver4-core +Architecture: any +Depends: debconf (>= 1.2.9) | debconf-2.0, ${shlibs:Depends}, ${misc:Depends} +Provides: httpd, httpd-cgi, aolserver4-core-4.5.1, aolserver4-core-4.5.1-1 +Recommends: aolserver4-doc, aolserver4-daemon +Replaces: aolserver4-core-4.5.1 +Conflicts: aolserver4-core-4.5.1 +Description: AOL web server version 4 - core libraries + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package provides the basic shared libraries which are needed by + the daemon and are also useful for building add-on modules. It does + not contain the AOLserver daemon, which is in aolserver4. + +Package: aolserver4-dev +Section: web +Architecture: any +Depends: aolserver4-core (= ${binary:Version}), tcl-dev (>= 8.4), zlib1g-dev | libz-dev, ${misc:Depends} +Suggests: aolserver4-doc, aolserver4-daemon +Description: AOL web server version 4 - development files + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package contains header files and libraries needed to develop + applications based on AOLserver. + +Package: aolserver4-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Recommends: www-browser +Suggests: aolserver4-daemon, tcl-doc +Description: AOL web server version 4 - documentation + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package contains three reference manuals for AOLserver version 3+: + - The AOLserver Administrator's Guide covers the setup options + and security issues relating to running the server; + - The AOLserver Tcl Developer's Guide covers the Tcl API which + can be used to add features to your web pages (similar in + some respects to PHP or Microsoft's ASP); + - The AOLserver C Developer's Guide covers the C API which can + be used to create new modules to extend AOLserver. + . + This is the latest available version of the documentation, but it is + quite outdated and incomplete. More up-to-date API documentation is + available at http://panoptic.com/wiki/aolserver/Tcl_API. + --- aolserver4-4.5.1.orig/debian/app3.tcl +++ aolserver4-4.5.1/debian/app3.tcl @@ -0,0 +1,103 @@ +# +# The Genstory script from the AOLserver Tcl +# Documentation +# +# Example 3a: Form generation and handling +# +# Two functions are registered. One generates and +# returns an HTML form, and the other processes +# the data in the form. +# +# Things to notice: +# +# * Different functions are registered to the same +# URL with different methods. Note that some browsers +# do not cache results properly when you do this. +# +# * The genstory function returns an error status +# (500) if the client doesn't pass in any form data. +# +# * Form data is stored in an ns_set, and accessed +# like any other set (e.g., header data). +# +# * A counter is used to loop through all the key +# value pairs in the form. + +ns_register_proc GET /genstory genstoryform +ns_register_proc POST /genstory genstory + +proc genstoryform {conn context} { + ns_return $conn 200 text/html \ + " + + Automatic Story Generator + + +

+ Automatic Story Generator +

+
+ Noun:
+ Noun:
+ Name:
+ Name:
+ Adjective:
+ Adjective:
+ Verb:
+ Verb:
+

+

Note: The form you are filling out was generated + dynamically. No cgi-bin was used for this, and no separate + process was started. All of this is happening within a thread + of the AOLserver process. +

+

+ " +} + +proc genstory {conn ignore} { + set formdata [ns_conn form $conn] + + if {$formdata == ""} { + ns_return $conn 200 text/plain "Need form data!" + return + } + + # Build up a human-readable representation of the form data. + set hrformdata "

" + set size [ns_set size $formdata] + for {set i 0} {$i < $size} {incr i} { + append hrformdata "
[ns_set key $formdata $i]
\ +
[ns_set value $formdata $i]
" + } + append hrformdata "
" + + ns_return $conn 200 text/html \ + " + + The story of [ns_set get $formdata name1] and + [ns_set get $formdata name2] + + +

+ The story of [ns_set get $formdata name1] and + [ns_set get $formdata name2] +

+

Once upon a time [ns_set get $formdata name1] and + [ns_set get $formdata name2] went for a + walk in the woods looking for a [ns_set get $formdata noun1]. + [ns_set get $formdata name1] was + feeling [ns_set get $formdata adjective1] because + [ns_set get $formdata name2] was so + [ns_set get $formdata adjective2]. So + [ns_set get $formdata name1] decided to + [ns_set get $formdata verb1] [ns_set get $formdata name2] + with a [ns_set get $formdata noun2]. This made + [ns_set get $formdata name2] [ns_set get $formdata verb2] + [ns_set get $formdata name1]. +

The End
+ The form data that made this possible:
+ $hrformdata + " +} --- aolserver4-4.5.1.orig/debian/debian.substvars.in +++ aolserver4-4.5.1/debian/debian.substvars.in @@ -0,0 +1 @@ +aolserver:Depends=aolserver4-daemon, aolserver4-core-@VERSION@-@ABI@ --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.logrotate +++ aolserver4-4.5.1/debian/aolserver4-daemon.logrotate @@ -0,0 +1,14 @@ +/var/log/aolserver4/*.log { + weekly + missingok + rotate 52 + compress + delaycompress + notifempty + create 644 www-data www-data + sharedscripts + postrotate + if [ -f /var/run/aolserver4/aolserver4.pid ]; then \ + /etc/init.d/aolserver4 reload > /dev/null; fi + endscript +} --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.lintian-overrides +++ aolserver4-4.5.1/debian/aolserver4-daemon.lintian-overrides @@ -0,0 +1 @@ +aolserver4-daemon: binary-or-shlib-defines-rpath --- aolserver4-4.5.1.orig/debian/aolserver4-doc.dirs +++ aolserver4-4.5.1/debian/aolserver4-doc.dirs @@ -0,0 +1,4 @@ +usr/share/doc/aolserver4-doc +usr/share/doc/aolserver4-doc/html +usr/share/doc/aolserver4-doc/reference +usr/share/doc-base --- aolserver4-4.5.1.orig/debian/index.adp +++ aolserver4-4.5.1/debian/index.adp @@ -0,0 +1,200 @@ +<% +set uptime [ns_info uptime] + +if {$uptime < 60} { + set uptime [format %.2d $uptime] +} elseif {$uptime < 3600} { + set mins [expr $uptime / 60] + set secs [expr $uptime - ($mins * 60)] + + set uptime "[format %.2d $mins]:[format %.2d $secs]" +} else { + set hours [expr $uptime / 3600] + set mins [expr ($uptime - ($hours * 3600)) / 60] + set secs [expr $uptime - (($hours * 3600) + ($mins * 60))] + + set uptime "${hours}:[format %.2d $mins]:[format %.2d $secs]" +} + +set config "" + +lappend config "Build Date" [ns_info builddate] +lappend config "Build Label" [ns_info label] +lappend config "Build Platform" [ns_info platform] +lappend config "Build Version" [ns_info version] +lappend config "Build Patch Level" [ns_info patchlevel] +lappend config " " " " +lappend config "Binary" [ns_info nsd] +lappend config "Process ID" [ns_info pid] +lappend config "Uptime" $uptime +lappend config "Host Name" [ns_info hostname] +lappend config "Address" [ns_info address] +lappend config "Server Config" [ns_info config] +lappend config "Server Log" [ns_info log] +lappend config "Access Log" [ns_accesslog file] +lappend config " " " " +lappend config "Tcl Version" [info tclversion] +lappend config "Tcl Patch Level" [info patchlevel] +lappend config " " " " +lappend config "Home Directory" [ns_info home] +lappend config "Page Root" [ns_info pageroot] +lappend config "Tcl Library" [ns_info tcllib] +%> + + + + + +Welcome to AOLserver + + + + + + +

AOLserver <%=[ns_info version]%>

+ +

Congratulations, you have successfully installed AOLserver <%=[ns_info version]%> on Debian!

+ +

Configuration

+ + + + + + + +<% +foreach {key value} $config { + ns_adp_puts "" +} +%> + +
KeyValue
$key$value
+ +

Loaded AOLserver Modules

+ + + + + + + + +<% +set server [ns_info server] +set modSection [ns_configsection ns/server/$server/modules] +set tclDir [ns_info tcllib] +set binDir "[ns_info home]/bin" + +foreach {name binary} [ns_set array $modSection] { + if {[string match "tcl" $binary]} { + set type "Tcl" + set location "$tclDir/$name" + } else { + set type "C" + set location "$binDir/$binary" + } + + ns_adp_puts "" +} +%> + +
TypeNameLocation
$type$name$location
+ +<% +set modules [info loaded] + +if {[string length $modules]} { + ns_adp_puts "\ +

Loaded Tcl Modules

+ + + + + + " + + foreach module [info loaded] { + foreach {binary name} $module { + ns_adp_puts "" + } + } + + ns_adp_puts "
NameLocation
$name$binary
" +} +%> + + + --- aolserver4-4.5.1.orig/debian/control.in +++ aolserver4-4.5.1/debian/control.in @@ -0,0 +1,94 @@ +Source: aolserver4 +Section: web +Priority: optional +Maintainer: Francesco Paolo Lovergine +Build-Depends: sharutils, patch, debhelper (>= 7), tcl-dev (>= 8.4), dpatch, groff, zlib1g-dev, po-debconf +Standards-Version: 3.9.1 +Homepage: http://www.aolserver.com/ +Vcs-Browser: http://svn.debian.org/viewsvn/collab-maint/deb-maint/aolserver/aolserver4/trunk +Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/aolserver/aolserver4/trunk + +Package: aolserver4-daemon +Architecture: any +Depends: aolserver4-core (= ${binary:Version}), debconf (>= 1.2.9) | debconf-2.0, mime-support, ucf (>= 0.30), + logrotate (>= 3.6.5-1), adduser, ${shlibs:Depends}, ${misc:Depends} +Provides: httpd, httpd-cgi, aolserver4 +Recommends: aolserver4-doc +Conflicts: aolserver4 +Replaces: aolserver4-nscache, aolserver4 +Description: AOL web server version 4 - program files + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package provides the server itself. + +Package: aolserver4-core +Architecture: any +Depends: debconf (>= 1.2.9) | debconf-2.0, ${shlibs:Depends}, ${misc:Depends} +Provides: httpd, httpd-cgi, aolserver4-core-4.5.1, aolserver4-core-@VERSION@-@ABI@ +Recommends: aolserver4-doc, aolserver4-daemon +Replaces: aolserver4-core-4.5.1 +Conflicts: aolserver4-core-4.5.1 +Description: AOL web server version 4 - core libraries + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package provides the basic shared libraries which are needed by + the daemon and are also useful for building add-on modules. It does + not contain the AOLserver daemon, which is in aolserver4. + +Package: aolserver4-dev +Section: web +Architecture: any +Depends: aolserver4-core (= ${binary:Version}), tcl-dev (>= 8.4), zlib1g-dev | libz-dev, ${misc:Depends} +Suggests: aolserver4-doc, aolserver4-daemon +Description: AOL web server version 4 - development files + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package contains header files and libraries needed to develop + applications based on AOLserver. + +Package: aolserver4-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Recommends: www-browser +Suggests: aolserver4-daemon, tcl-doc +Description: AOL web server version 4 - documentation + AOLserver is the web engine that powers America Online. It + is capable of serving a very high number of users, and can host + hundreds of virtual servers simultaneously within the same process. + . + It is similar in many respects to Zope, except based largely on Tcl. + It is multi-threaded, and has a C API that can be used to extend + its functionality. + . + This package contains three reference manuals for AOLserver version 3+: + - The AOLserver Administrator's Guide covers the setup options + and security issues relating to running the server; + - The AOLserver Tcl Developer's Guide covers the Tcl API which + can be used to add features to your web pages (similar in + some respects to PHP or Microsoft's ASP); + - The AOLserver C Developer's Guide covers the C API which can + be used to create new modules to extend AOLserver. + . + This is the latest available version of the documentation, but it is + quite outdated and incomplete. More up-to-date API documentation is + available at http://panoptic.com/wiki/aolserver/Tcl_API. + --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.docs +++ aolserver4-4.5.1/debian/aolserver4-daemon.docs @@ -0,0 +1,2 @@ +README +RELEASE --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.config +++ aolserver4-4.5.1/debian/aolserver4-daemon.config @@ -0,0 +1,17 @@ +#! /bin/sh -e +# config script for aolserver +# +# see: dh_installdebconf(1) + +. /usr/share/debconf/confmodule + +db_input medium aolserver4/hostname || true +db_go + +db_input medium aolserver4/address || true +db_go + +db_input medium aolserver4/port || true +db_go + +db_stop --- aolserver4-4.5.1.orig/debian/debian.substvars +++ aolserver4-4.5.1/debian/debian.substvars @@ -0,0 +1 @@ +aolserver:Depends=aolserver4-daemon, aolserver4-core-4.5.1-1 --- aolserver4-4.5.1.orig/debian/aolserver4-doc.doc-base.tcldev +++ aolserver4-4.5.1/debian/aolserver4-doc.doc-base.tcldev @@ -0,0 +1,10 @@ +Document: aolserver4-tcldev +Title: AOLserver Tcl API Manual +Author: Jim Davidson et al, America On-Line. +Abstract: This package contains the reference documentation + for the AOLserver Tcl API. +Section: Programming/Tcl + +Format: HTML +Index: /usr/share/doc/aolserver4-doc/html/devel/tcl/index.html +Files: /usr/share/doc/aolserver4-doc/html/devel/tcl/*.html --- aolserver4-4.5.1.orig/debian/aolserver4-core.install +++ aolserver4-4.5.1/debian/aolserver4-core.install @@ -0,0 +1 @@ +lib/*.so* usr/lib/aolserver4/lib --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.prerm +++ aolserver4-4.5.1/debian/aolserver4-daemon.prerm @@ -0,0 +1,47 @@ +#! /bin/sh +# prerm script for aolserver +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/doc/packaging-manual/ + +PACKAGE=aolserver4 +INIT=/etc/init.d/$PACKAGE + +case "$1" in + remove|deconfigure|upgrade) + + if [ -x "/usr/sbin/invoke-rc.d" ]; then + invoke-rc.d $PACKAGE stop + else + if [ -x $INIT ]; then + $INIT stop + fi + fi + + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 + + --- aolserver4-4.5.1.orig/debian/README.source +++ aolserver4-4.5.1/debian/README.source @@ -0,0 +1,8 @@ +This package uses dpatch to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To get detailed instructions on how to apply the series of patches +and modify them, please read /usr/share/doc/dpatch/README.source + + -- Francesco Paolo Lovergine Sat, 05 Sep 2009 11:33:56 +0200 --- aolserver4-4.5.1.orig/debian/aolserver4-doc.doc-base.cdev +++ aolserver4-4.5.1/debian/aolserver4-doc.doc-base.cdev @@ -0,0 +1,10 @@ +Document: aolserver4-cdev +Title: AOLserver C API Manual +Author: Jim Davidson et al, America On-Line. +Abstract: This package contains the reference documentation + for the AOLserver C API. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/aolserver4-doc/html/devel/c/index.html +Files: /usr/share/doc/aolserver4-doc/html/devel/c/*.html --- aolserver4-4.5.1.orig/debian/aolserver4-dev.links +++ aolserver4-4.5.1/debian/aolserver4-dev.links @@ -0,0 +1,3 @@ +usr/share/aolserver4/Makefile.module usr/lib/aolserver4/Makefile.module +usr/share/aolserver4/include usr/include/aolserver4 +usr/share/aolserver4/include usr/lib/aolserver4/include --- aolserver4-4.5.1.orig/debian/aolserver4-doc.README.debian +++ aolserver4-4.5.1/debian/aolserver4-doc.README.debian @@ -0,0 +1,13 @@ +aolserver-doc for DEBIAN +------------------------ + +This is the documentation for the famous AOL web server. It is entirely +HTML-based, so you will need a web browser (such as Lynx) to read it. + +Note: The documentation is currently being rewritten in docbook format. +Unfortunately, they have removed the old documents from the tarfile. +You will have to visit http://aolserver.com/documentation. + +see http://aolserver.com for the official home page + +Brent A. Fulgham , Thu, 9 Nov 2000 21:07:09 -0700 --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.README.debian +++ aolserver4-4.5.1/debian/aolserver4-daemon.README.debian @@ -0,0 +1,36 @@ +AOLserver for Debian +-------------------- + +This is the once well-known AOL web server. It is somewhat similar in functionality +to Zope (except based on Tcl). You might be interested in this package if you +are interested in creating your own collaborative or e-commerce website. +This is the same engine that America On-Line used to run for years until very recent +times, and should be more than adequate for most uses. +AOLserver is a joint effort of America On-Line and MIT. I highly recommend +that you install the companion "acs-pg" package to get the most out of it. + +The basic post-install configuration script creates an /etc/aolserver4/aolserver4.tcl +configuration Tcl snippeti, whose settings can be partially changed by modifying +an usual /etc/default/aolserver4 file. Additional instances of the server +can be run by adding /etc/aolserver4/conf.d/.sh files and a corresponding +/etc/aolserver4/conf.d/.tcl Tcl script. Variables that can be set +in sh are: + +AOL_ADDRESS = IP address (default: main instance address) +AOL_PORT = port number (default: main port + 1) +AOL_USER = user-id (default: www-data) +AOL_GROUP = group-id (default: www-data) +RUN_DAEMON = yes | no (default: yes) + +Note that the special address 0.0.0.0 can be used to bind the server to all +active ip addresses on all network interfaces. + +All instances are loaded by the main init script when RUN_DAEMON is set to 'yes' +or can be disabled by setting to 'no' the same shell variable. AOLserver +pplications that use this approach are dotlrn or openacs. + +See http://aolserver.com/ for the official home page and +http://panoptic.com/wiki/aolserver/AOLserver_Wiki for a useful Wiki. + + -- Francesco Paolo Lovergine Wed, 14 Oct 2009 00:42:18 +0200 + --- aolserver4-4.5.1.orig/debian/aolserver4-doc.docs +++ aolserver4-4.5.1/debian/aolserver4-doc.docs @@ -0,0 +1,2 @@ +docs/README.txt +RELEASE --- aolserver4-4.5.1.orig/debian/copyright +++ aolserver4-4.5.1/debian/copyright @@ -0,0 +1,522 @@ +This package was debianized by Brent A. Fulgham bfulgham@debian.org on Thu, 21 Dec 1999 21:20:19 -0800. +Re-packaged and currently maintained by Francesco P. Lovergine + +It was downloaded from http://aolserver.sf.net + +Upstream Authors: AOLServer Team + +Copyright: + + + +MOZILLA PUBLIC LICENSE +Version 1.1 + +1. Definitions. + +1.0.1. "Commercial Use" means distribution or otherwise making the +Covered Code available to a third party. + +1.1. "Contributor" means each entity that creates or contributes to +the creation of Modifications. + +1.2. "Contributor Version" means the combination of the Original +Code, prior Modifications used by a Contributor, and the Modifications +made by that particular Contributor. + +1.3. "Covered Code" means the Original Code or Modifications or the +combination of the Original Code and Modifications, in each case +including portions thereof. + +1.4. "Electronic Distribution Mechanism" means a mechanism generally +accepted in the software development community for the electronic +transfer of data. + +1.5. "Executable" means Covered Code in any form other than Source Code. + +1.6. "Initial Developer" means the individual or entity identified +as the Initial Developer in the Source Code notice required by Exhibit +A. + +1.7. "Larger Work" means a work which combines Covered Code or +portions thereof with code not governed by the terms of this License. + +1.8. "License" means this document. + +1.8.1. "Licensable" means having the right to grant, to the maximum +extent possible, whether at the time of the initial grant or +subsequently acquired, any and all of the rights conveyed herein. + +1.9. "Modifications" means any addition to or deletion from the +substance or structure of either the Original Code or any previous +Modifications. When Covered Code is released as a series of files, a +Modification is: + +A. Any addition to or deletion from the contents of a file containing +Original Code or previous Modifications. + +B. Any new file that contains any part of the Original Code or +previous Modifications. + +1.10. "Original Code" means Source Code of computer software code +which is described in the Source Code notice required by Exhibit A as +Original Code, and which, at the time of its release under this +License is not already Covered Code governed by this License. + +1.10.1. "Patent Claims" means any patent claim(s), now owned or +hereafter acquired, including without limitation, method, process, and +apparatus claims, in any patent Licensable by grantor. + +1.11. "Source Code" means the preferred form of the Covered Code for +making modifications to it, including all modules it contains, plus +any associated interface definition files, scripts used to control +compilation and installation of an Executable, or source code +differential comparisons against either the Original Code or another +well known, available Covered Code of the Contributor's choice. The +Source Code can be in a compressed or archival form, provided the +appropriate decompression or de-archiving software is widely available +for no charge. + +1.12. "You" (or "Your") means an individual or a legal entity +exercising rights under, and complying with all of the terms of, this +License or a future version of this License issued under Section +6.1. For legal entities, "You" includes any entity which controls, is +controlled by, or is under common control with You. For purposes of +this definition, "control" means (a) the power, direct or indirect, +to cause the direction or management of such entity, whether by +contract or otherwise, or (b) ownership of more than fifty percent +(50%) of the outstanding shares or beneficial ownership of such +entity. + +2. Source Code License. + +2.1. The Initial Developer Grant. +The Initial Developer hereby grants You a world-wide, royalty-free, +non-exclusive license, subject to third party intellectual property +claims: + +(a) under intellectual property rights (other than patent or +trademark) Licensable by Initial Developer to use, reproduce, modify, +display, perform, sublicense and distribute the Original Code (or +portions thereof) with or without Modifications, and/or as part of a +Larger Work; and + +(b) under Patents Claims infringed by the making, using or selling of +Original Code, to make, have made, use, practice, sell, and offer for +sale, and/or otherwise dispose of the Original Code (or portions +thereof). + +(c) the licenses granted in this Section 2.1(a) and (b) are effective +on the date Initial Developer first distributes Original Code under +the terms of this License. + +(d) Notwithstanding Section 2.1(b) above, no patent license is +granted: 1) for code that You delete from the Original Code; 2) +separate from the Original Code; or 3) for infringements caused by: i) +the modification of the Original Code or ii) the combination of the +Original Code with other software or devices. + +2.2. Contributor Grant. +Subject to third party intellectual property claims, each Contributor +hereby grants You a world- wide, royalty-free, non-exclusive license + +(a) under intellectual property rights (other than patent or +trademark) Licensable by Contributor, to use, reproduce, modify, +display, perform, sublicense and distribute the Modifications created +by such Contributor (or portions thereof) either on an unmodified +basis, with other Modifications, as Covered Code and/or as part of a +Larger Work; and + +(b) under Patent Claims infringed by the making, using, or selling of +Modifications made by that Contributor either alone and/or in +combination with its Contributor Version (or portions of such +combination), to make, use, sell, offer for sale, have made, and/or +otherwise dispose of: 1) Modifications made by that Contributor (or +portions thereof); and 2) the combination of Modifications made by +that Contributor with its Contributor Version (or portions of such +combination). + +(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective +on the date Contributor first makes Commercial Use of the Covered +Code. + +(d) Notwithstanding Section 2.2(b) above, no patent license is +granted: 1) for any code that Contributor has deleted from the +Contributor Version; 2) separate from the Contributor Version; 3) for +infringements caused by: i) third party modifications of Contributor +Version or ii) the combination of Modifications made by that +Contributor with other software (except as part of the Contributor +Version) or other devices; or 4) under Patent Claims infringed by +Covered Code in the absence of Modifications made by that Contributor. + +3. Distribution Obligations. + +3.1. Application of License. +The Modifications which You create or to which You contribute are +governed by the terms of this License, including without limitation +Section 2.2. The Source Code version of Covered Code may be +distributed only under the terms of this License or a future version +of this License released under Section 6.1, and You must include a +copy of this License with every copy of the Source Code You +distribute. You may not offer or impose any terms on any Source Code +version that alters or restricts the applicable version of this +License or the recipients' rights hereunder. However, You may include +an additional document offering the additional rights described in +Section 3.5. + +3.2. Availability of Source Code. +Any Modification which You create or to which You contribute must be +made available in Source Code form under the terms of this License +either on the same media as an Executable version or via an accepted +Electronic Distribution Mechanism to anyone to whom you made an +Executable version available; and if made available via Electronic +Distribution Mechanism, must remain available for at least twelve (12) +months after the date it initially became available, or at least six +(6) months after a subsequent version of that particular Modification +has been made available to such recipients. You are responsible for +ensuring that the Source Code version remains available even if the +Electronic Distribution Mechanism is maintained by a third party. + +3.3. Description of Modifications. +You must cause all Covered Code to which You contribute to contain a +file documenting the changes You made to create that Covered Code and +the date of any change. You must include a prominent statement that +the Modification is derived, directly or indirectly, from Original +Code provided by the Initial Developer and including the name of the +Initial Developer in (a) the Source Code, and (b) in any notice in an +Executable version or related documentation in which You describe the +origin or ownership of the Covered Code. + +3.4. Intellectual Property Matters + +(a) Third Party Claims. +If Contributor has knowledge that a license under a third party's +intellectual property rights is required to exercise the rights +granted by such Contributor under Sections 2.1 or 2.2, Contributor +must include a text file with the Source Code distribution titled +"LEGAL" which describes the claim and the party making the claim in +sufficient detail that a recipient will know whom to contact. If +Contributor obtains such knowledge after the Modification is made +available as described in Section 3.2, Contributor shall promptly +modify the LEGAL file in all copies Contributor makes available +thereafter and shall take other steps (such as notifying appropriate +mailing lists or newsgroups) reasonably calculated to inform those who +received the Covered Code that new knowledge has been obtained. + +(b) Contributor APIs. +If Contributor's Modifications include an application programming +interface and Contributor has knowledge of patent licenses which are +reasonably necessary to implement that API, Contributor must also +include this information in the LEGAL file. + +(c) Representations. +Contributor represents that, except as disclosed pursuant to Section +3.4(a) above, Contributor believes that Contributor's Modifications +are Contributor's original creation(s) and/or Contributor has +sufficient rights to grant the rights conveyed by this License. + +3.5. Required Notices. +You must duplicate the notice in Exhibit A in each file of the Source +Code. If it is not possible to put such notice in a particular Source +Code file due to its structure, then You must include such notice in a +location (such as a relevant directory) where a user would be likely +to look for such a notice. If You created one or more Modification(s) +You may add your name as a Contributor to the notice described in +Exhibit A. You must also duplicate this License in any documentation +for the Source Code where You describe recipients' rights or ownership +rights relating to Covered Code. You may choose to offer, and to +charge a fee for, warranty, support, indemnity or liability +obligations to one or more recipients of Covered Code. However, You +may do so only on Your own behalf, and not on behalf of the Initial +Developer or any Contributor. You must make it absolutely clear than +any such warranty, support, indemnity or liability obligation is +offered by You alone, and You hereby agree to indemnify the Initial +Developer and every Contributor for any liability incurred by the +Initial Developer or such Contributor as a result of warranty, +support, indemnity or liability terms You offer. + +3.6. Distribution of Executable Versions. +You may distribute Covered Code in Executable form only if the +requirements of Section 3.1-3.5 have been met for that Covered Code, +and if You include a notice stating that the Source Code version of +the Covered Code is available under the terms of this License, +including a description of how and where You have fulfilled the +obligations of Section 3.2. The notice must be conspicuously included +in any notice in an Executable version, related documentation or +collateral in which You describe recipients' rights relating to the +Covered Code. You may distribute the Executable version of Covered +Code or ownership rights under a license of Your choice, which may +contain terms different from this License, provided that You are in +compliance with the terms of this License and that the license for the +Executable version does not attempt to limit or alter the recipient's +rights in the Source Code version from the rights set forth in this +License. If You distribute the Executable version under a different +license You must make it absolutely clear that any terms which differ +from this License are offered by You alone, not by the Initial +Developer or any Contributor. You hereby agree to indemnify the +Initial Developer and every Contributor for any liability incurred by +the Initial Developer or such Contributor as a result of any such +terms You offer. + +3.7. Larger Works. +You may create a Larger Work by combining Covered Code with other code +not governed by the terms of this License and distribute the Larger +Work as a single product. In such a case, You must make sure the +requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Code due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description +must be included in the LEGAL file described in Section 3.4 and must +be included with all distributions of the Source Code. Except to the +extent prohibited by statute or regulation, such description must be +sufficiently detailed for a recipient of ordinary skill to be able to +understand it. + +5. Application of this License. + +This License applies to code to which the Initial Developer has +attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + +6.1. New Versions. +Netscape Communications Corporation ("Netscape") may publish revised +and/or new versions of the License from time to time. Each version +will be given a distinguishing version number. + +6.2. Effect of New Versions. +Once Covered Code has been published under a particular version of the +License, You may always continue to use it under the terms of that +version. You may also choose to use such Covered Code under the terms +of any subsequent version of the License published by Netscape. No +one other than Netscape has the right to modify the terms applicable +to Covered Code created under this License. + +6.3. Derivative Works. +If You create or use a modified version of this License (which you may +only do in order to apply it to code which is not already Covered Code +governed by this License), You must (a) rename Your license so that +the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", +"MPL", "NPL" or any confusingly similar phrase do not appear in your +license (except to note that your license differs from this License) +and (b) otherwise make it clear that Your version of the license +contains terms which differ from the Mozilla Public License and +Netscape Public License. (Filling in the name of the Initial +Developer, Original Code or Contributor in the notice described in +Exhibit A shall not of themselves be deemed to be modifications of +this License.) + +7. DISCLAIMER OF WARRANTY. + +COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS +FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- +INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE +IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER +CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR +CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL +PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED +HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + +8.1. This License and the rights granted hereunder will terminate +automatically if You fail to comply with terms herein and fail to cure +such breach within 30 days of becoming aware of the breach. All +sublicenses to the Covered Code which are properly granted shall +survive any termination of this License. Provisions which, by their +nature, must remain in effect beyond the termination of this License +shall survive. + +8.2. If You initiate litigation by asserting a patent infringement +claim (excluding declaratory judgment actions) against Initial +Developer or a Contributor (the Initial Developer or Contributor +against whom You file such action is referred to as "Participant") +alleging that: + +(a) such Participant's Contributor Version directly or indirectly +infringes any patent, then any and all rights granted by such +Participant to You under Sections 2.1 and/or 2.2 of this License +shall, upon 60 days notice from Participant terminate prospectively, +unless if within 60 days after receipt of notice You either: (i) agree +in writing to pay Participant a mutually agreeable reasonable royalty +for Your past and future use of Modifications made by such +Participant, or (ii) withdraw Your litigation claim with respect to +the Contributor Version against such Participant. If within 60 days +of notice, a reasonable royalty and payment arrangement are not +mutually agreed upon in writing by the parties or the litigation claim +is not withdrawn, the rights granted by Participant to You under +Sections 2.1 and/or 2.2 automatically terminate at the expiration of +the 60 day notice period specified above. + +(b) any software, hardware, or device, other than such Participant's +Contributor Version, directly or indirectly infringes any patent, then +any rights granted to You by such Participant under Sections 2.1(b) +and 2.2(b) are revoked effective as of the date You first made, used, +sold, distributed, or had made, Modifications made by that +Participant. + +8.3. If You assert a patent infringement claim against Participant +alleging that such Participant's Contributor Version directly or +indirectly infringes any patent where such claim is resolved (such as +by license or settlement) prior to the initiation of patent +infringement litigation, then the reasonable value of the licenses +granted by such Participant under Sections 2.1 or 2.2 shall be taken +into account in determining the amount or value of any payment or +license. + +8.4. In the event of termination under Sections 8.1 or 8.2 above, all +end user license agreements (excluding distributors and resellers) +which have been validly granted by You or any distributor hereunder +prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + +UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT +(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE +INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF +COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO +ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES +FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR +MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, +EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF +SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO +LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S +NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. +SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND +LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + +The Covered Code is a "commercial item," as that term is defined in +48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer +software" and "commercial computer software documentation," as such +terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 +C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), +all U.S. Government End Users acquire Covered Code with only those +rights set forth herein. + +11. MISCELLANEOUS. + +This License represents the complete agreement concerning subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. This License shall be governed by +California law provisions (except to the extent applicable law, if +any, provides otherwise), excluding its conflict-of-law +provisions. With respect to disputes in which at least one party is a +citizen of, or an entity chartered or registered to do business in the +United States of America, any litigation relating to this License +shall be subject to the jurisdiction of the Federal Courts of the +Northern District of California, with venue lying in Santa Clara +County, California, with the losing party responsible for costs, +including without limitation, court costs and reasonable attorneys' +fees and expenses. The application of the United Nations Convention on +Contracts for the International Sale of Goods is expressly +excluded. Any law or regulation which provides that the language of a +contract shall be construed against the drafter shall not apply to +this License. + +12. RESPONSIBILITY FOR CLAIMS. + +As between Initial Developer and the Contributors, each party is +responsible for claims and damages arising, directly or indirectly, +out of its utilization of rights under this License and You agree to +work with Initial Developer and Contributors to distribute such +responsibility on an equitable basis. Nothing herein is intended or +shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + +Initial Developer may designate portions of the Covered Code as +"Multiple-Licensed". "Multiple-Licensed" means that the Initial +Developer permits you to utilize portions of the Covered Code under +Your choice of the APL or the alternative licenses, if any, specified +by the Initial Developer in the file described in Exhibit A. + + + +AMENDMENTS + +The AOLserver Public License Version 1.1 ("APL") consists of the +Mozilla Public License Version 1.1 with the following Amendments, +including "Exhibit A - AOLserver Public License". Files identified +with "Exhibit A - AOLserver Public License" are governed by the +AOLserver Public License Version 1.1. + +Additional Terms applicable to the AOLserver Public License. + +I. Effect. +These additional terms described in this AOLserver Public License -- +Amendments shall apply to the AOLserver Code and to all Covered Code +under this License. + +II. "AOL's Branded Code" means Covered Code that AOL distributes +and/or permits others to distribute under one or more trademark(s) +which are controlled by AOL but which are not licensed for use under +this License. + +III. AOL Trademarks. This License does not grant any rights to use +the trademarks "AOL", "America Online", "AOLserver" or the "AOL +Triangle" logo even if such marks are included in the Original Code +or Modifications. + +IV. Inability to Comply Due to Contractual Obligation. Prior to +licensing the Original Code under this License, AOL has licensed third +party code for use in AOL's Branded Code. To the extent that AOL is +limited contractually from making such third party code available +under this License, AOL may choose to reintegrate such code into +Covered Code without being required to distribute such code in Source +Code form, even if such code would otherwise be considered +"Modifications" under this License. + +V. [Intentionally Omitted] + +VI. Litigation. +Notwithstanding the limitations of Section 11 above, the provisions +regarding litigation in Section 11(a), (b) and (c) of the License +shall apply to all disputes relating to this License. + + +EXHIBIT A - AOLserver Public License. + +"The contents of this file are subject to the AOLserver Public +License Version 1.1 (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License +at http://aolserver.com/. + +Software distributed under the License is distributed on an "AS IS" +basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +the License for the specific language governing rights and limitations +under the License. + +The Original Code is AOLserver Code and related documentation +distributed by AOL. + +The Initial Developer of the Original Code is America Online, +Inc. Portions created by AOL are Copyright (C) 1999 America Online, +Inc. All Rights Reserved. + +Contributor(s): ______________________________________. + +Alternatively, the contents of this file may be used under the terms +of the GNU General Public License (the "GPL"), in which case the +provisions of GPL are applicable instead of those above. If you wish +to allow use of your version of this file only under the terms of the +GPL and not to allow others to use your version of this file under the +License, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your +version of this file under either the License or the GPL. + + +[ A copy of GPL can be find in /usr/share/common-licenses/GPL ] --- aolserver4-4.5.1.orig/debian/NEWS +++ aolserver4-4.5.1/debian/NEWS @@ -0,0 +1,68 @@ +aolserver4 (4.5.1-7) unstable; urgency=low + + AOLserver can now be run in multi-instances mode. This is useful + for use with multiple configurations, ports and addresses, such + as in dotLrn and OpenACS. To do that a AOLserver webapp needs to + add a .sh file in /etc/aolserver4/conf.d and a corresponding + .tcl configuration file in the same directory. See README.Debian + for more information. + + -- Francesco Paolo Lovergine Wed, 14 Oct 2009 00:39:22 +0200 + +aolserver4 (4.5.1-4) unstable; urgency=low + + AOLserver in Debian now declares a useful ABI interface on which all + modules have to depend at building time. AOLserver 4.5.1 built with Tcl 8.4 + now provides a aolserver4-core-4.5.1-0 interface. When ever Tcl version + changes AND/OR AOLserver version changes, all dependent modules have to be + recompiled in order to be used with the new AOLserver package. + To facilitate this building process a /usr/share/aolserver4/debian.mak + Makefile script is provided in order to create a per-ABI debian/control + file by means of a template file debian/control.in. + + -- Francesco Paolo Lovergine Wed, 17 Jun 2009 14:40:39 +0200 + +aolserver4 (4.5.1-1) unstable; urgency=low + + The whole ld.so configuration has been removed to adopt a more sane rpath. + That is transparent in respect with third-parties modules, and due to the + style of development of AOLserver is not subject to problems. + + -- Francesco Paolo Lovergine Sat, 28 Feb 2009 12:35:12 +0100 + +aolserver4 (4.5.0-12) unstable; urgency=low + + The aolserver4 package is now split in a aolserver4-core package which + contains all shared libraries useful to both run the daemon and build add-on modules + and an aolserver4 package which contains the daemon and the startup files. + + -- Francesco Paolo Lovergine Mon, 24 Sep 2007 12:35:12 +0200 + +aolserver4 (4.5.0-3) unstable; urgency=low + + The Makefile.module included in aolserver4-dev is now placed in /usr/share/aolserver4, + because it is an arch independent file. To avoid breakage at source level, a new + sym link has been introduced from the old location in /usr/lib/aolserver4. + + All libraries are now maintained under /usr/lib/aolserver4/lib, so every additional + module must run ldconfig postinst/rm after installing/removing their libns*so and ns*so + modules. Maybe one day or another AOLServer folks will adopt sonames and libraries + could be again moved under /usr/lib, or a sane and working full dlopen() support, + which would allow to avoid running ldconfig at every installation. + + -- Francesco Paolo Lovergine Sun, 22 Apr 2007 12:26:37 +0200 + +aolserver4 (4.5.1-7) unstable; urgency=low + + AOLserver in Debian now declares a useful ABI interface on which all + modules have to depend at building time. AOLserver 4.5.1 built with Tcl 8.4 + now provides a aolserver4-core-4.5.1-0 interface. When ever Tcl version + changes AND/OR AOLserver version changes, all dependent modules have to be + recompiled in order to be used with the new AOLserver package. + To facilitate this building process a /usr/share/aolserver4/debian.mak + Makefile script is provided in order to create a per-ABI debian/control + file by means of a template file debian/control.in. + + + + -- Francesco Paolo Lovergine Wed, 14 Oct 2009 00:39:22 +0200 --- aolserver4-4.5.1.orig/debian/aolserver4-dev.dirs +++ aolserver4-4.5.1/debian/aolserver4-dev.dirs @@ -0,0 +1,6 @@ +usr/lib +usr/lib/aolserver4 +usr/lib/aolserver4/lib +usr/include +usr/share/aolserver4 +usr/share/man/man3 --- aolserver4-4.5.1.orig/debian/aolserver4-doc.doc-base.tech +++ aolserver4-4.5.1/debian/aolserver4-doc.doc-base.tech @@ -0,0 +1,10 @@ +Document: aolserver4-tech +Title: AOLserver Technical Documentation +Author: Jim Davidson et al, America On-Line. +Abstract: This package contains the reference documentation + for the urlspace Data Structure and Engineering Standards. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/aolserver4-doc/html/devel/tech/index.html +Files: /usr/share/doc/aolserver4-doc/html/devel/tech/*.html --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.NEWS.debian +++ aolserver4-4.5.1/debian/aolserver4-daemon.NEWS.debian @@ -0,0 +1,24 @@ +aolserver4 (aolserver4-4.0+cvs20040121) unstable; urgency=low + + AOLServer packaging has been deeply revised. This is the reason to maintain a + different source package. There are also a few incompatibilities among + versions 3.x a and 4.x of the AOLserver program. + + Now, a summary of changes in packaging from AOLServer 3 series: + + There is no more an aolsrvconfig configuration script. + Instead a rich default configuration file is provided, and the administrator has + the responsability to change and adapt to his needs. + + Now there is tipically just one configuration file in /etc/aolserver4 but + the initscript can be modified in order to run more instances of AOLserver + with the same or more configuration files. + + All system directories and files now adopts the '4' suffix to distinguish + them from the previous version. + + Logrotate is now used to manage the default single log file for the 'main' + server. + + -- Francesco Paolo Lovergine Wed, 26 Jan 2004 15:31:51 +0100 + --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.postrm +++ aolserver4-4.5.1/debian/aolserver4-daemon.postrm @@ -0,0 +1,39 @@ +#! /bin/sh +# postrm script for aolserver +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/doc/packaging-manual/ + +PACKAGE=aolserver4 + +if [ "$1" = "purge" ] +then + rm -rf /var/log/$PACKAGE + rm -rf /var/run/$PACKAGE + rm -rf /etc/$PACKAGE + rm -f /etc/logrotate.d/$PACKAGE + rm -f /etc/init.d/$PACKAGE + update-rc.d -f $PACKAGE remove >/dev/null + if [ -x /usr/bin/ucf ]; then + ucf --purge /etc/$PACKAGE/$PACKAGE.tcl + ucf --purge /etc/init.d/$PACKAGE + ucf --purge /etc/default/$PACKAGE + else + rm -f /etc/$PACKAGE/$PACKAGE.tcl /etc/init.d/$PACKAGE + fi +fi + +#DEBHELPER# + --- aolserver4-4.5.1.orig/debian/rules +++ aolserver4-4.5.1/debian/rules @@ -0,0 +1,158 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include /usr/share/dpatch/dpatch.make + +PACKAGE=aolserver4 +VERSION=$(shell grep NS_PATCH_LEVEL $(CURDIR)/include/ns.h | cut -d\" -f2) +ABI=1 +ASPREFIX=/usr/lib/$(PACKAGE) +DOCDIR=$(PACKAGE)-doc +DEVDIR=$(PACKAGE)-dev +COREDIR=$(PACKAGE)-core +ASSRC=$(CURDIR) +ASDOC=$(CURDIR)/docs +ASTARGET=$(CURDIR)/debian/$(PACKAGE)-daemon +ASDOCTARGET=$(CURDIR)/debian/$(DOCDIR) +ASDEVTARGET=$(CURDIR)/debian/$(DEVDIR) +ASCORETARGET=$(CURDIR)/debian/$(COREDIR) + +TARGETDIR=$(CURDIR)/debian/tmp + +MAINTFILES=debian/control debian/debian.substvars + +maint: $(MAINTFILES) + +debian/control: $(CURDIR)/debian/control.in + sed -e "s/@VERSION@/$(VERSION)/g" -e "s/@ABI@/$(ABI)/g" $< >$@ + +debian/debian.substvars: $(CURDIR)/debian/debian.substvars.in + sed -e "s/@VERSION@/$(VERSION)/g" -e "s/@ABI@/$(ABI)/g" $< >$@ + +configure: maint patch configure-stamp +configure-stamp: + dh_testdir + + # TCLSH is currently undefined in tclConfig.sh, but required. + # Note that Aolserver requires 8.4+ with threads enabled to work. + ( cd $(ASSRC); TCLSH=/usr/bin/tclsh ./configure --prefix=$(ASPREFIX) --with-tcl=/usr/lib --mandir=/usr/share/man ) + + touch $@ + +build: configure build-stamp +build-stamp: + dh_testdir + + # + # syntax checking + # + bash -n $(CURDIR)/debian/aolserver4-daemon.postinst + bash -n $(CURDIR)/debian/aolserver4-daemon.postrm + bash -n $(CURDIR)/debian/aolserver4-daemon.preinst + bash -n $(CURDIR)/debian/aolserver4-daemon.prerm + + ( cd $(ASSRC); $(MAKE) ) + + touch $@ + +clean: myclean unpatch +myclean: + dh_testdir + dh_testroot + + debconf-updatepo || true + [ ! -f $(ASSRC)/include/ns.mak ] || $(MAKE) -C $(ASSRC) distclean + rm -f $(ASSRC)/ns_*.3 + rm -rf $(TARGETDIR) + rm -f config.log + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + + # Install all stuff in a temp dir... + ( cd $(ASSRC); $(MAKE) AOLSERVER=$(TARGETDIR) install ) + + # Minor changes + mv $(TARGETDIR)/bin/nsd $(TARGETDIR)/bin/$(PACKAGE)-nsd + chmod a-x $(TARGETDIR)/lib/*.so* $(TARGETDIR)/bin/*.so* + mv $(TARGETDIR)/servers/server1 $(TARGETDIR)/servers/main + -rmdir $(TARGETDIR)/servers/main/pages + # + # This installs all man pages. + # There are wrong sections here, which need to be fixed one day. + # Moreover, man pages are essentially empty and use many symlinks. + # Currently a patch to upstream nsinstall-man.sh needs to be + # applied in order the following code works. + # + ( cd doc; $(MAKE) AOLSERVER=$(TARGETDIR) UTILS=$(CURDIR)/util install ) + mkdir -p $(TARGETDIR)/man/man8 $(TARGETDIR)/doc/examples + zcat $(TARGETDIR)/man/man1/nsd.1aolserver.gz|sed 's/\(\.TH\) \(\w\+\) 1 \(.*\)/\1 \2 8 \3/'|gzip -9 \ + >$(TARGETDIR)/man/man8/$(PACKAGE)-nsd.8.gz + # + # Example applications + # + cp $(CURDIR)/docs/admin/sample-config.tcl.txt $(TARGETDIR)/doc/examples/. + cp $(CURDIR)/docs/admin/sample-db-config.tcl.txt $(TARGETDIR)/doc/examples/. + cp -r $(ASSRC)/tests/* $(TARGETDIR)/doc/examples/. + cp $(CURDIR)/debian/app3.tcl $(TARGETDIR)/modules/tcl/. + -find $(TARGETDIR)/doc/examples -name CVS -exec rm -rf {} \; + -chmod a-x $(TARGETDIR)/doc/examples/tests.html + # + # Install default home page + # + cp $(CURDIR)/debian/index.adp $(TARGETDIR)/doc/examples/. + cp $(CURDIR)/debian/debian.substvars $(TARGETDIR)/. + + touch $@ + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot -i + + ( cd $(ASDOC); cp -r . $(ASDOCTARGET)/usr/share/doc/$(DOCDIR)/html/. ) + cp -r $(TARGETDIR)/html/* $(ASDOCTARGET)/usr/share/doc/$(DOCDIR)/reference/. + -rm -f $(ASDOCTARGET)/usr/share/doc/$(DOCDIR)/html/ChangeLog + -rm -f $(ASDOCTARGET)/usr/share/doc/$(DOCDIR)/html/README.txt + -find $(ASDOCTARGET)/usr/share/doc/$(DOCDIR)/html -name CVS -exec rm -rf {} \; + + dh_installdocs -i + dh_installchangelogs -i ChangeLog + dh_installexamples -i $(CURDIR)/debian/examples/aolconf-1.01 $(CURDIR)/examples/* + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot -a + dh_installdocs -a + dh_installexamples -a $(TARGETDIR)/doc/examples/* + dh_install -a + dh_installdebconf -a + dh_installchangelogs -a ChangeLog + dh_installlogrotate -a + dh_link -a + dh_lintian -a + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_makeshlibs -a + dh_shlibdeps -a -l$(ASCORETARGET)$(ASPREFIX)/lib + dh_installdeb -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch myclean debian/debian.substvars maint debian/control --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.dirs +++ aolserver4-4.5.1/debian/aolserver4-daemon.dirs @@ -0,0 +1,11 @@ +etc/aolserver4 +etc/aolserver4/conf.d +usr/sbin +usr/bin +usr/lib/aolserver4 +usr/lib/aolserver4/bin +usr/lib/aolserver4/lib +usr/share/doc/aolserver4 +usr/share/doc/aolserver4/examples +usr/share/man/man8 +var/log/aolserver4 --- aolserver4-4.5.1.orig/debian/aolserver4-core.dirs +++ aolserver4-4.5.1/debian/aolserver4-core.dirs @@ -0,0 +1,2 @@ +usr/lib/aolserver4 +usr/lib/aolserver4/lib --- aolserver4-4.5.1.orig/debian/aolserver4-dev.README.debian +++ aolserver4-4.5.1/debian/aolserver4-dev.README.debian @@ -0,0 +1,31 @@ +AOLserver for DEBIAN -- the obscure side +---------------------------------------- + +This document explains some aspects of AOLserver that should be considered for +developer and packager of third-parties modules. The AOLserver set of modules +is not thought to be used in a multi-versioned Tcl/AOLserver environment. +To cope with that and avoid misterious problems (aka sudden seg faults at run +time) you have to ensure that all modules are built within the same environment, +i.e. the same Tcl version and the same AOLserver version. This is quite +difficult to get using independent binary packages such as those enclosed +in Debian GNU/Linux. + +This is the tricky aspect: each aolserver4 provides an aolserver4-core-- +package and all modules have to depend on that at the time of building. +So currently all aolserver4-ns* module have to depend on aolserver4-core-4.5.1-0 +for instance. Every time a new Tcl major release becomes available (with +possible ABI breakages at C library level) and AOLserver is compiled +against it, tha AOLABI version increases, and that prevents any old +module to be used with the new server. At that time ALL modules needs to +be re-built to ensure internal coherence. + +The -dev package provides a /usr/share/aolserver4/debian.substvars +file which can be used as deb-substvars(5) snippet for adding the right +set of dependencies for modules in a ${aolserver:Depends} variable. This +should be the preferred and more direct manner to support versioned +interfaces. Thanks Sergei Golovan for suggesting this technique. + +Happy hacking + +-- Francesco P. Lovergine Wed Jun 17 15:25:13 CEST 2009 + --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.templates +++ aolserver4-4.5.1/debian/aolserver4-daemon.templates @@ -0,0 +1,38 @@ +# These templates have been reviewed by the debian-l10n-english +# team +# +# If modifications/additions/rewording are needed, please ask +# debian-l10n-english@lists.debian.org for advice. +# +# Even minor modifications require translation updates and such +# changes should be coordinated with translators and reviewers. + +Template: aolserver4/hostname +Type: string +Default: localhost +_Description: Server hostname: + AOLserver needs a hostname to use for redirect page URLs and for + identifying itself. + . + It is generally the fully-qualified DNS hostname of the computer, or + localhost if it is not networked. Any name valid for a URL string can + be used. + +Template: aolserver4/address +Type: string +Default: 127.0.0.1 +_Description: Server IP address: + AOLserver needs an IP address to listen to. + . + The default is the address of the loopback interface. If the server + is to be remotely accessible this should be replaced by the address + of the appropriate network interface. + +Template: aolserver4/port +Type: string +Default: 80 +_Description: Server TCP port: + AOLserver needs a port number assigned for its use. This is almost always + port 80 (the standard HTTP port), but might be different if another + web server is installed, or some other service is listening on + that port. --- aolserver4-4.5.1.orig/debian/aolserver4-daemon.install +++ aolserver4-4.5.1/debian/aolserver4-daemon.install @@ -0,0 +1,9 @@ +bin/*.so* usr/lib/aolserver4/bin +bin/init.tcl usr/lib/aolserver4/bin +bin/ini2tcl.tcl usr/lib/aolserver4/bin +bin/tcl2ini.tcl usr/lib/aolserver4/bin +bin/aolserver4-nsd usr/sbin +bin/nstclsh usr/bin +modules usr/lib/aolserver4 +servers usr/lib/aolserver4 +man/man8 usr/share/man --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/aolserver4-newdomain +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/aolserver4-newdomain @@ -0,0 +1,39 @@ +#!/bin/sh +# aolserver4-newdomain +# LEG24042005 +# +# +# Utililty for the aolconf Aolserver4 setup system. +# Sets up the log directory for the server $1, as well as a dummy +# SSL-crt/key and authentication file + +if [ $# != 1 ]; then + ARG0=${0##*/} + echo " +$ARG0: error: One (1) argument needed! + + Usage: $ARG0 servername + +$ARG0 sets up logfile, certs and perms for a new virtual server + +" >&2 + + exit 1 +fi + +. ./aolconf.conf + +install -d -m 2750 -o $AOLUSR -g $ADMGRP $AOLLOG/$1 + +ln -s $CERTS/main.crt $CERTS/$1.crt +ln -s $CERTS/main.pem $CERTS/$1.pem + +cp -a $PERMS/main.tcl $PERMS/$1.tcl + +echo " +# Minimal Setup for the server $1 +server $1 \"Virtual Server for $1\" { + fqdn $1 + bind virtual +} +" --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/main.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/main.tcl @@ -0,0 +1,485 @@ +# main.tcl +# LEG06042005 +# +# based on aolserver4.tcl shipped with Debians aolserver4.deb +# Copyright (C) 2003 Francesco P. Lovergine GPL +# and Vinod Kurup: http://panoptic.com/wiki/aolserver/98 +# + +#### this file is not user servicable ############################## +ns_log notice "nsd: reading main.tcl" + +# Different directories: +# confdir: configuration file hierarchy +# vardir: variable data, namely tdav locks and properties +# homedir: Aolserver home, used internally +# logdir: logfiles +# piddir: directory for .pid files + +set package aolserver4 +set confname domains.cfg + +set confdir /etc/${package} +set homedir /usr/lib/${package} +set vardir /var/lib +set logdir /var/log/${package} +set piddir /var/run/${package} +# TODO: platform compatibility +set serverroot /var/www + +# We handle certs and permission files centrally +set permdir perms +set certdir certs +set ca_dir certs + +# php wrapper hack, unset to disable +set php_wrapper "/usr/local/sbin/aolserver-php5-cgi-wrapper" + +# Utility procedures for location of configfiles, defaults and logs +# Locate a relative filename in $confdir, else at its original place +proc conffile {args} { + global confdir + return [eval file join ${confdir} $args] +} +# Locate a relative filename in $homedir, else at its original place +# homedir is /usr/lib... therefore: libraryfile +proc libfile {args} { + global homedir + return [eval file join ${homedir} $args] +} +# logfiles +proc logfile {args} { + global logdir + return [eval file join ${logdir} $args] +} + +# Modulelist: +# We exclude by default: nsxml nsimap nscp nsext +# Also: +# the database drivers are loaded within nsdb: nspostgres +# nssock is loaded by the main server or if an individual IP is +# specified in a server. +# nsldap is loaded automagically if a pool is specified in the +# configuration file + +set modulelist { + nslog nssha1 nscache nsdb nsopenssl nscgi nsperm nsldap +} +set modext ".so" + +# Prepare parsing of the configuration file +proc server {name description parameters} { + + global array conf + global array servers + + set servers($name) $description + + # first server is defaultserver, unless overridden + if ![info exists conf(defaultserver)] { + set conf(defaultserver) $name + } + + foreach {token value} $parameters { + switch $token { + defaultserver { + if $value { set conf(defaultserver) $name } + } + + fqdn { append conf($name,domains) " " $value } + bind { + set bind [split $value :] + set conf($name,address) [lindex $bind 0] + set conf($name,httpport) [lindex $bind 1] + } + bindssl { + set bind [split $value :] + set conf($name,httpsaddress) [lindex $bind 0] + set conf($name,httpsport) [lindex $bind 1] + } + http { + set conf($name,address) "0.0.0.0" + set conf($name,httpport) "80" + } + https { + set conf($name,httpsaddress) "0.0.0.0" + set conf($name,httpsport) "443" + } + dav_share { + lappend conf($name,shares) $value + } + dav_uri - + dav_description - + dav_options - + dav_users - + dav_groups { + # store value in conf(server,share,token) + set conf($name,[lindex $conf($name,shares) end],$token) $value + } + + default { set conf($name,$token) $value } + } + } + if ![info exists conf($name,hostname)] { + set conf($name,hostname) [lindex $conf($name,domains) 0] + } +} + +# nsldap parameters +proc ldap {pool parameters} { + + global array ldap + global ldappools + + # remember pool-name + append ldappools $pool " " + + foreach {token value} $parameters { + set ldap(${pool},$token) $value + } +} + + +source [conffile $confname] + +# +# set global defaults +# + +if ![info exists debug] { set debug false } +if ![info exists directoryfile] { + set directoryfile "index.tcl,index.adp,index.html,index.htm" +} + +if ![info exists defaultserver] { + set defaultserver $conf(defaultserver) +} + +# stacksize per thread in Kilobytes +if ![info exists stack] { + set stack 128 +} + + +# Debug/Compile the configuration +if {[info exists confdebug] && $confdebug} { + proc ns_section_new {section} { + puts "\nns_section $section" + ns_section $section + } + proc ns_param_new {param value} { + puts "ns_param $param \"$value\"" + ns_param $param $value + } + proc ns_log_new {severity text} { + puts "\n\# $severity: $text" + ns_log $severity $text + } + set ns_section "ns_section_new" + set ns_param "ns_param_new" + set ns_log "ns_log_new" +} else { + set ns_section "ns_section" + set ns_param "ns_param" + set ns_log "ns_log" +} + + + +$ns_log notice "nsd: Virtual domain configurations" + +$ns_section ns/module/nssock/servers +foreach {server description} [array get servers] { + foreach fqdn $conf($server,domains) { + $ns_param ${server} $fqdn + } +} + +# List of server entries with individual configuration +$ns_section "ns/servers" +foreach {server description} [array get servers] { + $ns_param $server $description +} + +# For each server entry, source the respective configuration file +# +foreach {server description} [array get servers] { + + # Set per server default parameters + + if ![info exists conf(${server},skip)] { + set conf(${server},skip) false + } + if ![info exists conf(${server},root)] { + set conf(${server},root) $serverroot + } + # pageroot can be expressed relative to the serverroot + if [info exists conf(${server},pageroot)] { + set conf(${server},pageroot) [file join $conf(${server},root) $conf($server,pageroot)] + } else { + set conf(${server},pageroot) [file join $conf(${server},root) ${server}] + } + + # interface binding + # TODO: if token http but value not yes, do not set up a http socket. + if ![info exists conf(${server},address)] { + set conf(${server},address) 0.0.0.0 + } + if ![info exists conf(${server},httpport)] { + set conf(${server},httpport) 80 + } + + # tcl library: + if ![info exists conf(${server},tcllibrary)] { + set conf(${server},tcllibrary) [file join $conf(${server},root) "tcl"] + } + if ![info exists conf(${server},directoryfile)] { + set conf(${server},directoryfile) $directoryfile + } + if ![info exists conf(${server},modules)] { + set conf(${server},modules) $modulelist + } + if ![info exists conf(${server},debug)] { + set conf(${server},debug) $debug + } + + # nsldap module + # if a DefaultPool is specified, set defaults + if [info exists conf(${server},ldapDefaultPool)] { + if ![info exists conf(${server},ldapPools)] { + set conf(${server},ldapPools) "*" + } + } + + # tDAV module + if [info exists conf($server,shares)] { + # We have shares, so we have to check the OPTIONS + foreach share $conf($server,shares) { + if ![info exists conf($server,$share,dav_options)] { + set conf($server,$share,dav_options) \ + "OPTIONS COPY GET PUT MOVE DELETE HEAD MKCOL \ + POST PROPFIND PROPPATCH LOCK UNLOCK" + } + } + } + + # priority of configuration file: + # 1- config parameter in domains.cfg + # 2- file with name ${server}.tcl + # 3- default file: server.tcl + + if ![info exists conf(${server},config)] { + if [file exists [conffile ${server}.tcl]] { + set conf(${server},config) [conffile ${server}.tcl] + } else { + set conf(${server},config) [libfile server.tcl] + } + } + # cgi configuration file, priority + # 1- config parameter in domains.cfg + # 2- file with name ${server}.cgi + # 3- dont use. + if [info exists conf(${server},config_cgi)] { + if ![file exists [conffile $conf(${server},config_cgi)]] { + $ns_log fatal "nsd: $conf(${server},config_cgi) does not exist," + $ns_log fatal "nsd: while looking for config_cgi of $server." + exit 1 + } + } elseif [file exists [conffile ${server}.cgi]] { + set conf(${server},config_cgi) [conffile ${server}.cgi] + + } + + # db configuration file, priority + # 1- config parameter in domains.cfg + # 2- file with name ${server}.db + # 3- if database is specified, load default config. + # + # if database is not specified, this is all gratuitous + # + if [info exists conf(${server},config_db)] { + if ![file exists [conffile $conf(${server},config_db)]] { + $ns_log fatal "nsd: $conf(${server},config_db) does not exist," + $ns_log fatal "nsd: while looking for config_db of $server." + exit 1 + } + } elseif [file exists [conffile ${server}.db]] { + set conf(${server},config_db) [conffile ${server}.db] + } elseif [info exists conf(${server},database)] { + set conf(${server},config_db) [libfile database.tcl] + } + + # ssl configuration file, priority + # 1- config parameter in domains.cfg + # 2- file with name ${server}.ssl + # 3- if bindssl is true in domains.cfg + # load default config. + # + if [info exists conf(${server},config_ssl)] { + if ![file exists [conffile $conf(${server},config_ssl)]] { + $ns_log fatal "nsd: $conf(${server},config_ssl) does not exist," + $ns_log fatal "nsd: while looking for config_ssl of $server." + exit 1 + } + } elseif [file exists [conffile ${server}.ssl]] { + set conf(${server},config_ssl) [conffile ${server}.ssl] + } elseif [info exists conf(${server},httpsaddress)] { + set conf(${server},config_ssl) [libfile ssl.tcl] + } + + if $conf(${server},skip) { + $ns_log notice "nsd: skipping ${server} configuration." + } else { + $ns_log notice "nsd: ${server} configuration, reading: $conf(${server},config):" + source $conf(${server},config) + $ns_log notice "nsd: done ${server} configuration." + } +} +# +$ns_log notice "nsd: Main server configuration" + +# +# GLOBAL CONFIGURATION +# + +$ns_section "ns/parameters" +$ns_param home ${homedir} + +$ns_param user www-data +$ns_param group www-data + +# Data structures +$ns_param dstringcachemaxentries 10 ;# Max no. of Dstrings to put on cache +$ns_param dstringcachemaxsize [expr 3*1024] +$ns_param iobufsize 16000 ;# Buffer size suitable for I/O + +# Limits +$ns_param keepalivetimeout 30 ;# Max time conn is kept alive (keepalive) +;# (set to 0 to disable keepalive) +$ns_param listenbacklog 32 ;# Max length of pending conn queue +$ns_param maxkeepalive 100 ;# Max no. of conns in keepalive state +$ns_param schedmaxelapsed 2 ;# Warn when waiting on really long procs +$ns_param shutdowntimeout 20 ;# Secs to wait on shutdown if open conns + +# Server logging +$ns_param dev true ;# Display logging with "Dev" severity +$ns_param debug $debug ;# Display logging with "Debug" severity +$ns_param logexpanded false ;# true = double-spaced server.log +$ns_param logroll false ;# Roll server.log every 24 hours. +$ns_param maxbackup 10 ;# Max number of old server.log files + +$ns_param serverlog [logfile error.log] ;# Logging file name +$ns_param pidfile [file join ${piddir} ${package}.pid] ;# pid of server file name + +# DNS tuning +$ns_param dnscache true ;# In-memory cache of DNS lookups +$ns_param dnscachetimeout 60 ;# How long to keep hostnames in cache + +# Miscellaneous +$ns_param checkexitcode false ;# Check exit code on forked process +$ns_param crashcmd ns_crash ;# A Tcl command that dumps core. +$ns_param mailhost localhost ;# SMTP host for ns_sendmail + +# Character set Encoding +$ns_param outputCharset iso-8859-1 +$ns_param HackContentType true + +# +# Thread library (nsthread) parameters +# +$ns_section "ns/threads" +$ns_param mutexmeter true ;# measure lock contention +$ns_param stacksize [expr $stack*1024] ;# stack size per thread (in bytes) + +# MIME types. +# +$ns_section "ns/mimetypes" +$ns_param default "*/*" ;# MIME type for unknown extension +$ns_param noextension "*/*" ;# MIME type for missing extension +#$ns_param ".xls" "application/vnd.ms-excel" + +# I18N Mime-types; define content-type header values +# to be mapped from these file-types. +# Note that you can map file-types of adp files to control +# the output encoding through mime-type specificaion. +# Remember to add an adp mapping for that extension. +# +$ns_param .adp "text/html; charset=iso-8859-1" +$ns_param .u_adp "text/html; charset=UTF-8" +$ns_param .gb_adp "text/html; charset=GB2312" +$ns_param .sjis_html "text/html; charset=shift_jis" +$ns_param .sjis_adp "text/html; charset=shift_jis" +$ns_param .gb_html "text/html; charset=GB2312" + +# I18N File-type to Encoding mappings +# +$ns_section "ns/encodings" +$ns_param .utf_html "utf-8" +$ns_param .sjis_html "shiftjis" +$ns_param .gb_html "gb2312" +$ns_param .big5_html "big5" +$ns_param .euc-cn_html "euc-cn" + +# +# Note: you will need to include file-type to encoding mappings +# for ANY source files that are to be used, to allow the +# server to handle them properly. E.g., the following +# asserts that the GB-producing .adp files are themselves +# encoded in GB2312 (this is not simply assumed). +# +$ns_param .gb_adp "gb2312" + +# +# nsldap Module +# + +if [info exists ldappools] { + foreach pool $ldappools { + + # set default values + if ![info exists ldap($pool,connections)] { + set ldap($pool,connections) 1 + } + if ![info exists ldap($pool,verbose)] { + set ldap($pool,verbose) $debug + } + + $ns_section "ns/ldap/pool/${pool}" + $ns_param user $ldap($pool,user) + $ns_param password $ldap($pool,password) + $ns_param host $ldap($pool,host) + $ns_param connections $ldap($pool,connections) + $ns_param verbose $ldap($pool,verbose) + } + $ns_section "ns/ldap/pools" + foreach pool $ldappools { + $ns_param ldap $pool + } +} + +# +# Web based stats interface. +# +$ns_section ns/server/stats +if ![info exists stats] { set stats false } +$ns_param enabled $stats +if [info exists stats_url] { $ns_param url $stats_url } +if [info exists stats_user] { $ns_param user $stats_user } +if [info exists stats_password] { $ns_param password $stats_password } + +$ns_section ns/module/nssock +$ns_param port $conf(${defaultserver},httpport) +$ns_param hostname $conf(${defaultserver},hostname) +$ns_param address $conf(${defaultserver},address) +$ns_param defaultserver $defaultserver + + +$ns_section "ns/interps/CGIinterps" +$ns_param .pl "/usr/bin/perl" +# php wrapper hack +if [info exists php_wrapper] { + $ns_param .php $php_wrapper +} + +$ns_section ns/modules +$ns_param nssock nssock.so --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/example_perms.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/example_perms.tcl @@ -0,0 +1,47 @@ +# LEG28032005 +# +# This file implements the sample users/groups/permissions +# provided by the standard nsperm module + +ns_section ns/servers/${server}/modules/nsperm/users +ns_param user "" +ns_param user nsadmin +ns_param user nobody + +ns_section ns/servers/${server}/modules/nsperm/user/"" +ns_param name "The Public" + +ns_section ns/servers/${server}/modules/nsperm/user/nsadmin +ns_param name "Administrator" +ns_param password ubphBI5lDzSYc + +#ns_section ns/servers/${server}/modules/nsperm/user/nobody + +# GROUPS: + +ns_section ns/servers/${server}/modules/nsperm/groups +ns_param group system +ns_param group users +ns_param group all +ns_param group public + +ns_section ns/servers/${server}/modules/nsperm/group/system +ns_param member nsadmin + + +ns_section ns/servers/${server}/modules/nsperm/group/users +ns_param member nsadmin +ns_param member nobody + +ns_section ns/servers/${server}/modules/nsperm/group/all +ns_param member nsadmin +ns_param member nobody +ns_param member "" + + +ns_section ns/servers/${server}/modules/nsperm/group/public +ns_param member "" + +ns_section ns/servers/${server}/modules/nsperm/perms +#ns_param allowuser "nsadmin::/dav" +#ns_param denyuser "::/" --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/ssl.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/ssl.tcl @@ -0,0 +1,97 @@ +# /etc/aolserver/ssl.tcl +# LEG28032005 +# + +#### this file is not user servicable ############################## + +# TODO: ca files, opcional + +$ns_section "ns/server/${server}/module/nsopenssl/sslcontexts" +$ns_param https "SSL context for access to the website" +$ns_param outgoing "SSL context for outgoing script socket connections" +$ns_param incoming "SSL context for incoming script socket connections" + +$ns_section "ns/server/${server}/module/nsopenssl/defaults" +$ns_param server https +$ns_param client outgoing +$ns_param server incoming + + +$ns_section "ns/server/${server}/module/nsopenssl/ssldrivers" +$ns_param https "Driver for access to the website" + +$ns_section "ns/server/${server}/module/nsopenssl/ssldriver/https" +$ns_param sslcontext https +$ns_param port $conf($server,httpsport) +$ns_param hostname $conf($server,hostname) +$ns_param address $conf($server,httpsaddress) + +# For HTTPS-Access to our website +# NSD-driven connections: + +$ns_section "ns/server/${server}/module/nsopenssl/sslcontext/https" +$ns_param Role server + +$ns_param ModuleDir [conffile ${certdir}] +$ns_param CertFile ${server}.crt +$ns_param KeyFile ${server}.pem +$ns_param Protocols "SSLv2, SSLv3, TLSv1" +$ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" +$ns_param SessionCache false +$ns_param SessionCacheID 1 +$ns_param SessionCacheSize 512 +$ns_param SessionCacheTimeout 300 +$ns_param PeerVerify false +$ns_param PeerVerifyDepth 3 +$ns_param CADir [conffile ${ca_dir}] +$ns_param CAFile ${server}.ca +$ns_param Trace false + +# For listening and accepting SSL connections via Tcl/C API: + +$ns_section "ns/server/${server}/module/nsopenssl/sslcontext/incoming" +$ns_param Role server +$ns_param ModuleDir [conffile ${certdir}] +$ns_param CertFile ${server}.crt +$ns_param KeyFile ${server}.pem +$ns_param Protocols "SSLv2, SSLv3, TLSv1" +$ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" +$ns_param SessionCache false +$ns_param SessionCacheID 2 +$ns_param SessionCacheSize 512 +$ns_param SessionCacheTimeout 300 +$ns_param PeerVerify false +$ns_param PeerVerifyDepth 3 +$ns_param CADir [conffile ${ca_dir}] +$ns_param CAFile ${server}_internal.ca +$ns_param Trace false + + +# Outgoing SSL connections + +$ns_section "ns/server/${server}/module/nsopenssl/sslcontext/outgoing" + +$ns_param Role client +$ns_param ModuleDir [conffile ${certdir}] +$ns_param CertFile ${server}.crt +$ns_param KeyFile ${server}.pem +$ns_param Protocols "SSLv2, SSLv3, TLSv1" +$ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP" +$ns_param SessionCache false +$ns_param SessionCacheID 3 +$ns_param SessionCacheSize 512 +$ns_param SessionCacheTimeout 300 +$ns_param PeerVerify false +$ns_param PeerVerifyDepth 3 +$ns_param CADir [conffile ${ca_dir}] +$ns_param CAFile ${server}.ca +$ns_param Trace false + +# OpenSSL library support: +#$ns_param RandomFile /some/file +$ns_param SeedBytes 1024 + +# Quirk to make OpenACS recognise 2.0 Style httpsport configuration +# +$ns_section ns/server/${server}/module/nsopenssl +$ns_param ServerPort $conf($server,httpsport) --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/README +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/README @@ -0,0 +1,19 @@ + +Thanks to Georg Lehner for providing this advanced configuration. +See http://www.magma.com.ni/sw/aolserver/ for other information. + +Features: + +- Multiple Virtual Hosting +- Debian-Policy compatible CGI configuration +- SSL support +- PHP-module simulation +- Database configuration - suitable for OpenACS +- controled startup - Check database operativity before launching aolserver4-nsd +- Only one (1) configuration for launching and configuring aolserver4 +- tDAV integration + +This configuration does not comply full with Debian Policy and is provided +only as an example of advanced customization. + +-- Francesco P. Lovergine --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/TODO +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/TODO @@ -0,0 +1,6 @@ +# TODO: for aolconf +# LEG24042005 + +- Deprecate http keyword +- GPL - License +- put *.tcl into /usr/share/aolserver4 and run into? /etc/aolserver4 --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/nsperm_init.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/nsperm_init.tcl @@ -0,0 +1,182 @@ +# LEG28032005 +# modules/nsperm/init.tcl - +# Initialization for nsperm module +# + +# New approach to the initialization of the nsperm module +# We do not want to reference a file after server startup. +# So all user and group data, hosts allows, denays and permissons go +# into ns_section's. +# +# USERS: +# +# ns_section ns/servers/${server}/modules/nsperm/users +# ns_param user alfred +# ns_param user emma +# ns_param user nobody +# +# ns_section ns/servers/${server}/modules/nsperm/user/alfred +# ns_param name "Alfred the Great" +# ns_param password crIh22g3NM6I2 +# ns_param allowfrom 127.0.0.1,meine.burg.de +# ns_param denyfrom 0.0.0.0/0.0.0.0 +# +# ns_section ns/servers/${server}/modules/nsperm/user/emma +# ns_param password crhBjmYE7k8JQ +# +# ns_section ns/servers/${server}/modules/nsperm/user/nobody +# +# GROUPS: +# +# ns_section ns/servers/${server}/modules/nsperm/groups +# ns_param group public +# ns_param group saints +# +# ns_section ns/servers/${server}/modules/nsperm/group/public +# ns_param member alfred +# ns_param member emma +# ns_param member nobody +# +# ns_section ns/servers/${server}/modules/nsperm/group/saints +# ns_param member alfred +# ns_param member emma +# +# PERMISSIONS: +# +# ns_section ns/servers/${server}/modules/nsperm/perms +# ns_param allowuser alfred:"GET POST":/~alfred* +# ns_param allowgroup saints:"GET POST MKCOL":/heaven:noinherit +# ns_param denyuser nobody:"MKCOL PROPATCH MOVE":/private + + + +proc init_nsperm { } { + + set config "ns/servers/[ns_info server]/modules/nsperm" + + set default_methods [ns_config $config method \ + "OPTIONS GET HEAD POST DELETE TRACE PROPFIND PROPPATCH COPY MOVE MKCOL LOCK UNLOCK"] + + # USERS + set users [ns_configsection $config/users] + if {$users ne ""} { + + for {set i 0} {$i < [ns_set size $users]} {incr i} { + set user [ns_set value $users $i] + + # compose the basic command to add the user + set cmd "ns_perm adduser \"$user\" \ + \"[ns_config $config/user/${user} password]\" \ + \"[ns_config $config/user/${user} name]\"" + + set user_config [ns_configsection $config/user/${user}] + if {$user_config eq ""} { + ns_log debug "ns_perm: no config section for user \"$user\"." + } else { + for {set j 0} {$j < [ns_set size $user_config]} {incr j} { + switch [ns_set key $user_config $j] { + allowfrom { + append _ns_allow " [ns_set value $user_config $j]" + } + denyfrom { + append _ns_deny " [ns_set value $user_config $j]" + } + } + } + } + if [info exists _ns_allow] { + append cmd " -allow $_ns_allow" + unset _ns_allow + } + if [info exists _ns_deny] { + append cmd " -deny $_ns_deny" + unset _ns_deny + } + # TODO???: verfiy: at my understanding, the ns_perm command + # does not handle several -allow/-deny sections, just one. + # but why does it not complain about an invalid hostname? + eval $cmd + ns_log debug "ns_perm: $cmd" + } + } + + # GROUPS + set groups [ns_configsection $config/groups] + if {$groups ne ""} { + for {set i 0} {$i < [ns_set size $groups]} {incr i} { + set group [ns_set value $groups $i] + + # compose the basic command to add the user + set cmd "ns_perm addgroup $group" + + set members [ns_configsection $config/group/${group}] + if {$members ne ""} { + for {set j 0} {$j < [ns_set size $members]} {incr j} { + append cmd " \"[ns_set value $members $j]\"" + } + eval $cmd + ns_log debug "ns_perm: $cmd" + } + } + } + + # PERMISSIONS + set perms [ns_configsection $config/perms] + if {$perms ne ""} { + for {set i 0} {$i < [ns_set size $perms]} {incr i} { + set action [ns_set key $perms $i] + # user:methods:uri:inhert + set args [split [ns_set value $perms $i] :] + + set user [lindex $args 0] + set methods [lindex $args 1] + set uri [lindex $args 2] + + set cmd "ns_perm $action" + if {[lindex $args 3] eq "noinhert"} { + append cmd " -noinherit" + } + if {$methods eq ""} { set methods $default_methods } + + foreach method $methods { + eval "$cmd $method $uri \"$user\"" + ns_log debug "ns_perm: $cmd $method $uri \"$user\"" + } + } + } +} + + +# +# ns_permpasswd lets you set a password in the nsperm passwd file. +# It is implemented in tcl because the passwd file is no inherently a +# part of the nsperm module--just a nice interface provided by the +# supporting Tcl code. +# +# oldpass must either be the user's old password or nsadmin's password +# for the action to succeed. +# + +proc ns_permpasswd { targetuser oldpass newpass } { + ns_log notice "ns_permpassword: obsolete: not updateing passwd file" + + # + # Verify that this is an allowed action + # + + if {[catch {ns_perm checkpass $targetuser $oldpass} ignore] != 0} { + if {[catch {ns_perm checkpass nsadmin $oldpass} ignore] != 0} { + return "incorrect old password" + } + } + + ns_perm setpass $targetuser [ns_crypt $newpass CU] + return "" +} + + +# +# Initialize the module +# + +init_nsperm --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/aolconf.conf +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/aolconf.conf @@ -0,0 +1,31 @@ +# aolconf.conf +# +# LEG24042005 +# +# common paths for makefile and utilities + +AOLUSR=www-data +AOLGRP=www-data +ADMGRP=adm + +SERVERHOME=/usr/lib/aolserver4 +SERVERLIB=/usr/lib/aolserver4/modules/tcl +SBINDIR=/usr/local/sbin + +DAVLOCKS=/var/lib/aolserver4/dav +DAVPROPS=/var/lib/aolserver4/dav + +CONFDIR=/etc/aolserver4 +PERMS=/etc/aolserver4/perms +CERTS=/etc/aolserver4/certs + +STARTCRT=/usr/share/doc/aolserver4-nsopenssl/examples/tests/test-cert.pem +STARTKEY=/usr/share/doc/aolserver4-nsopenssl/examples/tests/test-key.pem + +AOLLOG=/var/log/aolserver4 + +INITDIR=/etc/init.d + +SBINDIR=/usr/local/sbin + +VERSION=1.01 --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/domains.cfg +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/domains.cfg @@ -0,0 +1,207 @@ +# /etc/aolserver4/domains.cfg +# LEG 21032005 +# +server magma.com.ni "Magma Soft" { + fqdn magma.com.ni + fqdn www.magma.com.ni + http yes + https yes +} + +server tinkerbelle.be "Tinkerbelle Village" { + fqdn tinkerbelle.be + bind virtual + bindssl 0.0.0.0:4430 + + root "/var/lib/tinkerbelle.be" + + database postgres + dbhost anteris.nodo.netport + dbname tinkerbelle +} + +server matagalpa.org "Matagalpa Org" { + skip false + fqdn matagalpa.org + fqdn www.matagalpa.org + bind virtual + bindssl 0.0.0.0:4443 + + root "/var/lib/matagalpa.org" + + database postgres + dbhost anteris.nodo.netport + dbname matagalpa_org +} + +# Documentation: +# +# Main server configurations: +# +# set defaultserver serverid +# singlevalue,optional, default: first serverid in the file +# set debug true +# singlevalue,optional, default: false +# set confdebug +# singlevalue,optional, default: false +# writes configuration sections and parameters on stdout as the +# server loads. +# usefull for debugging, should be able to make a "precompiled" +# configuration file too. +# +# stats bool +# optional, if true serverstats are generated, default false +# stats_url rel_url +# defaults to "_stats" +# stats_user name +# defaults to "aolserver" +# stats_password password +# defaults to "stats" +# +# Virtual server configuration +# +# You must not use a comment inside a server stanza, but you can +# comment out an entry by makeing it invalid: #database, e.g. +# server serverid "server description" { +# +# Required parameters: +# fqdn fully qualified domain name +# multivalue +# bind ip:port +# singlevalue. If you specify "virtual" instead of a ip:port +# combination the server will run as a virtual domain on the same +# IP as the main (default) server. +# bindssl +# singlevalue +# +# http, https +# singlevalue, can be yes, true, etc. is equivalent to: +# bind 0.0.0.0:80 and 0.0.0.0:443 respectively. +# +# +# Optional values: +# config file +# singlevalue, configuration file for this server. +# can be omitted if a file serverid.tcl exists +# standard configuration is however already provided without these +# +# config_cgi file +# singlevalue, adicional cgi-parameters to user for this server +# can be omited if a file serverid.cgi exists +# a standard set of cgi configuration is already provided by the +# default server configuration +# +# config_db file +# singlevalue, only makes sense if database is specified +# configuration file for the database, can be omitted if +# serverid.db exists. +# a standard database configuration is however already provided +# without these +# config_ssl file +# +# root directory +# serverrot, default /var/www +# +# pageroot directory +# relative to serverroot, unless it starts with / +# defaults to servername, to organize virtual domains beneath +# /var/www +# +# tcllib +# relative to serverroot, unless it starts with /, default: "tcl" +# +# directoryproc name +# tcl procedure to list a directory if no directoryindex file exists +# default _ns_dirlist +# directorylisting style +# style of directorylisting: simple or fancy with _ns_dirlist +# default, fancy (with file sizes and dates) +# +# stack +# per thread stacksize in kByte, defaults to 128, dotLRN needs 512 +# +# modules +# list of modules to load. default: +# nslog nssha1 nscache nsdb nsopenssl nscgi nssock +# don't specify database driver modules here. +# +# +# tDAV Configuration +# Note: experimental, you have to copy the provided tDAV.tcl file into +# the main or servers tcllib directory. nsperms configuration is +# also required. This means: set up +# /usr/aolserver4/servers//modules/nsperm/* +# +# Multiple "shares" can be specified, each has to begin with "share name", where the name +# is a unique identifier (in this server). +# +# Required: +# dav_share name +# dav_uri uri +# uri for which DAV access is allowd +# dav_description "text" +# a descriptive text for this share +# +# Almost required: +# +# dav_users "users" +# space separated list of user allowed to access +# dav_groups "groups" +# space separated list of groups allowed to access +# +# See nsperms for how to specify users, groups and give them passwords. +# +# Opcional: +# +# dav_options "OPTIONS COPY GET PUT POST HEAD MKCOL PROPFIND PROPPATCH" +# Allowed http methos ("options") +# if this is not used, al DAV options are allowed. the example shows +# the minimal required options. +# +# Example: +# dav_share pageroot +# dav_uri /dav* +# dav_description "The whole website" +# +# dav_users "jorge lymontoya" +# +# +# +# Database specification +# database type +# multivalue, not implemented, +# type: modulname without "ns" prefix +# dbname name +# required if database is used +# dbhost host +# if empty, local connection is assume, required for oracle +# dbuser name +# if empty, dbname is asumed +# dbpass +# required if database is oracle +# +# ldapPools +# required, default "*" +# +# ldapDefaultPool +# require, default "ldap" + +# +# LDAP: nsldap module +# Note: untested. +# each ldap pool has its own stanza +# example: +# +# ldap ldap { +# user "cn=admin,ou=Your Organisation" +# password "changeme" +# host "localhost" +# connections 1 +# verbose false +# } +# +# default values: +# connections 1 +# verbose false +# +# everything else is required. --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/database.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/database.tcl @@ -0,0 +1,118 @@ +# /etc/aolserver4/database.tcl +# LEG28032005 +# +# Database drivers +# + +# TODO: Multiple database configurations + +# Prepare configuration/default values. +set database $conf(${server},database) +set db_name $conf(${server},dbname) + +# db_host: +if [info exists conf(${server},dbhost)] { + set db_host $conf(${server},dbhost) +} else { + set db_host {} +} + +# db_port: +if [info exists conf(${server},dbport)] { + set db_port $conf(${server},dbport) +} else { + set db_port {} +} + +# db_user: +if ![info exists conf(${server},dbuser)] { + set db_user $db_name +} else { + set db_user $conf(${server},dbuser) +} +# db_password: +if { $database == "oracle" } { + set db_password $conf(${server},dbpass) +} + +$ns_section "ns/db/drivers" +if { $database == "oracle" } { + $ns_param ora8 [libfile bin ora8.so] +} else { + $ns_param postgres [libfile bin nspostgres.so] +} + +# +# Database Pools: This is how AOLserver ``talks'' to the RDBMS. You need +# three for OpenACS: main, log, subquery. Make sure to replace ``yourdb'' +# and ``yourpassword'' with the actual values for your db name and the +# password for it. + +# AOLserver can have different pools connecting to different databases +# and even different different database servers. +# +$ns_section ns/db/pools +$ns_param ${server}_pool1 "$server Pool 1" +$ns_param ${server}_pool2 "$server Pool 2" +$ns_param ${server}_pool3 "$server Pool 3" + +$ns_section ns/db/pool/${server}_pool1 +$ns_param maxidle 1000000000 +$ns_param maxopen 1000000000 +$ns_param connections 5 +$ns_param verbose $debug +$ns_param extendedtableinfo true +$ns_param logsqlerrors $debug +if { $database == "oracle" } { + $ns_param driver ora8 + $ns_param datasource {} + $ns_param user $db_name + $ns_param password $db_password +} else { + $ns_param driver postgres + $ns_param datasource ${db_host}:${db_port}:${db_name} + $ns_param user $db_user + $ns_param password "" +} + +$ns_section ns/db/pool/${server}_pool2 +$ns_param maxidle 1000000000 +$ns_param maxopen 1000000000 +$ns_param connections 5 +$ns_param verbose $debug +$ns_param extendedtableinfo true +$ns_param logsqlerrors $debug +if { $database == "oracle" } { + $ns_param driver ora8 + $ns_param datasource {} + $ns_param user $db_name + $ns_param password $db_password +} else { + $ns_param driver postgres + $ns_param datasource ${db_host}:${db_port}:${db_name} + $ns_param user $db_user + $ns_param password "" +} + +$ns_section ns/db/pool/${server}_pool3 +$ns_param maxidle 1000000000 +$ns_param maxopen 1000000000 +$ns_param connections 5 +$ns_param verbose $debug +$ns_param extendedtableinfo true +$ns_param logsqlerrors $debug +if { $database == "oracle" } { + $ns_param driver ora8 + $ns_param datasource {} + $ns_param user $db_name + $ns_param password $db_password +} else { + $ns_param driver postgres + $ns_param datasource ${db_host}:${db_port}:${db_name} + $ns_param user $db_user + $ns_param password "" +} + +$ns_section ns/server/${server}/db +$ns_param pools "${server}_pool1,${server}_pool2,${server}_pool3" +$ns_param defaultpool ${server}_pool1 --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/NEWS +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/NEWS @@ -0,0 +1,11 @@ +aolconf-1.01: + LEG24042005 + + - A server can have a different IP address then the main server + just specify it with the bind keyword + - bind can have value "virtual", it then adopts the main servers IP. + - Don't use the http/https keyword outside the main/default server. + - added a script to make a basic setup for SSL/log/perms for a + new server, it's named: aolserver4-newdomain + - make real-install does not overwrite an existing domains.cfg + any more --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/Makefile +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/Makefile @@ -0,0 +1,104 @@ +# Makefile +# LEG24042005: separated paths into aolconf.conf, don't overwrite +# existing domains.cfg, fixes +# LEG04042005 +# +# Makefile for aolconf - Aolserver Configuration +# +# this makefile is used for installation and packing of the respective +# files + +# these go into SERVERHOME +TCLSCRIPTS = main.tcl server.tcl database.tcl ssl.tcl tdav.tcl + +# these go into CONFDIR +CONFFILES = aolconf.conf + +# these go into SBINDIR +SBINFILES = aolserver-php5-cgi-wrapper aolserver4-newdomain + +# theses get packaged +PACKFILES = run nsperm_init.tcl example_perms.tcl tDAV.tcl \ + aolserver4-init aolserver-php5-cgi-wrapper \ + aolserver4-newdomain \ + domains.cfg minimal.cfg $(TCLSCRIPTS) aolconf.conf \ + Makefile NEWS TODO + + +include ./aolconf.conf + + +INSTALL = install +#INSTALL = @echo install + +install: + @echo Did you at least: + @echo apt-get install aolserver4 aolserver4-nsopenssl + @echo ? + @echo Are you ready to overwrite nsperm\'s init.tcl? + @echo ok, then run make real-install + @echo + @echo "Note: consider tDOM for WebDAV support" + @echo " aolserver4-nscache" + @echo " aolserver4-nspostgres for OpenACS/Database support" + @echo " aolserver4-nsldap for LDAP support" + +real-install: + # confscript & run + $(INSTALL) $(TCLSCRIPTS) run $(SERVERHOME) + # DAV + $(INSTALL) -d -m 750 -o $(AOLUSR) -g $(AOLGRP) $(DAVLOCKS) + $(INSTALL) -d -m 750 -o $(AOLUSR) -g $(AOLGRP) $(DAVPROPS) + $(INSTALL) tDAV.tcl $(SERVERLIB) + # nsperm + $(INSTALL) nsperm_init.tcl $(SERVERLIB)/nsperm/init.tcl + $(INSTALL) -d -m 2750 -o root -g $(AOLGRP) $(PERMS) + $(INSTALL) example_perms.tcl $(PERMS)/main.tcl + @echo Installed example permissions in $(PERMS) + @echo The default password for nsadmin is "x". + @echo Please modify it before activating tDAV or anything + @echo else that uses nsperm authentication. + # nsopenssl + $(INSTALL) -d -m 2750 -o root -g $(AOLGRP) $(CERTS) + $(INSTALL) $(STARTCRT) $(CERTS)/main.crt + $(INSTALL) $(STARTKEY) $(CERTS)/main.pem + # logs + $(INSTALL) -d -m 2750 -o $(AOLUSR) -g $(ADMGRP) $(AOLLOG)/main + # main conf + @echo installing minimal configuration + @[ -f $(CONFDIR)/domains.cfg ] || $(INSTALL) minimal.cfg $(CONFDIR)/domains.cfg + @[ -f $(CONFDIR)/domains.cfg ] && $(INSTALL) minimal.cfg $(CONFDIR) + $(INSTALL) domains.cfg $(CONFDIR)/example-domains.cfg + $(INSTALL) $(CONFFILES) $(CONFDIR) + # sysv-init + $(INSTALL) aolserver4-init $(INITDIR)/aolserver4 + @echo Installed aolserver4 in $(INITDIR) + @echo You must activate the script by yourself if you want to + @echo use SysV style startup + # cgi-wrapper + $(INSTALL) aolserver-php5-cgi-wrapper $(SBINDIR) + # utilities + $(INSTALL) aolserver4-newdomain $(SBINDIR) + +package: + mkdir -p aolconf-$(VERSION) + cp $(PACKFILES) aolconf-$(VERSION) + tar czf aolconf-$(VERSION).tgz aolconf-$(VERSION) + rm -rf aolconf-$(VERSION) + +directoryproc: + $(INSTALL) directoryproc.tcl $(SERVERLIB) + +fix: + # fixing logdir + chmod 2750 $(AOLLOG) + chown -R $(AOLUSR):$(ADMGRP) $(AOLLOG) + # fixing permfiles + chmod 640 $(PERMS)/* + chown root:$(AOLGRP) $(PERMS)/* + # fixing certs + chmod 640 $(CERTS)/* + chown root:$(AOLGRP) $(CERTS)/* + +.PHONY = install package + --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/run +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/run @@ -0,0 +1,177 @@ +#!/bin/bash +exec 2>&1 +# +# /etc/aolserver4 run-script +# LEG21032005 +# + +# find domains.cfg +CONFDIR=/etc/aolserver4 +# find main.tcl +HOMEDIR=/usr/lib/aolserver4 +WWWUSR=www-data export WWWUSR +WWWGRP=www-data export WWWGRP + +CONFFILE=$CONFDIR/domains.cfg + +# reconect delay range in seconds, if database conection fails +DELAYMIN=10 +DELAYMAX=20 + +########### not user servicable inside ##################### + +# Check if we can find the configuration +# TODO: provide defaults if we don't find a config. + +if [ ! -r $CONFFILE ]; then + echo aolserver4-nsd:error: $CONFFILE not found + echo stopping now. + svc -dt . + exit 1 +fi + +# Parse the bind options out of the configfile +# +function bind () { +cat $CONFFILE |\ +while read TOKEN VALUE ARG; do + case $TOKEN in + bind|bindssl) echo $VALUE ;; + http) [ "$VALUE" == "yes" ] && echo "0.0.0.0:80" ;; + https) [ "$VALUE" == "yes" ] && echo "0.0.0.0:443" ;; + *) continue ;; + esac +done +} + +BIND="" +for iface in $(bind); do + if echo $BIND | grep -q $iface; then + continue + else + if [ "$BIND" ]; then + BIND="$BIND $iface" + else + BIND=$iface + fi + fi +done + +BIND=$(echo $BIND| tr ' ' ,) + +if [ -z "$BIND" ]; then + BIND="0.0.0.0:80" +else + if [ "$BIND" == "0.0.0.0:443" ]; then + BIND="0.0.0.0:80",$BIND + fi +fi + + +# Check Database availability + +# exit gracefully: prints first parameter and shuts the run script down. +function exgr () { + echo "$1" + echo "Aolserver: Shutting down!" + svc -dt . + svwaitdown `pwd` + exit $(($?+1)) +} + +# if a successfull conection could be made, keeb quiet +# else print a diagnostic message on stdout. +# shut the run script down on fatal errors +# +# $1: db_name +# $2: db_user +# $3: db_host - empty if local +# $4: db_port, only makes sense if db_host not empty +# +function check_postgres () { + [ "$3" ] && HOSTOPT="-h $3" + [ "$4" ] && PORTOPT="-p $4" + su - $WWWUSR -c "psql -q -d $1 -U $2 $HOSTOPT $PORTOPT -c '\q'" + STATUS=$? + case "$STATUS" in + 0) return 0;; + 1) + echo "Aolserver: fatal error when testing database conection." + exgr " psql exited with internal error status 1" + ;; + 2) + echo "Aolserver: no or lost conection to database server," + ;; + 3) + echo "Aolserver: script error when testing database conection." + exgr " Weird: we did not run any script!" + ;; + *) + exgr "Aolserver: psql returned unknown error code: $STATUS" + ;; + esac + return 1 +} + +# Check all databases in the configuration file +function check_db () { + # parse config file for database stanzas + DB_DRIVER="" + cat $CONFFILE |\ + while read TOKEN VALUE ARG; do + case $TOKEN in + database|"}") + if [ "$DB_DRIVER" ]; then + # We are ending a previus stanza, lets check + # the database + case "$DB_DRIVER" in + postgres) + if [ "$DB_DRIVER" ]; then + [ "$DB_USER" ] || DB_USER="$DB_NAME" + check_postgres "$DB_NAME" "$DB_USER" "$DB_HOST" "$DB_PORT" + fi + ;; + # Add other database checks before *) + *) exgr "Aolserver: Unknown database type: $DB_DRIVER" + ;; + esac + fi + if [ "$TOKEN" == "database" ]; then + DB_DRIVER="$VALUE" + else + DB_DRIVER="" DB_USER="" + fi + ;; + dbhost) DB_HOST="$VALUE" ;; + dbname) DB_NAME="$VALUE" ;; + dbuser) DB_USER="$VALUE" ;; + dbport) DB_PORT="$VALUE" ;; + *) continue ;; + esac + done +} + +# Delay a random number of seconds, between $1 and $2 +# default: 20 - 40 +function splay () { + DELAY=$((${1:-20}+$RANDOM*(${2:-40}-${1:-20})/32768)) + echo sleeping: $DELAY seconds + sleep $DELAY +} + +DB_STATUS="starting" +export DB_STATUS +while [ "$DB_STATUS" ]; do + DB_STATUS=$(check_db) + echo $DB_STATUS + [ "$DB_STATUS" ] && splay $DELAYMIN $DELAYMAX +done + +# Check if we want to run in "inittab" mode +# inittab mode is used for supervise. +[ "$1" == daemon ] || mode="-i" + +# At last, lets do it! + +exec /usr/sbin/aolserver4-nsd \ + $mode -t $HOMEDIR/main.tcl -u $WWWUSR -g $WWWGRP -b $BIND --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/tDAV.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/tDAV.tcl @@ -0,0 +1,2388 @@ +# +# tDAV.tcl +# +# Portions Copyright 2003 Musea Technologies +# +# http://www.museatech.net +# +# $Id +# +# bugs to: +# toddg@tdav.museatech.net +# +# Authors: Todd Gillespie +# Dave Bauer +# +# Based upon sources from: +# +# webdav.tcl +# +# A WebDAV implementation for AOLserver 3.x. +# +# Copyright (c) 2000-2001 Panoptic Computer Network. +# All rights reserved. +# +# http://www.panoptic.com/ +# + +# The contents of this file are subject to the AOLserver Public License +# Version 1.1 (the "License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://aolserver.com/. + +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. + +# Portions created by AOL are Copyright (C) 2004 America Online, +# Inc. All Rights Reserved. + +# Alternatively, the contents of this file may be used under the terms +# of the GNU General Public License (the "GPL"), in which case the +# provisions of GPL are applicable instead of those above. If you wish +# to allow use of your version of this file only under the terms of the +# GPL and not to allow others to use your version of this file under the +# License, indicate your decision by deleting the provisions above and +# replace them with the notice and other provisions required by the GPL. +# If you do not delete the provisions above, a recipient may use your +# version of this file under either the License or the GPL. + +# LEG27032005 +# Added improved configurability: if the authcommand is +# auth:tdav:local then suppose user and or group parameters to +# exist. these are whitespace separated lists of users/groups, +# which are given access via ns_perm. This is acomplished by +# init_tDAV, which is run at the end of the file +# +# I tried to make / work as a DAV Resource, but failed. One problem +# is the creation of erroneous lockfilenames with a "//" resource in +# tdav::lock::local::get_lock_file. The fix is however just a +# workaround. +# + + +# ------------------------------------------------------------ +# Silly workaround so that AOLserver can find scripts via "package require". +# set tcl_library [file join $tcl_pkgPath tcl${tcl_version}] +# source [file join $tcl_library init.tcl] +# ------------------------------------------------------------ + +package require tdom + +namespace eval tdav {} + + +proc tdav::urlencode { string } { +# urlencode allowing characters according to rfc 1738 +# http://www.w3.org/Addressing/rfc1738.txt + +# "Thus, only alphanumerics, the special characters "$-_.+!*'(),", and +# reserved characters used for their reserved purposes may be used +# unencoded within a URL." + +# ignore + used to encode spaces in query strings +# we can turn + into %20 after the string is encoded by +# ns_urlencode +# and real spaces in the url will be encoded to %2b +# This is mainly to support MS Web Folders which do not follow the +# spec which states that any character may be urlencoded. Web Folders +# rejects the entire collection as invalid if a filename contains +# one of these characters encoded. + + + set encoded_string [ns_urlencode $string] + set encoded_string [string map -nocase \ + {+ %20 %2d - %5f _ %24 $ %2e . %21 ! %28 ( %29 ) %27 ' %2c ,} $encoded_string] + + return $encoded_string +} + +# tdav::filter_webdav_get +# +# Handles GET HTTP requests +# +# Arguments: +# conn not used, required by ns_register_filter +# share share name used in config file +# why HTTP method of request, required by ns_register_filter +# +# Results: +# returns a file to the client or a 404 response +# + +proc tdav::filter_webdav_get { conn share why } { + + tdav::authenticate $share + tdav::before_callback $share + + set uri [tdav::conn url] + # check if a redirect is registered for this URI + set redirects \ + [ns_config "ns/server/[ns_info server]/tdav/share/${share}" redirects] + if {[llength $redirects]} { + foreach {pattern redirect} $redirects { + if {[string match $pattern $uri]} { + ns_returnredirect ${redirect}/[file tail $uri] + return filter_return + } + } + } + + # Use ns_conn url to obtain the Url specified on the http + # request being serviced. Pass that string through ns_url2file, + # in order to get the name of the File implied. + + set fname [ns_url2file $uri] + + # Use Tcl's open command to connect a Tcl channel to the specified file. + # Catch any error the open may throw, so that we can do whatever + # appropriate for references to something that does not exist. + + if {[catch {set chan [open $fname r]} err]} { + # file can't be opened, probably does not exists + ns_returnnotfound + } else { + + # We'll use ns_returnfp, to get the contents of the + # identified file sent as the response. AOLserver will use + # the Tcl IO commands against the channel we give it, + # accomplishing the need to go though the VirtFS. + # Unfortunatly, this needs to know the size, so we use the tcl + # command to get that. + + fconfigure $chan -translation binary + # use file stat because we need mtime and size + # since we can generate etags it might be a good idea to + # return an etag header, but it looks like most clients + # just use last modified + + file stat $fname file_stat + + # can't GET a directory + if {[string equal "directory" $file_stat(type)]} { + set directorycmd [ns_config "ns/server/[ns_info server]/tdav/share/${share}" getdirectorycmd] + if {[string equal "" $directorycmd]} { + ns_return 405 text/plain {} + } else { + eval [list $getdirectorycmd $uri] + } + + } + # handle Last-Modified header, and return 304 Not Modified if + # file is not newer than date passed by client + + set if_modified_since [ns_set iget [ns_conn headers] if-modified-since] + set if_modified_since [lindex [split $if_modified_since ";"] 0] + # catch this in case the client sends something clock can't + # parse. if clock can't parse it, we just sent the file since + # we can't compare he if-modified-since header + set propcmd [tdav::share::propcmd $share] + if {![catch {clock scan $if_modified_since} if_modified_since_scan]} { + if {![string equal "" $if_modified_since] \ + && $if_modified_since_scan > $file_stat(mtime)} { + ns_set put [ns_conn outputheaders] "ETag" [eval [list $propcmd get_etag $uri]] + ns_return 304 text/plain {} + return filter_return + } + } + # make sure we return information related to the file + # including content length and last modified headers + # MS clients need to see this information + ns_set put [ns_conn outputheaders] "Content-Length" $file_stat(size) + ns_set put [ns_conn outputheaders] "Last-Modified" [clock format $file_stat(mtime) -format "%a, %d %b %Y %H:%M:%S %Z" -gmt 1] + + ns_set put [ns_conn outputheaders] "ETag" [eval [list $propcmd get_etag $uri]] + if {$file_stat(size) == 0} { + close $chan + ns_return 200 text/plain {} + } else { + ns_returnfp 200 [ns_guesstype $fname] $chan $file_stat(size) + close $chan + } + + } + return filter_return +} + + +# tdav::filter_webdav_head +# +# Handles HEAD HTTP requests +# +# Arguments: +# conn not used, necessary for 3 arg filter +# share share name used in config file +# why HTTP method of request +# +# Results: +# returns an HTTP response containing header inforamtion for URI +# + +proc tdav::filter_webdav_head { conn share why } { + + tdav::authenticate $share + tdav::before_callback $share + # Use ns_conn url to obtain the Url specified on the http request + # being serviced. + # Pass that string through ns_url2file, in order to get the name + # of the File implied. + set uri [tdav::conn url] + set redirects \ + [ns_config "ns/server/[ns_info server]/tdav/share/${share}" redirects] + if {[llength $redirects]} { + foreach {pattern redirect} $redirects { + if {[string match $pattern $uri]} { + ns_returnredirect ${redirect}/[file tail $uri] + return filter_return + } + } + } + + set fname [ns_url2file $uri] + + # Use Tcl's open command to connect a Tcl channel to the specified file. + # Catch any error the open may throw, so that we can do whatever + # appropriate for references to something that does not exist. + + if {![file exists $fname]} { + ns_returnnotfound + } else { + + # use file stat because we need mtime and size + file stat $fname file_stat + + # handle Last-Modified header, and return 304 Not Modified if + # file is not newer than date passed by client + + set if_modified_since [ns_set iget [ns_conn headers] if-modified-since] + set if_modified_since [lindex [split $if_modified_since ";"] 0] + + # catch this in case the client sends something clock can't + # parse. if clock can't parse it, we just sent the file since + # we can't compare he if-modified-since header + + set propcmd [tdav::share::propcmd $share] + if {![catch {clock scan $if_modified_since} if_modified_since_scan]} { + if {![string equal "" $if_modified_since] \ + && $if_modified_since_scan > $file_stat(mtime)} { + ns_set put [ns_conn outputheaders] "ETag" [eval [list $propcmd get_etag $uri]] + ns_return 304 text/plain {} + return filter_return + } + } + + # make sure we return information related to the file + # including content length and last modified headers + # MS clients need to see this information + ns_set put [ns_conn outputheaders] "Content-Length" $file_stat(size) + ns_set put [ns_conn outputheaders] "Last-Modified" [clock format $file_stat(mtime) -format "%a, %d %b %Y %H:%M:%S %Z" -gmt 1] + ns_set put [ns_conn outputheaders] "ETag" [eval [list $propcmd get_etag $uri]] + ns_return 200 text/plain {} + } + return filter_return +} + +# tdav::filter_webdav_options +# +# Handles OPTIONS HTTP requests +# +# Arguments: +# none +# +# Results: +# returns an HTTP response containing WebDAV options supported +# +# TODO Make this smart to return options based on URI +# We still need to pretend that the site root supports DAV +# methods or some clients get confused. + +proc tdav::filter_webdav_options {conn share why} { + tdav::authenticate $share + tdav::before_callback $share + set dav_level {1,2} + ns_set put [ns_conn outputheaders] DAV $dav_level + + # The allowed webdav options for the share that the requested + # URL belongs to. + + # TODO: This should be URI dependent and return that actual + # allowed options for the URI + # although it has to always claim DAV compatibility on the root + # for MS client compatibility + + foreach {uri options} [nsv_array get tdav_options] { + if {[regexp "${uri}" [ns_conn url]]} { + ns_set put [ns_conn outputheaders] Allow [join $options {,}] + break + } + } + + ns_set put [ns_conn outputheaders] Content-Length 0 + # This tells MSFT products to skip looking for FrontPage extensions. + ns_set put [ns_conn outputheaders] MS-Author-Via DAV + ns_return 200 text/plain {} + return filter_return +} + + +# tdav::read_xml +# +# reads xml from connection +# +# Arguments: +# none +# +# Results: +# +# returns xml text of request + +proc tdav::read_xml {} { + set xml [ns_conn content] + return $xml +} + +# tdav::filter_webdav_proppatch +# +# Prepare request data for PROPPATCH method +# +# Arguments: +# none +# +# Results: +# Parses XML body and puts the formatted result in tdav_conn(prop_req) +# global variable. Accessed from tdav::conn prop_req command. +# Sets tdav_conn(depth) from HTTP Depth header + +proc tdav::filter_webdav_proppatch { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [ns_conn url] + tdav::conn -set share $share + set depth [tdav::conn -set depth [ns_set iget [ns_conn headers] Depth]] + + set xml [tdav::read_xml] + if {[catch {dom parse $xml} xd]} { + # xml body is not well formed + ns_returnbadrequest + return filter_return + } + tdav::proppatch_parse_xml $xd + $xd delete + set response [tdav::webdav_proppatch $uri $share] + tdav::respond $response + return filter_return + +} + +# tdav::proppatch_parse_xml +# parse xml proppatch request into +# a list of properties and actions +# Arguments: +# xd tDOM parsed XML document command +# Results: +# stores parsed list in tdav::conn propreq + +proc tdav::proppatch_parse_xml { xd } { + set setl [$xd getElementsByTagName "*set"] + set rml [$xd getElementsByTagName "*remove"] + set prop_req [list] + foreach node $rml { + foreach p [[$node childNodes] childNodes] { + # we use localname because we always resolve the URI namespace + # for the tag name + set ns [$p namespaceURI] + if {[string equal "" $ns]} { + set name [$p nodeName] + } else { + set name [$p localName] + } + if {[catch {set value [[$p childNodes] nodeValue]}]} { + set value "" + } + lappend prop_req remove [list [list $ns $name] $value] + } + } + + foreach node $setl { + foreach p [[$node childNodes] childNodes] { + # we use localname because we always resolve the URI namespace + # for the tag name + set ns [$p namespaceURI] + if {[string equal "" $ns]} { + set name [$p nodeName] + } else { + set name [$p localName] + } + if {[catch {set value [[$p childNodes] nodeValue]}]} { + set value "" + } + lappend prop_req set [list [list $ns $name] $value] + } + } + + tdav::conn -set prop_req $prop_req +} + +# tdav::webdav_proppatch +# +# Handle proppatch method for tDAV filesystem storage +# +# Arguments: +# none +# +# Results: +# Attempts to set or unset properties based on the request +# contained in tdav_conn(prop_req). +# +# Returns a list containing the HTTP status code and +# the status of each property set/unset. The status is a list +# of HTTP status code and text for each property. + +proc tdav::webdav_proppatch {uri share} { + set filename [ns_url2file "${uri}"] + set ret_code 200 + + if {![file exists $filename]} { + set ret_code 404 + set response "" + } else { + if {![string equal unlocked [tdav::check_lock "${uri}"]]} { + set ret_code 423 + set response "The resource is locked" + } else { + set prop_req [tdav::conn prop_req] + set propcmd [tdav::share propcmd $share] + set response [eval [list ${propcmd} update "${uri}" ${prop_req}]] + } + set ret_code 207 + } + + return [list $ret_code $response] + +} + + +# tdav::webdav_propfind +# +# Handle propfind request for tDAV filesystem storage +# Arguments: +# none +# +# Results: +# Returns a list of HTTP status for the request, and if sucessful a +# list of properties in the format of +# {href collection_p {properies_list}} +# where properties list is a list of pairs +# {namespace name} value. + +proc tdav::webdav_propfind { uri share } { + set props [list] + set depth [tdav::conn depth] + set prop_req [tdav::conn prop_req] + + set propcmd [tdav::share propcmd $share] + + set props [eval [list $propcmd get "${uri}" $prop_req $depth]] + + return [list 207 $props] +} + +# tdav::filter_webdav_propfind +# +# Prepare incoming PROPFIND request +# +# Arguments: +# none +# +# Results: +# sets global values in tdav_conn array for +# depth, and prop_req +# prop_req is a list of lists of namespace/name pairs + +proc tdav::filter_webdav_propfind { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + tdav::conn -set share $share + + # test for url existence + set uri [ns_conn url] + set entry [ns_url2file "${uri}"] + if {![file exists $entry]} { + ns_returnnotfound + return filter_return + } + set prop_req [list] + set depth [ns_set iget [ns_conn headers] Depth] + tdav::conn -set depth $depth + + set body "" + set ret_code 207 + + set xml [tdav::read_xml] + + # parse the xml body to check if its valid + # don't try to parse it if the body is empty + if {![string equal "" $xml] && [catch {dom parse $xml} xd]} { + ns_return 400 text/plain "XML request not well-formed." + return filter_return + } + + set xml_prop_list [list] + # if there is an XML body, extract the properties + # there are being requested + if {[info exists xd] && ![string equal "" $xd]} { + set prop [$xd getElementsByTagNameNS "DAV:" "prop"] + # if element doesn't exist we return all properties + if {![string equal "" $prop]} { + set xml_prop_list [$prop childNodes] + } + foreach node $xml_prop_list { + set ns [$node namespaceURI] + if {[string equal $ns ""]} { + set name [$node nodeName] + } else { + set name [$node localName] + } + lappend prop_req [list $ns $name] + } + } + tdav::conn -set prop_req $prop_req + set response [tdav::webdav_propfind $uri $share] + tdav::respond $response + return filter_return +} + +# tdav::filter_webdav_put +# +# Prepare incoming PUT request +# +# Arguments: +# none +# +# Results +# Copies content to a temporary file and sets tdav_conn(tmpfile) + +proc tdav::filter_webdav_put { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + set filepath [ns_url2file $uri] + + set body "" + + # check if parent directory exists + if {![file exists [file dirname $filepath]]} { + set ret_code 409 + tdav::respond [list $ret_code "text/html" ${body}] + return filter_return + } + + if {[file exists $filepath]} { + # check for lock + if {![string equal "unlocked" [tdav::check_lock "${uri}"]]} { + set ret_code 423 + set body "Resource is locked." + } elseif {[string equal -nocase "f" \ + [ns_set iget [ns_conn headers] Overwrite]]} { + set ret_code 412 + } else { + # move the temporary file to the final location + if {[catch {tdav::webdav_put_write_file $filepath} err]} { + ns_log error "\n ----- \n webdav_put error OVER writing file $filepath \n '$err' \n ----- \n " + set ret_code 500 + } else { + set ret_code 204 + } + } + } else { + if {[catch {tdav::webdav_put_write_file $filepath} err]} { + ns_log error "\n ----- \n webdav_put error writing file $filepath \n '$err' \n ----- \n " + set ret_code 500 + } else { + set ret_code 201 + set body " + + 201 Created + +

Created

+

Resource $uri has been created.

+
+ + " + } + } + + tdav::respond [list $ret_code "text/html" ${body}] + return filter_return +} + +# tdav::webdav_put_write_file +# +# Handle PUT for tDAV filesystem storage +# +# Arguments: +# filepath absolute path to file +# +# Results: +# If sucessful file is created under AOLserver pageroot +# that corresponds to the URI of the request. + +proc tdav::webdav_put_write_file { filepath } { + + set fd [open $filepath w+] + ns_writecontent $fd + close $fd + return + +} + +# tdav::filter_webdav_delete +# +# Prepare incoming DELETE request +# +# Arguments: +# none +# +# Results: +# none +# + +proc tdav::filter_webdav_delete { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + set response [tdav::webdav_delete $uri $share] + tdav::respond $response + return filter_return +} + +# tdav::webdav_delete +# +# Handle DELETE method for tDAV filesystem storage +# +# Arguments: +# none +# +# Results: +# If sucessful file corresponding to URI is removed from +# the filesystem. In addition properties and lock files +# are also removed. Calls tdav::respond to return the results +# to the client. + +proc tdav::webdav_delete { uri share } { + + set entry [ns_url2file "${uri}"] + set filename [file tail $entry] + set ret_code 500 + set body "" + + if {[file exists $entry]} { + #check for lock + if {[string equal unlocked [tdav::check_lock $uri]]} { + file delete -force -- $entry + # remove properties + set propcmd [tdav::share::propcmd $share] + eval [list $propcmd remove "${uri}"] + # remove locks + set lockcmd [tdav::share::lockcmd $share] + eval [list $lockcmd remove "${uri}"] + set ret_code 204 + } else { + set ret_code 423 + set body "Resource is locked." + } + } else { + set ret_code 404 + } + + return [list $ret_code $body] + +} + +# tdav::filter_webdav_mkcol +# +# Prepares MKCOL request +# +# Arguments: +# none +# +# Results: +# This handles the invalid request with +# a content body. Otherwise it passes on to the +# registered procedure. + +proc tdav::filter_webdav_mkcol { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + # no body should be sent on MKCOL + if [ns_conn contentlength] { + set ret_code 415 + set html_response "" + tdav::respond [list 415] + return filter_return + } + set response [tdav::webdav_mkcol $uri $share] + tdav::respond $response + return filter_return +} + +# tdav::webdav_mkcol +# +# Handles MKCOL method +# +# Arguments: +# none +# +# Results: +# Creates a directory under the AOLserver pageroot +# corresponding to the URI. Calls tdav::respond to +# return the results to the client. + +proc tdav::webdav_mkcol { uri share } { + + set entry [ns_url2file "${uri}"] + set filename [file tail $entry] + set parent_dir [file dirname $entry] + # if parent directory does not exist return CONFLICT + # RFC 2518 specifies that all elements up the the directory to be + # created must already exist. + if ![file exists $parent_dir] { + set ret_code 409 + } elseif ![file exists $entry] { + set ret_code 201 + if {[catch {file mkdir $entry} err]} { + set ret_code 403 + } + + } else { + # directory already exists + set ret_code 405 + } + + return [list $ret_code] +} + +# tdav::filter_webdav_copy +# +# Setup for COPY method +# +# Arguments: +# +# Results: +# +# + +proc tdav::filter_webdav_copy { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + set overwrite [tdav::conn -set overwrite [ns_set iget [ns_conn headers] Overwrite]] + set destination [ns_urldecode [ns_set iget [ns_conn headers] Destination]] + regsub {https?://[^/]+/} "${destination}" {/} dest + tdav::conn -set destination "${dest}" + + set response [tdav::webdav_copy $uri $share] + tdav::respond $response + return filter_return + +} + +# tdav::webdav_copy +# +# Handles COPY method +# +# Arguments: +# +# Results: +# +# + +proc tdav::webdav_copy { uri share } { + + set overwrite [tdav::conn overwrite] + + set dest [tdav::conn destination] + # this is the file path to copy to + regsub {^~} $dest {./~} dest + set local_dest [ns_normalizepath [ns_url2file "${dest}"]] + set local_regexp "^[ns_info pageroot]" + if {![regexp $local_regexp $local_dest]} { + return [list 409] + } + + set newuri [string replace $local_dest 1 [string length [ns_info pageroot]] ""] + regsub {^/} "${newuri}" {} newuri + + set entry [ns_url2file "${uri}"] + set isdirectory [file isdirectory $entry] + set filename [file tail $entry] + + if {![file exists $entry]} { + set ret_code 404 + } else { + if {[file exists $local_dest]} { + if {![string equal "unlocked" [tdav::check_lock "${dest}"]]} { + set ret_code 423 + set body "Resource is locked." + } else { + # if overwrite is false and file exists return error + if [string equal -nocase $overwrite "F"] { + set ret_code 412 + } else { + + + + # overwrite is true, replace with new resource + set ret_code 204 + if {[catch { + file delete -force $local_dest + file copy -force $entry $local_dest + # copy properties + set propcmd [tdav::share::propcmd $share] + eval [list $propcmd copy "${uri}" "${newuri}"] + } err]} { + # not sure which return code to use here on + # file error + set ret_code 409 + } + } + } + } else { + set ret_code 201 + if {[catch { + file copy $entry $local_dest + # copy properties + set propcmd [tdav::share::propcmd $share] + eval [list $propcmd copy "${uri}" "${newuri}"] + } err]} { + set ret_code 409 + } + } + } + return [list $ret_code] +} + +proc tdav::filter_webdav_move { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + set overwrite [tdav::conn -set overwrite [ns_set iget [ns_conn headers] Overwrite]] + set destination [ns_urldecode [ns_set iget [ns_conn headers] Destination]] + + regsub {https?://[^/]+/} "${destination}" {/} dest + + tdav::conn -set destination "${dest}" + set response [tdav::webdav_move $uri $share] + tdav::respond $response + return filter_return +} + +proc tdav::webdav_move { uri share } { + set overwrite [tdav::conn overwrite] + set dest [tdav::conn destination] + regsub {^~} $dest {./~} dest + set local_dest [ns_normalizepath [ns_url2file "${dest}"]] + set local_regexp "^[ns_info pageroot]" + if {![regexp $local_regexp $local_dest]} { + return [list 409] + } + set newuri [string replace $local_dest 1 [string length [ns_info pageroot]] ""] + regsub {^/} "${newuri}" {} newuri + + set entry [ns_url2file "${uri}"] + + set filename [file tail $entry] + + set ret_code 500 + set body {} + + if {![file exists $entry]} { + set ret_code 404 + } else { + if {![string equal "unlocked" [tdav::check_lock "${uri}"]]} { + set ret_code 423 + set body "Resource is locked." + } elseif [file exists $local_dest] { + if [string equal -nocase $overwrite "F"] { + set ret_code 412 + } else { + set ret_code 204 + if {[catch { + file delete -force $local_dest + file rename $entry $local_dest + # move properties + set propcmd [tdav::share::propcmd $share] + eval [list $propcmd move "${uri}" "${newuri}"] + } err]} { + set ret_code 409 + } + } + } else { + set ret_code 201 + if {[catch { + file rename $entry $local_dest + # move properties + set propcmd [tdav::share::propcmd $share] + eval [list $propcmd move "${uri}" "${newuri}"] + } err]} { + set ret_code 409 + } + } + } + + return [list $ret_code $body] + +} + +proc tdav::filter_webdav_lock { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + + set uri [tdav::conn url] + tdav::conn -set share $share + + set body {} + + # parse lock information from client + set xml [tdav::read_xml] + set d [[dom parse $xml] documentElement] + set l [$d childNodes] + set scope [[[lindex $l 0] childNodes] nodeName] + set type [[[lindex $l 1] childNodes] nodeName] + if {[catch {set owner [[[lindex $l 2] childNodes] nodeValue]} err]} { + set owner "" + } + set depth [ns_set iget [ns_conn headers] Depth] + set timeout [ns_set iget [ns_conn headers] Timeout] + regsub {^Second-} $timeout {} timeout + tdav::conn -set lock_timeout $timeout + if {![string length $depth]} { + set depth 0 + } + tdav::conn -set depth $depth + + tdav::conn -set lock_scope $scope + tdav::conn -set lock_type $type + tdav::conn -set lock_owner $owner + set lock_token [ns_set iget [ns_conn headers] Lock-Token] + tdav::conn -set lock_token $lock_token + + set response [tdav::webdav_lock $uri $share] + tdav::respond $response + return filter_return +} + +proc tdav::webdav_lock { uri share } { + set scope [tdav::conn lock_scope] + set type [tdav::conn lock_type] + set owner [tdav::conn lock_owner] + set entry [ns_url2file "${uri}"] + set filename [file tail $entry] + set existing_lock_token [tdav::conn lock_token] + + # normally you would check if the file exists, but WebDAV + # has a null lock feature where a file can be locked + # before it is created + + if {![string equal "unlocked" [tdav::check_lock "${uri}"]]} { + set ret_code 423 + return [list $ret_code] + } else { + set depth [tdav::conn depth] + set timeout [tdav::conn lock_timeout] + if {[string equal "" $timeout]} { + set timeout 180 + } + set lockcmd [tdav::share::lockcmd [tdav::conn share]] + if {![string equal "" $existing_lock_token]} { + # refresh existing lock + set old_lock [eval [list $lockcmd get "${uri}"]] + eval [list $lockcmd update "${uri}" [lindex $old_lock 0] [lindex $old_lock 1] [lindex $old_lock 2] [lindex $old_lock 3] $timeout [clock format [clock seconds]] ] + } else { + # new lock + set token [eval [list $lockcmd update "${uri}" $depth $type $scope $owner $timeout [clock format [clock seconds] ] ] ] + } + set ret_code 200 + + return [list $ret_code [list depth $depth token $token timeout $timeout owner $owner scope $scope type $type]] + } +} + +proc tdav::filter_webdav_unlock { conn share why } { + tdav::authenticate $share + tdav::before_callback $share + set uri [tdav::conn url] + tdav::conn -set share $share + set ret_code 500 + set body {} + set lock_token [ns_set iget [ns_conn headers] Lock-Token] + tdav::conn -set lock_token $lock_token + + set response [tdav::webdav_unlock $uri $share] + tdav::respond $response + return filter_return +} + +proc tdav::webdav_unlock { uri share } { + + set entry [ns_url2file "${uri}"] + set filename [file tail $entry] + + if {![file exists $entry]} { + set ret_code 404 + set body {} + } elseif {![string equal unlocked [tdav::check_lock_for_unlock "${uri}"]]} { + set ret_code 423 + set body "Resource is locked." + } else { + tdav::lock::local::remove "${uri}" + set ret_code 204 + set body "" + } + return [list $ret_code $body] +} + +proc tdav::return_unauthorized { {realm ""} } { + # TODO fix this to have realm make more sense + ns_set put [ns_conn outputheaders] "WWW-Authenticate" "Basic realm=\"[ns_conn location]\"" + ns_return 401 {text/plain} "Unauthorized\n" +} + +# tdav::respond +# Take list formatted response data from process to return +# the correct WebDAV XML response +# +# Arguments: +# response: list of HTTP response code and body +# if the method requires it +# +# Results: +# Response returned to client + +proc tdav::respond { response } { + set response_code [lindex $response 0] + if {[string equal "423" $response_code]} { + set response_body "The resource is locked" + set mime_type "text/plain" + } elseif {[string equal "404" $response_code]} { + ns_returnnotfound + return + } else { + set response_list [tdav::respond::[string tolower [ns_conn method]] $response] + set response_body [lindex $response_list 0] + set mime_type [lindex $response_list 1] + if {[string equal "" $mime_type]} { + set mime_type "text/plain" + } + if {[string match "text/xml*" $mime_type]} { + # make sure any XML response is utf-8 + set response_body [encoding convertto utf-8 $response_body] + } + } + tdav::after_callback [tdav::conn share] + ns_return $response_code $mime_type $response_body +} + +namespace eval tdav::respond {} + +# tdav::respond::delete +# Format WebDAV response for DELETE method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# This just passes on the response from the filter. +# No XML is required on DELETE. + +proc tdav::respond::delete { response } { + set body "" + set mime_type text/plain + set body [lindex $response 1] + return [list $body $mime_type] +} + +proc tdav::respond::lock { response } { + array set lock [lindex $response 1] + + set body [subst { + + + + <${lock(type)}/> + <${lock(scope)}/> + ${lock(depth)} + ${lock(owner)}Second-${lock(timeout)} + + ${lock(token)} + + + + }] + + ns_set put [ns_conn outputheaders] "Lock-Token" "<${lock(token)}>" + + set ret_code 200 + + return [list $body text/html] + +} + + +# tdav::respond::unlock +# Format WebDAV response for UNLOCK method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# No XML is required on UNLOCK. + +proc tdav::respond::unlock { response } { + + set body "" + + return [list $body] +} + +# tdav::respond::put +# Format WebDAV response for PUT method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# No XML is required on PUT. + +proc tdav::respond::put { response } { + return $response +} + +# tdav::respond::proppatch +# +# Arguments: +# response list of HTTP status and list of property elements +# and status of the proppatch operations +# +# Results: +# Formatted XML response + +proc tdav::respond::proppatch { response } { + # FIXME use tDOM to build XML response + set resp_code [lindex $response 0] + set href "" + set body [subst { + + + [ns_conn location]${href} + }] + foreach {status_code properties } [lindex $response 1] { + set status "" + switch -- $status_code { + 200 { + set status "HTTP/1.1 200 OK" + } + 409 { + set status "HTTP/1.1 409 Conflict" + } + } + if {![string equal "" $status]} { + foreach prop $properties { + set ns [lindex $prop 0] + set name [lindex $prop 1] + append body [subst { + <$name xmlns='$ns'/> + $status + + }] + } + } + } + append body { + } + return [list $body {text/xml charset="utf-8"}] +} + + +# tdav::respond::copy +# Format WebDAV response for COPY method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# No XML is required on COPY. + +proc tdav::respond::copy { response } { + return $response +} + + +# tdav::respond::move +# Format WebDAV response for MOVE method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# No XML is required on MOVE. + +proc tdav::respond::move { response } { + return $response +} + +# tdav::respond::mkcol +# Format WebDAV response for MKCOL method +# +# Arguments: +# response: list of HTTP response code and body for response +# Results: +# No XML is required on MKCOL. + +proc tdav::respond::mkcol { response } { + set body "" + switch -- [lindex $response 0] { + 415 { + + } + 490 { + + } + 201 { + + } + 405 { + set body " + +405 Method Not Allowed + +

Method not allowed

+" + } + } + return [list $body text/html] +} + +# tdav::respond::propfind +# format propfind list of elements as XML +# +# Arguments: +# response HTTP status and propfind formatted list of elements +# +# Results: +# list of HTTP status and XML body to return to the client + +proc tdav::respond::propfind { response } { + if {[string equal "404" [lindex $response 0]]} { + return [list 404] + } + # create XML document + set d [dom createDocumentNS "DAV:" "D:multistatus"] + set n [$d documentElement] + # special date formats for some MS clients + $n setAttribute "xmlns:b" "urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" + set mst_body "" + # there is one element in response for each resource + foreach res [lindex $response 1] { + set href_list [list] + foreach {href_element} [split [lindex $res 0] "/"] { + lappend href_list [tdav::urlencode $href_element] + } + set href [join $href_list "/"] + + set r [$d createElementNS DAV: D:response] + $n appendChild $r + set h [$d createElement D:href] + $h appendChild [$d createTextNode ${href}] + $r appendChild $h + # there will be two lists in each response + # 200 props and 404 props for requested properties + # that were found, and not found + foreach {code props} [lindex $res 2] { + if {[llength $props] == 0} { + # if there are not properties for a status code + # just continue + continue + } + set propstat [$d createElement D:propstat] + set prop [$d createElement D:prop] + $r appendChild $propstat + # the format for 200 or 404 propstat is slightly different + switch -- $code { + 200 { + foreach {i j} $props { + # create element for each property + set name [lindex $i 1] + set ns [lindex $i 0] + # we need to check is the namespace is for + # DAV required properties + if {![string equal "DAV" $ns] \ + && ![string equal "DAV:" $ns]} { + + if {![string equal "" $ns]} { + set pnode [$d createElementNS $ns $name] + } else { + set pnode [$d createElement $name] + } + } else { + # use namespace prefix for all DAV element + # to workaround MS Redirector bug + if {[string equal "DAV:" $ns]} { + set pnode [$d createElement D:${name}] + } + } + # some properties have unique formatting + switch -- "${ns}${name}" { + DAV:creationdate { + # special date formats for some MS clients + $pnode setAttribute "b:dt" "dateTime.tz" + $pnode appendChild [$d createTextNode $j] + } + DAV:getlastmodified { + # special date formats for some MS clients + $pnode setAttribute "b:dt" "dateTime.rfc1123" + $pnode appendChild [$d createTextNode $j] + + } + DAV:resourcetype { + + if {[string equal "DAV:collection" $j]} { + set j "D:collection" + $pnode appendChild [$d createElement $j] + } + } + DAV:supportedlock { + # type of locks supported on this resource + # if j is empty no locks are supported + foreach {type scope} $j { + set lockentry \ + [$d createElement D:lockentry] + + set lockscope \ + [$d createElement D:lockscope] + $lockscope appendChild \ + [$d createElement D:${scope}] + set locktype \ + [$d createElement D:locktype] + $locktype appendChild \ + [$d createElement D:${type}] + $lockentry appendChild $lockscope + $lockentry appendChild $locktype + $pnode appendChild $lockentry + } + } + DAV:lockdiscovery { + # existing locks or empty + # if j is empty there aren't any locks + set lockcmd [tdav::share::lockcmd \ + [tdav::conn share]] + set lockinfo \ + [eval [list $lockcmd get $href]] + + set lock_timeout_left \ + [tdav::lock_timeout_left \ + [lindex $lockinfo 4] \ + [lindex $lockinfo 6]] + + if {$lock_timeout_left > 0} { + set activelock [$d createElement D:activelock] + set locktype [$d createElement D:locktype] + set lockscope [$d createElement D:lockscope] + set depth [$d createElement D:depth] + set owner [$d createElement D:owner] + set timeout [$d createElement D:timeout] + set locktoken [$d createElement D:locktoken] + set locktokenhref [$d createElement D:href] + + $locktype appendChild [$d createElement D:[lindex $lockinfo 0]] + $lockscope appendChild [$d createElement D:[lindex $lockinfo 1]] + $depth appendChild [$d createTextNode [lindex $lockinfo 5]] + + $timeout appendChild [$d createTextNode Second-$lock_timeout_left] + $owner appendChild [$d createTextNode [lindex $lockinfo 2]] + $locktokenhref appendChild [$d createTextNode [lindex $lockinfo 3]] + $locktoken appendChild $locktokenhref + + $activelock appendChild $locktype + $activelock appendChild $lockscope + $activelock appendChild $depth + $activelock appendChild $timeout + $activelock appendChild $owner + $activelock appendChild $locktoken + + $pnode appendChild $activelock + + + } + } + default { + + $pnode appendChild [$d createTextNode $j] + + } + + } + $prop appendChild $pnode + + } + + $propstat appendChild $prop + + set status [$d createElement D:status] + set status_text [$d createTextNode "HTTP/1.1 200 OK"] + + $status appendChild $status_text + $propstat appendChild $status + + } + 404 { + # count up the 404 properties + # if there are none, don't include a 404 status element + set count_404 0 + foreach {i} $props { + if {[llength $i] > 0} { + set ns [lindex $i 0] + set name [lindex $i 1] + set pnode [$d createElement ${name}] + if {![string equal "" ${ns}]} { + $pnode setAttribute "xmlns" ${ns} + } + $prop appendChild $pnode + incr count_404 + } + } + if {$count_404 > 0} { + $propstat appendChild $prop + set status [$d createElement D:status] + set status_text [$d createTextNode "HTTP/1.1 404 Not Found"] + $status appendChild $status_text + $propstat appendChild $status + } + } + } + } + } + + # indent none is required for XP WebDAV miniredirctor which does + # not allow any space in the resourcetype/collection tag combination + set body [$d asXML -indent none -escapeNonASCII] + $d delete + # tDOM doesn't put the xml header at the top so we do it here + set body "\n${body}" + set response [list $body {text/xml; charset="utf-8"}] + return $response + +} + +# tdav::conn +# global per-request data structure to hold commonly used values +# +# Arguments: +# element name of element to return. If an element does not exist +# in the tdav_conn array, fall back to ns_conn +# -set element sets element in the tdav_conn array +# Results: +# returns value of element specified + +proc tdav::conn {args} { + global tdav_conn + set flag [lindex $args 0] + if { ![string match "-*" $flag]} { + set var $flag + set flag "-get" + } else { + set var [lindex $args 1] + } + switch -- $flag { + -set { + set value [lindex $args 2] + set tdav_conn($var) $value + return $value + } + -get { + if { [info exists tdav_conn($var)] } { + return $tdav_conn($var) + } else { + return [ns_conn $var] + } + } + } +} + +# tdav::apply_filters +# setup registered filters for each share +# Arguments: +# uri uri to assign filter to +# options what WebDAV methods are allowed for this share +# Results: +# filters are registered on uri + +proc tdav::apply_filters {{uri "/*"} {options "OPTIONS GET HEAD POST DELETE TRACE PROPFIND PROPPATCH COPY MOVE MKCOL LOCK UNLOCK"} {share ""} } { + + # Verify that the options are valid options. Webdav requires + # support for a minimum set of options. And offers support for a + # limited set of options. (See RFC 2518) + if {[string equal "" $share]} { + ns_log error "Share not specified to apply_filters" + return + } + set required_options [list OPTIONS PROPFIND PROPPATCH MKCOL GET HEAD POST] + foreach required_option $required_options { + if {[lsearch -exact [string toupper $options] $required_option] < 0} { + ns_log error "Required option $required_option missing from tDAV options for URI '${uri}'. +Required web dav options are: '$required_options'." + return + } + } + set allowed_options [list OPTIONS COPY DELETE GET HEAD MKCOL MOVE LOCK POST PROPFIND PROPPATCH PUT TRACE UNLOCK] + foreach option $options { + if {[lsearch -exact $allowed_options [string toupper $option]] < 0} { + ns_log error "Option $option is not an allowed tDAV option for URI '${uri}'. +Allowed web dav options are: '$allowed_options'." + return + } + } + + # Register filters for selected tDAV options. Do not register a + # filter for POST. OPTIONS need to be registered on the pageroot + # to support various MS clients + + # change /example/* to /example* to accomodate the + # url matching for registered filters + set filter_uri "[string trimright "${uri}" /*]*" + foreach option $options { + if {[lsearch -exact [list POST OPTIONS] $option] < 0} { + + ns_register_filter postauth [string toupper $option] "${filter_uri}" tdav::filter_webdav_[string tolower $option] "${share}" + } + } + ns_register_filter postauth OPTIONS "/*" tdav::filter_webdav_options "${share}" + ns_log notice "tDAV: Registered filters on $filter_uri" + + nsv_set tdav_options "${uri}" $options +} + +# on server startup install filters for WebDAV methods +if {![nsv_exists tdav_filters_installed filters_installed]} { + nsv_set tdav_filters_installed filters_installed 1 + + # DEPRECATED use authentication API + # Uncomment the default user and password for testing. The + # application of permissions will be application specific. To use + # ns_perm your application will need to fill the ns_perm data + # every time the server is loaded and when anything changes in a + # running server. SkipLocks must be set to On in the AOLserver + # config file and ns_perm module must be loaded. + + # The alternative is to define preauth filters on the WebDAV + # methods and write your own code to handle authentication. This + # is how the OpenACS implementation that uses tDAV works. + + # ns_perm adduser tdav [ns_crypt tdav salt] userfield + # ns_perm adduser tdav1 [ns_crypt tdav1 salt] userfield + # ns_perm addgroup tdav tdav tdav1 + + + # setup shares from config file + set tdav_shares [ns_configsection "ns/server/[ns_info server]/tdav/shares"] + if { ![string equal "" $tdav_shares] } { + for {set i 0} {$i < [ns_set size $tdav_shares]} {incr i} { + set tdav_share [ns_configsection "ns/server/[ns_info server]/tdav/share/[ns_set key $tdav_shares $i]"] + + nsv_set tdav_lockcmd [ns_set key $tdav_shares $i] [ns_set get $tdav_share lockcommand] + nsv_set tdav_authcmd [ns_set key $tdav_shares $i] [ns_set get $tdav_share authcommand] + nsv_set tdav_propcmd [ns_set key $tdav_shares $i] [ns_set get $tdav_share propcommand] + nsv_set tdav_beforecmd [ns_set key $tdav_shares $i] [ns_set get $tdav_share beforecommand] + nsv_set tdav_aftercmd [ns_set key $tdav_shares $i] [ns_set get $tdav_share aftercommand] + + tdav::apply_filters [ns_set get $tdav_share uri] [ns_set get $tdav_share options] [ns_set key $tdav_shares $i] + + } + } +} + +# share specific settings +namespace eval tdav::share {} + +# tdav::share +# Implementes subcommands for share specific data +# Arguments: +# cmd propcmd lockmd authcmd beforecmd aftercmd +# share name of share from config file +# Results: +# returns command name specified in the config file for share +proc tdav::share { cmd share } { + return [tdav::share::${cmd} "${share}"] +} + +proc tdav::share::authcmd { share } { + return [nsv_get tdav_authcmd $share] +} + +proc tdav::share::propcmd { share } { + return [nsv_get tdav_propcmd $share] +} + +proc tdav::share::lockcmd { share } { + return [nsv_get tdav_lockcmd $share] +} + +proc tdav::share::beforecmd { share } { + return [nsv_get tdav_beforecmd $share] +} + +proc tdav::share::aftercmd { share } { + return [nsv_get tdav_aftercmd $share] +} + +# These actually peform the callbacks for the beginning and end of +# each request +proc tdav::before_callback { share } { + set beforecmd [tdav::share::beforecmd $share] + if {![string equal "" $beforecmd]} { + eval [list $beforecmd] + } +} + +proc tdav::after_callback { share } { + set aftercmd [tdav::share::aftercmd $share] + if {![string equal "" $aftercmd]} { + eval [list $aftercmd] + } +} + +namespace eval tdav::lock {} + +# +# tdav::lock::generate_token +# +# Generate a reasonably unique lock token formatted as a +# string of - seperate hex values +# Basic idea borrowed from +# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/163604 +# +# Arguments: +# none +# +# Return: +# - seperated hex values +# + +proc tdav::lock::generate_token {} { + # genearte a reasonably unique lock token + # using current time + # ip address + # random number from ns_rand + # basic concept from + # + set token_parts "" + append token_parts [clock clicks -milliseconds] + append token_parts [ns_conn peeraddr] + append token_parts [ns_rand 2147483647] + set token "" + binary scan $token_parts i* token_parts_list + set j 1 + set l [llength $token_parts_list] + foreach i $token_parts_list { + append token [format %x $i] + if {$j < $l} { + append token "-" + } + incr j + } + return $token +} + +namespace eval tdav::prop {} + +# tdav::prop::generate_etag +# Generates an etag based on file properties +# Arguments: +# ino inode from file stat +# size size from file stat +# mtime mtime from file stat +# Results: +# Formatted string for use as an etag +# +# Properties API implementations can use this procedure +# to implement the properties get_etag subcommand +# if they don't need their own etag generation code +proc tdav::prop::generate_etag { ino size mtime } { + return [format %x $ino]-[format %x $size]-[format %x $mtime] + +} +# --------------------------------------------------------- +# local filesystem implementation for tdav +# --------------------------------------------------------- + +namespace eval tdav::prop::local {} + +proc tdav::prop::local { cmd uri args } { + return [eval [list tdav::prop::local::${cmd} "${uri}"] $args] +} + +proc tdav::prop::local::update_user_props {uri prop_req} { + set status [list] + + array set props [tdav::dbm_read_list "${uri}"] + + foreach {action i} $prop_req { + # don't allow setting or removal of DAV: required properties + set k [lindex $i 0] + if {![string equal "DAV:" $k]} { + set value [lindex $i 1] + switch -- $action { + set { + if {[catch {set props($k) $value} err]} { + lappend prop_status(409) $k + } else { + lappend prop_status(200) $k + } + + } + remove { + #according to WebDAV spec removing a nonexistent + # property is not an error, if it's there + # remove it, otherwise, continue. + if {[info exists props($k)]} { + unset props($k) + } + lappend prop_status(200) $k + } + } + } + } + tdav::dbm_write_list "${uri}" [array get props] + return [array get prop_status] +} + + +proc tdav::prop::local::get { uri prop_req depth } { + set props [list] + set uri_file [ns_url2file "${uri}"] + set entries [list "${uri}"] + if {$depth > 0 && [file isdirectory "${uri_file}"]} { + set entries [concat $entries [glob -nocomplain -tails -directory "${uri_file}" *]] + } + foreach entry $entries { + set entry_props [list] + regsub {^~} $entry {./~} entry + set file [ns_url2file [file join "${uri}" $entry]] + set filename [file tail $file] + # set href $entry + set href [file join "${uri}" "${entry}"] + file stat $file file_stat + set collection_p [file isdirectory $file] + if {[llength $prop_req] > 0} { + set prop_req_exists 1 + } else { + set prop_req_exists 0 + } + set prop_req_404 $prop_req + + # do this here + if {$collection_p} { + # file join leaves off trailing slash on directories + set href "${href}/" + # use httpd/unix-directory content type (mod_dav) + lappend entry_props {DAV: getcontenttype} "httpd/unix-directory" \ + {DAV: resourcetype} "DAV:collection" + # don't append getcontentlength for collections (mod_dav) + } else { + lappend entry_props {DAV: getcontenttype} [ns_guesstype $filename] \ + {DAV: resourcetype} "" \ + {DAV: getcontentlength} $file_stat(size) + } + + lappend entry_props {DAV: creationdate} \ + [clock format \ + $file_stat(mtime) -format "%Y-%m-%dT%H:%M:%SZ" -gmt 1] \ + {DAV: getlastmodified} \ + [clock format \ + $file_stat(mtime) -format "%a, %d %b %Y %H:%M:%S %Z" -gmt 1] \ + {DAV: getetag} \ + [tdav::prop::generate_etag $file_stat(ino) $file_stat(size) $file_stat(mtime)] + # mod_dav doesn't set displayname + # lappend entry_props [list DAV: displayname] $filename + + # DO LOCK STUFF HERE + set lockcmd [tdav::share::lockcmd [tdav::conn share]] + set supportedlock [eval [list $lockcmd supportedlock $uri]] + set lockinfo [eval [list $lockcmd get $uri]] + lappend entry_props {DAV: supportedlock} $supportedlock \ + {DAV: lockdiscovery} $lockinfo + + + set user_props [tdav::prop::local::get_user_props "${uri}"] + foreach {i j} $user_props { + set prop_req_index [lsearch $prop_req $i] + if {!$prop_req_exists || $prop_req_index > -1 } { + lappend entry_props [list [lindex $i 0] [lindex $i 1]] $j + if {$prop_req_exists && $prop_req_index > -1 } { + + set prop_req_404 [lreplace $prop_req_404 $prop_req_index $prop_req_index {}] + } + } + } + # don't ever return 404 on a DAV property + # per RFC 2518 + set i 0 + foreach prop $prop_req { + if {[string equal "DAV:" [lindex $prop 0]]} { + set prop_req_404 [lreplace $prop_req_404 $i $i {}] + } + incr i + } + + set propstat [list 200 $entry_props 404 $prop_req_404] + lappend props [list $href $collection_p $propstat] + + + } + return $props + +} + +proc tdav::prop::local::update { uri prop_req } { + if {![string equal "" $prop_req]} { + # don't update if there isn't anything to update + return [tdav::prop::local::update_user_props "${uri}" $prop_req] + } +} + +# tdav::prop::local::get_etag +# generate an etag +# +# Arguments: +# uri +# Results: +# unique etag based on file properties + +proc tdav::prop::local::get_etag { uri } { + file stat [ns_url2file $uri] file_stat + return [tdav::prop::generate_etag $file_stat(ino) $file_stat(size) $file_stat(mtime)] +} + +# tdav::get_user_props +# +# Retreive user properties from tDAV filesystem storage +# +# Arguments: +# uri URI of the request +# depth valid for collections (directories) can be 0 1 or infinity +# 0 is the directory only +# 1 is the directory and direct descendants +# infinity is all decendants, this is the default if depth +# is not specified +# prop_req should contain a list of name/value pairs of properties +# to return. Right now it is unsupported and all properties +# are always returned +# +# Results: +# returns a list of name/value pairs + + +# LEG27032005: changed two "luri" ocurrencies to "uri" + +proc tdav::prop::local::get_user_props { uri } { + regsub {^/} "${uri}" {} uri + + set p [tdav::dbm_read_list $uri] + return $p +} + +# filesystem specific utilities + + +# tdav::dbm_write_list +# +# helper fxns for dbm-like props +# Writes a list to a properties file +# +# Arguments: +# uri URI of the request being handled +# list properties formatted in a Tcl list as +# propertyname value +# +# Results: +# file written including contents of list + +proc tdav::dbm_write_list {uri list} { + set file [tdav::get_prop_file "${uri}"] + if {[catch {set f [open $file w]} err]} { + # probably no parent dir, create it: + file mkdir [file dirname $file] + # open again: + set f [open $file w] + } + fconfigure $f -encoding utf-8 + puts $f $list + close $f +} + +# tdav::get_prop_file +# +# Get the filename that contains user properties. +# +# Arguments: +# uri URI to get properties filename for +# +# Results: +# Returns the filename containing user properties. + +proc tdav::get_prop_file {uri} { + # just in case. I hate that 'file join' fails on this + regsub {^/} "${uri}" {} uri + + # log this for failed config section + set name [ns_config "ns/server/[ns_info server]/tdav" propdir] + + if {[string equal "" $name]} { + set name [file join [ns_info pageroot] "../propdir/${uri}"] + } else { + set name [file join $name "${uri}"] + } + + # catch uncreated parent dirs here: + if {![file exists [file dirname $name]]} { + # no parent dir, create it: + file mkdir [file dirname $name] + # safe for public consumption? + } + return "${name}.prop" +} + +# tdav::delete_props +# +# Delete the properties file for a URI +# +# Arguments: +# uri URI of properties file to delete +# +# Results: +# File containing user properties for URI is deleted + +proc tdav::prop::local::remove {uri args} { + set entry [tdav::get_prop_file "${uri}"] + catch {[file delete -force $entry]} err + return err +} + +# tdav::move_props +# +# Move the properties file for a URI +# +# Arguments: +# uri Original URI +# newuri New URI after move +# +# Results: +# Properties file is moved under the properties directory +# to the relative location for newuri + +proc tdav::prop::local::move { uri newuri } { + set entry [tdav::get_prop_file "${uri}"] + set dest [tdav::get_prop_file "${newuri}"] + catch {[file copy -force $entry "${dest}"]} +} + +# tdav::copy_props +# +# Copy properties file for a URI to another URI +# +# Arguments: +# uri source URI to copy +# newuri destination URI of copy +# +# Results: +# Contents of properties file for URI is copied +# under the properties directory to the relative +# location corresponding to newuri. + +proc tdav::prop::local::copy { uri newuri } { + set entry [tdav::get_prop_file "${uri}"] + set dest [tdav::get_prop_file "${newuri}"] + catch {[file copy -force $entry "${dest}"]} +} + +proc tdav::dbm_read_list {uri} { + set file [tdav::get_prop_file "${uri}"] + set f [open $file {CREAT RDONLY}] + fconfigure $f -encoding utf-8 + set s [read $f] + return $s +} + + +# local filesystem lock implementation + +namespace eval tdav::lock::local {} + +proc tdav::lock::local { cmd uri args } { + return [eval [list tdav::lock::local::${cmd} "${uri}"] $args] +} + + +# tdav::get_lock_file +# +# Get the filename of the lock file +# +# Arguments: +# uri URI to get the lock filename for +# +# Results: +# Returns the filename containing the lock information for URI + +proc tdav::lock::local::get_lock_file {uri} { + # just in case. I hate that 'file join' fails on this + regsub {^/} "${uri}" {} uri + +# LEG27032005 / resource did not work, because it comes as // so we do +# the regsup again. This gives as a lockfile named after the lockdir +# con .lock extension... Not nice, but it works for me, for now. +# How about faked or failing input /// collections... + regsub {^/} "${uri}" {} uri + + # log this for failed config section + set name [ns_config "ns/server/[ns_info server]/tdav" lockdir] + + if {[string equal "" $name]} { + set name [file join [ns_info pageroot] "../lockdir/${uri}"] + } else { + set name [file join $name "${uri}"] + } + if {![file exists [file dirname $name]]} { + # no parent dir, create it: + file mkdir [file dirname $name] + # safe for public consumption? + } + + return "${name}.lock" +} + +# tdav::read_lock +# +# Read lock file for a URI +# +# Arguments: +# uri URI to retrieve lock +# +# Results: +# Returns the contents of the lock file. Contents will +# be evaluated before being returned. + +proc tdav::lock::local::get {uri args} { + set lock_file [tdav::lock::local::get_lock_file $uri] + if {![file exists $lock_file]} { + return "" + } + set f [open $lock_file {CREAT RDONLY}] + set s [read $f] + set e "list ${s}" + set l [eval $e] + close $f + + return $l +} + + +proc tdav::lock::local::update {uri depth type scope owner {timeout ""} {locktime ""}} { + if {[string equal "" $timeout]} { + set timeout [ns_config "ns/server/[ns_info server]/tdav" "defaultlocktimeout" "300"] + } + if {[string equal "" $locktime]} { + set locktime [clock format [clock seconds]] + } + set token "opaquelocktoken:[tdav::lock::generate_token]" + set lock [list $type $scope $owner $token $timeout $depth $locktime] + tdav::lock::local::write_lock "${uri}" $lock + return $token + +} + +proc tdav::lock::local::write_lock {uri list} { + set f [open [tdav::lock::local::get_lock_file "${uri}"] w] + puts $f $list + close $f +} + +# tdav::lock::local::remove +# +# Delete lock file, effectively also removing the lock +# +# Arguments: +# uri URI to remove lock from +# +# Results: +# Lock file for URI is deleted + +proc tdav::lock::local::remove {uri args} { + # in addition I'd like to support shared locks, and make sure we + # delete the correct lock + ns_unlink -nocomplain [tdav::lock::local::get_lock_file "${uri}"] +} + +# tdav::lock_timeout_left +# +# timeout +# total length of timeout set in seconds +# +# locktime +# time lock was created in any format clock scan can accept +# + +proc tdav::lock_timeout_left { timeout locktime } { + + set locktime [clock scan $locktime] + set lockexpiretime [clock scan "$timeout seconds" -base $locktime] + set timeout_left [expr $lockexpiretime - [clock seconds]] + if {$timeout_left < 0} { + set timeout_left 0 + } + return $timeout_left +} + +# tdav::lock::local::supportedlock +# local filesystem implementation (for demostration) +# or supportedlock subcommand +# Arguments: +# uri +# +# Results: +# list of type,scope pairs of support +# This is just hard coded for every resource. This shows what +# locks that are supported, not necessarily that the requesting +# user has permission to use. +# At the current time this implementation only supports +# write exclusive locks. +# + +proc tdav::lock::local::supportedlock { uri args } { + return [list write exclusive write shared] +} + +# tdav::check_lock +# +# Compare existing lock to lock token provided +# by the client +# +# Arguments: +# uri URI of request +# +# Results: +# If the lock token in the Lock-Token header matches +# an existing lock return "unlocked". Processing of +# transction from the caller should continure. If +# the lock doesn't match return "filter_return". Generally +# this means either no Lock-Token header was provided or +# the Lock-Token header does not match the existing lock +# on URI. In this case the caller should return an HTTP +# status of 423 or otherwise treat the file as locked. + +proc tdav::check_lock {uri args} { + # TODO Deprecated - Use lock API to be developed + regsub {^/} "${uri}" {} uri + # if lock exists, work. if not, just return. + set lockcmd [tdav::share::lockcmd [tdav::conn share]] + set lockinfo [eval [list $lockcmd get $uri]] + if {![string equal "" $lockinfo]} { + + # check if lock is expired + if {[tdav::lock_timeout_left [lindex $lockinfo 4] [lindex $lockinfo 6]] == 0 } { + tdav::lock::local::remove "${uri}" + return "unlocked" + } + set hdr [ns_set iget [ns_conn headers] If] + + # the If header exists, work, otherwise 423 + + if {[info exists hdr] && [string length $hdr]} { + set token "" + # add ? in the token re in case there is a conditional () + # in the header + regexp {(]+)>\s+)?\(<([^>]+)>\)} $hdr nil maybe hdr_uri token + + set ftk [lindex $lockinfo 3] + if {![info exists token] || ![string equal $token $ftk]} { + ns_log Debug "tdav::check_lock: token mismatch $ftk expected hdr: $hdr token: $token" + ns_return 423 {text/plain} {} + return filter_return + } + } else { + ns_log Debug "tdav::check_lock: no \"If\" header found for request of ${uri}" + ns_return 423 {text/plain} {} + return filter_return + } + # also check for uri == hdr_uri + } + return unlocked +} + +# tdav::check_lock_for_unlock +# +# Compare existing lock with client provided lock token. +# +# Arguments: +# uri URI of the request +# +# Results: +# If the client provided lock token matches the existing lock the +# lock is removed and "unlocked" is returned. Otherwise no action +# is taken on the lock and "filter_return" is returned. + +proc tdav::check_lock_for_unlock {uri args} { + # TODO Deprecated - Use lock API to be developed + regsub {^/} "${uri}" {} uri + # if lock exists, work. if not, just return. + set lock_info [tdav::lock::local::get "${uri}"] + if {![string equal "" $lock_info]} { + set hdr [ns_set iget [ns_conn headers] {Lock-Token}] + # the If header exists, work, otherwise 423 + if {[info exists hdr] && [string length $hdr]} { + regexp {<([^>]+)>} $hdr nil token + set ftk [lindex $lock_info 3] + if {[info exists token] && [string equal $token $ftk]} { + # it's good, the tokens match. carry on. + } else { + return filter_return + } + } else { + return filter_return + } + # also check for uri == hdr_uri + } + return unlocked +} + +# tdav::authenticate +# +# Handles authentication. Extracts authentication information from +# HTTP headers and calls authentication plug-in +# +# Arguments: none +# +# Side Effects: if not authenticated returns 401 Unauthorized HTTP response +# to the client + +proc tdav::authenticate { share } { + + # should be something like "Basic 29234k3j49a" + set a [ns_set get [ns_conn headers] Authorization] + # get the second bit, the base64 encoded bit + set up [lindex [split $a " "] 1] + # after decoding, it should be user:password; get the username + set l [split [ns_uudecode $up] ":"] + set user [lindex $l 0] + set password [lindex $l 1] + # get all the information the authentication plug-in might need + set overwrite [tdav::conn -set overwrite [ns_set iget [ns_conn headers] Overwrite]] + set destination [ns_urldecode [ns_set iget [ns_conn headers] Destination]] + # TODO fix to accomodate https also! + regsub {https?://[^/]+/} "${destination}" {/} dest + tdav::conn -set destination "${dest}" + set depth [tdav::conn -set depth [ns_set iget [ns_conn headers] Depth]] + + set method [tdav::conn method] + set uri [ns_conn url] + + set authcmd [tdav::share::authcmd $share] + + set auth_p [eval [list $authcmd $uri $method $user $password \ + $dest $depth $overwrite]] + if {!$auth_p} { + tdav::return_unauthorized + } + # if we got this far, the user is authorized to perform the request + return + +} + +namespace eval tdav::auth {} + +proc tdav::auth::local { uri method user password dest depth overwrite } { + if {![string equal "ns_perm" [info commands "ns_perm"]]} { + # if ns_perm is not loaded deny everything + ns_log warning "Local authentication is active but nsperm module is not loaded." + return 0 + } + # local authentication requires ns_perm + # since ns_perm already checked the authorization we only need to + # check on COPY or MOVE operations where we need to check against + # the destination + switch -- [string toupper $method] { + COPY { + # on COPY check PUT on destination + return [string equal OK [ns_requestauthorize PUT $dest $user $password]] + # FIXME check depth + } + MOVE { + # on MOVE check DELETE on source and PUT on destination + return [expr {[string equal OK [ns_requestauthorize DELETE $uri $user $password]] \ + && [string equal OK [ns_requestauthorize PUT $dest $user $password]]}] + # FIXME check depth + } + default { + return 1 + } + } +} + + + +# +# NOTE this only works if you have Skiplocks TRUE in the AOLserver +# config file +# LEG27032005: Allow acces to every user/group in every share. +# +proc init_tDAV { } { + + set tdav_shares [ns_configsection "ns/server/[ns_info server]/tdav/shares"] + if { ![string equal "" $tdav_shares] } { + for {set i 0} {$i < [ns_set size $tdav_shares]} {incr i} { + set tdav_share [ns_configsection "ns/server/[ns_info server]/tdav/share/[ns_set key $tdav_shares $i]"] + + # Check if we use the nsperm module for auth. + + if {[ns_set get $tdav_share authcommand] == "tdav::auth::local"} { + # just DENY everything to the world + set uri [ns_set get $tdav_share uri] + ns_perm denyuser GET $uri "" + ns_perm denyuser PUT $uri "" + ns_perm denyuser HEAD $uri "" + ns_perm denyuser OPTIONS $uri "" + ns_perm denyuser MKCOL $uri "" + ns_perm denyuser MOVE $uri "" + ns_perm denyuser DELETE $uri "" + ns_perm denyuser COPY $uri "" + ns_perm denyuser POST $uri "" + ns_perm denyuser PROPFIND $uri "" + ns_perm denyuser PROPPATCH $uri "" + ns_perm denyuser LOCK $uri "" + ns_perm denyuser UNLOCK $uri "" + + + # now allow all methods to all users/groups in the configfile + set options [ns_set get $tdav_share options] + set users [ns_set get $tdav_share users] + set groups [ns_set get $tdav_share groups] + + foreach user $users { + foreach option $options { + ns_perm allowuser $option $uri $user + ns_log debug "tDAV: ns_perm allowser $option $uri $user" + } + } + foreach group $groups { + foreach option $options { + ns_perm allowgroup $option $uri $group + } + } + ns_log notice "tDAV: permissions initialized" + } + } + } +} + +init_tDAV --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/tdav.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/tdav.tcl @@ -0,0 +1,37 @@ +# /etc/aolserver4/tdav.tcl +# LEG27032005 +# + +foreach share $conf($server,shares) { + $ns_section ns/server/${server}/tdav/share/${share} + $ns_param uri $conf($server,$share,dav_uri) + $ns_param options $conf($server,$share,dav_options) + $ns_param propcommand tdav::prop::local + $ns_param lockcommand tdav::lock::local + $ns_param authcommand tdav::auth::local + if [info exists conf($server,$share,dav_users)] { + $ns_param users $conf($server,$share,dav_users) + } + if [info exists conf($server,$share,dav_groups)] { + $ns_param groups $conf($server,$share,dav_groups) + } +} + +$ns_section ns/server/${server}/tdav/shares + +foreach share $conf($server,shares) { + $ns_param $share $conf($server,$share,dav_description) +} + +$ns_section ns/server/${server}/tdav +$ns_param propdir ${vardir}/${package}/dav/${server}/properties +$ns_param lockdir ${vardir}/${package}/dav/${server}/locks +$ns_param defaultlocktimeout 300 + +# TODO: integrate this ones +#$ns_param directorycmd +#$ns_param redirects {} +# before and after request callbacks +# commented out, these are optional +#$ns_param beforecallback tdav::before +#$ns_param aftercallback tdav::after --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/aolserver-php5-cgi-wrapper +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/aolserver-php5-cgi-wrapper @@ -0,0 +1,4 @@ +#!/bin/sh +SCRIPT_FILENAME=$1 +export SCRIPT_FILENAME +exec php5-cgi --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/server.tcl +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/server.tcl @@ -0,0 +1,237 @@ +# server.tcl +# LEG30032005 +# + +#### this file is not user servicable ############################## + +set debug $conf($server,debug) + +if ![info exists conf($server,directoryproc)] { + set conf($server,directoryproc) _ns_dirlist +} + +if ![info exists conf($server,directorylisting)] { + set conf($server,directorylisting) fancy +} + +$ns_section ns/server/${server}/tcl +$ns_param library $conf($server,tcllibrary) +$ns_param autoclose on +$ns_param debug $debug + +$ns_section ns/server/${server} +$ns_param directoryfile $conf($server,directoryfile) +$ns_param pageroot $conf($server,pageroot) +$ns_param maxconnections 5 +$ns_param maxdropped 0 +$ns_param maxthreads 5 +$ns_param minthreads 5 +$ns_param threadtimeout 120 +$ns_param globalstats false ;# Enable built-in statistics +$ns_param urlstats false ;# Enable URL statistics +$ns_param maxurlstats 1000 ;# Max number of URL's to do stats on +# TODO: make it a parameter. +#$ns_param directoryadp [file join $pageroot dirlist.adp] ;# Choose one or the other +$ns_param directoryproc $conf($server,directoryproc) +$ns_param directorylisting $conf($server,directorylisting) + +# +# ADP (AOLserver Dynamic Page) configuration +# +$ns_section ns/server/${server}/adp +$ns_param map /*.adp ;# Extensions to parse as ADP's +#$ns_param map "/*.html" ;# Any extension can be mapped +$ns_param enableexpire false ;# Set "Expires: now" on all ADP's +$ns_param enabledebug $debug ;# Allow Tclpro debugging with "?debug" +$ns_param defaultparser fancy + +$ns_section ns/server/${server}/adp/parsers +$ns_param fancy ".adp" + +$ns_section ns/server/${server}/redirects +#$ns_param 404 "server/file-not-found.html" +#$ns_param 403 "server/forbidden.html" + +# +# Fastpath serves HTML +# +$ns_section "ns/server/${server}/fastpath" +$ns_param cache true ; # Enable cache for normal URLs +$ns_param cachemaxentry 8192 ; # Largest file size allowable in cache +$ns_param cachemaxsize [expr 5000*1024] ; # Size of fastpath cache +$ns_param mmap true ; # Use mmap() for cache +$ns_param topdir $conf($server,pageroot); +$ns_param directoryproc $conf($server,directoryproc) +$ns_param directorylisting $conf($server,directorylisting) + + +# +# Database configuration +# + +if [info exists conf(${server},database)] { + $ns_log debug "ns_db: trying: $conf(${server},config_db)" + source $conf(${server},config_db) +} else { + $ns_log debug "ns_db: no database config specified" +} + + +# +# Modules configuration +# + + +# +# Access log -- nslog +# +$ns_section ns/server/${server}/module/nslog +$ns_param file /var/log/${package}/${server}/access.log +$ns_param enablehostnamelookup false +$ns_param logcombined true +#$ns_param logrefer false +#$ns_param loguseragent false +$ns_param maxbackup 1000 +$ns_param rollday * +$ns_param rollfmt %Y-%m-%d-%H:%M +$ns_param rollhour 0 +$ns_param rollonsignal true +$ns_param rolllog true + +# TODO: default configuration for other modules + +# +# SSL configurations +# + +if [info exists conf(${server},config_ssl)] { + $ns_log debug "nsopenssl: trying $conf(${server},config_ssl)" + source $conf(${server},config_ssl) +} else { + $ns_log debug "nsopenssl: no ssl config required/specified" +} + +set modules $conf(${server},modules) + +# +# nsjava - aolserver module that embeds a java virtual machine. Needed to +# support webmail. See http://nsjava.sourceforge.net for further +# details. This may need to be updated for OpenACS4 webmail +# +if {[lsearch $modules nsjava] >= 0} { + + # TODO: untested + # TODO: This is clearly not cross platform compatible + set classpath /usr/local/jdk/jdk118_v1/lib/classes.zip + + append classpath ":[file join ${homedir} bin nsjava.jar]" + append classpath ":[file join $conf(${server},pageroot) webmail java activation.jar]" + append classpath ":[file join $conf(${server},pageroot) webmail java mail.jar]" + append classpath ":[file join $conf(${server},pageroot) webmail java]" + + $ns_section ns/server/${server}/module/nsjava + $ns_param enablejava off ;# Set to on to enable nsjava. + $ns_param verbosejvm off ;# Same as command line -debug. + $ns_param loglevel Notice + $ns_param destroyjvm off ;# Destroy jvm on shutdown. + $ns_param disablejitcompiler off + $ns_param classpath $classpath +} + + +# +# CGI interface -- nscgi, if you have legacy stuff. +# +if {[lsearch $modules nscgi]} { + $ns_section "ns/server/${server}/module/nscgi" + $ns_param map "GET /cgi-bin /usr/lib/cgi-bin" + $ns_param map "POST /cgi-bin /usr/lib/cgi-bin" + + if [info exists conf(${server},config_cgi)] { + source $conf(${server},config_cgi) + } + $ns_param Interps CGIinterps +} + +# +# LDAP module -- nsldap +# + +if [info exists conf(${server},ldapDefaultPool)] { + $ns_log debug "nsldap: configuring ldap" + $ns_section "ns/server/${server}/ldap" + $ns_param Pools $conf(${server},ldapPools) + $ns_param DefaultPool $conf(${server},ldapDefaultPool) +} else { + $ns_log debug "nsldap: no ldap configuration found/specified" +} + + +# +# WebDAV configuration +# + +if [info exists conf(${server},shares)] { + $ns_log debug "tDAV: trying [libfile tdav.tcl]" + source [libfile tdav.tcl] +} else { + $ns_log debug "tDAV: no DAV configuration found/specified" +} + + +# +# Basic Authentication -- nsperm +# + +$ns_log debug "ns_perm: sourcing permissions from: [conffile ${permdir} ${server}.tcl]" + +if [file exists [conffile ${permdir} ${server}.tcl]] { + source [conffile ${permdir} ${server}.tcl] +} + +# +# nssock +# +if {($conf($server,address) ne "virtual") \ + && ($conf($server,address) ne $conf($defaultserver,address))} { + + ns_log notice "ns_sock: $server" + ns_section ns/server/${server}/module/nssock + $ns_param port $conf($server,httpport) + $ns_param hostname $conf($server,hostname) + $ns_param address $conf($server,address) + + lappend modules nssock +} + +# +# Modules to load +# +$ns_section ns/server/${server}/modules + +foreach module $modules { + + switch $module { + nsdb {if ![info exists conf(${server},database)] continue} + nsopenssl + {if ![info exists conf(${server},httpsport)] continue} + nsldap {if ![info exists ldappools] continue} + } + if 0 { + if {![info exists conf(${server},database)] + && ($module == "nsdb")} { continue } + + if {![info exists conf(${server},httpsport)] + && ($module == "nsopenssl")} { continue } + + if {![info exists ldappools] + && ($module == "nsldap" ) { continue } + } + } + set modulepath [file join ${homedir} bin ${module}${modext}] + if [file exists $modulepath] { + $ns_param $module $modulepath + $ns_log debug "nsd: ${modulepath} loaded." + } +} + --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/aolserver4-init +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/aolserver4-init @@ -0,0 +1,70 @@ +#!/bin/sh +# +# Start the AOLServer HTTP server. +# + +NAME=aolserver4 +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/lib/$NAME/run +AOLSERVER=/usr/sbin/$NAME-nsd +PID_DIR=/var/run/$NAME +PIDFILE=$PID_DIR/$NAME.pid + +trap "" 1 + +[ -f $AOLSERVER ] || exit 0 + +if [ ! -d $PID_DIR ]; then + mkdir -p -m 0755 $PID_DIR +fi + +start() +{ + echo -n "Starting web server: $NAME" + + start-stop-daemon --start --quiet \ + --exec $DAEMON --pidfile $PIDFILE --oknodo -- daemon >/dev/null 2>&1 + if [ $? != 0 ]; then + echo " ... failed" + exit 1 + else + echo "." + fi +} + +stop() +{ + echo -n "Stopping web server: $NAME" + start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo >/dev/null 2>&1 + if [ $? != 0 ]; then + echo " ... failed" + exit 2 + else + echo "." + fi +} + + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + reload|force-reload|restart) + stop + sleep 2 + start + ;; + + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload|force-reload}" + exit 1 + ;; +esac + +exit 0 + --- aolserver4-4.5.1.orig/debian/examples/aolconf-1.01/minimal.cfg +++ aolserver4-4.5.1/debian/examples/aolconf-1.01/minimal.cfg @@ -0,0 +1,15 @@ +# /etc/aolserver4/domains.cfg +# LEG 28032005 +# +# This is a minimal configuration file. +# See the doumentation or +# +# http://www.magma.com.ni/sw/aolserver +# +# For a more contrived configuration +# + +server main "AOLServer Site" { + fqdn localhost + bind 127.0.0.1:80 +} --- aolserver4-4.5.1.orig/debian/po/fr.po +++ aolserver4-4.5.1/debian/po/fr.po @@ -0,0 +1,136 @@ +# translation of fr.po to French +# Translation of aolserver4 debconf screen to French +# Copyright (C) 2004-2009 Debian French l10n team +# This file is distributed under the same license as the aolserver4 package. +# +# Christian Perrier , 2004-2009. +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-03-29 10:21+0200\n" +"Last-Translator: Christian Perrier \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nom d'hôte du serveur :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver utilise le nom d'hôte pour la redirection des URL de pages ainsi " +"que pour s'identifier lui-même." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Il s'agit en général du nom DNS complètement qualifié de la machine, ou " +"« localhost », si celle-ci n'est pas reliée au réseau. Tout nom pouvant " +"servir de base à la construction d'une URL valide peut être utilisé." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Adresse IP du serveur :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver a besoin d'une adresse IP sur laquelle il sera à l'écoute." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"L'adresse par défaut est l'adresse de bouclage (« loopback »). Si le serveur " +"est destiné à être accessible à distance, il est nécessaire de remplacer " +"cette adresse par l'adresse de l'interface réseau concernée." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Port TCP du serveur :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver a besoin d'un numéro de port d'écoute pour son fonctionnement. Ce " +"numéro sera presque toujours 80 (le port standard HTTP) mais peut être " +"différent si vous avez installé un autre serveur WWW ou si un autre service " +"est à l'écoute sur ce port." + +#, fuzzy +#~| msgid "" +#~| "The server needs at least an IP address to listen to. It is generally " +#~| "the primary Ethernet interface (or the loopback address, if the server " +#~| "will be used just locally)." +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "Le serveur doit utiliser au moins une adresse IP, sur laquelle il sera à " +#~ "l'écoute. Le plus souvent, il s'agit de l'interface Ethernet principale " +#~ "(ou l'adresse de bouclage, « loopback », si vous n'utilisez le serveur " +#~ "que localement)." + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "L'adresse par défaut est l'adresse de bouclage, ce qui est déconseillé " +#~ "pour une utilisation classique (réseau ou Internet)." + +#~ msgid "It is recommended using the default." +#~ msgstr "Il est conseillé d'utiliser la valeur par défaut." + +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "Présentation de AOLserver 4" + +#~ msgid "" +#~ "AOLserver is a multithreaded, Tcl-enabled, high-performance webserver." +#~ msgstr "" +#~ "AOLserver est un serveur web à performances élevées, basé sur des " +#~ "processus légers (« multithread ») et gérant Tcl." + +#~ msgid "" +#~ "This software is designed to run multiple domains on a single machine. " +#~ "Just one (main) will be setup right now. The configuration file in /etc/" +#~ "aolserver4 and its init script can be modified for more complicated multi-" +#~ "site configurations." +#~ msgstr "" +#~ "Il est prévu pour gérer plusieurs domaines sur un seul serveur. Un seul " +#~ "domaine va être automatiquement configuré. Le fichier de configuration " +#~ "situé dans /etc/aolserver4 et le script de lancement peuvent être " +#~ "modifiés pour mettre en place des configurations plus complexes." --- aolserver4-4.5.1.orig/debian/po/it.po +++ aolserver4-4.5.1/debian/po/it.po @@ -0,0 +1,91 @@ +# Italian translation of aolserver4 debconf messages. +# Copyright (C) 2012, aolserver4 package copyright holder +# This file is distributed under the same license as the aolserver4 +# package. +# Davide Gliozzi , 2010 +# Beatrice Torracca , 2012. +msgid "" +msgstr "" +"Project-Id-Version: aolserver\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2012-05-03 21:36+0200\n" +"Last-Translator: Beatrice Torracca \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.7.1\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nome host del server:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver richiede un nome host da usare negli URL di reindirizzamento e per " +"identificarsi." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"In genere è il nome host DNS pienamente qualificato del computer oppure " +"localhost, se non è in rete. Può essere usato qualsiasi nome valido come " +"stringa URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Indirizzo IP del server:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver necessita di un indirizzo IP sui cui rimanere in ascolto." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"L'indirizzo predefinito è quello dell'interfaccia di loopback. Se il server " +"deve essere accessibile da remoto, si deve sostituire a questo valore " +"l'indirizzo dell'interfaccia di rete appropriata." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Porta TCP del server:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver richiede che venga assegnato un numero di porta per il suo uso. " +"Quasi sempre è la porta 80 (la porta HTTP standard), ma può essere diversa " +"se è installato un altro server web, o se qualche altro servizio è in " +"ascolto su tale porta." --- aolserver4-4.5.1.orig/debian/po/pt_BR.po +++ aolserver4-4.5.1/debian/po/pt_BR.po @@ -0,0 +1,279 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2004-08-06 20:57-0300\n" +"Last-Translator: Andre Luis Lopes \n" +"Language-Team: Debian-BR Project \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +#, fuzzy +msgid "Server hostname:" +msgstr "Informe um nome de host :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +#, fuzzy +#| msgid "" +#| "The server needs an hostname to be exposed on redirect pages URL and for " +#| "informative purposes to identify itself." +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"Este servidor precisa de um nome de host, o qual ser exibido em URLS de " +"pginas de redirecionamento e para propsitos informativos para sua prpria " +"identificao." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +#, fuzzy +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"O nome de host geralmente o nome de host DNS totalmente qualificado de seu " +"computador, ou localhost, caso seu computador no esteja em rede. Utilize " +"qualquer nome que possa ser legalmente considerado em uma string de URL em " +"seu ambiente." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +#, fuzzy +msgid "Server IP address:" +msgstr "Informe um nmero de endereo IP :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +#, fuzzy +msgid "Server TCP port:" +msgstr "Informe uma porta TCP :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +#, fuzzy +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"O AOLserver precisa de um nmero de porta designado para seu uso. Este " +"nmero , na maioria das vezes, a porta 80 (a porta HTTP padro), mas pode " +"ser diferente caso voc possua um segundo servidor Web instalado ou possua " +"algum outro servio ouvindo nessa porta." + +#, fuzzy +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "Este servidor precisa de pelo menos um endereo IP no qual o mesmo ir " +#~ "ouvir. Geralmente, este endereo o endereo IP da inteface de rede " +#~ "primria (ou o endereo de loopback, caso voc pense em utilizar o " +#~ "servidor somente localmente)." + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "O endereo IP padro o endereo de loopback, o que no recomendado " +#~ "para uso geral (em rede ou Internet)." + +#, fuzzy +#~ msgid "It is recommended using the default." +#~ msgstr " recomendado que voc use o padro." + +#, fuzzy +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "Bem-vindo ao AOLserver 4." + +#~ msgid "" +#~ "AOLserver is a multithreaded, Tcl-enabled, high-performance webserver." +#~ msgstr "" +#~ "O AOLserver um servidor Web com suporte a multithreading, Tcl e oferece " +#~ "alta performance." + +#, fuzzy +#~ msgid "" +#~ "This software is designed to run multiple domains on a single machine. " +#~ "Just one (main) will be setup right now. The configuration file in /etc/" +#~ "aolserver4 and its init script can be modified for more complicated multi-" +#~ "site configurations." +#~ msgstr "" +#~ "Este software foi criado para hospedar mltiplos domnios em uma nica " +#~ "mquina. Porm, somente um site (o principal) ser configurado agora. O " +#~ "arquivo de configurao /etc/aolserver4 e os scripts de inicializao " +#~ "podero ser modificados posteriormente para configuraes mais " +#~ "complicadas." + +#~ msgid "localhost" +#~ msgstr "localhost" + +#~ msgid "127.0.0.1" +#~ msgstr "127.0.0.1" + +#~ msgid "80" +#~ msgstr "80" + +#~ msgid "Enter the Group AOLserver should operate within:" +#~ msgstr "Informe o grupo dentro do qual o AOLserver dever operar :" + +#~ msgid "" +#~ "The www-data group is the Group ID most web-related activities are " +#~ "performed under. You may not have this group setup if you have a non-" +#~ "standard system, such as an upgrade to Debian from another type of Linux, " +#~ "or if you are using a different group for this purpose. If you do not, it " +#~ "will be created for you automatically." +#~ msgstr "" +#~ "O grupo www-data o ID de grupo dentro do qual a maioria das atividades " +#~ "relacionadas a web so executadas. Voc pode no ter esse grupo " +#~ "configurado se voc no possui um sistema padro, como uma atualizao " +#~ "para o Debian a partir de um outro tipo de Linux, ou se voc est usando " +#~ "um grupo diferente para este propsito. Se voc no o possui, o mesmo " +#~ "ser criado para voc automaticamente." + +#~ msgid "www-data" +#~ msgstr "www-data" + +#~ msgid "Enter the User AOLserver should operate as:" +#~ msgstr "Informe o usurio com o qual o AOLserver ir operar:" + +#~ msgid "" +#~ "The aolserver user is the User ID most web-related activities are " +#~ "performed under. You probably don't have this user set up if you have " +#~ "never installed AOLserver before. It will be created for you " +#~ "automatically." +#~ msgstr "" +#~ "O usurio aolserver o id de usurio com o qual a maioria das atividades " +#~ "relacionadas a web so executadas. Voc provavelmente no tem esse " +#~ "usurio configurado se voc nunca instalou o AOLserver antes. Ele ser " +#~ "criado para voc automaticamente." + +#~ msgid "Note: This should *NOT* be your regular user id." +#~ msgstr "Nota: Este *NO* dever ser seu id de usurio normal." + +#~ msgid "/var/www" +#~ msgstr "/var/www" + +#~ msgid "Enter the Document Root directory:" +#~ msgstr "Informe o diretrio Document Root :" + +#~ msgid "" +#~ "Most systems place all web-related documents someplace under the /var/www " +#~ "directory. You may have a different setup at your site if your system " +#~ "administrator has modified the standard Debian configuration. On standard " +#~ "systems, this directory is needed." +#~ msgstr "" +#~ "A maioria dos sistemas colocam todos os documentos relacionados a web sob " +#~ "o diretrio /var/www. Voc pode ter uma configurao diferente em seu " +#~ "site se seu administrador de sistema modificou a configurao padro do " +#~ "Debian. Em sistemas padro, este diretrio necessrio." + +#~ msgid "main" +#~ msgstr "main" + +#~ msgid "Please enter the AOLserver domain name:" +#~ msgstr "Por favor informe o nome do domnio do AOLserver :" + +#~ msgid "" +#~ "AOLserver can run multiple domains on a single machine. We will only be " +#~ "installing one at this time. You need to supply the name you wish the " +#~ "system to use when referencing this domain. For example, if you will be " +#~ "hosting the domain \"www.fooland.com\", you might choose the name " +#~ "\"Fooland\" for internal use." +#~ msgstr "" +#~ "O AOLserver pode rodar mltiplos domnios em uma nica mquina. Iremos " +#~ "instalar somente um domnio desta vez. Voc precisa informar o nome que " +#~ "voc deseja que o sistema use quando se refere a este domnio. Por " +#~ "exemplo, se voc for hospedar o domnio \"www.fooland.com\", voc poder " +#~ "escolher o nome \"Fooland\" para uso interno." + +#~ msgid "" +#~ "This will also be the tag used inside AOLserver's internal scripts and " +#~ "logging systems to signify this particular server instance." +#~ msgstr "" +#~ "Esta ser tambm a tag usada dentro dos scripts internos e sistemas de " +#~ "logging do AOLserver para significar este domnio em particular." + +#~ msgid "" +#~ "Note: This really has nothing to do with the real Domain Name your web " +#~ "server will use when talking to the rest of the world. It is safe to use " +#~ "the default." +#~ msgstr "" +#~ "Nota: Isto realmente no tem nada a ver com o Nome de Domnio real que " +#~ "seu servidor web usar quando conversando com o resto do mundo. seguro " +#~ "usar o padro." + +#, fuzzy +#~ msgid "Enter the Web Server IP:" +#~ msgstr "Informe a porta HTTP do servidor web :" + +#~ msgid "Enter the Web Server HTTP Port:" +#~ msgstr "Informe a porta HTTP do servidor web :" + +#~ msgid "New CGI path convention:" +#~ msgstr "Nova conveno de caminho CGI :" + +#~ msgid "" +#~ "New Debian policy for web servers requires system CGI programs that " +#~ "reside in /usr/lib/cgi-bin are now aliased as /cgi-lib instead of /cgi-" +#~ "bin." +#~ msgstr "" +#~ "A nova poltica para servidores web requerem que programas CGI que " +#~ "residem em /usr/lib/cgi-bin tenham agora aliases como /cgi-lib ao invs " +#~ "de /cgi-bin." + +#~ msgid "" +#~ "The old alias /cgi-bin should now point to a local CGI path, e.g. /usr/" +#~ "local/cgi-bin, but you have to do it yourself by adding a new Map in nsd " +#~ "configuration Tcl file under /etc/aolserver." +#~ msgstr "" +#~ "O alias antigo /cgi-bin dever agora apontar para o caminho CGI local, " +#~ "por exemplo, /usr/local/cgi-bin, mas voc precisa fazer isso manualmente " +#~ "editando um novo mapa no arquivo de configurao Tcl em /etc/aolserver." + +#~ msgid "The new configuration is automatically set for the current domain." +#~ msgstr "" +#~ "A nova configurao automaticamente definida para o domnio atual." --- aolserver4-4.5.1.orig/debian/po/templates.pot +++ aolserver4-4.5.1/debian/po/templates.pot @@ -0,0 +1,76 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" --- aolserver4-4.5.1.orig/debian/po/gl.po +++ aolserver4-4.5.1/debian/po/gl.po @@ -0,0 +1,88 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# marce villarino , 2009. +msgid "" +msgstr "" +"Project-Id-Version: templates_[DU3423]\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-15 21:26+0200\n" +"Last-Translator: marce villarino \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nome do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"O AOLserver precisa empregar un nome de servidor para redirixir os URL da " +"páxina e para identificarse a si mesmo." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Polo xeral é o nome DNS de máquina completo do ordenador, ou localhost se " +"non está en rede. Pode empregar calquera nome válido para un URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Enderezo IP do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver precisa dun enderezo IP ao que escoitar." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"O predeterminado é o enderezo da interface de loopback. Se o servidor debe " +"estar accesíbel desde lugares remotos isto debería substituírse polo " +"enderezo da interface de rede apropriada." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Porto TCP do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"O AOLserver precisa ter asignado un número de porto para o seu uso. Case que " +"sempre é o porto 80 (o porto estándar de HTTP), pero pode ser diferente se " +"ten outro servidor web instalado, ou se outro servizo está a escoitar nese " +"porto." --- aolserver4-4.5.1.orig/debian/po/vi.po +++ aolserver4-4.5.1/debian/po/vi.po @@ -0,0 +1,89 @@ +# Vietnamese translation for aolserver4. +# Copyright © 2009 Free Software Foundation, Inc. +# Clytie Siddall , 2005-2009. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.1-5.1\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-09-23 17:48+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Tên máy phục vụ :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"Trình phục vụ AOLserver cần một tên máy để sử dụng cho địa chỉ URL của các " +"trang chuyển tiếp, và để nhận diện chính nó." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Bình thường giá trị này là tên máy DNS đầy đủ khả năng của máy tính, hoặc " +"localhost (máy cục bộ) nếu máy tính không chạy mạng. Có thể sử dụng bất cứ " +"tên nào vẫn còn hợp lệ đối với một chuỗi địa chỉ URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Địa chỉ IP trình phục vụ :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "Trình phục vụ AOLserver cần một địa chỉ IP trên đó có thể lắng nghe." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Giá trị mặc định là địa chỉ của giao diện mạch nội bộ. Nếu trình phục vụ nên " +"cho phép truy cập từ xa thì giá trị này bị thay thế bởi địa chỉ của giao " +"diện mạng thích hợp." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Cổng TCP trình phục vụ :" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver cần một số thứ tự cổng được gán cho nó sử dụng. Số này gần luôn " +"luôn là cổng 80 (cổng HTTP tiêu chuẩn), nhưng có thể khác biệt nếu một trình " +"phục vụ Web khác đã được cài đặt, hoặc nếu một dịch vụ khác đang lắng nghe " +"trên cổng đó." --- aolserver4-4.5.1.orig/debian/po/dz.po +++ aolserver4-4.5.1/debian/po/dz.po @@ -0,0 +1,129 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2006-11-30 03:05+0530\n" +"Last-Translator: yangka \n" +"Language-Team: dzongkha \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2;plural=(n!=1);\n" +"X-Poedit-Language: Dzongkha\n" +"X-Poedit-Country: BHUTAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +#, fuzzy +#| msgid "" +#| "The server needs an hostname to be exposed on redirect pages URL and for " +#| "informative purposes to identify itself." +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"སར་བར་་འདི་ལུ་ཡུ་ཨར་ཨེལ་ཤོག་ལེབ་ཚུ་སླར་ཐད་ཀར་གུ་མདངས་ཕོག་ནི་ལུ་ཧོསཊི་མིང་ཅིག་་དང་་འདིའི་བརྡ་དོན་" +"ཅན་དགོས་དོན་ངོས་འཛིན་ནི་དོན་ལུ་་དགོཔ་ཨིན།" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +#, fuzzy +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"ཡོངས་ཁྱབ་ཀྱི་ཁྱོད་རའི་གློག་རིག་ཡང་ན་ཉེ་གནས་ཧོསཊི་གི་ཌི་ཨེན་ཨེསི་ཧོསཊི་ནེམ་འདི་ཡོངས་འབྲེལ་ཡོདཔ་མེན་པ་ཅིན་" +"ཁྱད་ཆོས་གངམ་སྦེ་ཚང་ཡོདཔ་ཨིན། ཁྱོད་རའི་མཐའ་འཁོར་ནང་ཡུ་ཨར་ཨེལ་ཡིག་རྒྱུན་ཅིག་ནང་ལི་གཱལལི་སྦེ་མཉམ་མཐུད་" +"པའི་མིང་གང་རུང་ལག་ལེན་འཐབ།" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +#, fuzzy +msgid "Server IP address:" +msgstr "ཊི་སི་པི་འདྲེན་ལམ:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +#, fuzzy +#| msgid "IP address to listen to:" +msgid "AOLserver needs an IP address to listen to." +msgstr "ལུ་ཉན་ནི་ལུ་ཁ་བྱང་ཨའི་པི:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +#, fuzzy +msgid "Server TCP port:" +msgstr "ཊི་སི་པི་འདྲེན་ལམ:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +#, fuzzy +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"ཨེ་ཨོ་ཨེལ་སར་བར་ལུ་འདི་ལག་ལེན་འཐབ་ནི་ལུ་འདྲེན་ལམ་ཨང་འགན་སྤྲོད་ཡོད་མི་ཅིག་དགོཔ་ཨིན། འདི་ཧ་ལམ་ཨ་" +"རྟག་རང་་འདྲེན་ལམ་ ༨༠ (འོས་ལྡན་ཨེཆ་ཊི་ཊི་པི་འདྲེན་ལམ)ཨིན་རུང་ཁྱོད་ཀྱིས་ཝེབ་སར་བར་གཉིས་པམ་ཅིག་གཞི་" +"འཛུགས་ཡོད་པ་ཅིན་ཡང་ན་འདྲེན་ལམ་འདི་གུ་གཞན་ཞབས་ཏོག་ལ་ལོ་ཉན་པའི་བསྒང་ཨིན་པ་ཅིན་སོ་སོ་འོང་།" + +#, fuzzy +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "སར་བར་འདི་ལུ་་ཉུང་མཐའ་ལུ་ཉན་ནི་ལུ་ཨའི་པི་ཁ་བྱང་ཅིག་དགོཔ་ཨིན། ཡོངས་ཁྱབ་ཀྱི་གཞི་རིམ་ཨི་ཐར་ནེཊི་" +#~ "ངོས་འདྲ་བ་(ཡང་ན་ལུཔ་བེཀ་ཁ་བྱང་ ཁྱོད་རང་སར་བར་འདི་ཉེ་གནས་ལུ་ལག་ལེན་འཐབ་ནི་ཨིན་པ་ཅིན)ཨིན།" + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "སྔོན་སྒྲིག་ཁ་བྱང་འདི་ཡོངས་ཁྱབ་དོན་ལུ་(ཡོངས་འབྲེལ་ཡང་ན་ཨིན་ཊར་ནེཊི་)ལག་ལེན་མ་འཐབ་མི་འོས་སྦྱོར་མ་" +#~ "འབད་བར་ཡོད་མི་ལུཔ་བེཀ་གཅིག་ཨིན།" + +#, fuzzy +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "སར་བར་འདིའི་དོན་ལུ་ཧོསཊི་ནེམ:" + +#~ msgid "The default value is recommended." +#~ msgstr "སྔོན་སྒྲིག་གནས་གོང་འདི་འོས་སྦྱོར་་འབད་ཡོདཔ།" --- aolserver4-4.5.1.orig/debian/po/fi.po +++ aolserver4-4.5.1/debian/po/fi.po @@ -0,0 +1,87 @@ +# Copyright (C) 2009 +# This file is distributed under the same license as the aolserver4 package. +# +# Esko Arajärvi , 2009. +msgid "" +msgstr "" +"Project-Id-Version: aolserver4\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-07 22:33+0300\n" +"Last-Translator: Esko Arajärvi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Palvelimen verkkonimi:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver tarvitsee verkkonimen, jota käytetään palvelimen identifioimiseen " +"ja URLien uudelleenohjauksissa." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Tämä on yleensä koneen täydellinen verkkotunnus tai ”localhost”, jos kone ei " +"ole verkossa. Mitä tahansa URLiksi kelpaavaa merkkijonoa voidaan käyttää." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Palvelimen IP-osoite:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver tarvitsee IP-osoitteen, jota kuunnella." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Oletus on takaisinkytkentäliitännän osoite. Jos koneeseen tulisi voida ottaa " +"yhteyksiä etänä, tämä tulisi korvata oikean verkkoliitännän osoitteella." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Palvelimen TCP-portti:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver tarvitsee käyttöönsä porttinumeron. Tämä on lähes aina portti 80 " +"(standardi HTTP-portti), mutta voi olla jokin toinen, jos järjestelmään on " +"asennettuna toinen verkkopalvelin tai joku muu palvelu kuuntelee kyseistä " +"porttia." --- aolserver4-4.5.1.orig/debian/po/pl.po +++ aolserver4-4.5.1/debian/po/pl.po @@ -0,0 +1,90 @@ +# Translation of aolserver4 debconf templates to Polish. +# Copyright (C) 2010 +# This file is distributed under the same license as the aolserver4 package. +# +# Michał Kułach , 2012. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2012-04-26 01:12+0200\n" +"Last-Translator: Michał Kułach \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nazwa serwera:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver wymaga podania nazwy hosta, która będzie użyta do jego " +"identyfikacji oraz do przekierowania URL-i stron." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Zazwyczaj jest to pełna nazwa domenowa DNS komputera lub localhost, jeśli " +"nie pracuje on w sieci. Może zostać użyta każda nazwa, będąca poprawnym " +"łańcuchem URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Adres IP:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver wymaga adresu IP, na którym będzie nasłuchiwał." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Domyślnym adresem jest interfejs pętli zwrotnej (loopback). Jeśli serwer ma " +"być dostępny z zewnątrz, należy zastąpić go adresem odpowiedniego interfejsu " +"sieciowego." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Port TCP serwera:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver wymaga przypisania numeru portu. Jest to prawie zawsze port 80 " +"(standardowy port HTTP), ale może zostać zmieniony, jeśli zainstalowany jest " +"inny serwer WWW lub jakaś inna usługa nasłuchuje na tym porcie." --- aolserver4-4.5.1.orig/debian/po/ru.po +++ aolserver4-4.5.1/debian/po/ru.po @@ -0,0 +1,101 @@ +# Translation of AOLserver4 debconf PO to Russian +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-transDevelopers do not need to manually edit POT or PO files. +# +# Yuri Kozlov , 2006. +# Sergey Korobitsin , 2007. +# Sergey Alyoshin , 2008. +# +# +msgid "" +msgstr "" +"Project-Id-Version: 4.5.1-2_ru\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-02 23:43+0400\n" +"Last-Translator: Sergey Alyoshin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Имя сервера:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"Для AOLserver требуется имя, которое будет использоваться в URL на страницах " +"перенаправления и в информативных целях для самоидентификации." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Обычно здесь указывается либо полное DNS-имя компьютера, либо localhost, " +"если машина не в сети. Используйте любое имя, которое допустимо указывать в " +"URL-строке." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "IP-адрес сервера:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver необходим IP-адрес для приёма запросов." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"По умолчанию используется адрес loopback-интерфейса. Но если сервер должен " +"быть доступен по сети, то следует использовать адрес соответствующего " +"сетевого интерфейса." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "TCP-порт сервера:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"Для AOLserver требуется назначить номер используемого порта. Почти всегда " +"номер порта равен 80 (стандартный порт HTTP), но он может быть другим, если " +"установлен второй веб-сервер или на этом порту уже работает другой сервис." --- aolserver4-4.5.1.orig/debian/po/ja.po +++ aolserver4-4.5.1/debian/po/ja.po @@ -0,0 +1,95 @@ +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.1-11\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2010-01-09 11:02+0900\n" +"Last-Translator: Hideki Yamane (Debian-JP) \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "サーバのホスト名:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver は、リダイレクトを行うページの URL やそれ自身を識別するための情報と" +"して、公開するホスト名が必要です。" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"コンピュータの完全修飾ドメイン名、またはネットワーク接続されていないなど大抵" +"の場合は localhost が利用されます。あなたの利用環境下で URL 文字列として正し" +"く扱うことの可能な名前を使ってください。" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "サーバの IP アドレス:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver は listen するのに IP アドレスが必要です。" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"デフォルトは loopback インターフェイスのアドレスです。サーバがリモートからア" +"クセスできるようにするためには、これを正しいネットワークインターフェイスのア" +"ドレスに入れ替える必要があります。" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "サーバの TCP ポート番号:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver は利用に際してポート番号の指定が必要です。これは通常はポート 80 (標" +"準の HTTP ポート番号) ですが、別の web サーバをすでにインストールしている、ま" +"たは他のサービスがこのポートで待ち受けている場合は違ってくるかもしれません。" --- aolserver4-4.5.1.orig/debian/po/sv.po +++ aolserver4-4.5.1/debian/po/sv.po @@ -0,0 +1,98 @@ +# translation of aolserver4_4.5.0-16_sv.po to Swedish +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# Developers do not need to manually edit POT or PO files. +# +# Martin Ågren , 2008. +msgid "" +msgstr "" +"Project-Id-Version: aolserver4_4.5.0-16_sv\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-07 19:52+0100\n" +"Last-Translator: Martin Bagge \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Swedish\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Serverns värdnamn:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver behöver ett värdnamn som kan visas på omdirigeringssidor och för " +"att identifiera sig själv." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Det är vanligtvis det fullständiga DNS-värdnamnet på din dator eller " +"\"localhost\" om den inte är nätverksansluten. Alla namn som kan vara en " +"giltig URL kan användas." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "IP-address för server:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver behöver en IP-adress att lyssna på." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Standardvärdet är adressen på vändslingegränssnittet (loopback). Om servern " +"ska vara åtkomlig för fjärranslutningar ska detta ersättas med adressen för " +"rätt nätverksgränssnitt." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Serverns TCP-port:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver behöver ett portnummer att använda. Det är nästan alltid port 80 " +"(standardporten för HTTP), men kan vara något annat om du har en annan " +"webbserver installerad, eller har någon annan tjänst som lyssnar på den " +"porten." --- aolserver4-4.5.1.orig/debian/po/POTFILES.in +++ aolserver4-4.5.1/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] aolserver4-daemon.templates --- aolserver4-4.5.1.orig/debian/po/pt.po +++ aolserver4-4.5.1/debian/po/pt.po @@ -0,0 +1,137 @@ +# Portuguese translation of aolserver4 debconf messages. +# This file is distributed under the same license as the aolserver4 package. +# 2006-11-30 - Rui Branco - initial translation +# Rui Branco , 2008 +# Miguel Figueiredo , 2009 +# +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.0-15\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-11 11:24+0100\n" +"Last-Translator: Miguel Figueiredo \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nome da máquina do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"O AOLserver necessita de um nome de máquina para redireccionar URLs de " +"páginas e para se identificar a si próprio." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Normalmente é o nome totalmente qualificado de DNS do seu computador ou " +"máquina local se não estiver ligado à rede. Pode ser utilizado qualquer nome " +"válido para uma string de URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Endereço IP do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "O AOLserver necessita de um endereço IP para escutar." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"O predefinido é o endereços do interface loopback. Se o servidor tem ser " +"remotamente acessível isto deve ser substituido pelo enderelos do interface " +"de rede apropriado." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Porto TCP do servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"O AOLserver necessita de um número de porta dedicado para o seu uso. " +"Normalmente é quase sempre a porta 80 (a porta standard HTTP), mas pode ser " +"diferente se tiver instalado outro servidor web, ou se possui qualquer outro " +"serviço a escutar nessa porta." + +#, fuzzy +#~| msgid "" +#~| "The server needs at least an IP address to listen to. It is generally " +#~| "the primary Ethernet interface (or the loopback address, if the server " +#~| "will be used just locally)." +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "O servidor necessita de escutar pelo menos um endereço IP. É geralmente a " +#~ "interface Ethernet primária (ou o endereço 'loopback' se quiser usar o " +#~ "servidor apenas localmente)." + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "O endereço por omissão é o de 'loopback', que não é recomendado para uso " +#~ "geral (rede ou Internet)." + +#~ msgid "It is recommended using the default." +#~ msgstr "É recomendado que use a resposta por omissão" + +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "Bem vindo ao AOLserver 4" + +#~ msgid "" +#~ "AOLserver is a multithreaded, Tcl-enabled, high-performance webserver." +#~ msgstr "" +#~ "O AOLserver é um servidor web multi-tarefa , activado para TCL e de alta " +#~ "performance." + +#~ msgid "" +#~ "This software is designed to run multiple domains on a single machine. " +#~ "Just one (main) will be setup right now. The configuration file in /etc/" +#~ "aolserver4 and its init script can be modified for more complicated multi-" +#~ "site configurations." +#~ msgstr "" +#~ "Este software é desenhado para correr múltiplos domínios numa única " +#~ "máquina. Apenas um (principal) será configurado agora. O ficheiro de " +#~ "configuração em/etc/aolserver4 e os seus 'init scripts' podem ser " +#~ "modificados para configurações multi-site mais complexas." + +#~ msgid "The default value is recommended." +#~ msgstr "O valor por omissão é recomendado." --- aolserver4-4.5.1.orig/debian/po/de.po +++ aolserver4-4.5.1/debian/po/de.po @@ -0,0 +1,92 @@ +# translation of de.po to Deutsch +# German translation of aolserver4 templates +# This file is distributed under the same license as the aolserver4 package. +# +# Helge Kreutzmann , 2006, 2007. +# Thomas Mueller , 2009. +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.0-6\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-03-30 23:21+0200\n" +"Last-Translator: Thomas Mueller \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Server-Hostname:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"Der AOL-Server bentigt einen Hostnamen, um Seiten-URLs umzuleiten und " +"zurSelbstidentifikation." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Im Allgemeinen ist dies der voll-qualifizierte DNS-Hostname des Rechners " +"oder localhost, falls er nicht vernetzt ist. Es kann irgendeinen Name " +"verwendet werden, der auch eine gltige URL-Zeichenkette ist." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Server-IP-Adresse:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "" +"AOL-Server bentigt eine IP-Adresse, auf der Anfragen erwartet werden sollen." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Standardmig wird die Adresse der Loopback-Schnittstelle benutzt. Falls der " +"Server ber das Netzwerk erreichbar sein soll, sollte diese durch die " +"dazugehrige Adresse der Netz-Schnittstelle ersetzt werden." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Server-TCP-Port:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOL-Server bentigt einen Port um zu funktionieren. Dies ist fast immer Port " +"80 (der Standard HTTP-Port), es kann aber bei der Verwendung eines weiteren " +"Webservers oder falls ein anderer Dienst diesen Port nutzt auch ein anderer " +"Port sein." --- aolserver4-4.5.1.orig/debian/po/eu.po +++ aolserver4-4.5.1/debian/po/eu.po @@ -0,0 +1,100 @@ +# translation of aolserver-eu.po to Euskara +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +# Piarres Beobide , 2009. +msgid "" +msgstr "" +"Project-Id-Version: aolserver-eu\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-07 23:25+0200\n" +"Last-Translator: Piarres Beobide \n" +"Language-Team: Euskara \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Basque\n" +"X-Generator: KBabel 1.11.4\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Zerbitzariaren ostalari-izena:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOL zerbitzariak ostalari izen bat behar du orrialde URL berbideraketa egin " +"eta bere burua identifikatzeko." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Arruntean zure ordenagailuaren guztiz kualifikatutako DNS ostalari izena " +"(fqdn), edo sarerik ez izan ezkero localhost izaten da. URL kate batetarako " +"edozein baliozko izen erabili daiteke." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Zerbitzariaren IP helbidea:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOL zerbitzariak IP helbide bat behar du entzuteko." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Lehenetsia loopback interfazearen helbidea da. Zerbitzaria kanpoaldetik " +"eskuragarri izan behar bada hau dagokion sare interfazearen helbidearekin " +"ordeztu beharko da." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Zerbitzariaren TCP ataka:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOL zerbitzariak bere erabilerako ezarritako TCP ataka zenbakia behar du. " +"Hau gehienetan 80 ataka izaten da (HTTP ataka estandarra), baina beste bat " +"erabil dezakezu beste web zerbitzari bat instalaturik baduzu edo ataka hori " +"erabiltzen beste zerbitzu bat baduzu." --- aolserver4-4.5.1.orig/debian/po/da.po +++ aolserver4-4.5.1/debian/po/da.po @@ -0,0 +1,138 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.0-16.1\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-04-07 10:55+0200\n" +"Last-Translator: Frank Damgaard \n" +"Language-Team: Danish\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Indtast værtsnavn:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver kræver et værtsnavn til URL-viderestilling og til at identificere " +"sig." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Det er generelt det fuldt-kvalificerede DNS-værtsnavn på din maskine, eller " +"localhost hvis det ikke er på netværket. Brug hvilket som helst navn, som " +"kan være en gyldig URL-streng." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Indtast værts IP-adresse:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver kræver en IP-adresse at lytte på." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Som standard er dette adressen på loopback netværksenheden. Hvis serveren " +"skal være tilgængelig fra netværket, så skal denne adresse udskiftes med " +"adressen for den pågældende netværksenhed." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Indtast værts TCP-port:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver kræver et portnummer tildelt. Dette er næsten altid 80 (standard " +"HTTP-porten), men kan være en anden hvis du har installeret en anden " +"webserver, eller hvis du har andre services lyttende på denne port." + +# +#~| msgid "" +#~| "The server needs at least an IP address to listen to. It is generally " +#~| "the primary Ethernet interface (or the loopback address, if the server " +#~| "will be used just locally)." +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "Serveren kræver mindst én IP-adresse at lytte på. Det er generelt den " +#~ "primære ethernet-enhed (eller loopback adressen, hvis du kun vil bruge " +#~ "serveren lokalt)." + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "Standardadressen er loopback, som ikke er anbefalet for generelt (netværk " +#~ "eller internet) brug." + +#~ msgid "It is recommended using the default." +#~ msgstr "Det er anbefalet at du bruger standardværdien." + +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "Velkommen til AOLserver 4" + +#~ msgid "" +#~ "AOLserver is a multithreaded, Tcl-enabled, high-performance webserver." +#~ msgstr "AOLserver er en multitrådet, Tcl-aktiveret, højydelse webserver." + +#~ msgid "" +#~ "This software is designed to run multiple domains on a single machine. " +#~ "Just one (main) will be setup right now. The configuration file in /etc/" +#~ "aolserver4 and its init script can be modified for more complicated multi-" +#~ "site configurations." +#~ msgstr "" +#~ "Denne software er lavet til at køre flere domæner på en enkelt maskine. " +#~ "Vi vil kun sætte en (main) op nu. Du kan redigere opsætningsfilen i /etc/" +#~ "aolserver4 og dens init-script selv, hvis du vil have en mere kompliceret " +#~ "opsætning." --- aolserver4-4.5.1.orig/debian/po/nl.po +++ aolserver4-4.5.1/debian/po/nl.po @@ -0,0 +1,90 @@ +# Dutch translation of aolserver4 debconf templates. +# Copyright (C) 2004-2012 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the aolserver4 package. +# Luk Claes , 2004. +# Jeroen Schot , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.1-15\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2012-02-06 12:30+0100\n" +"Last-Translator: Jeroen Schot \n" +"Language-Team: Debian l10n Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Server-computernaam:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver heeft een computernaam nodig voor doorwijspagina's en " +"identificatiedoeleinden." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Dit is typisch de volledige computernaam ('FQDN') van uw computer, of " +"localhost indien uw computer niet op een netwerk is aangesloten. Gebruik een " +"willekeurige naam die op uw netwerk als een geldige URL-string kan worden " +"gezien." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Server-IP-adres:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver heeft een IP-adres nodig om op te luisteren." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"De standaardwaarde is het adres van de loopback-interface. Als deze server " +"ook vanaf buiten beschikbaar moet zijn dan moet deze worden vervangen dor " +"het adres van de betreffende netwerk-interface." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Server-TCP-poort:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"Er moet aan AOLserver een poortnummer worden toegewezen. Dit is meestal " +"poort 80 (de standaard HTTP-poort), maar het kan daarvan afwijken als u een " +"tweede webserver heeft geïnstalleerd, of als een andere dienst op deze poort " +"luistert." --- aolserver4-4.5.1.orig/debian/po/cs.po +++ aolserver4-4.5.1/debian/po/cs.po @@ -0,0 +1,136 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-03-29 09:39+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Jméno serveru:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver potřebuje znát jméno počítače, které se bude používat pro URL " +"přesměrovaných stránek a také pro účely vlastní identifikace." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Obvykle se zadává plně kvalifikované doménové jméno počítače, nebo v " +"případě, že počítač není v síti, „localhost“. Zadejte libovolné jméno, které " +"se považovat za platné URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "IP adresa serveru:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver vyžaduje IP adresu, na které bude naslouchat." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"Výchozí adresou je adresa lokální smyčky. Pokud má být server dostupný i z " +"jiných počítačů, měli byste zadat IP adresu vhodného síťového rozhraní." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "TCP port serveru:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver vyžaduje pro své použití přiřazené číslo portu. Nejčastěji to bývá " +"port 80 (standardní HTTP port), ale můžete zvolit nějaký jiný, třeba v " +"případě, že již máte port 80 obsazen druhým webovým serverem nebo jinou " +"službou." + +#~ msgid "" +#~ "AOLserver needs at least an IP address to listen to. It is generally the " +#~ "primary Ethernet interface (or the loopback address, if the server will " +#~ "be used just locally)." +#~ msgstr "" +#~ "AOLserver vyžaduje minimálně IP adresu, na které má poslouchat. Obvykle " +#~ "to bývá adresa na primárním ethernetovém rozhraní (nebo adresa lokální " +#~ "smyčky, pokud používáte server pouze místně)." + +#~ msgid "" +#~ "The default address is the loopback one, which is not recommended for " +#~ "general (network or Internet) use." +#~ msgstr "" +#~ "Výchozí adresou je adresa lokální smyčky, což se pro běžné použití (v " +#~ "síti nebo Internetu) nedoporučuje." + +#~ msgid "It is recommended using the default." +#~ msgstr "Doporučuje se použít výchozí hodnotu." + +#~ msgid "Welcome to the AOLserver 4" +#~ msgstr "Vítejte v AOLserveru 4" + +#~ msgid "" +#~ "AOLserver is a multithreaded, Tcl-enabled, high-performance webserver." +#~ msgstr "" +#~ "AOLserver je vysoce výkonný vícevláknový webový server s podporou Tcl." + +#~ msgid "" +#~ "This software is designed to run multiple domains on a single machine. " +#~ "Just one (main) will be setup right now. The configuration file in /etc/" +#~ "aolserver4 and its init script can be modified for more complicated multi-" +#~ "site configurations." +#~ msgstr "" +#~ "Tento software byl navržen pro běh několika domén na jediném počítači. " +#~ "Nyní nastavíme pouze jednu (hlavní) doménu, další si můžete nastavit v " +#~ "konfiguračním souboru /etc/aolserver4. Pro komplikovanější nasazení " +#~ "můžete upravit i spouštěcí skript aolserveru." + +#~ msgid "The default value is recommended." +#~ msgstr "Doporučuje se použít výchozí hodnotu." --- aolserver4-4.5.1.orig/debian/po/es.po +++ aolserver4-4.5.1/debian/po/es.po @@ -0,0 +1,112 @@ +# aolserver4 po-debconf translation to Spanish +# Copyright (C) 2006, 2008, 2009 Software in the Public Interest +# This file is distributed under the same license as the aolserver4 package. +# +# Changes: +# - Initial translation +# Nacho Barrientos Arias , 2006 +# +# - Updates +# Francisco Javier Cuadrado , 2008, 2009 +# +# Traductores, si no conoce el formato PO, merece la pena leer la +# documentacin de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Equipo de traduccin al espaol, por favor, lean antes de traducir +# los siguientes documentos: +# +# - El proyecto de traduccin de Debian al espaol +# http://www.debian.org/intl/spanish/ +# especialmente las notas de traduccin en +# http://www.debian.org/intl/spanish/notas +# +# - La gua de traduccin de po's de debconf: +# /usr/share/doc/po-debconf/README-trans +# o http://www.debian.org/intl/l10n/po-debconf/README-trans +# +msgid "" +msgstr "" +"Project-Id-Version: aolserver4 4.5.1-2\n" +"Report-Msgid-Bugs-To: aolserver4@packages.debian.org\n" +"POT-Creation-Date: 2010-01-19 14:38+0100\n" +"PO-Revision-Date: 2009-03-29 13:24+0100\n" +"Last-Translator: Francisco Javier Cuadrado \n" +"Language-Team: Debian l10n Spanish \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "Server hostname:" +msgstr "Nombre de la mquina del servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"AOLserver needs a hostname to use for redirect page URLs and for identifying " +"itself." +msgstr "" +"AOLserver necesita un nombre de mquina para utilizar en las redirecciones " +"de las URL de las pginas y para identificarse a s mismo." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:2001 +msgid "" +"It is generally the fully-qualified DNS hostname of the computer, or " +"localhost if it is not networked. Any name valid for a URL string can be " +"used." +msgstr "" +"Generalmente es el nombre de la mquina totalmente apto para DNS, o " +"localhost si no est en red. Se puede utilizar cualquier nombre vlido " +"para una URL." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "Server IP address:" +msgstr "Direccin IP del servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "AOLserver needs an IP address to listen to." +msgstr "AOLserver necesita una direccin IP en la que escuchar." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:3001 +msgid "" +"The default is the address of the loopback interface. If the server is to be " +"remotely accessible this should be replaced by the address of the " +"appropriate network interface." +msgstr "" +"El valor predeterminado es la direccin de la interfaz loopback. Este " +"valor se debera reemplazar por la direccin de la interfaz de red " +"apropiada, si se accede remotamente al servidor." + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "Server TCP port:" +msgstr "Puerto TCP del servidor:" + +#. Type: string +#. Description +#: ../aolserver4-daemon.templates:4001 +msgid "" +"AOLserver needs a port number assigned for its use. This is almost always " +"port 80 (the standard HTTP port), but might be different if another web " +"server is installed, or some other service is listening on that port." +msgstr "" +"AOLserver necesita que se le asigne un puerto para su uso. ste casi siempre " +"es el puerto 80 (el puerto estndar para HTTP), pero puede ser diferente si " +"se ha instalado otro servidor web, o tiene algn otro servicio escuchando en " +"ese puerto." --- aolserver4-4.5.1.orig/debian/patches/Makefile.global.dpatch +++ aolserver4-4.5.1/debian/patches/Makefile.global.dpatch @@ -0,0 +1,16 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## Makefile.global.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Debian specific path + +@DPATCH@ +diff -urNad aolserver4-4.5.0~/include/Makefile.global aolserver4-4.5.0/include/Makefile.global +--- aolserver4-4.5.0~/include/Makefile.global 2006-04-13 22:11:35.000000000 +0200 ++++ aolserver4-4.5.0/include/Makefile.global 2007-04-18 17:19:48.000000000 +0200 +@@ -36,4 +36,4 @@ + # which just includes the new ns.mak file. + # + +-include $(AOLSERVER)/include/ns.mak ++include /usr/share/aolserver4/ns.mak --- aolserver4-4.5.1.orig/debian/patches/00list +++ aolserver4-4.5.1/debian/patches/00list @@ -0,0 +1,7 @@ +Makefile +ns.mak.in +Makefile.module +Makefile.global +httptime +nsinstall-man.sh +ld-fix --- aolserver4-4.5.1.orig/debian/patches/nsinstall-man.sh.dpatch +++ aolserver4-4.5.1/debian/patches/nsinstall-man.sh.dpatch @@ -0,0 +1,50 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## nsinstall-man.sh.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch move manpages from section n in section 3 and normalizes links + +@DPATCH@ +diff -urNad aolserver4-4.5.0~/util/nsinstall-man.sh aolserver4-4.5.0/util/nsinstall-man.sh +--- aolserver4-4.5.0~/util/nsinstall-man.sh 2007-04-18 19:27:55.000000000 +0200 ++++ aolserver4-4.5.0/util/nsinstall-man.sh 2007-04-18 19:29:04.000000000 +0200 +@@ -101,6 +101,9 @@ + # Create or link man pages for each name. + # + ++if [ "$SECTION" = "n" ]; then ++ SECTION=3 ++fi + if test -z "$HTM"; then + DIR=$DIR/man$SECTION + MAN2HTM=$CAT +@@ -118,12 +121,24 @@ + $RM $file + if test -z "$FIRST"; then + FIRST=$file +- $SED -e "/man\.macros/r $MACROS" -e "/man\.macros/d" $MANPAGE | \ +- $MAN2HTM > $file +- $CHMOD $MODE $file +- $ECHO "created: $file ($MODE)" ++ if test -z "$HTM"; then ++ $SED -e "/man\.macros/r $MACROS" -e "/man\.macros/d" $MANPAGE | \ ++ $SED 's/\(\.TH\) \(\w\+\) [n3] \(.*\)/\1 \2 3aolserver \3/' | \ ++ $MAN2HTM | gzip -9 > ${file}aolserver.gz ++ $CHMOD $MODE ${file}aolserver.gz ++ $ECHO "created: ${file}aolserver.gz ($MODE)" ++ else ++ $SED -e "/man\.macros/r $MACROS" -e "/man\.macros/d" $MANPAGE | \ ++ $MAN2HTM > $file ++ $CHMOD $MODE $file ++ $ECHO "created: $file ($MODE)" ++ fi + else +- $LN $FIRST $file ++ if test -z "$HTM"; then ++ $LN `basename $FIRST`aolserver.gz ${file}aolserver.gz ++ else ++ $LN `basename $FIRST` $file ++ fi + $ECHO "linked: $file" + fi + done --- aolserver4-4.5.1.orig/debian/patches/ld-fix.dpatch +++ aolserver4-4.5.1/debian/patches/ld-fix.dpatch @@ -0,0 +1,26 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## ld-fix.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix for standard ld flag + +@DPATCH@ +diff -urNad aolserver4~/configure aolserver4/configure +--- aolserver4~/configure 2009-02-18 20:24:54.000000000 +0100 ++++ aolserver4/configure 2009-02-18 21:33:39.000000000 +0100 +@@ -2437,14 +2437,7 @@ + ;; + *) + LDLIB="$TCL_SHLIB_LD" +- case "$LDLIB" in +- *gcc*) +- LDLIB="$LDLIB -nostartfiles" +- ;; +- *shared*) +- LDLIB="$LDLIB -nostartfiles" +- ;; +- esac ++ LDLIB="$LDLIB -nostartfiles" + CCRPATH="\$(CCRFLAG)\$(INSTLIB)" + LDRPATH="\$(LDRFLAG)\$(INSTLIB)" + if test "$TCL_EXEC_PREFIX" != "$prefix" --- aolserver4-4.5.1.orig/debian/patches/Makefile.module.dpatch +++ aolserver4-4.5.1/debian/patches/Makefile.module.dpatch @@ -0,0 +1,16 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## Makefile.module.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Debian specific path + +@DPATCH@ +diff -urNad aolserver4-4.5.0~/include/Makefile.module aolserver4-4.5.0/include/Makefile.module +--- aolserver4-4.5.0~/include/Makefile.module 2006-04-13 22:11:35.000000000 +0200 ++++ aolserver4-4.5.0/include/Makefile.module 2007-04-18 00:10:21.000000000 +0200 +@@ -64,4 +64,4 @@ + OBJS=$(LIBOBJS) + endif + +-include $(AOLSERVER)/include/Makefile.global ++include /usr/share/aolserver4/Makefile.global --- aolserver4-4.5.1.orig/debian/patches/Makefile.dpatch +++ aolserver4-4.5.1/debian/patches/Makefile.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## Makefile.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Additional modules compiled in + +@DPATCH@ +diff -urNad aolserver4~/Makefile aolserver4/Makefile +--- aolserver4~/Makefile 2009-03-06 23:02:21.000000000 +0100 ++++ aolserver4/Makefile 2009-03-07 11:05:16.000000000 +0100 +@@ -31,8 +31,8 @@ + # + # + +-bins=nsthread nsd nstclsh +-mods=nsdb nssock nslog nsperm nscgi nscp ++bins=nsthread nsd nstclsh nsproxy ++mods=nsdb nssock nslog nsperm nscgi nscp nsproxy nszlib + dirs=$(bins) $(mods) + + SRCDIR=. --- aolserver4-4.5.1.orig/debian/patches/httptime.dpatch +++ aolserver4-4.5.1/debian/patches/httptime.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## httptime.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix for non en locales + +@DPATCH@ +diff -urNad aolserver4-4.0.10~/nsd/httptime.c aolserver4-4.0.10/nsd/httptime.c +--- aolserver4-4.0.10~/nsd/httptime.c 2003-01-18 20:24:20.000000000 +0100 ++++ aolserver4-4.0.10/nsd/httptime.c 2005-11-10 00:05:53.000000000 +0100 +@@ -27,6 +27,9 @@ + * version of this file under either the License or the GPL. + */ + ++static char *weekdays_names[7] = ++{ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; ++ + + /* + * time.c -- +@@ -92,11 +95,14 @@ + } + + /* +- * This will most likely break if the locale is not an english one. ++ * Using snprintf instead of strftime to always use english names + * The format is RFC 1123: "Sun, 06 Nov 1997 09:12:45 GMT" + */ + +- strftime(buf, 40, "%a, %d %b %Y %H:%M:%S GMT", tmPtr); ++ snprintf(buf, 40, "%s, %d %s %d %02d:%02d:%02d GMT", ++ weekdays_names[tmPtr->tm_wday], tmPtr->tm_mday, ++ month_names[tmPtr->tm_mon], tmPtr->tm_year + 1900, ++ tmPtr->tm_hour, tmPtr->tm_min, tmPtr->tm_sec); + + Ns_DStringAppend(pds, buf); + return pds->string; --- aolserver4-4.5.1.orig/debian/patches/ns.mak.in.dpatch +++ aolserver4-4.5.1/debian/patches/ns.mak.in.dpatch @@ -0,0 +1,73 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## ns.mak.in.dpatch by Francesco Paolo Lovergine +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Debian specific path used in ns.mak.in + +@DPATCH@ +diff -urNad aolserver4~/include/ns.mak.in aolserver4/include/ns.mak.in +--- aolserver4~/include/ns.mak.in 2009-02-28 10:31:15.000000000 +0100 ++++ aolserver4/include/ns.mak.in 2009-02-28 10:36:48.000000000 +0100 +@@ -71,17 +71,19 @@ + INSTSRVPAG = $(INSTSRV)/pages + SH = /bin/sh + ++DEBRPATH = -Wl,-rpath,$(INSTLIB) ++ + # + # Compiler and linker options. + # + + LIBEXT = @TCL_SHLIB_SUFFIX@ + LDLIB = @LDLIB@ +-LDSO = @LDSO@ ++LDSO = @LDSO@ $(DEBRPATH) + CCRFLAG = @CCRFLAG@ + LDRFLAG = @LDRFLAG@ +-CCRPATH += @CCRPATH@ +-LDRPATH += @LDRPATH@ ++CCRPATH += @CCRPATH@ $(DEBRPATH) ++LDRPATH += @LDRPATH@ $(DEBRPATH) + CC = $(PURIFY) @TCL_CC@ + CFLAGS_DEBUG = @TCL_CFLAGS_DEBUG@ + CFLAGS_OPTIMIZE = @TCL_CFLAGS_OPTIMIZE@ +@@ -91,9 +93,9 @@ + DEFS = -DNO_CONST @TCL_DEFS@ @DEFS@ + CFLAGS += @CFLAGS_DEFAULT@ $(CFLAGS_WARNING) $(CFLAGS_EXTRA) $(CFLAGS_INCLUDE) @CPPFLAGS@ $(DEFS) + ifndef SRCDIR +- UTILS = $(AOLSERVER)/bin +- LIBS += -L$(AOLSERVER)/lib -lnsd -lnsthread +- INCDIR = $(AOLSERVER)/include ++ UTILS = /usr/share/aolserver4 ++ LIBS += -L/usr/lib/aolserver4/lib -lnsd -lnsthread ++ INCDIR = /usr/include/aolserver4 + else + UTILS = $(SRCDIR)/util + INCDIR = $(SRCDIR)/include +@@ -198,7 +200,7 @@ + $(DLLBIN): $(OBJS) $(LIBOBJ) + $(RM) $(DLLBIN) + $(LDLIB) $(LDFLAGS) -o $(DLLBIN) $(OBJS) $(LIBOBJ) \ +- $(DLLLIBS) $(LIBS) @LDRPATHS@ ++ $(DLLLIBS) $(LIBS) @LDRPATHS@ $(DEBRPATH) + + $(DLLLIB): $(OBJS) + $(AR) rv $(DLLLIB) $(OBJS) +@@ -206,7 +208,7 @@ + + $(MODBIN): $(MODOBJS) $(DLLBIN) + $(RM) $(MODBIN) +- $(LDSO) $(LDFLAGS) -o $(MODBIN) $(MODOBJS) $(MODLIBS) $(LIBS) @LDRPATHS@ ++ $(LDSO) $(LDFLAGS) -o $(MODBIN) $(MODOBJS) $(MODLIBS) $(LIBS) @LDRPATHS@ $(DEBRPATH) + + $(MODOBJ): $(MODSRC) + $(CC) $(CFLAGS) -DNS_MODINIT=$(MODINIT) -c -o $(MODOBJ) $(MODSRC) +@@ -217,7 +219,7 @@ + $(PGM): $(PGMOBJS) $(DLLLIB) $(DLLBIN) + $(RM) $(PGM) + $(CC) $(LDFLAGS) -o $(PGM) $(PGMOBJS) \ +- $(PGMLIBS) $(CCLIBS) @CCRPATHS@ ++ $(PGMLIBS) $(CCLIBS) @CCRPATHS@ $(DEBRPATH) + + $(MODOBJS) $(OBJS) $(PGMOBJS): $(HDRS) $(INCDIR)/ns.h $(INCDIR)/nsthread.h +