Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Alex Kirhenshtein

#16
Самое простое решение - добавить в Hook::CreateInterface:

if (($1.name == "ISW001") and ($1->name ~= "^VLAN.*"))
{
    return false;   // не создавать VLAN-интерфейсы
}
return true;
#17
That's more or less expected with the current caching: the client caches tiles under .nxmc4 and doesn't invalidate them when the tile server changes, so you can get stale/missing tiles from the previous server — which is why clearing the cache fixed it for you. I've filed a ticket to key the cache by tile server URL so switching servers invalidates automatically and you won't need to clear it by hand. Thanks for tracking it down.
#18
Feature Requests / Re: Geo map Icons and objects
July 09, 2026, 10:19:23 PM
Objects already have a "presentation image" property that is meant to control exactly this. It turns out it's currently ignored when the object is rendered on the geo map, so you always get the default icon there. I've opened an issue to fix it — once done, your custom presentation image will be used on geo maps as well. Thanks for the report.
#20
Hi Leo,

Yes — libcurl.dll will be updated to 8.21.0 or later in the next agent build. It's bundled with the Windows agent, server, client and web UI installers, so all of them get the new DLL.

That said, NetXMS itself is not exploitable through this bug, so there's no urgency here.

CVE-2026-8927 needs four things to line up at once:

1. the proxy is configured through environment variables rather than CURLOPT_PROXY,
2. a curl handle is reused across sequential transfers,
3. the proxy changes between those transfers, and
4. the first transfer authenticated to the proxy using Digest.

The fourth one never happens in NetXMS. libcurl only negotiates Digest against a proxy if the application sets CURLOPT_PROXYAUTH to include CURLAUTH_DIGEST or CURLAUTH_ANY — the default for that option is CURLAUTH_BASIC. We never set CURLOPT_PROXYAUTH anywhere in the codebase, in the agent or the server. So the stale Proxy-Authorization state that the CVE describes is never created in the first place.

Worth heading off one thing that looks related but isn't: the agent's web service support does offer Digest as an authentication option (WebServiceAuthType::DIGEST). That is passed to CURLOPT_HTTPAUTH, which authenticates to the web service itself via the Authorization header. Proxy authentication (Proxy-Authorization) is a separate state machine and is not affected.

If your scanner is flagging the DLL by version rather than by reachability, and you'd rather not wait for the next build, you can drop a newer libcurl.dll into the agent's bin directory yourself. curl keeps its ABI stable across the 8.x series, so a straight 8.21.0 replacement works. Two caveats: it will be overwritten on the next agent upgrade, and it won't carry our code signature.
#21
Hi,

Thanks, my bad. Fixed now.
#22
Simplest approach is to modify retention time in server configuration, then run housekeeper (or just leave it overnight). Once done, vacuum DB and you'll have more space.
#23
nxdbmgr actually do this migration for all images - but stock images (there are 9) are deleted by the upgrade process before the actual migration. Current build of both debs and rpms have workaround for that, and it's completely fixed in upcoming 6.2.1.
#24
Hi,

The problem is the servlet container version, not Java.

The NetXMS 6.2 web client (nxmc-6.2.0.war) is built against the Jakarta Servlet API (jakarta.servlet.* namespace) and requires a container that supports it. You are running Tomcat 9.0.58, which still uses the older javax.servlet.* namespace. Because of that, Tomcat 9 cannot load the application's context listeners, which is exactly the "One or more listeners failed to start" / "Context startup failed" error you see.

The ClassCastException about ObjectStreamClass$Caches is a harmless secondary warning. It comes from Tomcat's cleanup routine running on a newer JDK while it tears down the already-failed context - it is not the cause. That is also why switching from JDK 17 to 21 made no difference; the JDK was never the issue.

To fix it, deploy the WAR on a container that supports the Jakarta Servlet API:

- Tomcat 10.1 or later - on Ubuntu use the tomcat10 package, webapps directory /var/lib/tomcat10/webapps.
- Jetty 11 or later is also fine (Jetty 11/12 support the Jakarta Servlet API).

Java 17 or 21 works with either. Do not run it under Tomcat 9 - the javax vs jakarta namespace difference cannot be bridged by a config change or a different JDK.
#25
It's a know issue, we are working on that right now. Should be improved in next patch release.
#26
It's just png tiles, yes.

But according to our monitoring and my manual check - it's just fine (e.g. https://tile.netxms.org/osm/0/0/0.png, https://tile.netxms.org/osm/14/9288/5023.png)

What kind of error you got?
#27
I've pushed 6.2.0-2, which have workaround for this issue.
Note: workaround only handles stock images, if any custom was uploaded and then deleted directly on the filesystem - upgrade will fail.

List of stock files:
092e4b35-4e7c-42df-b9b7-d5805bfac64e
1ddb76a3-a05f-4a42-acda-22021768feaf
7cd999e9-fbe0-45c3-a695-f84523b3a50c
904e7291-ee3f-41b7-8132-2bd29288ecc8
b314cf44-b2aa-478e-b23a-73bc5bb9a624
ba6ab507-f62d-4b8f-824c-ca9d46f22375
bacde727-b183-4e6c-8dca-ab024c88b999
f5214d16-1ab1-4577-bb21-063cfd45d7af
f9105c54-8dcf-483a-b387-b4587dfd3cba


Simplest approach for missing custom images - create empty file, e.g. "touch /var/lib/netxms/images/...".
#28
Hi,

Those messages are warnings, not errors. Upgrade did not fail. This is normal PostgreSQL collation mismatch. Has nothing to do with 15→17 — comes only from Debian 12→13, because Trixie has glibc 2.41 instead of 2.36, and PostgreSQL remembers glibc version used to build indexes.

For in-place upgrade use pg_upgradecluster. Stop NetXMS, make dump for safety, drop empty PG17 cluster that was auto-created, then upgrade:

systemctl stop netxms-server
sudo -u postgres pg_dump -Fc netxms > /backup/netxms.dump   # safety net
pg_dropcluster 17 main --stop        # remove empty auto-created PG17 cluster
pg_upgradecluster 15 main
nxdbmgr check
systemctl start netxms-server
# when verified:  pg_dropcluster 15 main

Important detail: pg_upgradecluster without --method=upgrade uses dump method inside. It rebuilds all indexes under new glibc, so you get no collation warnings and no reindex needed. Only -m upgrade / -m link (fast file-reuse mode) makes the warnings. If you use that mode, fix it correct way — reindex first, then refresh — for each database (netxms, postgres, template1):

REINDEX DATABASE netxms;
ALTER DATABASE netxms REFRESH COLLATION VERSION;

Do not run only REFRESH. It hides warning but leaves bad-sorted indexes. Reindex is mandatory.
#29
General Support / Re: v5.1.3 Android Client
June 11, 2026, 03:18:27 PM
Comments are available in open testing track (https://play.google.com/apps/testing/org.netxms.android); 1.0.6 / build 27.
#30
General Support / Re: v5.1.3 Android Client
June 11, 2026, 12:19:11 PM
Quote from: hellium on June 10, 2026, 03:39:56 PMBut the mobile client is incredibly limited in what data it shows.

well, that's why I'm asking for feedback :)

I've added comments section on object details, will be included in next update.