Compare commits
42 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d26a7c43ed | ||
|
619ba5b0a5 | ||
|
8c28de4527 | ||
|
cfbc6d9e25 | ||
|
21243a9b89 | ||
|
b800197970 | ||
|
5089350947 | ||
|
35e0ea9a1d | ||
|
2ca42e9946 | ||
|
67ff00199f | ||
|
5171a29935 | ||
|
bcf90a51b0 | ||
|
5d4970c504 | ||
|
d9ff0aaff9 | ||
|
a7386ed870 | ||
|
ab285b1312 | ||
|
cb7fdf43f1 | ||
|
454b7e172f | ||
|
054fd2315a | ||
|
cac618fedb | ||
|
40b4525cc1 | ||
|
e38907ac98 | ||
|
1a5de0b450 | ||
|
cf022ba085 | ||
|
5d1a0d9a9c | ||
|
d89afd4661 | ||
|
d004d5a869 | ||
|
74f016daaf | ||
|
53a67dc5e5 | ||
|
9bb4956ef2 | ||
|
6460bb32d5 | ||
|
c6c74afd66 | ||
|
0819071ac6 | ||
|
0618b46c28 | ||
|
c7b92b1cf5 | ||
|
b511334481 | ||
|
5865a7d406 | ||
|
5d26bd8327 | ||
|
29d3f5f820 | ||
|
3dee0c2698 | ||
|
530c6d8832 | ||
|
36b760a9f7 |
23
Makefile
23
Makefile
@ -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
|
||||
|
@ -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} || [];
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
10
bin/pveceph
10
bin/pveceph
@ -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);
|
||||
|
||||
|
97
debian/changelog.Debian
vendored
97
debian/changelog.Debian
vendored
@ -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
1
debian/conffiles
vendored
@ -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
3
debian/control.in
vendored
@ -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
|
||||
|
3
debian/pve.logrotate
vendored
3
debian/pve.logrotate
vendored
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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";
|
@ -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;
|
||||
|
||||
|
@ -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',
|
||||
|
@ -51,7 +51,7 @@ Ext.define('PVE.RestProxy', {
|
||||
text += " (+ " + info.tfa + ")";
|
||||
}
|
||||
|
||||
return text;
|
||||
return Ext.String.htmlEncode(text);
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -131,6 +131,7 @@ Ext.define('PVE.dc.AuthView', {
|
||||
id: 'comment',
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
renderer: Ext.String.htmlEncode,
|
||||
dataIndex: 'comment',
|
||||
flex: 1
|
||||
}
|
||||
|
@ -96,6 +96,7 @@ Ext.define('PVE.dc.GroupView', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
],
|
||||
|
@ -96,6 +96,7 @@ Ext.define('PVE.dc.PoolView', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
],
|
||||
|
@ -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,
|
||||
|
@ -221,6 +221,7 @@ Ext.define('PVE.dc.UserView', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
],
|
||||
|
@ -29,6 +29,7 @@ Ext.define('PVE.form.GroupSelector', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
]
|
||||
|
@ -64,6 +64,7 @@ Ext.define('PVE.form.IPRefSelector', {
|
||||
{
|
||||
header: gettext('Comment'),
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
]);
|
||||
|
@ -29,6 +29,7 @@ Ext.define('PVE.form.PoolSelector', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
]
|
||||
|
@ -34,6 +34,7 @@ Ext.define('PVE.form.SecurityGroupsSelector', {
|
||||
{
|
||||
header: gettext('Comment'),
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
]
|
||||
|
@ -42,6 +42,7 @@ Ext.define('PVE.form.UserSelector', {
|
||||
header: gettext('Comment'),
|
||||
sortable: false,
|
||||
dataIndex: 'comment',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
]
|
||||
|
@ -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'),
|
||||
|
@ -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
|
||||
|
@ -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');
|
||||
|
@ -36,6 +36,7 @@ Ext.define('PVE.form.FWMacroSelector', {
|
||||
{
|
||||
header: gettext('Description'),
|
||||
flex: 1,
|
||||
renderer: Ext.String.htmlEncode,
|
||||
dataIndex: 'descr'
|
||||
}
|
||||
]
|
||||
|
@ -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
|
||||
};
|
||||
}
|
||||
|
@ -129,6 +129,7 @@ Ext.define('PVE.node.ServiceView', {
|
||||
{
|
||||
header: gettext('Description'),
|
||||
dataIndex: 'desc',
|
||||
renderer: Ext.String.htmlEncode,
|
||||
flex: 1
|
||||
}
|
||||
],
|
||||
|
@ -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,
|
||||
|
@ -13,6 +13,7 @@ Ext.define('PVE.pool.StatusView', {
|
||||
var rows = {
|
||||
comment: {
|
||||
header: gettext('Comment'),
|
||||
renderer: Ext.String.htmlEncode,
|
||||
required: true
|
||||
}
|
||||
};
|
||||
|
@ -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
|
||||
}
|
||||
};
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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: [
|
||||
|
Loading…
Reference in New Issue
Block a user