Use Linux uuid facility instead of an external library if possible

master
Simon McVittie 2014-07-01 08:29:20 +01:00
parent 4a11dc4d16
commit eb87dd177a
2 changed files with 14 additions and 8 deletions

View File

@ -140,13 +140,19 @@ sub filltemplate ($$) {
$template->param(name => $page);
if ($template->query(name => 'uuid')) {
eval {
require UUID::Tiny;
UUID::Tiny->import(':std');
my $uuid;
$uuid = create_uuid_as_string(UUID_V4());
$template->param(uuid => $uuid);
};
my $uuid;
if (open(my $fh, "<", "/proc/sys/kernel/random/uuid")) {
$uuid = <$fh>;
chomp $uuid;
close $fh;
}
else {
eval {
require UUID::Tiny;
$uuid = UUID::Tiny::create_uuid_as_string(UUID::Tiny::UUID_V4());
};
}
$template->param(uuid => $uuid);
}
return $template->output;

View File

@ -35,6 +35,6 @@ Two variables might be set:
created.
* `<TMPL_VAR uuid>` is replaced with a version 4 (random) UUID.
(Requires the `UUID::Tiny` Perl module.)
(Requires the `UUID::Tiny` Perl module if not running on Linux.)
[[!meta robots="noindex, follow"]]