initial commit of file from CVS for smeserver-bugzilla on Sat Sep 7 20:11:50 AEST 2024

This commit is contained in:
Trevor Batley
2024-09-07 20:11:50 +10:00
parent 3de6ed7edc
commit f377fea41d
32 changed files with 855 additions and 2 deletions

View File

@@ -0,0 +1 @@
Placeholder for bugzilla URL

View File

@@ -0,0 +1 @@
url

View File

@@ -0,0 +1 @@
bugzilla

View File

@@ -0,0 +1 @@
bugzilla

View File

@@ -0,0 +1,80 @@
{
use MIME::Base64 qw(encode_base64);
my $service;
my $rec;
my $pw;
# Enable InnoDB (needed for Bugzilla)
$service = 'mysqld';
$rec = $DB->get($service) || $DB->new_record($service, {type => 'service'});
$rec->set_prop('InnoDB', 'enabled');
# Store the Bugzilla password in the configuration database (if not already there)
$service = 'bugzilla';
$rec = $DB->get($service) || $DB->new_record($service, {type => 'service'});
$pw = $rec->prop('DbPassword');
# return "" if $pw;
$adminpw = $rec->prop('AdminPassword');
# return "" if $pw;
if (! $pw)
{
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
{
$pw = encode_base64($buf);
chomp $pw;
}
close RANDOM;
}
else
{
warn "Could not open /dev/urandom: $!";
}
$rec->set_prop('DbPassword', $pw);
}
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('AdminPassword', $adminpw);
}
}

View File

@@ -0,0 +1,3 @@
#!/bin/bash
PERL5LIB="/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi:/usr/lib/perl5/site_perl/5.8.5:/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi:/usr/lib/perl5/vendor_perl/5.8.5" /usr/share/bugzilla/checksetup.pl /etc/bugzilla.conf

View File

View File

View File

@@ -0,0 +1,3 @@
UID="root"
GID="www"
PERMS=0640

View File

@@ -0,0 +1 @@
PERMS=0540

View File

@@ -0,0 +1 @@
$answer\{'NO_PAUSE'\} = 1;

View File

@@ -0,0 +1 @@
$answer\{'ADMIN_EMAIL'\} = 'admin@{$DomainName}';

View File

@@ -0,0 +1 @@
$answer\{'ADMIN_REALNAME'\} = '';

View File

@@ -0,0 +1 @@
$answer\{'ADMIN_PASSWORD'\} = '{$bugzilla{'AdminPassword'}}';

View File

@@ -0,0 +1,13 @@
# If you are using Apache as your web server, Bugzilla can create .htaccess
# files for you that will instruct Apache not to serve files that shouldn't
# be accessed from the web browser (like your local configuration data and non-cgi
# executable files). For this to work, the directory your Bugzilla
# installation is in must be within the jurisdiction of a <Directory> block
# in the httpd.conf file that has 'AllowOverride Limit' in it. If it has
# 'AllowOverride All' or other options with Limit, that's fine.
# (Older Apache installations may use an access.conf file to store these
# <Directory> blocks.)
# If this is set to 1, Bugzilla will create these files if they don't exist.
# If this is set to 0, Bugzilla will not create these files.
$create_htaccess = 1;

View File

@@ -0,0 +1,12 @@
# This is the group your web server runs as.
# If you have a Windows box, ignore this setting.
# If you do not have access to the group your web server runs under,
# set this to "". If you do set this to "", then your Bugzilla installation
# will be _VERY_ insecure, because some files will be world readable/writable,
# and so anyone who can get local access to your machine can do whatever they
# want. You should only have this set to "" if this is a testing installation
# and you cannot set this up any other way. YOU HAVE BEEN WARNED!
# If you set this to anything other than "", you will need to run checksetup.pl
# asroot, or as a user who is a member of the specified group.
$webservergroup = 'www';

View File

@@ -0,0 +1,37 @@
# What SQL database to use. Default is mysql. List of supported databases
# can be obtained by listing Bugzilla/DB directory - every module corresponds
# to one supported database and the name corresponds to a driver name.
$db_driver = 'mysql';
# The DNS name of the host that the database server runs on.
$db_host = 'localhost';
# The name of the database
$db_name = '{$bugzilla{'DbDatabase'}}';
# Who we connect to the database as.
$db_user = '{$bugzilla{'DbUser'}}';
# Enter your database password here. It's normally advisable to specify
# a password for your bugzilla database user.
# If you use apostrophe (') or a backslash (\) in your password, you'll
# need to escape it by preceding it with a '\' character. (\') or (\)
# (Far simpler just not to use those characters.)
$db_pass = '{$bugzilla{'DbPassword'}}';
# Sometimes the database server is running on a non-standard port. If that's
# the case for your database server, set this to the port number that your
# database server is running on. Setting this to 0 means "use the default
# port for my database server."
$db_port = 0;
# MySQL Only: Enter a path to the unix socket for MySQL. If this is
# blank, then MySQL's compiled-in default will be used. You probably
# want that.
$db_sock = '/var/lib/mysql/mariadb105.sock';
# Should checksetup.pl try to verify that your database setup is correct?
# (with some combinations of database servers/Perl modules/moonphase this
# doesn't work)
$db_check = 1;

View File

@@ -0,0 +1,12 @@
# With the introduction of a configurable index page using the
# template toolkit, Bugzilla's main index page is now index.cgi.
# Most web servers will allow you to use index.cgi as a directory
# index, and many come preconfigured that way, but if yours doesn't
# then you'll need an index.html file that provides redirection
# to index.cgi. Setting $index_html to 1 below will allow
# checksetup.pl to create one for you if it doesn't exist.
# NOTE: checksetup.pl will not replace an existing file, so if you
# wish to have checksetup.pl create one for you, you must
# make sure that index.html doesn't already exist
$index_html = 0;

View File

@@ -0,0 +1,6 @@
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the cvs binary to access files and revisions.
# Because it's possible that this program is not in your path, you can specify
# its location here. Please specify the full path to the executable.
$cvsbin = '/usr/bin/cvs';

View File

@@ -0,0 +1,6 @@
# For some optional functions of Bugzilla (such as the pretty-print patch
# viewer), we need the interdiff binary to make diffs between two patches.
# Because it's possible that this program is not in your path, you can specify
# its location here. Please specify the full path to the executable.
$interdiffbin = '/usr/bin/interdiff';

View File

@@ -0,0 +1,4 @@
# The interdiff feature needs diff, so we have to have that path.
# Please specify the directory name only; do not use trailing slash.
$diffpath = '/usr/bin';

View File

@@ -0,0 +1,6 @@
# This secret key is used by your installation for the creation and
# validation of encrypted tokens to prevent unsolicited changes,
# such as bug changes. A random string is generated by default.
# It's very important that this key is kept secret. It also must be
# very long.
$site_wide_secret = '{ esmith::util::LdapPassword (); }';

View File

@@ -0,0 +1,10 @@
#!/bin/bash
DATABASE=`/sbin/e-smith/db configuration getprop bugzilla DbDatabase`
USERNAME=`/sbin/e-smith/db configuration getprop bugzilla DbUser`
PASSWORD=`/sbin/e-smith/db configuration getprop bugzilla DbPassword`
mysql105 -e "CREATE DATABASE IF NOT EXISTS $DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql105 -e "USE mysql; GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP,REFERENCES,LOCK TABLES,CREATE TEMPORARY TABLES ON $DATABASE.* TO $USERNAME@localhost IDENTIFIED BY '$PASSWORD'; FLUSH PRIVILEGES;"
/etc/e-smith/events/actions/bugzilla

View File

@@ -0,0 +1,22 @@
#
# httpd configuration settings for use with bugzilla.
#
Alias /bugzilla /usr/share/bugzilla
<Directory /usr/share/bugzilla>
AddHandler cgi-script .cgi
Options +ExecCGI
Options +FollowSymLinks
DirectoryIndex index.cgi
AllowOverride Limit
Require {(($bugzilla{access} || 'public' ) eq "public" ) ? "all granted": "ip $localAccess $externalSSLAccess"; }
RewriteEngine on
RewriteBase /bugzilla/
RewriteRule ^index\.html$ index.cgi [T=application/x-httpd-cgi]
AddType application/vnd.mozilla.xul+xml .xul
AddType application/rdf+xml .rdf
</Directory>