Thursday, June 25, 2026

ClamAV and Domino

 I am not an expert on Anti-virus things and Domino, that would be Daniel Nashed.

But if HCL Domino has something new, I test it out and set it up on my server.

In this case, I had heard that ClamAV would now work with Domino as of 14.5.1.

Having used Clam for many years at the OS level, I wanted to play with this in Domino.

My server is Windows, not Linux, ClamAV Linux instructions are pretty common, Windows, not as much.

Boy was this the hardest "easy' thing to do ever.


To start, HCL provides no documentation.

There are only 3 references to ClamAV in the official docs:

https://help.hcl-software.com/domino/14.5.1/admin/wn_config_features_1451.html#wn_config_features_1451__section_fq1_wgc_23c

https://help.hcl-software.com/domino/14.5.1/admin/conf_configuringscanninginscscancfg.html?hl=clamav

https://help.hcl-software.com/domino/14.5.1/admin/conf_scanningattachmentsforviruses.html?hl=clamav


None of which tell you much about how to set up ClamAV or how to configure it for Domino integration.

I opened a ticket and eventually was directed to this post:

https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0129703

Which is in Japanese. Use Google Translate or Chrome built in translstion.

I see now, at my urging, HCL has released the same document in English.

https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0131220


Their perspective is that we should go to ClamAv to set it up and then magically know how to integrate it.

I asked why it wasn't in the actual documentation and got a runaround answer, given HCL announced the availability, not ClamAV.

The new technical document covers some of the set up required.


I am going to add what is missing, more for my benefit, and anyone else who will try this on their servers.

Step 1 is Download the ClamAV from the link in the document, https://www.clamav.net/downloads and install it. BUT this does not tell you how to set it up in Services.

For that, you perform this:

  • Open the Windows Command Prompt as an Administrator and navigate to your ClamAV folder.
  • Run the following command to install the ClamAV daemon service:
    clamd.exe --install

  • Remember to set it to automatic.

    Step 2 is to copy the config file as described and perform the edits.

    Step 3, however, did not work for me no matter how I tried to get the certificate. Even with HCL Support help, they eventually had to send me the certificate required.

    Step 4: You have to get the updated virus definitions. NOTE: This is a once off effort. And Manual.

    If you want it to be automatic, and you do, you need to do these steps.

  • Open the Windows Command Prompt as an Administrator and navigate to your ClamAV folder.
  • Run the following command to install the ClamAV daemon service:
    freshclam.exe --install

  • Once you Load mailscan at the Domino server console you will get the cscancfg.nsf and need to follow the document entries as provided.

    NOTE: The ClamAV server name(DNS) must be 127.0.0.1. Do not put your server IP there, it will not work at all.

    Make sure you open port 3310 with your local server firewall, and in my case, the outside ISP.

    I changed the Subject Prefix Scanned field default text to something I would know came from my server, not a spammer.

    Lastly, make sure you add Mailscan to your tasks line in your notes.ini also something not mentioned in the document that is kind of important, unless you like having your mail stuck in mail.box and spend 2 hours troubleshooting it one morning, like I just did.

    I eventually figured out it was an AV issue when running SMTPDebugClient=1 and

    Tell Router list run from the server console.

    You see this:

    Mbx NoteID          ID          State          Size Pri Count ScheduledDate           From

      1 000008FE 0028261D Wait AV        8443         1                         K Brooks/org

      2 00000902 00283C39 Wait AV       13306         1                         kbrooks@test.com

      1 00000902 002864E3 Wait AV        8749         1                         keith@gmail.com

      2 00000906 00287C9A Wait AV        8640         1                         keith@gmail.com


    Oh, that makes sense after the server restarted late yesterday. Mailscan was not in tasks.

    So, my time spent, is your time gained.


    Tuesday, May 12, 2026

    12.0.2 FP8 didn't update version numbers

    This is probably not a problem with FP8, to be upfront, but just in case I am using it for the title.

    4 out of 8 servers at a customer did not chaaange tehir version number when I updated them to FP8.

    They stayed FP7.

    In the past, I have had this issue where updates don't happen, due to various reasons like a corrupted NAB, failed hot fix removals, etc..

    But this was different because 4 servers, DEV domain, were fine.

    QUAL domain is not updated.

    How Did I Get Here

    Servers were 12.0.2 FP7 HF1 Windoews 2019

    I shut the Domino server down, including the Domino service.

    Paused the Windows Management service(ONLY affects HF's for some reason), then ran the hot fix as administrator to remove it.

    Started the server from the icon asd a regular application, so I can see it running, and a "sh ser" showed the correct FP7 version. Let it run for a few minutes till I saw HTTP start and some other tasks. Then shut it down.

    Run FP8 as an administrator, runs fine, no errors.

    Restart the box, actually, 2 servers had issues with the Domino service login, and I restarted the whole VM, the other 2 the service started fine.

    Waited to see the server docs change, and nothing.

    The upgrade.log showed everything looked ok.

    I opened a ticket with HCL after the 1st 4 failed to update, then I checked the next 4 and those worked.

    The Resolution and Reasoning

    Sooraj from HCL Support provided me with the following resolution and an explanation after I provided some files and screenshots.

    Take a backup of the files below and replace them from a "working" server [12.0.2FP8]

    Domino\nstrings.dll
    Domino\res\C\nstrings.res

    Shutdown the incorrect Domino server
    Take a backup of the two files mentioned above.
    Copy similar files from a working 1202FP8 server and replace them.

    (I left the existing ones, and added a _BAD at the end of the name)

    Start the Domino server.

    While I asked to close the ticket, I also wanted an explanation for future thoughts. 

    Sooraj provided the following:

    This problem was reported for the first time, and based on my analysis, it appears that those two files were not updated by the FP8 installer. It was still using the FP7 code. This ideally occurs due to an access issue with the account that started the installation, but unfortunately, I cannot confirm this because the upgrade.log doesn't show any such errors.

    Possibly a server processing issue, a delay, or perhaps not fully completing a virus scan, or some other local issue was to blame.

    But on 4 servers, I don't believe so. 

    One, sure, things happen. 

    In this situation, all 4, well, 8, are nearly identical setups.

    Hope this helps others with similar issues at some time in their admin journeys.



     

    Thursday, April 23, 2026

    Engage 2026, the Year of AI and my session

     There were 11 AI sessions out of about 70, not including roadmap or sponsor/commercial sessions.

    I figure in a year or 2 we won't be saying AI and just, look what I built.

    Thank you to everyone who messaged me asking where I was hiding. It wasn't my intention to miss the event, but I did not make it.

    Instead, I was live from my apartment, doing my session. What may have been a first for Engage, a solo session done remotely!

    Due to my flight travel plans being interrupted and changed a few times, it became clear I may not even get to Engage until after my session would have started, and have to stay a day later, but leave much earlier, and this caused quite a few issues, which I discussed with Kris and reluctantly had to give up trying to attend.

    Kris said he would hold my space in case things changed for the better, but alas, that was not the case.

    However, he said we could try to do it remotely. Webinar mode basically. 

    Thanks, Kris and Tom, for the chance and possibility!

    I agreed we could try it, not expecting much or even how we would do it, so I labored on with my slides.

    I asked the OpennNTF Board, which I am part of, if we could use our webinar meeting app and if someone could connect everything in Ghent.

    The Board agreed, and it was game on.

    Roberto was very helpful in getting it all set up, Thank you Roberto! I had presumed I would lose 5-10 minutes with setup and adjusted my session accordingly. It was only 7 minutes.

    My next thought was, why would anyone come to my session, knowing I wasn't there to give it?

    Turns out, about 15-20 people ventured into the room, and I think they were surprised by what they saw and heard.


    Full deck is here: https://speakerdeck.com/kbmsg/ai-making-admin-and-users-lives-better

    My session was supposed to be on AI tools/apps that anyone had created to help users and admins. To get people thinking more practically about what could be done.

    Along the way, I discussed why citizen developers who leverage AI, or anything, don't exist as they did 25 or even 10 years ago.

    With locked down browsers and IT blocking changes to applications, let alone updates, and the lack of a Domino Designer client installed (even though it is no longer an extra charge), it is just not easy for users, or even shadow it, to create anything, let alone use it. You can read more about this on page 8 of my slides.

    But we admins and developers are not as constrained, aside from browser lockdowns.

    I had hoped, had I been at Engage, to go to the Monday HCL workshop on vibe coding. There was also Bernd's session on Tuesday around the advances his company has made, which I looked forward to for his insights. Then there was Dominic's session on Wednesday, also aimed at Admins and AI, which, if I had read all the sessions in advance, I would have tried to compare notes earlier. To be fair, I often don't get around to reviewing the agenda until the week before the event.

    I work with some entities that I am not allowed to post about, which explains my dearth of blog posts. But that doesn't stop me from creating things I need to work with in their environments.

    My main point of the session was to show a script(LotusScript, server commands, Java, and formulas) building tool for Domino admins. I am not a developer, although I can edit existing code and make things do what I want. When it comes to doing it from scratch, I am useless.

    Enter AI, and I said, " I bet I could create something to make my life and other admins ' lives better".

    I give you my Domino Script AI Tool.


    You can go use it here: https://kbmsg.github.io/domino-scripts/

    Or pull it from my GitHub: https://github.com/kbmsg/domino-scripts

    The slide deck discusses some of the templates and what it does; the GitHub site provides more details and how to start using it.

    I built it to work with Claude.ai, and feedback already asked that I let Ollama be used too.

    I started the ollama config, but it is not quite working. If you see it say v66 or newer and followed by Ollama works, like it says just now, you are good to go!

    Domino Script AI v64



    This will be posted to https://OpenNTF.org as well.

    AI vibe coding is literally like building your parachute after you jump out of a plane. Sure, you get most of it right, but that last 10% is the problem, and it takes time.

    But, and this is a huge but, if I tried to do this from scratch, it would take me days and days. While I am on iteration 65 or so, all together it took only a few hours to get here, but stretched out over a few days, giving time, resources, and work.

    If you have ideas for me to include, feel free to comment here or via GitHub or the OpenNTF Discord channels. 

    PS - If you are in a licensing situation and need to sort the CCB vs CCX people, you may want to try the Dump ACL to CSV template. As discussed on page 16 in my slides.