On fresh installations, neither the new nor the old IPAM db file
exist. This triggers our fallback code path and leads to errors in the
syslog on fresh installs where there is no IPAM database. This happens
whenever a firewall API call is made. Because of this, we choose to
ignore EPERM when reading the legacy files. This is okay, because we
move existing databases in the postinstall script of
libpve-network-perl, making the situation where the new file does not
exist, but the old file exists unlikely.
Reported-by: Alexander Zeidler <a.zeidler@proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Used for obtaining the IPSets that get autogenerated by the nftables
firewall. The returned configuration has the same format as the
pve-firewall uses internally, making it compatible with the existing
pve-firewall code.
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Reviewed-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Tested-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Hannes Dürr <h.duerr@proxmox.com>
There is no difference in the source or binary packge running with or
without `--no-pre-clean`. On the other hand, dpkg-buildpackge complains
loudly when `--no-pre-clean` is specified, so let's remove it.
Signed-off-by: Jing Luo <jing@jing.rocks>
There is no architecture dependent binary files in the libproxmox-rs-perl deb
package. There is no shared libs either (says debhelper), so let's remove
that too. Slight adjustment for Makefile too.
Signed-off-by: Jing Luo <jing@jing.rocks>
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[ TL: squash in small changes from re-run on current master ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Since these packages are a bit "special", the way they should be
bumped is now specified in the README. I hope the explanation is clear
enough.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This allows us to drop the impl of that function on the perl side.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
We already depend on proxmox_sys, so we can just use
`replace_file`. Fixing a clippy warning (missing
truncate setting for OpenOptions) is an added benefit.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
This is a simple, cache implementation which can be accessed from
multiple processes. It also supports storing a range of historical
values.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[wb: also update pmg-rs/Cargo.toml and both d/control files]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
We cannot use &[&str] - since this would be a poitner to a `[&str]`
data structure, that's not how perl stores strings.
But we *can* use Vec<&str> - here, the Vec will be allocated, but the
contents will borrow. We don't need to transform this afterwards.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
For PMG we for now only provide an empty stub and warn to syslog -
we need basic notification system integration there first.
On PMG, we still use a pure Perl implementation at the moment,
so this should not be an issue unless we change that.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Fixes the following new warning that appeared after switching
to rust 1.77:
warning: `proxmox-perl-rs/pve-rs/.cargo/config` is deprecated in
favor of `config.toml`
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
they then get stripped into their own package anyway, but without this we don't
get debug symbols at all with rustc >= 1.77
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>