summary refs log tree commit diff
path: root/pkgs/lib/modules.nix
diff options
context:
space:
mode:
authorNicolas Pierron <nicolas.b.pierron@gmail.com>2009-09-26 23:01:35 +0000
committerNicolas Pierron <nicolas.b.pierron@gmail.com>2009-09-26 23:01:35 +0000
commit13f467fc842b0e0f0abed77aa63ad2e565c2c61c (patch)
tree254c9436cd93220d713355cc75a10695734ff14e /pkgs/lib/modules.nix
parentb642db4d0ef2a7b13e3b5e3ed17f6e01bc7e48c7 (diff)
downloadnixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar.gz
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar.bz2
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar.lz
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar.xz
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.tar.zst
nixpkgs-13f467fc842b0e0f0abed77aa63ad2e565c2c61c.zip
Remove values coming from the original sources because this may cause the evaluation of unsafe code.
Instead add the computed value under tryEval to catch bad evaluations.

svn path=/nixpkgs/trunk/; revision=17453
Diffstat (limited to 'pkgs/lib/modules.nix')
-rw-r--r--pkgs/lib/modules.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix
index 9716696cc0b..c29d2870d98 100644
--- a/pkgs/lib/modules.nix
+++ b/pkgs/lib/modules.nix
@@ -211,14 +211,15 @@ rec {
                   declarations =
                     map (m: {
                       source = m.key;
-                      value = m.options;
                     }) (declarationsOf name);
     
                   definitions =
                     map (m: {
                       source = m.key;
-                      value = m.config;
                     }) (definitionsOf name);
+
+                  config = builtins.tryEval
+                    (lib.getAttr name result.config);
                 }
             else if all isAttrs values then
               (recurseInto name modules).options