{
   use Data::UUID; 
   use MIME::Base64 qw(encode_base64);
    my $service;
    my $rec;
    my $adminpw;

    # Store the mediatomb password in the configuration database (if not already there)
    $service = 'mediatomb';

    $rec = $DB->get($service) || $DB->new_record($service, {type => 'service'});


    $adminpw = $rec->prop('UIpass');
#    return "" if $adminpw;
        if (! $adminpw)
        {
                if ( open( RANDOM, "/dev/urandom" ) )
                {
                        my $buf;
                        # 57 bytes is a full line of Base64 coding, and contains
                        # 456 bits of randomness - given a perfectly random /dev/random
                        if ( read( RANDOM, $buf, 57 ) != 57 )
                        {
                            warn("Short read from /dev/random: $!");
                        }
                        else
                        {
                                $adminpw = encode_base64($buf);
                            chomp $adminpw;
                           $adminpw = substr $adminpw, 0, 16;
                        }
                        close RANDOM;
                }
                else
                {
                    warn "Could not open /dev/urandom: $!";
                }

                $rec->set_prop('UIpass', $adminpw);
        }
    $uuid = $rec->prop('UUID');
        if (! $uuid)
        {
		$uuid = Data::UUID->new->create_str();
                $rec->set_prop('UUID', $uuid);
        }


}
