Commit Graph

267 Commits

Author SHA1 Message Date
Eelco Dolstra
f1035de47c * For the generation of manual / manpages, don't evaluate the option
declarations again (because we already have them).  This cuts
  evaluation time from 7.2s to 4.9s.

svn path=/nixos/trunk/; revision=16798
2009-08-21 09:08:55 +00:00
Eelco Dolstra
b48a1c394b * Since atd forks into the background, it wasn't properly monitored by
Upstart.

svn path=/nixos/trunk/; revision=16795
2009-08-21 00:02:45 +00:00
Eelco Dolstra
44fb2e4ecd * Allow adding additional kernel parameters.
svn path=/nixos/trunk/; revision=16792
2009-08-20 23:20:19 +00:00
Lluís Batlle i Rossell
8db9b2ca54 Fixing a typo in nfs-kernel.nix (export -> exports)
svn path=/nixos/trunk/; revision=16785
2009-08-19 20:20:57 +00:00
Lluís Batlle i Rossell
f250f69ee8 Adding xinetd with a possible tftpd server.
svn path=/nixos/trunk/; revision=16784
2009-08-19 20:20:51 +00:00
Michael Raskin
769dc2f7e6 Write an explanation for a rule edit needed by LiveCD
svn path=/nixos/trunk/; revision=16774
2009-08-19 17:24:33 +00:00
Eelco Dolstra
11c603c3fb * Fix booting from CD. 60-persistent-storage.rules requires some
variables set by 60-cdrom_id.rules.

svn path=/nixos/trunk/; revision=16773
2009-08-19 16:48:28 +00:00
Nicolas Pierron
923f58794a Add --rollback option to nixos-rebuild.
svn path=/nixos/trunk/; revision=16771
2009-08-19 15:04:19 +00:00
Nicolas Pierron
5980d130c9 Check sshd.permitRootLogin values.
svn path=/nixos/trunk/; revision=16769
2009-08-19 15:04:05 +00:00
Sander van der Burg
8b229a45c3 Removed the rm -rf command and replaced symlink operations by ln -sfn so that the state of tomcat can be retained \(unless somebody messes it up manually of course\)
svn path=/nixos/trunk/; revision=16757
2009-08-18 11:50:32 +00:00
Eelco Dolstra
447c1ac34a * SLiM / ConsoleKit compatibility hack.
svn path=/nixos/trunk/; revision=16744
2009-08-17 01:35:48 +00:00
Eelco Dolstra
7ab616f659 * Added support for ConsoleKit.
* Let ConsoleKit track the current logins instead of pam_console.
  Udev now takes care of setting the device permissions to the active
  user.  This works much better, since pam_console wouldn't apply
  permissions to new (hot-plugged) devices.  Also, the udev+ConsoleKit
  approach supports user switching.  (We don't have that for X yet,
  but it already works for logins on virtual consoles: if you switch
  between different users on differents VCs with Alt+Fn, the device
  ownership will be changed automatically.)

svn path=/nixos/trunk/; revision=16743
2009-08-17 01:16:38 +00:00
Eelco Dolstra
ac24c7834d * A module for policy-kit (not enabled yet).
svn path=/nixos/trunk/; revision=16738
2009-08-16 21:48:46 +00:00
Eelco Dolstra
7dbf523ddc * dbus: enable support for system services (these are programs that
the bus daemon can start on demand).  ConsoleKit and PolicyKit need
  this.  This requires a setuid wrapper for dbus-daemon-launch-helper,
  as well as a "messagebus" group.

svn path=/nixos/trunk/; revision=16736
2009-08-16 21:46:26 +00:00
Eelco Dolstra
26439de75b * security.setuidPrograms: don't set the default in the "default"
mkOption argument, because then we lose them if somebody sets
  security.setuidPrograms somewhere else.  (Shouldn't "default" be
  merged as well?)

svn path=/nixos/trunk/; revision=16734
2009-08-16 21:11:04 +00:00
Eelco Dolstra
dba1964122 * setuid-wrappers: support setting the mode. For instance, some
programs require that the mode is 4550 so that execution of the
  setuid program can be restricted to members of a group.
* setuid-wrappers: remove a race condition in the creation of the
  wrappers if the ownership or mode was different than root:root and
  4555.
* setuid-wrappers: allow the full path of the wrapped program to be
  specified, rather than looking it up in $PATH.

svn path=/nixos/trunk/; revision=16733
2009-08-16 17:24:59 +00:00
Eelco Dolstra
f31e2718b7 * Print an error if the exec fails.
svn path=/nixos/trunk/; revision=16732
2009-08-16 16:46:00 +00:00
Eelco Dolstra
3b931f7861 * We still need /etc/pam.d/other to keep usermod happy.
svn path=/nixos/trunk/; revision=16731
2009-08-16 15:46:24 +00:00
Eelco Dolstra
2884c9a836 * Style change.
svn path=/nixos/trunk/; revision=16730
2009-08-16 14:54:31 +00:00
Eelco Dolstra
39bffdb34c * Make the generation of /etc/pam.d more declarative. There now is an
option security.pam.services containing the list of PAM services.
  For instance, the SLiM module simply declares:

    security.pam.services = [ { name = "slim"; localLogin = true; } ];

svn path=/nixos/trunk/; revision=16729
2009-08-16 14:49:14 +00:00
Eelco Dolstra
88c505c9e0 * make-etc.sh: fixed the duplicate entry check.
* Inlined make-etc.nix since it's a trivial function.

svn path=/nixos/trunk/; revision=16728
2009-08-16 13:14:33 +00:00
Eelco Dolstra
9493ecc2a4 * Use the hal-info package.
svn path=/nixos/trunk/; revision=16693
2009-08-11 21:16:59 +00:00
Eelco Dolstra
dc093b57dd * Updates to the udev service: support persistant CD-ROM / network
interface names, use udev's own firmware loader, and dropped the
  sndMode option (udev puts all audio devices in the "audio" group, so
  users can be added to that group if necessary).

svn path=/nixos/trunk/; revision=16692
2009-08-11 21:16:15 +00:00
Eelco Dolstra
25dbf1594e * Updates for the new udev and util-linux-ng: fsck is now in
util-linux-ng instead of e2fsprogs, blkid is in util-linux-ng, and
  we need to manually create /dev/.udev prior to starting udevd for
  some reason.

svn path=/nixos/trunk/; revision=16691
2009-08-11 21:12:37 +00:00
Eelco Dolstra
39d1b11ff7 * The mount hack is gone, just use the regular mount from
util-linux-ng and make sure that the needed mount helpers
  (e.g. ntfs3g) are in /var/lib/current-system/sw/sbin.

svn path=/nixos/trunk/; revision=16690
2009-08-11 21:10:33 +00:00
Eelco Dolstra
fd56f110da * Clean up some boot messages.
svn path=/nixos/trunk/; revision=16689
2009-08-11 21:09:25 +00:00
Eelco Dolstra
bed6fd6a61 * `umount -f' causes lots of problems, so don't do it.
svn path=/nixos/trunk/; revision=16688
2009-08-11 21:08:05 +00:00
Eelco Dolstra
bd2fbcf9e5 * Fix the bluetoothd stop condition.
svn path=/nixos/trunk/; revision=16687
2009-08-11 21:06:17 +00:00
Eelco Dolstra
fe329f96ef * Mount the host's /nix/var/nix/db in the guest.
svn path=/nixos/trunk/; revision=16674
2009-08-11 14:28:25 +00:00
Sander van der Burg
e8103aa39d Implemented support for per application configuration files
svn path=/nixos/trunk/; revision=16668
2009-08-11 09:40:31 +00:00
Eelco Dolstra
c21b02d34b * Add some groups required by the latest udev.
svn path=/nixos/trunk/; revision=16667
2009-08-11 09:17:30 +00:00
Eelco Dolstra
f666aa7479 * With "nixos-rebuild build-vm", override the video driver of
the host (since e.g. "nvidia" won't work in the VM).

svn path=/nixos/trunk/; revision=16663
2009-08-11 02:02:01 +00:00
Eelco Dolstra
89ef5c979b * New nixos-rebuild action: "nixos-rebuild build-vm" builds a virtual
machine containing a replica (minus the state) of the system
  configuration.  This is mostly useful for testing configuration
  changes prior to doing an actual "nixos-rebuild switch" (or even
  "nixos-rebuild test").  The VM can be started as follows:

  $ nixos-rebuild build-vm
  $ ./result/bin/run-*-vm

  which starts a KVM/QEMU instance.  Additional QEMU options can be
  passed through the QEMU_OPTS environment variable
  (e.g. QEMU_OPTS="-redir tcp:8080::80" to forward a host port to the
  guest).  The fileSystem attribute of the regular system
  configuration is ignored (using mkOverride), because obviously we
  can't allow the VM to access the host's block devices.  Instead, at
  startup the VM creates an empty disk image in ./<hostname>.qcow2 to
  store the VM's root filesystem.

  Building a VM in this way is efficient because the VM shares its Nix
  store with the host (through a CIFS mount).  However, because the
  Nix store of the host is mounted read-only in the guest, you cannot
  run Nix build actions inside the VM.  Therefore the VM can only be
  reconfigured by re-running "nixos-rebuild build-vm" on the host and
  restarting the VM.

svn path=/nixos/trunk/; revision=16662
2009-08-11 01:35:56 +00:00
Sander van der Burg
ebd2fbd24f Removed mod_jk option, which is obsolete
svn path=/nixos/trunk/; revision=16660
2009-08-10 20:16:33 +00:00
Eelco Dolstra
f003f6d7cd * Fixed the path to the services tree. This should be a NixOS module argument.
svn path=/nixos/trunk/; revision=16658
2009-08-10 20:07:58 +00:00
Eelco Dolstra
167ccdd537 * Move the firmware loader into a separate module.
* services.udev.addFirmware -> hardware.firmware.

svn path=/nixos/trunk/; revision=16657
2009-08-10 19:27:15 +00:00
Eelco Dolstra
b3c0061a91 * services.udev.addUdevPkgs -> services.udev.packages.
* Simplified the udev rules generation: merged nixRules into
  services.udev.extraRules, and handle services.udev.extraRules using
  services.udev.packages.

svn path=/nixos/trunk/; revision=16655
2009-08-10 19:05:20 +00:00
Sander van der Burg
0d35699507 Implemented virtual host support. Now it's possible to assign web applications to virtual host, for example:
{
  ...

  services = {
    tomcat = {
      enable = true;
      virtualHosts = [
        { name = "test1.localhost";
          webapps = [ mypkgs.HelloApp ];
        }
        { name = "test2.localhost";
          webapps = [ mypkgs.ByeApp ];
        }
      ];
    };
  };
}


svn path=/nixos/trunk/; revision=16654
2009-08-10 18:45:18 +00:00
Eelco Dolstra
b4f8f919ab * Clean up the udev module.
svn path=/nixos/trunk/; revision=16653
2009-08-10 18:41:57 +00:00
Eelco Dolstra
2331a5140d * Added a module for the bluetooth daemon.
* Refactored some other modules (dbus, hal).

svn path=/nixos/trunk/; revision=16652
2009-08-10 18:25:09 +00:00
Eelco Dolstra
0ab6be1c81 * Restarting dbus no longer seems to kill the X server.
svn path=/nixos/trunk/; revision=16650
2009-08-10 16:18:51 +00:00
Sander van der Burg
89810914e4 Added virtual host support, which requires some more testing
svn path=/nixos/trunk/; revision=16649
2009-08-10 15:27:25 +00:00
Ludovic Courtès
fe51b0c6c3 bashrc: Source `${bash}/etc/bash_completion' when available.
svn path=/nixos/trunk/; revision=16641
2009-08-10 10:18:33 +00:00
Ludovic Courtès
4c848efc1a bashrc: Remove obsolete aclocal' and rpcgen' hacks.
svn path=/nixos/trunk/; revision=16640
2009-08-10 10:07:30 +00:00
Ludovic Courtès
ac29ad197b stage-1-init: Remove timeout from `fail()'.
Timeouts upon failure can be harmful, e.g., after a file system failure
that needs manual intervention.

svn path=/nixos/trunk/; revision=16637
2009-08-10 09:20:05 +00:00
Sander van der Burg
8c034b988d Added a lot of modifications in order to expression a Tomcat configuration better and to perform more efficient management of various Tomcat components.
With these modifications, a user can configure a tomcat instance with web applications and web services by writing a service, such as:

...

services = {
  tomcat = {
    enable = true;
    webapps = [ mypkgs.HelloWorldWebApplication ];
    axis2 = {
      enable = true;
      services = [ mypkgs.HelloService mypkgs.HelloWorldService ];
    };
  };
};


svn path=/nixos/trunk/; revision=16619
2009-08-09 20:19:07 +00:00
Eelco Dolstra
02c119a104 * Workaround for hangs on x86_64.
svn path=/nixos/branches/modular-nixos/; revision=16590
2009-08-05 11:43:51 +00:00
Eelco Dolstra
7d3e2b15ef svn path=/nixos/branches/modular-nixos/; revision=16585 2009-08-04 16:09:07 +00:00
Eelco Dolstra
32bb5b2d0f * Bring back the options to enable/disable the Intel firmwares.
svn path=/nixos/branches/modular-nixos/; revision=16574
2009-08-04 08:50:02 +00:00
Michael Raskin
c8705704e1 Add Wacom X11 driver support
svn path=/nixos/branches/modular-nixos/; revision=16569
2009-08-03 19:55:33 +00:00
Eelco Dolstra
383370f782 * Don't create a temporary file in $HOME.
svn path=/nixos/branches/modular-nixos/; revision=16561
2009-08-03 12:44:45 +00:00
Eelco Dolstra
6802a75076 * nixos-rebuild: replaced some environment variables with options
(e.g. --install-grub instead of $NIXOS_INSTALL_GRUB).  Also support
  some nix-build options (e.g. --show-trace and -j).

svn path=/nixos/branches/modular-nixos/; revision=16560
2009-08-03 12:36:15 +00:00
Eelco Dolstra
bc54061cba svn path=/nixos/branches/modular-nixos/; revision=16557 2009-08-03 12:17:23 +00:00
Michael Raskin
137ce0907c Some fixes in on-boot activation
svn path=/nixos/branches/modular-nixos/; revision=16525
2009-07-31 08:32:53 +00:00
Michael Raskin
f05682c84d Give some progress indications during Stage2 boot
svn path=/nixos/branches/modular-nixos/; revision=16523
2009-07-31 04:56:52 +00:00
Michael Raskin
bef1dc8bd5 Update RC kernel for rescue CD: includes some BtrFS fixes
svn path=/nixos/branches/modular-nixos/; revision=16515
2009-07-30 04:20:56 +00:00
Michael Raskin
6aba79bed5 Update child configuration generation
svn path=/nixos/branches/modular-nixos/; revision=16514
2009-07-30 04:20:23 +00:00
Rob Vermaas
9c05dd98dc intel5000 firmware
svn path=/nixos/branches/modular-nixos/; revision=16473
2009-07-27 14:08:14 +00:00
Eelco Dolstra
f0f5434eaa * Add an option to enable the firewall. It should eventually be
enabled by default.

svn path=/nixos/branches/modular-nixos/; revision=16464
2009-07-26 21:27:35 +00:00
Eelco Dolstra
264b49fce7 * A very basic firewall that rejects all incoming connections except
for the ports defined in networking.firewall.allowedTCPPorts.

svn path=/nixos/branches/modular-nixos/; revision=16460
2009-07-24 23:12:52 +00:00
Eelco Dolstra
38d594deec * wpa_supplicant: start/stop automatically.
svn path=/nixos/branches/modular-nixos/; revision=16451
2009-07-24 00:31:42 +00:00
Eelco Dolstra
c4780a8953 * dhcp 4.1 requires IPv6 support.
svn path=/nixos/branches/modular-nixos/; revision=16450
2009-07-24 00:31:22 +00:00
Eelco Dolstra
32b311a0f5 * Add gzip to the $PATH of nix-daemon, otherwise distributed builds
don't work.  This is a regression wrt the trunk.

svn path=/nixos/branches/modular-nixos/; revision=16448
2009-07-23 23:25:50 +00:00
Marc Weber
dbd6ea7f63 adding daemonNiceLevel option. running biulds with niceness 0 can be annoying
svn path=/nixos/branches/modular-nixos/; revision=16420
2009-07-18 16:14:03 +00:00
Eelco Dolstra
d591559609 * A simple module for running wpa_supplicant.
svn path=/nixos/branches/modular-nixos/; revision=16409
2009-07-16 21:08:32 +00:00
Eelco Dolstra
3abf509637 * Don't try to start dhclient on the wmaster0 interface. This just
gets rid of endless dhclient log messages such as

    Jul 16 19:09:30 dutibo dhclient: DHCPDISCOVER on wmaster0 to 255.255.255.255 port 67 interval 19
    Jul 16 19:09:30 dutibo dhclient: send_packet: Network is down

svn path=/nixos/branches/modular-nixos/; revision=16407
2009-07-16 17:25:50 +00:00
Eelco Dolstra
b58682401e * Give a type to networking.interfaces.
* Simplified the pre-start script of the network-interfaces module.
* Removed wireless support from the network-interfaces module.  It
  only worked for static WEP configurations anyway, and AFAIK nobody
  used it.

svn path=/nixos/branches/modular-nixos/; revision=16406
2009-07-16 17:18:54 +00:00
Eelco Dolstra
f53c9d70ec * The lack of a newline at the end of "EnableSendFile Off" caused a
broken httpd.conf to be generated.  We should really have a merge
  function that appends newlines to every value of options like
  services.httpd.extraConfig.

svn path=/nixos/branches/modular-nixos/; revision=16404
2009-07-16 16:13:35 +00:00
Eelco Dolstra
2cd3e205f4 svn path=/nixos/branches/modular-nixos/; revision=16397 2009-07-16 15:01:56 +00:00
Eelco Dolstra
6119c399d8 * Support tasks in the new Upstart formalism.
* Swap task: fixed removing disabled swap devices.
* Swap task: specified the type of swapDevices.

svn path=/nixos/branches/modular-nixos/; revision=16396
2009-07-16 14:51:49 +00:00
Eelco Dolstra
7cb4503ad6 * More Upstart refactoring.
svn path=/nixos/branches/modular-nixos/; revision=16394
2009-07-16 13:55:11 +00:00
Eelco Dolstra
bb292fdf04 * Support post-stop actions.
svn path=/nixos/branches/modular-nixos/; revision=16393
2009-07-16 13:46:49 +00:00
Michael Raskin
8f7b33c87d I thought squashfs would not require loop.ko
svn path=/nixos/branches/modular-nixos/; revision=16388
2009-07-16 10:28:58 +00:00
Michael Raskin
fac9d09941 Oops, forgot FS modules
svn path=/nixos/branches/modular-nixos/; revision=16387
2009-07-16 10:06:53 +00:00
Michael Raskin
e155a46516 Forgot all-module fixes for the correct booting in rescue CD
svn path=/nixos/branches/modular-nixos/; revision=16386
2009-07-16 09:48:22 +00:00
Michael Raskin
a7f24fd4bb Trying to build a good rescue CD..
svn path=/nixos/branches/modular-nixos/; revision=16385
2009-07-16 09:22:40 +00:00
Eelco Dolstra
889311f4ca * Refactored the sshd module.
svn path=/nixos/branches/modular-nixos/; revision=16377
2009-07-15 15:53:39 +00:00
Eelco Dolstra
c45cf3a28e * In the jobs attribute, support a more high-level way of specifying
jobs, e.g. (from the nscd job)

    { name = "nscd";

      description = "Name Service Cache Daemon";

      startOn = "startup";
      stopOn = "shutdown";

      environment = { LD_LIBRARY_PATH = nssModulesPath; };
        
      preStart =
        ''
          mkdir -m 0755 -p /var/run/nscd
          mkdir -m 0755 -p /var/db/nscd
        '';

      exec = "${pkgs.glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null";
    };

  The Upstart job is generated from this.  The main goal is to provide
  some abstraction from the Upstart syntax.  For instance, this should
  make it easier to upgrade to newer versions of Upstart, to switch to
  an entirely different process management system (e.g. initng or
  launchd), or to test a job independantly from Upstart.  (However the
  startOn and stopOn attributes are tied to Upstart's event model.)

svn path=/nixos/branches/modular-nixos/; revision=16376
2009-07-15 15:24:11 +00:00
Eelco Dolstra
0e3bef4195 * Declare the type of jobs.
svn path=/nixos/branches/modular-nixos/; revision=16375
2009-07-15 13:41:00 +00:00
Eelco Dolstra
1424399002 * Simplify.
svn path=/nixos/branches/modular-nixos/; revision=16373
2009-07-15 12:52:32 +00:00
Eelco Dolstra
96fe3ba1b7 * Inline make-job.nix.
svn path=/nixos/branches/modular-nixos/; revision=16372
2009-07-15 11:38:17 +00:00
Eelco Dolstra
9d1e31117f * Get rid of the "users" and "groups" fields in jobs.
svn path=/nixos/branches/modular-nixos/; revision=16371
2009-07-15 11:34:55 +00:00
Eelco Dolstra
ca8e00cafa * Got rid of the extraPath field in jobs (use
environment.systemPackages instead).  Also renamed
  services.extraJobs to jobs.

svn path=/nixos/branches/modular-nixos/; revision=16370
2009-07-15 11:19:11 +00:00
Eelco Dolstra
def0be732f * job.extraHttpdConfig: not used anywhere.
svn path=/nixos/branches/modular-nixos/; revision=16369
2009-07-15 09:14:24 +00:00
Eelco Dolstra
118418ba31 * Refactoring the Upstart module. Got rid of job.extraEtc, it's
redundant now (modules can just define environment.etc).

svn path=/nixos/branches/modular-nixos/; revision=16367
2009-07-15 09:06:36 +00:00
Eelco Dolstra
b66fd2364c * Don't put /etc/nixos/nixos in ~/.nix-defexpr.
svn path=/nixos/branches/modular-nixos/; revision=16366
2009-07-15 08:45:29 +00:00
Eelco Dolstra
da996583ee * Include the NixOS manpages in the system environment. Actually
there is only one currently: configuration.nix(5), which contains a
  list of all the options.

svn path=/nixos/branches/modular-nixos/; revision=16360
2009-07-14 16:27:46 +00:00
Eelco Dolstra
ab1676b457 * Urgh, this should have been in commit r16350.
svn path=/nixos/branches/modular-nixos/; revision=16353
2009-07-14 13:28:50 +00:00
Eelco Dolstra
b84bab7873 * Use the relatime mount option by default. (This is the default
anyway in Linux 2.6.30.)

svn path=/nixos/branches/modular-nixos/; revision=16348
2009-07-14 12:07:17 +00:00
Lluís Batlle i Rossell
c331fd106b Updated the xserver video drivers list, removing the old via, and putting the new openchrome.
svn path=/nixos/branches/modular-nixos/; revision=16330
2009-07-11 10:33:42 +00:00
Marc Weber
d4a37c2f1b fix copy paste error
svn path=/nixos/branches/modular-nixos/; revision=16278
2009-07-09 14:35:03 +00:00
Ludovic Courtès
6d2cc812c2 Make the Liberation Fonts available by default.
svn path=/nixos/branches/modular-nixos/; revision=16274
2009-07-09 12:10:58 +00:00
Ludovic Courtès
fa9f557b96 Add `localhost' under its "real" host name to /etc/hosts.
svn path=/nixos/branches/modular-nixos/; revision=16258
2009-07-08 16:10:09 +00:00
Ludovic Courtès
a62e1cf2dd Disable proprietary fonts by default.
svn path=/nixos/branches/modular-nixos/; revision=16253
2009-07-08 14:52:58 +00:00
Michael Raskin
35011ade4e Adding back passthru functionality
svn path=/nixos/branches/modular-nixos/; revision=16237
2009-07-08 09:10:48 +00:00
Michael Raskin
9a66d59786 Fixing wrong assertion sign
svn path=/nixos/branches/modular-nixos/; revision=16236
2009-07-08 09:10:26 +00:00
Michael Raskin
1118c4b6d1 Fix service tree paths
svn path=/nixos/branches/modular-nixos/; revision=16235
2009-07-08 09:09:57 +00:00
Ludovic Courtès
1f9d8f45ea lshd: Fix typo; comment on the seed generation.
svn path=/nixos/branches/modular-nixos/; revision=16142
2009-07-02 14:05:01 +00:00
Ludovic Courtès
74738de1f8 Make NSS modules visible to `avahi-daemon'.
It allows it to know whether `libnss-mdns' is available, which clients
can ask via the `IsNSSSupportAvailable' D-Bus method.

svn path=/nixos/branches/modular-nixos/; revision=16125
2009-07-01 12:27:35 +00:00
Ludovic Courtès
e2e373b89c bitlbee: Fix `systemPackages' attribute.
svn path=/nixos/branches/modular-nixos/; revision=16090
2009-06-30 08:01:14 +00:00