Compare commits

...

42 Commits

Author SHA1 Message Date
Dietmar Maurer
d26a7c43ed use repoman for upload target 2017-01-04 11:03:48 +01:00
Dietmar Maurer
619ba5b0a5 bump version to 3.4-16 2017-01-04 10:57:07 +01:00
Dominik Csapak
8c28de4527 add warning about ending support in 3.4
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-04 10:54:56 +01:00
Fabian Grünbichler
cfbc6d9e25 Do not use a hardcoded Certificate Authority for https repositories
Instead we will the use the CA certificate provided by the
ca-certificates packages, which is now a mandatory depency of
pve-manager since 35e0ea9a1d and
pve-manager 3.4-15. This change allows us in the future to
use different CA for our https repositories.

This changed has been tested OK with the following combination:
 * https repository using a StartCom certificate: works
 * https repository using a Let's encrypt certificate: works

User visible changes:
 * none : the new configuration file 75pveconf silently
 overwrites the olderone, except if local changes were made
 in which case you're presented with the traditional debian menu
 (keep local/ use packager version/ diff / open a shell)

Cherry-Picked-By: f.gruenbichler@proxmox.com (from 4.2)
2016-08-17 13:35:28 +02:00
Fabian Grünbichler
21243a9b89 bump version to 3.4-15 2016-08-16 17:05:19 +02:00
Wolfgang Bumiller
b800197970 use file_copy instead of an unsafe cp call 2016-08-16 16:49:41 +02:00
Wolfgang Bumiller
5089350947 build-depends: add liblocale-po-perl 2016-07-05 09:43:34 +02:00
Fabian Grünbichler
35e0ea9a1d add ca-certificates as required dependency
ca-certificates provides the necessary root ca certificates
to connect to the PVE enterprise repositories
The package was always installed since pve-manager 3.1-13 as an indirect
'Depends:'  via liblwp-protocol-https, but could have been missing in previous
versions of pve.

Adding this dependency directly makes it sures that it's available
in each PVE installs no matter what Debian packagers do.
With this package installed we no longer need to ship
our own server CA cert.
2016-07-05 09:34:47 +02:00
Fabian Grünbichler
2ca42e9946 catch malformed mailto/mailfrom in sendmail
backported from 4.2
2016-06-09 17:53:31 +02:00
Dietmar Maurer
67ff00199f bump version to 3.4-14 2016-06-09 17:45:58 +02:00
Dominik Csapak
5171a29935 add htmlEncode to various comment/description fields
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-09 17:44:55 +02:00
Dietmar Maurer
bcf90a51b0 bump version to 3.4-13 2016-02-19 10:55:06 +01:00
Wolfgang Bumiller
5d4970c504 firewall: add enable ndp option 2016-02-19 10:53:44 +01:00
Dietmar Maurer
d9ff0aaff9 bump version to 3.4-12 2016-02-18 06:42:40 +01:00
Wolfgang Link
a7386ed870 Fix problems with turnkey repository PVE Version 3.4.
To prevent that one time Net:SSL and an outer time IO::Socket::SSL is loaded,
ensure that always use the same socket class.

We load the the Net:SSL in AccessControl.pm if we call pveupdate,
but if we call pveam update this module is not loaded an so the default is used (IO::Socket::SSL).
2016-02-18 06:40:33 +01:00
Dietmar Maurer
ab285b1312 bump version to 3.4-11 2015-09-19 14:17:06 +02:00
Dietmar Maurer
cb7fdf43f1 change ceph download url to download.ceph.com 2015-09-19 14:08:58 +02:00
Dietmar Maurer
454b7e172f bump version to 3.4-10 2015-09-18 12:42:31 +02:00
Dietmar Maurer
054fd2315a openvz: improve configuration parser 2015-09-18 12:30:12 +02:00
Dietmar Maurer
cac618fedb openvz: add check for newlines before writing configuration 2015-09-18 11:33:31 +02:00
Dietmar Maurer
40b4525cc1 bump version to 3.4-9 2015-07-30 12:15:11 +02:00
Wolfgang Link
e38907ac98 improve creation of OpenVZ archive
when create a archive the container config will be the fist file in archive.
This is useful if we recover the archive.
2015-07-30 12:15:11 +02:00
Dietmar Maurer
1a5de0b450 bump version to 3.4-8 2015-06-26 09:45:55 +02:00
Alexandre Derumier
cf022ba085 novncindex : Renamed popupStatusPanel to popupStatus
to match
74f2ac968d

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-06-26 06:55:09 +02:00
Dietmar Maurer
5d1a0d9a9c bump version to 3.4-7 2015-06-25 17:42:52 +02:00
Alexandre Derumier
d89afd4661 add noVNC_resize
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-06-25 17:36:46 +02:00
Dietmar Maurer
d004d5a869 fix typo 2015-06-02 08:41:33 +02:00
Dietmar Maurer
74f016daaf use correct branch for git clone (source ref) 2015-04-28 06:37:35 +02:00
Dietmar Maurer
53a67dc5e5 use stable-3 branch (instead of stable-3.4-fixes) 2015-04-28 06:25:43 +02:00
Dietmar Maurer
9bb4956ef2 pveceph: remove /git/ from download url 2015-04-28 06:18:49 +02:00
Dietmar Maurer
6460bb32d5 bump version to 3.4-6 2015-04-27 06:34:59 +02:00
Dietmar Maurer
c6c74afd66 pveceph: use git.ceph.com for key download url. 2015-04-27 06:33:27 +02:00
Dietmar Maurer
0819071ac6 bump version to 3.4-5 2015-04-23 06:16:47 +02:00
Dietmar Maurer
0618b46c28 pveceph: add hammer release 2015-04-23 06:15:30 +02:00
Dietmar Maurer
c7b92b1cf5 pveceph init: allow protocol http
It is no longer possible to download the key without that.
2015-04-23 06:11:38 +02:00
Dietmar Maurer
b511334481 fix typo 2015-04-14 15:08:54 +02:00
Dietmar Maurer
5865a7d406 bump version to 3.4-4 2015-04-13 15:28:22 +02:00
Stanislav German-Evtushenko
5d26bd8327 GUI: add quick search fields to storage content and backup views
Signed-off-by: Stanislav German-Evtushenko <ginermail@gmail.com>
2015-04-01 06:23:15 +02:00
Dietmar Maurer
29d3f5f820 bump version to 3.4-3 2015-03-11 16:42:59 +01:00
Dietmar Maurer
3dee0c2698 fix logfile rotation
pveproxy and spiceproxy use the same logfile.
2015-03-11 16:41:01 +01:00
Dietmar Maurer
530c6d8832 bump version to 3.4-2 2015-03-10 08:25:16 +01:00
Dietmar Maurer
36b760a9f7 fix bug #575: fork at shutdown, so that partent starts new worker 2015-03-10 08:23:18 +01:00
39 changed files with 233 additions and 53 deletions

View File

@ -6,7 +6,7 @@ DESTDIR=
SUBDIRS = aplinfo PVE bin www po
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
GITVERSION:=$(shell cat .git/refs/heads/master)
GITVERSION:=$(shell cat .git/refs/heads/stable-3)
DEB=${PACKAGE}_${VERSION}-${PACKAGERELEASE}_${ARCH}.deb
@ -18,13 +18,6 @@ check:
%:
set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
pve-repo-ca-certificates.crt:
rm -rf ca-tmp
mkdir ca-tmp
cd ca-tmp; wget http://aia.startssl.com/certs/sub.class1.server.ca.pem
cd ca-tmp; wget http://aia.startssl.com/certs/ca.pem
cd ca-tmp; cat *.pem >../$@
.PHONY: dinstall
dinstall: ${DEB}
dpkg -i ${DEB}
@ -48,7 +41,7 @@ ${DEB} deb:
install -m 0755 debian/prerm dest/DEBIAN
install -m 0755 debian/postrm dest/DEBIAN
install -m 0644 debian/triggers dest/DEBIAN
echo "git clone git://git.proxmox.com/git/pve-manager.git\\ngit checkout ${GITVERSION}" > dest/usr/share/doc/${PACKAGE}/SOURCE
echo "git clone git://git.proxmox.com/git/pve-manager.git -b stable-3\\ngit checkout ${GITVERSION}" > dest/usr/share/doc/${PACKAGE}/SOURCE
gzip --best dest/usr/share/man/*/*
gzip --best dest/usr/share/doc/${PACKAGE}/changelog.Debian
dpkg-deb --build dest
@ -57,16 +50,11 @@ ${DEB} deb:
# supress lintian error: statically-linked-binary usr/bin/pvemailforward
lintian -X binaries ${DEB}
.PHONY: upload
.PHONY: upload
upload: ${DEB} check
./repoid.pl .git check
umount /pve/${RELEASE}; mount /pve/${RELEASE} -o rw
mkdir -p /pve/${RELEASE}/extra
rm -f /pve/${RELEASE}/extra/${PACKAGE}_*.deb
rm -f /pve/${RELEASE}/extra/Packages*
cp ${DEB} /pve/${RELEASE}/extra
cd /pve/${RELEASE}/extra; dpkg-scanpackages . /dev/null > Packages; gzip -9c Packages > Packages.gz
umount /pve/${RELEASE}; mount /pve/${RELEASE} -o ro
tar cf - ${DEB} | ssh repoman@repo.proxmox.com upload --dist wheezy
#.PHONY: poupload
#poupload:
@ -80,7 +68,7 @@ aplupload:
scp aplinfo/aplinfo.dat aplinfo.dat.gz aplinfo/aplinfo.dat.asc download1.proxmox.com:/home/ftp/appliances/
.PHONY: install
install: country.dat vznet.conf vzdump.conf vzdump-hook-script.pl pve-apt.conf pve-repo-ca-certificates.crt mtu
install: country.dat vznet.conf vzdump.conf vzdump-hook-script.pl pve-apt.conf mtu
install -d -m 0700 -o www-data -g www-data ${DESTDIR}/var/log/pveproxy
install -D -m 0644 debian/pve.logrotate ${DESTDIR}/etc/logrotate.d/pve
install -d ${DESTDIR}/usr/share/${PACKAGE}
@ -93,7 +81,6 @@ install: country.dat vznet.conf vzdump.conf vzdump-hook-script.pl pve-apt.conf p
install -d ${DESTDIR}/var/lib/vz/template/qemu
install -D -m 0644 pve-apt.conf ${DESTDIR}/etc/apt/apt.conf.d/75pveconf
install -D -m 0644 pve-sources.list ${DESTDIR}/etc/apt/sources.list.d/pve-enterprise.list
install -D -m 0644 pve-repo-ca-certificates.crt ${DESTDIR}/etc/apt/pve-repo-ca-certificates.crt
install -D -m 0644 vzdump.conf ${DESTDIR}/etc/vzdump.conf
install -D -m 0755 vznet.conf ${DESTDIR}/etc/vz/vznet.conf
install -D -m 0755 mtu ${DESTDIR}/etc/network/if-up.d/mtu

View File

@ -146,7 +146,7 @@ sub write_vzdump_cron_config {
my ($filename, $cfg) = @_;
my $out = "# cluster wide vzdump cron schedule\n";
$out .= "# Atomatically generated file - do not edit\n\n";
$out .= "# Automatically generated file - do not edit\n\n";
$out .= "PATH=\"/usr/sbin:/usr/bin:/sbin:/bin\"\n\n";
my $jobs = $cfg->{jobs} || [];

View File

@ -253,6 +253,9 @@ sub update {
import_gpg_keys();
# ensure that always use the same socket class
local $ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "IO::Socket::SSL";
# this code works for ftp and http
# always use passive ftp
local $ENV{FTP_PASSIVE} = 1;

View File

@ -1441,6 +1441,11 @@ sub wait_end_loop {
return;
}
# fork and exit, so that parent starts a new worker
if (fork()) {
exit(0);
}
# else we need to wait until all open connections gets closed
my $w; $w = AnyEvent->timer (after => 1, interval => 1, cb => sub {
eval {

View File

@ -97,7 +97,7 @@ INCLUDE_URI='/novnc/include/';
</div>
<!-- Popup Status Panel -->
<div id="noVNC_popup_status_panel" class="">
<div id="noVNC_popup_status" class="">
</div>
<!-- Clipboard Panel -->
@ -128,6 +128,7 @@ INCLUDE_URI='/novnc/include/';
<li><input id="noVNC_path" type="input" value="websockify"> Path</li>
<li><input id="noVNC_repeaterID" type="input" value=""> Repeater ID</li>
<li><input id="noVNC_stylesheet" type="input" value=""> Stylesheet</li>
<li><input id="noVNC_resize" type="input" value=""> Resize</li>
<li><input id="noVNC_logging" type="input" value=""> Logging</li>
</ul>

View File

@ -736,6 +736,17 @@ sub parse_integer {
return undef;
};
# use this for dns-name/ipv4/ipv6 (or lists of them)
sub parse_simple_string {
my ($key, $text) = @_;
if ($text =~ m/^([a-zA-Z0-9\-\,\;\:\.\s]*)$/) {
return { value => $1 };
}
return undef;
}
my $ovz_ressources = {
numproc => \&parse_res_num_ignore,
numtcpsock => \&parse_res_num_ignore,
@ -776,9 +787,9 @@ my $ovz_ressources = {
ip_address => 'string',
netif => 'string',
hostname => 'string',
nameserver => 'string',
searchdomain => 'string',
hostname => \&parse_simple_string,
nameserver => \&parse_simple_string,
searchdomain => \&parse_simple_string,
name => 'string',
description => 'string',
@ -889,7 +900,9 @@ sub create_config_line {
my $txt = $data->{value} ? 'yes' : 'no';
$text .= uc($key) . "=\"$txt\"\n";
} else {
$text .= uc($key) . "=\"$data->{value}\"\n";
my $value = $data->{value};
die "detected invalid newline inside property '$key'\n" if $value =~ m/\n/;
$text .= uc($key) . "=\"$value\"\n";
}
} elsif (defined($data->{bar})) {
my $tmp = format_res_bar_lim($key, $data);
@ -1053,6 +1066,12 @@ sub update_ovz_config {
$newvalue = defined($newvalue) ? $newvalue : $param->{$name};
return if !defined($newvalue);
my $parser = $ovz_ressources->{$name};
if ($parser && ref($parser)) {
my $ok = &$parser($name, $newvalue);
die "invalid format - unable to parse property '$name'\n" if !defined($ok);
}
my $oldvalue = $veconf->{$name}->{value};
if (!defined($oldvalue) || ($oldvalue ne $newvalue)) {
$veconf->{$name}->{value} = $newvalue;

View File

@ -282,15 +282,19 @@ sub sendmail {
chomp $hostname;
my $boundary = "----_=_NextPart_001_".int(time).$$;
my $mail_re = qr/[^-a-zA-Z0-9+._@]/;
my $rcvrarg = '';
foreach my $r (@$mailto) {
$rcvrarg .= " '$r'";
foreach (@$mailto) {
die "illegal character in mailto address\n"
if ($_ =~ $mail_re);
}
my $dcconf = PVE::Cluster::cfs_read_file('datacenter.cfg');
my $mailfrom = $dcconf->{email_from} || "root";
die "illegal character in mailfrom address\n"
if $mailfrom =~ $mail_re;
open (MAIL,"|sendmail -B 8BITMIME -f $mailfrom $rcvrarg") ||
open (MAIL, "|-", "sendmail", "-B", "8BITMIME", "-f", $mailfrom, @$mailto) ||
die "unable to open 'sendmail' - $!";
my $rcvrtxt = join (', ', @$mailto);

View File

@ -222,11 +222,11 @@ sub assemble {
$task->{cleanup}->{etc_vzdump} = 1;
mkpath "$dir/etc/vzdump/";
$self->cmd ("cp '$conffile' '$dir/etc/vzdump/vps.conf'");
PVE::Tools::file_copy($conffile, "$dir/etc/vzdump/vps.conf");
my $cfgdir = dirname ($conffile);
foreach my $s (PVE::OpenVZ::SCRIPT_EXT) {
my $fn = "$cfgdir/$vmid.$s";
$self->cmd ("cp '$fn' '$dir/etc/vzdump/vps.$s'") if -f $fn;
PVE::Tools::file_copy($fn, "$dir/etc/vzdump/vps.$s") if -f $fn;
}
}
@ -253,7 +253,7 @@ sub archive {
my $cmd = "(";
$cmd .= "cd $snapdir;find . $findargs|sed 's/\\\\/\\\\\\\\/g'|";
$cmd .= "tar cpf - $taropts --null -T -";
$cmd .= "tar cpf - $taropts ./etc/vzdump/vps.conf --null -T -";
my $bwl = $opts->{bwlimit}*1024; # bandwidth limit for cstream
$cmd .= "|cstream -t $bwl" if $opts->{bwlimit};
$cmd .= "|$comp" if $comp;

View File

@ -87,7 +87,7 @@ __PACKAGE__->register_method ({
properties => {
version => {
type => 'string',
enum => ['dumpling', 'emperor', 'firefly', 'giant'],
enum => ['dumpling', 'emperor', 'firefly', 'giant', 'hammer'],
optional => 1,
}
},
@ -100,9 +100,9 @@ __PACKAGE__->register_method ({
local $ENV{DEBIAN_FRONTEND} = 'noninteractive';
my $keyurl = "https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc";
my $keyurl = "https://git.ceph.com/?p=ceph.git;a=blob_plain;f=keys/release.asc";
print "download and import ceph reqpository keys\n";
print "download and import ceph repository keys\n";
# Note: wget on Debian wheezy cannot handle new ceph.com certificates, so
# we use LWP::UserAgent
@ -110,7 +110,7 @@ __PACKAGE__->register_method ({
#die "unable to download ceph release key\n";
my $tmp_key_file = "/tmp/ceph-release-keys.asc";
my $ua = LWP::UserAgent->new(protocols_allowed => ['https'], timeout => 30);
my $ua = LWP::UserAgent->new(protocols_allowed => ['http', 'https'], timeout => 30);
$ua->env_proxy;
my $response = $ua->get($keyurl);
if ($response->is_success) {
@ -125,7 +125,7 @@ __PACKAGE__->register_method ({
unlink $tmp_key_file;
my $source = "deb http://ceph.com/debian-$cephver wheezy main\n";
my $source = "deb http://download.ceph.com/debian-$cephver wheezy main\n";
PVE::Tools::file_set_contents("/etc/apt/sources.list.d/ceph.list", $source);

View File

@ -1,3 +1,100 @@
pve-manager (3.4-16) unstable; urgency=low
* add warning about ending support in 3.4
-- Proxmox Support Team <support@proxmox.com> Wed, 04 Jan 2017 10:56:39 +0100
pve-manager (3.4-15) unstable; urgency=low
* use file_copy instead of an unsafe cp call (thanks to RACK911Labs.com for
the hint)
-- Proxmox Support Team <support@proxmox.com> Tue, 16 Aug 2016 16:59:53 +0200
pve-manager (3.4-14) unstable; urgency=low
* add htmlEncode to various comment/description fields
* catch malformed mailto/mailfrom in sendmail
-- Proxmox Support Team <support@proxmox.com> Thu, 09 Jun 2016 17:45:33 +0200
pve-manager (3.4-13) unstable; urgency=low
* firewall: add enable ndp option
-- Proxmox Support Team <support@proxmox.com> Fri, 19 Feb 2016 10:54:42 +0100
pve-manager (3.4-12) unstable; urgency=low
* Fix problems with turnkey repository PVE Version 3.4
-- Proxmox Support Team <support@proxmox.com> Thu, 18 Feb 2016 06:41:07 +0100
pve-manager (3.4-11) unstable; urgency=low
* pveceph: change ceph download url to download.ceph.com
-- Proxmox Support Team <support@proxmox.com> Sat, 19 Sep 2015 14:16:40 +0200
pve-manager (3.4-10) unstable; urgency=low
* openvz: improve configuration parser
-- Proxmox Support Team <support@proxmox.com> Fri, 18 Sep 2015 12:42:06 +0200
pve-manager (3.4-9) unstable; urgency=low
* improve creation of OpenVZ archive (store config file first)
-- Proxmox Support Team <support@proxmox.com> Thu, 30 Jul 2015 12:08:55 +0200
pve-manager (3.4-8) unstable; urgency=low
* novncindex : Renamed popupStatusPanel to popupStatus
-- Proxmox Support Team <support@proxmox.com> Fri, 26 Jun 2015 09:45:26 +0200
pve-manager (3.4-7) unstable; urgency=low
* add noVNC resize feature
-- Proxmox Support Team <support@proxmox.com> Thu, 25 Jun 2015 17:42:42 +0200
pve-manager (3.4-6) unstable; urgency=low
* pveceph: use git.ceph.com for key download url
-- Proxmox Support Team <support@proxmox.com> Mon, 27 Apr 2015 06:34:31 +0200
pve-manager (3.4-5) unstable; urgency=low
* pveceph: add hammer release
* pveceph init: allow protocol http
-- Proxmox Support Team <support@proxmox.com> Thu, 23 Apr 2015 06:16:24 +0200
pve-manager (3.4-4) unstable; urgency=low
* GUI: add quick search fields to storage content and backup views
* fix package version info
-- Proxmox Support Team <support@proxmox.com> Mon, 13 Apr 2015 15:27:52 +0200
pve-manager (3.4-3) unstable; urgency=low
* fix logfile rotation
-- Proxmox Support Team <support@proxmox.com> Wed, 11 Mar 2015 16:42:47 +0100
pve-manager (3.4-2) unstable; urgency=low
* fix bug #575: fork at shutdown, so that partent starts new worker
-- Proxmox Support Team <support@proxmox.com> Tue, 10 Mar 2015 08:25:04 +0100
pve-manager (3.4-1) unstable; urgency=low
* write_ceph_config: also write mds sections

1
debian/conffiles vendored
View File

@ -10,6 +10,5 @@
/etc/vzdump.conf
/etc/logrotate.d/pve
/etc/apt/apt.conf.d/75pveconf
/etc/apt/pve-repo-ca-certificates.crt
/etc/apt/sources.list.d/pve-enterprise.list
/etc/network/if-up.d/mtu

3
debian/control.in vendored
View File

@ -3,7 +3,8 @@ Version: @VERSION@-@PACKAGERELEASE@
Section: admin
Priority: optional
Architecture: amd64
Depends: perl (>= 5.10.0-19), libtimedate-perl, libauthen-pam-perl, libintl-perl, rsync, libjson-perl, liblockfile-simple-perl, vncterm, qemu-server (>= 1.1-1), libwww-perl (>= 6.04-1), libnet-http-perl (>= 6.06-1), libhttp-daemon-perl, wget, libnet-dns-perl, vlan, ifenslave-2.6 (>= 1.1.0-10), liblinux-inotify2-perl, debconf (>= 0.5) | debconf-2.0, netcat-traditional, pve-cluster (>= 1.0-29), libpve-common-perl, libpve-storage-perl, libterm-readline-gnu-perl, libpve-access-control (>= 3.0-2), libio-socket-ssl-perl, libfilesys-df-perl, libfile-readbackwards-perl, libfile-sync-perl, redhat-cluster-pve, resource-agents-pve, fence-agents-pve, cstream, postfix | mail-transport-agent, libxml-parser-perl, lzop, dtach, libanyevent-perl, liburi-perl, logrotate, libanyevent-http-perl, apt-transport-https, libapt-pkg-perl, libcrypt-ssleay-perl, liblwp-protocol-https-perl, spiceterm, libuuid-perl, hdparm, gdisk, librados2-perl, pve-firewall, novnc-pve, libev-perl
Depends: perl (>= 5.10.0-19), libtimedate-perl, libauthen-pam-perl, libintl-perl, rsync, libjson-perl, liblockfile-simple-perl, vncterm, qemu-server (>= 1.1-1), libwww-perl (>= 6.04-1), libnet-http-perl (>= 6.06-1), libhttp-daemon-perl, wget, libnet-dns-perl, vlan, ifenslave-2.6 (>= 1.1.0-10), liblinux-inotify2-perl, debconf (>= 0.5) | debconf-2.0, netcat-traditional, pve-cluster (>= 1.0-29), libpve-common-perl, libpve-storage-perl, libterm-readline-gnu-perl, libpve-access-control (>= 3.0-2), libio-socket-ssl-perl, libfilesys-df-perl, libfile-readbackwards-perl, libfile-sync-perl, redhat-cluster-pve, resource-agents-pve, fence-agents-pve, cstream, postfix | mail-transport-agent, libxml-parser-perl, lzop, dtach, libanyevent-perl, liburi-perl, logrotate, libanyevent-http-perl, apt-transport-https, ca-certificates, libapt-pkg-perl, libcrypt-ssleay-perl, liblwp-protocol-https-perl, spiceterm, libuuid-perl, hdparm, gdisk, librados2-perl, pve-firewall, novnc-pve, libev-perl
Build-Depends: liblocale-po-perl
Conflicts: netcat-openbsd, vzdump
Replaces: vzdump
Provides: vzdump

View File

@ -8,6 +8,7 @@
create 640 www-data www-data
sharedscripts
postrotate
/etc/init.d/pveproxy reload > /dev/null
/etc/init.d/pveproxy restart > /dev/null
/etc/init.d/spiceproxy restart > /dev/null
endscript
}

View File

@ -2,7 +2,7 @@ RELEASE=3.4
VERSION=3.4
PACKAGE=pve-manager
PACKAGERELEASE=1
PACKAGERELEASE=16
BINDIR=${DESTDIR}/usr/bin
PERLLIBDIR=${DESTDIR}/usr/share/perl5

View File

@ -5,6 +5,3 @@ APT
"^pve-kernel-.*";
};
}
Acquire::https::enterprise.proxmox.com::CaInfo "/etc/apt/pve-repo-ca-certificates.crt";
Acquire::https::enterprise.proxmox.com::Verify-Peer "true";

View File

@ -11,8 +11,8 @@ use PVE::Tools qw(run_command);
my $gitdir = shift;
die "no repository" if !$gitdir;
my $path = "$gitdir/refs/heads/master";
die "master branch does not exists" if ! -f $path;
my $path = "$gitdir/refs/heads/stable-3";
die "stable-3 branch does not exists" if ! -f $path;
my $arg1 = shift;

View File

@ -380,10 +380,18 @@ Ext.define('PVE.StdWorkspace', {
},
{
minWidth: 200,
flex: 1,
id: 'versioninfo',
html: '<span class="x-panel-header-text">Proxmox Virtual Environment</span>'
},
{
flex: 1,
html: '<div class="x-panel-header-text" >' +
'<img height=27 style="padding: 0 5 0 0;float:left" ' +
'src="/pve2/ext4/resources/themes/images/default/shared/icon-warning.gif" />' +
'<a target="_blank" href="https://pve.proxmox.com/wiki/Category:Proxmox_VE_3.x">' +
'Support for Proxmox VE 3.4 ends on<br />February 28, 2017. Click for details</a>' +
'</div>'
},
{
pack: 'end',
margins: '8 10 0 10',

View File

@ -51,7 +51,7 @@ Ext.define('PVE.RestProxy', {
text += " (+ " + info.tfa + ")";
}
return text;
return Ext.String.htmlEncode(text);
}
}
],

View File

@ -131,6 +131,7 @@ Ext.define('PVE.dc.AuthView', {
id: 'comment',
header: gettext('Comment'),
sortable: false,
renderer: Ext.String.htmlEncode,
dataIndex: 'comment',
flex: 1
}

View File

@ -96,6 +96,7 @@ Ext.define('PVE.dc.GroupView', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
],

View File

@ -96,6 +96,7 @@ Ext.define('PVE.dc.PoolView', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
],

View File

@ -167,7 +167,7 @@ Ext.define('PVE.SecurityGroupList', {
selModel: sm,
columns: [
{ header: gettext('Group'), dataIndex: 'group', width: 100 },
{ header: gettext('Comment'), dataIndex: 'comment', flex: 1 }
{ header: gettext('Comment'), dataIndex: 'comment', renderer: Ext.String.htmlEncode, flex: 1 }
],
listeners: {
itemdblclick: run_editor,

View File

@ -221,6 +221,7 @@ Ext.define('PVE.dc.UserView', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
],

View File

@ -29,6 +29,7 @@ Ext.define('PVE.form.GroupSelector', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
]

View File

@ -64,6 +64,7 @@ Ext.define('PVE.form.IPRefSelector', {
{
header: gettext('Comment'),
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
]);

View File

@ -29,6 +29,7 @@ Ext.define('PVE.form.PoolSelector', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
]

View File

@ -34,6 +34,7 @@ Ext.define('PVE.form.SecurityGroupsSelector', {
{
header: gettext('Comment'),
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
]

View File

@ -42,6 +42,7 @@ Ext.define('PVE.form.UserSelector', {
header: gettext('Comment'),
sortable: false,
dataIndex: 'comment',
renderer: Ext.String.htmlEncode,
flex: 1
}
]

View File

@ -75,6 +75,27 @@ Ext.define('PVE.grid.BackupView', {
}
});
var storagefilter = Ext.create('Ext.form.field.Text', {
fieldLabel: gettext('Search'),
labelWidth: 50,
labelAlign: 'right',
enableKeyEvents: true,
listeners: {
buffer: 500,
keyup: function(field) {
me.store.clearFilter(true);
me.store.filter([
{
property: 'volid',
value: field.getValue(),
anyMatch: true,
caseSensitive: false
}
]);
}
}
});
var sm = Ext.create('Ext.selection.RowModel', {});
var backup_btn = Ext.create('Ext.button.Button', {
@ -151,7 +172,7 @@ Ext.define('PVE.grid.BackupView', {
Ext.apply(me, {
stateful: false,
selModel: sm,
tbar: [ backup_btn, restore_btn, delete_btn, '->', storagesel ],
tbar: [ backup_btn, restore_btn, delete_btn, '->', storagesel, storagefilter ],
columns: [
{
header: gettext('Name'),

View File

@ -171,7 +171,7 @@ Ext.define('PVE.FirewallAliases', {
columns: [
{ header: gettext('Name'), dataIndex: 'name', width: 100 },
{ header: gettext('IP/CIDR'), dataIndex: 'cidr', width: 100 },
{ header: gettext('Comment'), dataIndex: 'comment', flex: 1 }
{ header: gettext('Comment'), dataIndex: 'comment', renderer: Ext.String.htmlEncode, flex: 1 }
],
listeners: {
itemdblclick: run_editor

View File

@ -107,6 +107,7 @@ Ext.define('PVE.FirewallOptions', {
add_boolean_row('enable', gettext('Enable Firewall'), 1);
add_boolean_row('nosmurfs', gettext('SMURFS filter'), 1);
add_boolean_row('tcpflags', gettext('TCP flags filter'), 0);
add_boolean_row('ndp', gettext('Enable NDP'), 1);
add_integer_row('nf_conntrack_max', 'nf_conntrack_max', 120, 32768);
add_integer_row('nf_conntrack_tcp_timeout_established',
'nf_conntrack_tcp_timeout_established', 250, 7875);
@ -117,6 +118,7 @@ Ext.define('PVE.FirewallOptions', {
} else if (me.fwtype === 'vm') {
add_boolean_row('enable', gettext('Enable Firewall'), 0);
add_boolean_row('dhcp', gettext('Enable DHCP'), 0);
add_boolean_row('ndp', gettext('Enable NDP'), 1);
add_boolean_row('macfilter', gettext('MAC filter'), 1);
add_log_row('log_level_in');
add_log_row('log_level_out');

View File

@ -36,6 +36,7 @@ Ext.define('PVE.form.FWMacroSelector', {
{
header: gettext('Description'),
flex: 1,
renderer: Ext.String.htmlEncode,
dataIndex: 'descr'
}
]

View File

@ -37,7 +37,7 @@ Ext.define('PVE.node.APT', {
var colspan = headerCt.getColumnCount();
// Usually you would style the my-body-class in CSS file
return {
rowBody: '<div style="padding: 1em">' + data.Description + '</div>',
rowBody: '<div style="padding: 1em">' + Ext.String.htmlEncode(data.Description) + '</div>',
rowBodyColspan: colspan
};
}

View File

@ -129,6 +129,7 @@ Ext.define('PVE.node.ServiceView', {
{
header: gettext('Description'),
dataIndex: 'desc',
renderer: Ext.String.htmlEncode,
flex: 1
}
],

View File

@ -148,7 +148,7 @@ Ext.define('PVE.IPSetList', {
selModel: sm,
columns: [
{ header: 'IPSet', dataIndex: 'name', width: 100 },
{ header: gettext('Comment'), dataIndex: 'comment', flex: 1 }
{ header: gettext('Comment'), dataIndex: 'comment', renderer: Ext.String.htmlEncode, flex: 1 }
],
listeners: {
itemdblclick: run_editor,

View File

@ -13,6 +13,7 @@ Ext.define('PVE.pool.StatusView', {
var rows = {
comment: {
header: gettext('Comment'),
renderer: Ext.String.htmlEncode,
required: true
}
};

View File

@ -253,6 +253,7 @@ Ext.define('PVE.qemu.Options', {
smbios1: {
header: gettext('SMBIOS settings (type1)'),
defaultValue: '',
renderer: Ext.String.htmlEncode,
editor: caps.vms['VM.Config.HWType'] ? 'PVE.qemu.Smbios1Edit' : undefined
}
};

View File

@ -279,7 +279,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
if (record.data.name === 'current') {
return gettext("You are here!");
} else {
return value;
return Ext.String.htmlEncode(value);
}
}
}

View File

@ -59,6 +59,7 @@ Ext.define('PVE.grid.TemplateSelector', {
{
header: gettext('Description'),
flex: 1.5,
renderer: Ext.String.htmlEncode,
dataIndex: 'headline'
}
],
@ -443,6 +444,27 @@ Ext.define('PVE.storage.ContentView', {
win.show();
win.on('destroy', reload);
}
},
'->',
gettext('Search') + ':', ' ',
{
xtype: 'textfield',
width: 200,
enableKeyEvents: true,
listeners: {
buffer: 500,
keyup: function(field) {
store.clearFilter(true);
store.filter([
{
property: 'text',
value: field.getValue(),
anyMatch: true,
caseSensitive: false
}
]);
}
}
}
],
columns: [