no availability of el8 and el9 rpm, posted by scott on Wed Feb 21 10:39:21 2024
|
Hi,
I checked the RPM download page and found that there is no RPM available to install ELOG on el8 and el9 based OS.
Can someone upload the RPM for el8 and el9 on the download page of ELOG?
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Wed Feb 21 11:15:38 2024
|
Hi,
EPEL retired the ELOG package for security reason.
You can build from GIT source as described in elog:Forum/69732 .
As SPECfile don't manage el8/9, you have to activate manually service thru "systemctl enable elogd" then "systemctl start elogd".
scott wrote: |
Hi,
I checked the RPM download page and found that there is no RPM available to install ELOG on el8 and el9 based OS.
Can someone upload the RPM for el8 and el9 on the download page of ELOG?
|
|
Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Wed Feb 21 21:20:56 2024
|
> EPEL retired the ELOG package for security reason
no, this is not what happened, we (I) requested removal of elog packages from epel, debian and ubuntu because they had obsolete pre-cve (insecure)
versions that should not be used. they were very pleasant, quick and efficient dealing with this. (but obviously they could not retroactively
remove elog from old versions of ubuntu and debian).
we opted to not reclaim ownership of these packages (original person who created these packages had drifted away) because
none of us know how to create debian packages and all of us (speaking for myself) know how much PITA is building RPM packages.
plus I do not know if Stefan has access to el8 and el9 machines (I do not, we are moving to ubuntu/debian wholesale).
I recommend building elog from git sources. it is simple, two commands (git clone + make) vs one command (rpm install),
it ensures you always have the latest version available, it is easy to update (git pull + make) and you do not
get any surprise updates (from nightly apt update/upgrade).
K.O. |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 00:53:26 2024
|
> > EPEL retired the ELOG package for security reason
>
> no, this is not what happened, we (I) requested removal of elog packages from epel, debian and ubuntu because they had obsolete pre-cve (insecure)
> versions that should not be used. they were very pleasant, quick and efficient dealing with this. (but obviously they could not retroactively
> remove elog from old versions of ubuntu and debian).
Yep i remind now. Finally the result was the same :-(
if CVEs had been fixed in repo, you should make a new official ELOG version and update download site with tarball, .exe and RPMS. Almost End-users do not use git repo...
> we opted to not reclaim ownership of these packages (original person who created these packages had drifted away) because
> none of us know how to create debian packages and all of us (speaking for myself) know how much PITA is building RPM packages.
> plus I do not know if Stefan has access to el8 and el9 machines (I do not, we are moving to ubuntu/debian wholesale).
I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
You should have several VM on a shield for that :-P
> I recommend building elog from git sources. it is simple, two commands (git clone + make) vs one command (rpm install),
> it ensures you always have the latest version available, it is easy to update (git pull + make) and you do not
> get any surprise updates (from nightly apt update/upgrade).
The problem of building ELOG is that it needs a development machine with C++ and dependencies installed. This is not present (or forbidden) in production machine/VM...
End users need simple package (rpm/pkg/*) to install it as all other products, with the confidence that this package has been testing...
Also, "git clone and make" should be surprising, as the devs use a particular environment that should be different from user's one.
The future is maybe something more universal as Flatpak/SNAP/...
Btw thanks for ELOG program and support.
Bye
Laurent |
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Thu Feb 22 08:12:28 2024
|
> I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
> You should have several VM on a shield for that :-P
Right. One hour to install linux X, another hour for linux Y. Building RPMs is a constant challenge taking lots of time. If we
find someone who volunteers to build the RPMs and EXEs from the sources and takes over the responsibility for the next years,
I would be more than happy to upload the resulting files. I simply don't have time for that given all my other responsibilities.
Best,
Stefan |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 11:59:03 2024
|
> > I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
> > You should have several VM on a shield for that :-P
>
> Right. One hour to install linux X, another hour for linux Y. Building RPMs is a constant challenge taking lots of time. If we
> find someone who volunteers to build the RPMs and EXEs from the sources and takes over the responsibility for the next years,
> I would be more than happy to upload the resulting files. I simply don't have time for that given all my other responsibilities.
>
> Best,
> Stefan
Hi Stephan,
I understand your time problem. In fact, the "One hour" is the kickstart. Update is poweron VM, dnf update, git clone & rpmbuild x.y.z, then scp *.rpm to website. 10 mins. It could be scripted on your dev server if any VM manager is available from it.
You can also use automatic build plaform as COPR (https://copr.fedorainfracloud.org/) for RPM, and Bitbucket for Debian/Ubuntu (native). Bitbucket accepts OSS projects for Free.
With BitBucket, it's possible to configure personal runners for CI/CD (systems with pipeline client installed, as RHEL, Fedora, Windows, etc...). The pipeline scripts can build, test and generate the packages automatically, depend on system runners.
As CI/CD, the process is automatically done after commits in git repo... A lot of work to make it in place, but when it's running, the delivery process is done
This is also possible with GitLab and other big platorms.
Maybe you should try.
For my curiosity, I've just clone ELOG repo on Bitbucket to try the process. That's pity : pipelines are currently broken (incident traced in status page https://status.atlassian.com/).
The goal is to build elog and pkg file for Ubuntu (docker images list : https://status.atlassian.com/). Next steps should to create a AlmaLinux VM to try RPM builds.
Have nice day,
Laurent |
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Fri Feb 23 08:40:26 2024
|
> For my curiosity, I've just clone ELOG repo on Bitbucket to try the process. That's pity : pipelines are currently broken (incident traced in status page https://status.atlassian.com/).
> The goal is to build elog and pkg file for Ubuntu (docker images list : https://status.atlassian.com/). Next steps should to create a AlmaLinux VM to try RPM builds.
I fixed the bitbucket pipeline. I compiled it for an (old) GCC 6.3, and even if I installed cmake there, it was not running (maybe I needed cmake3?). Anyhow, I switched GCC 10.2 and now it's fine.
> With BitBucket, it's possible to configure personal runners for CI/CD (systems with pipeline client installed, as RHEL, Fedora, Windows, etc...). The pipeline scripts can build, test and generate the packages automatically, depend on system runners.
> As CI/CD, the process is automatically done after commits in git repo... A lot of work to make it in place, but when it's running, the delivery process is done
> This is also possible with GitLab and other big platorms.
As you saw I use the bitbucket pipeline for CI/CD. The current bitbucket-pipelines.yml is pretty simple (see attachment). If you make me one which does the rpmbuild automatically, I'm more than happy to upload and use it. The downside there is that it only works for so long. As you saw at the
error above, the pipeline worked a few years ago when I installed it. But in meantime things changed apparently and need to be fixed. ELOG is around since last century (literally!), and I'm kind of tired to fix things every once in a while. If somebody else could take over the responsibility to
deliver the RPMs I would be more than delighted.
Stefan |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Fri Feb 23 18:00:41 2024   
|
Hi Stefan,
> As you saw I use the bitbucket pipeline for CI/CD. The current bitbucket-pipelines.yml is pretty simple (see attachment). If you make me one which does the rpmbuild automatically, I'm more than happy to upload and use it. The downside there is that it only works for so long. As you saw at the
> error above, the pipeline worked a few years ago when I installed it. But in meantime things changed apparently and need to be fixed. ELOG is around since last century (literally!), and I'm kind of tired to fix things every once in a while. If somebody else could take over the responsibility to
> deliver the RPMs I would be more than delighted.
Good news ! I thought the bitbucket-pipelines.yml was automatically added when importing the repo :-P
Btw, i try to update it as enclosed :
- first step : build, install, start and test Web connection
- build on ELx in // with artifacts
- on centos7
- on centos8
- on centos-stream-9
- automatic deployment on ... where you want. You can push to your website the files by sftp/scp using dedicated account/key using secrets in bitbuckket...

Manually, the artifacts (rpm files) are also available from website in pipeline's steps, Artifacts tab and download button.

NB : The ELOG version is statically set in pipeline script (3.1.5) so this script need to be updated with git one by bitbuecket vars or script command to retrieve it from src.
One more thing : the elog.spec.template must be patched to build last ELOG source on EL7. Without, an error occurs on nullptr usage and C++ must be set to C11 rules... See enclosed elog-EL7_c11_patch.diff .
Now, the Debian/Ubuntu PKGs generation have to be added. Need google as I do not do that for 20 years :-P
Bye
Laurent
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Mon Feb 26 17:39:56 2024
|
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan |
Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Mon Feb 26 21:18:23 2024
|
+1 for a Windows pipeline!
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Feb 26 22:23:05 2024
|
Hi Stefan,
Nice to have up to date RPMs.
For .DEB, I contact the Ubuntu maintainer for its build script, and cool, he replied that he's searching for it. That's could help me to generate the deb more rapidly...
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
.
Laurent
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Tue Feb 27 06:59:06 2024
|
Many thanks for all your efforts!
Laurent Jean-Rigaud wrote: |
Hi Stefan,
Nice to have up to date RPMs.
For .DEB, I contact the Ubuntu maintainer for its build script, and cool, he replied that he's searching for it. That's could help me to generate the deb more rapidly...
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
.
Laurent
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Feb 27 07:35:15 2024
|
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Tue Feb 27 16:55:39 2024
|
Elogd for windows has an option -install which normally does it. Is it working on last Windows version (or the one enclosed in elog:Forum/69664) ?
If Yes, a simple install-as-a-service.bat can be added to archive :-)
.
Laurent
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Mar 4 10:10:50 2024
|
Hi Stefan,
Some updates for Windows version.
I spent last WE to try to build ELOG on Windows from MSVCODE, MSCV, crosschain tool under linux etc, but in vain.
ELOG MSVC projects file are obsolete for last MS C++, and after migration, so much error or missing libs for SSL/Ldap/krb5 which should be built... I drop the sponge :-P
With mingw64 under Linux (docker/Debian), the code has also to be updated (C++11), but I don't get a build after all (also libs missing and must be built).
Finally, I can build Windows version from Windows with CygWin gcc-c++ as I did in the past. All the dependencies are available from CygWin installer. I got problems with strlcpy file missing, need to drop inlcude from elog.c and elogd.h as mxml doesn't include it anymore...
I find a Win64 CI/CD solution on AppVeyor which is free for OSS project. After creating account and add link to my ELOG test Bitbucket repo, ad new files (appveyor.yml, buildming script, update NSIS script for CygWin DDL, add tool for service), it builds automatically an elog-ver-release.exe artifact : (current build from GIT with SSL/LDAP/KRB5 available on month up to March 3, 2024 : https://ci.appveyor.com/api/buildjobs/logp7r8f0kcjq9pp/artifacts/elog-3.1.5-a720145.exe)
I installed this NSIS bundle on my PC and it's starting fine as a service.
The link info from EXE :
$ ldd /cygdrive/c/Program\ Files\ \(x86\)/ELOG/elogd.exe
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffdb1fb0000)
KERNEL32.DLL => /cygdrive/c/Windows/System32/KERNEL32.DLL (0x7ffdb0dc0000)
KERNELBASE.dll => /cygdrive/c/Windows/System32/KERNELBASE.dll (0x7ffdaf950000)
cygwin1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygwin1.dll (0x7ffcedc30000)
cygkrb5-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5-3.dll (0x3fe0a0000)
cyglber-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cyglber-2.dll (0x3fe040000)
cygldap-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygldap-2.dll (0x3fdf20000)
cygssl-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-3.dll (0x3fd0d0000)
cyggcc_s-seh-1.dll => /cygdrive/c/Program Files (x86)/ELOG/cyggcc_s-seh-1.dll (0x3ff1d0000)
cygstdc++-6.dll => /cygdrive/c/Program Files (x86)/ELOG/cygstdc++-6.dll (0x3fcee0000)
cygk5crypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygk5crypto-3.dll (0x3fe170000)
cygkrb5support-0.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5support-0.dll (0x3fe080000)
cygcom_err-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcom_err-2.dll (0x3ffe90000)
cygintl-8.dll => /cygdrive/c/Program Files (x86)/ELOG/cygintl-8.dll (0x3fe450000)
cygcrypto-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-1.1.dll (0x3ffbc0000)
cygsasl2-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygsasl2-3.dll (0x3fd3e0000)
cygssl-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-1.1.dll (0x3fd170000)
cygcrypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-3.dll (0x3ff800000)
cygiconv-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygiconv-2.dll (0x3fe540000)
cygz.dll => /cygdrive/c/Program Files (x86)/ELOG/cygz.dll (0x3fc790000)
I will send you the files/patchs if AppVeyor could be used for Windows CI/CD in your project.
Bye,
Laurent
NB: the AppVeyor build log enclosed, need some cleanup...
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Dec 10 15:34:41 2024
|
People are keeping me asking for a Windows installer. Is this now properly working, also under Windows 11? If you send me the executable, I could upload it to the distribution.
Do people have to install cygwin before they can use it, or will the executable runn just by itself? If I understand correctly, the MinGW package would not require a runtime library, right?
Best,
Stefan
Laurent Jean-Rigaud wrote: |
Hi Stefan,
Some updates for Windows version.
I spent last WE to try to build ELOG on Windows from MSVCODE, MSCV, crosschain tool under linux etc, but in vain.
ELOG MSVC projects file are obsolete for last MS C++, and after migration, so much error or missing libs for SSL/Ldap/krb5 which should be built... I drop the sponge :-P
With mingw64 under Linux (docker/Debian), the code has also to be updated (C++11), but I don't get a build after all (also libs missing and must be built).
Finally, I can build Windows version from Windows with CygWin gcc-c++ as I did in the past. All the dependencies are available from CygWin installer. I got problems with strlcpy file missing, need to drop inlcude from elog.c and elogd.h as mxml doesn't include it anymore...
I find a Win64 CI/CD solution on AppVeyor which is free for OSS project. After creating account and add link to my ELOG test Bitbucket repo, ad new files (appveyor.yml, buildming script, update NSIS script for CygWin DDL, add tool for service), it builds automatically an elog-ver-release.exe artifact : (current build from GIT with SSL/LDAP/KRB5 available on month up to March 3, 2024 : https://ci.appveyor.com/api/buildjobs/logp7r8f0kcjq9pp/artifacts/elog-3.1.5-a720145.exe)
I installed this NSIS bundle on my PC and it's starting fine as a service.
The link info from EXE :
$ ldd /cygdrive/c/Program\ Files\ \(x86\)/ELOG/elogd.exe
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffdb1fb0000)
KERNEL32.DLL => /cygdrive/c/Windows/System32/KERNEL32.DLL (0x7ffdb0dc0000)
KERNELBASE.dll => /cygdrive/c/Windows/System32/KERNELBASE.dll (0x7ffdaf950000)
cygwin1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygwin1.dll (0x7ffcedc30000)
cygkrb5-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5-3.dll (0x3fe0a0000)
cyglber-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cyglber-2.dll (0x3fe040000)
cygldap-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygldap-2.dll (0x3fdf20000)
cygssl-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-3.dll (0x3fd0d0000)
cyggcc_s-seh-1.dll => /cygdrive/c/Program Files (x86)/ELOG/cyggcc_s-seh-1.dll (0x3ff1d0000)
cygstdc++-6.dll => /cygdrive/c/Program Files (x86)/ELOG/cygstdc++-6.dll (0x3fcee0000)
cygk5crypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygk5crypto-3.dll (0x3fe170000)
cygkrb5support-0.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5support-0.dll (0x3fe080000)
cygcom_err-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcom_err-2.dll (0x3ffe90000)
cygintl-8.dll => /cygdrive/c/Program Files (x86)/ELOG/cygintl-8.dll (0x3fe450000)
cygcrypto-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-1.1.dll (0x3ffbc0000)
cygsasl2-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygsasl2-3.dll (0x3fd3e0000)
cygssl-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-1.1.dll (0x3fd170000)
cygcrypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-3.dll (0x3ff800000)
cygiconv-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygiconv-2.dll (0x3fe540000)
cygz.dll => /cygdrive/c/Program Files (x86)/ELOG/cygz.dll (0x3fc790000)
I will send you the files/patchs if AppVeyor could be used for Windows CI/CD in your project.
Bye,
Laurent
NB: the AppVeyor build log enclosed, need some cleanup...
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
|
Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Tue Dec 10 19:23:32 2024
|
> People are keeping me asking for a Windows installer
My Windows-11 laptop may free up in January and I could look at builds of elog and midas, but I know nothing about making Windows installers...
K.O. |
Probleme TLS, posted by Olivier MARTIN on Fri Dec 6 09:39:44 2024
|
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
Re: Probleme TLS, posted by Stefan Ritt on Fri Dec 6 10:59:52 2024
|
TSL is not implemented in ELOG. Maybe I find time some day to do that, but if we have any volunteers in our community who could help me with that I would appreciate.
Stefan
Olivier MARTIN wrote: |
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
|
Re: Probleme TLS, posted by Olivier MARTIN on Mon Dec 9 10:23:32 2024
|
Thanks,
Does email notification from a Gmail address work? It is noted that port 465 must be used for SSL use? Is this correct :
SMTP host : smtp.gmail.com
SMTP port = 465
SMTP username = monadresse@gmail.com
And, should I enter the password attached to my Gmail email and where?
Thanks in advance.
Stefan Ritt wrote: |
TSL is not implemented in ELOG. Maybe I find time some day to do that, but if we have any volunteers in our community who could help me with that I would appreciate.
Stefan
Olivier MARTIN wrote: |
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
|
|
Re: Probleme TLS, posted by Konstantin Olchanski on Mon Dec 9 21:55:53 2024
|
What Stefan meant to say is that Elog does not implement sending email using encrypted SMTP over TLS.
In theory it could be implemented, but if you try to use it, you may find that most
destinations will reject you unless you have configured correct SPF records.
https://en.wikipedia.org/wiki/Sender_Policy_Framework
Even if you do everything right, joints like gmail may still reject you because
their AI decides you are a spammer, or just because they do not like you, and good
luck making them change their mind.
At TRIUMF, we configure elog to use unencrypted and unauthenticated SMTP
to smtp.triumf.ca, which has special rules to accept our email (no questions asked),
and our Microsoft email instance is configured to accept and forward email from
smpt.triumf.ca. Everything is done right, but we still see Fermilab's Microsoft
rejecting TRIUMF's Microsoft email once in a while.
K.O. |
Reuqest to extract X-Forwarded-Name and X-Forwarded-Email when using webserver, posted by Liam Gaffney on Sun Dec 8 22:00:32 2024
|
When using the Webserver authentication in combination with "File" and "Self register = 3", it is possible to keep track of registrations and control access still. This is very useful, and upon clicking on the logbook for the first time, the user is asked to register by typing their username, full name and email address.
First issue here is that they can still edit the box with their username, which might cause confusion if somebody decides to choose a different username and is then surprised about why they cannot automatically login again. Is it possible to lock this field from being edited?
The second issue is more minor, but the user has to manually type their name and email address, even though the webserver may already be able to provide this information in the headers. Specifically, it would be useful to read the name from the X-Forwarded-Name header and email address from the X-Forwarded-Email header.
My config file snippet is below:
Authentication = Webserver, File
allow password change = 0
Password file = webserver.passwords
Self register = 3
|
Global change of links/file path, posted by Dr Marta Divall on Mon Dec 2 10:36:41 2024
|
Dear All,
We have been using the ELOG for several years and had inserted hyper-links instead of whole files in order to save storage space. From this month our server is moved to a new location with a new address. Is there a way for me to retrospectivelly replace all addresses with the new server file pass?
Thanks in advance,
Best regards,
Marta |
Re: Global change of links, posted by Stefan Ritt on Fri Dec 6 10:58:57 2024
|
You would have to access the raw elgo database files (which are pure ASCII files) and write some script which goes through all files and changes the URLs.
Stefan
Dr Marta Divall wrote: |
Dear All,
We have been using the ELOG for several years and had inserted hyper-links instead of whole files in order to save storage space. From this month our server is moved to a new location with a new address. Is there a way for me to retrospectivelly replace all addresses with the new server file pass?
Thanks in advance,
Best regards,
Marta
|
|
Re: Global change of links, posted by Dr Marta Divall on Fri Dec 6 11:06:28 2024
|
Thanks!
Stefan Ritt wrote: |
You would have to access the raw elgo database files (which are pure ASCII files) and write some script which goes through all files and changes the URLs.
Stefan
Dr Marta Divall wrote: |
Dear All,
We have been using the ELOG for several years and had inserted hyper-links instead of whole files in order to save storage space. From this month our server is moved to a new location with a new address. Is there a way for me to retrospectivelly replace all addresses with the new server file pass?
Thanks in advance,
Best regards,
Marta
|
|
|
choosing the default font ? , posted by Pavel Murat on Wed Nov 13 18:12:34 2024
|
Dear All,
is there a way to choose the default "style" for the HTML encoding ? - I'd like to set it to "Typewriter" but couldn't find the corresponding option in the available docs/ sample config files...
-- many thanks, regards, Pasha |
Re: choosing the default font ? , posted by Stefan Ritt on Fri Nov 15 09:55:11 2024
|
Check elog/themes/default/elog.css and look for font-family.
If you just want the elog entries in monospaced font, you can swith to "plain" encoding at the bottom of the entry form. You can also make this a default (check the docu).
Stefan
Pavel Murat wrote: |
Dear All,
is there a way to choose the default "style" for the HTML encoding ? - I'd like to set it to "Typewriter" but couldn't find the corresponding option in the available docs/ sample config files...
-- many thanks, regards, Pasha
|
|
Crash on attachment upload, posted by jaro mrazek on Thu Sep 12 10:42:08 2024
|
I am on ubuntu 24.04.1, I needed to git clone, make and make install,
HEAD is 3fb85fa6 - (HEAD -> master, origin/master, origin/HEAD) Fixed compiler warning (3 weeks ago)
It crashes on every attachment: thank you. Jaro
root@vaio:~# systemctl status elogd
× elogd.service - The ELOG Server
Loaded: loaded (/usr/lib/systemd/system/elogd.service; enabled; preset: ena>
Active: failed (Result: core-dump) since Thu 2024-09-12 10:39:23 CEST; 3s a>
Duration: 5.402s
Docs: man:elogd(8)
man:elog(8)
Process: 724285 ExecStart=/usr/local/sbin/elogd -D -c /usr/local/elog/elogd.>
Main PID: 724286 (code=dumped, signal=ABRT)
CPU: 32ms
Sep 12 10:39:18 vaio systemd[1]: Starting elogd.service - The ELOG Server...
Sep 12 10:39:18 vaio elogd[724286]: elogd 3.1.5 built Sep 11 2024, 17:02:36
Sep 12 10:39:18 vaio elogd[724286]: revision 3fb85fa6
Sep 12 10:39:18 vaio elogd[724286]: File "/var/run/elogd.pid" exists, overwritin>
Sep 12 10:39:18 vaio systemd[1]: Started elogd.service - The ELOG Server.
Sep 12 10:39:18 vaio elogd[724286]: CKeditor detected
Sep 12 10:39:18 vaio elogd[724286]: ImageMagick detected
Sep 12 10:39:18 vaio elogd[724286]: Server listening on port 9000 ...
Sep 12 10:39:23 vaio systemd[1]: elogd.service: Main process exited, code=dumped>
Sep 12 10:39:23 vaio systemd[1]: elogd.service: Failed with result 'core-dump'.
root@vaio:~# systemctl restart elogd
|
Re: Crash on attachment upload, posted by Dominic on Tue Nov 5 15:44:57 2024
|
Does this issue occur only on Ubuntu systems? as I've experienced the same on my Raspberry Pi 5 running Ubuntu too ...
jaro mrazek wrote: |
I am on ubuntu 24.04.1, I needed to git clone, make and make install,
HEAD is 3fb85fa6 - (HEAD -> master, origin/master, origin/HEAD) Fixed compiler warning (3 weeks ago)
It crashes on every attachment: thank you. Jaro
root@vaio:~# systemctl status elogd
× elogd.service - The ELOG Server
Loaded: loaded (/usr/lib/systemd/system/elogd.service; enabled; preset: ena>
Active: failed (Result: core-dump) since Thu 2024-09-12 10:39:23 CEST; 3s a>
Duration: 5.402s
Docs: man:elogd(8)
man:elog(8)
Process: 724285 ExecStart=/usr/local/sbin/elogd -D -c /usr/local/elog/elogd.>
Main PID: 724286 (code=dumped, signal=ABRT)
CPU: 32ms
Sep 12 10:39:18 vaio systemd[1]: Starting elogd.service - The ELOG Server...
Sep 12 10:39:18 vaio elogd[724286]: elogd 3.1.5 built Sep 11 2024, 17:02:36
Sep 12 10:39:18 vaio elogd[724286]: revision 3fb85fa6
Sep 12 10:39:18 vaio elogd[724286]: File "/var/run/elogd.pid" exists, overwritin>
Sep 12 10:39:18 vaio systemd[1]: Started elogd.service - The ELOG Server.
Sep 12 10:39:18 vaio elogd[724286]: CKeditor detected
Sep 12 10:39:18 vaio elogd[724286]: ImageMagick detected
Sep 12 10:39:18 vaio elogd[724286]: Server listening on port 9000 ...
Sep 12 10:39:23 vaio systemd[1]: elogd.service: Main process exited, code=dumped>
Sep 12 10:39:23 vaio systemd[1]: elogd.service: Failed with result 'core-dump'.
root@vaio:~# systemctl restart elogd
|
|
Looking for version update advice, posted by Patrick Upson on Fri Sep 13 12:02:54 2024
|
I've inherited a position that includes deploying elog for an at-sea mission. Once at sea there's no gauntee of internet connection so I have to be sure things are going to work before hand. The machines I currently have (we have several backup machines) are running elog version 2.9.2 and I'm looking for a change log, or feature list to determine if it's safe to update the at-sea laptops to the latest version of elog.
On one hand, I could leave things as they are and I'm sure it will just work, on the other hand, I hate seeing things get out of date to the point that something just stops working some day and there's no ability to get support for old software.
I'm already running elog 3.1.4 on my personal machine I use for configuration development and testing and it seems to work well. The config file is pretty simple and seems to work with 2.9.2 on the at-sea machines, but I don't want to run into any suprises if there ends up being a compatibility issue at sea. |
Re: Looking for version update advice, posted by Stefan Ritt on Wed Sep 25 13:17:06 2024
|
If 3.1.4 runs safely on your laptop, there should be no problem to update the 2.9.2 one. But first do it on a copy of your logbooks from the at-sea. The get converted automatically into a newer format but that should be transparent.
On the other hand you don't really need a new system if your old installation works fine and you don't need any of hte new features.
The changelog ist here: https://elog.psi.ch/elog/download/ChangeLog
Stefan
Patrick Upson wrote: |
I've inherited a position that includes deploying elog for an at-sea mission. Once at sea there's no gauntee of internet connection so I have to be sure things are going to work before hand. The machines I currently have (we have several backup machines) are running elog version 2.9.2 and I'm looking for a change log, or feature list to determine if it's safe to update the at-sea laptops to the latest version of elog.
On one hand, I could leave things as they are and I'm sure it will just work, on the other hand, I hate seeing things get out of date to the point that something just stops working some day and there's no ability to get support for old software.
I'm already running elog 3.1.4 on my personal machine I use for configuration development and testing and it seems to work well. The config file is pretty simple and seems to work with 2.9.2 on the at-sea machines, but I don't want to run into any suprises if there ends up being a compatibility issue at sea.
|
|
Re: Looking for version update advice, posted by Patrick Upson on Wed Sep 25 13:26:07 2024
|
Thanks. I did eveuntaully find the change log and made the decision to upgrade the at-sea machines. So far the configuration file we update for each mission still works. I have a copy of the 2.9.2 installer that if something catostrophic happens I can remove the new version and take it back, but I don't think it'll be a problem. We archive logbooks at the end of a mission, but each mission basically starts from a fresh install like state anyway.
Stefan Ritt wrote: |
If 3.1.4 runs safely on your laptop, there should be no problem to update the 2.9.2 one. But first do it on a copy of your logbooks from the at-sea. The get converted automatically into a newer format but that should be transparent.
On the other hand you don't really need a new system if your old installation works fine and you don't need any of hte new features.
The changelog ist here: https://elog.psi.ch/elog/download/ChangeLog
Stefan
Patrick Upson wrote: |
I've inherited a position that includes deploying elog for an at-sea mission. Once at sea there's no gauntee of internet connection so I have to be sure things are going to work before hand. The machines I currently have (we have several backup machines) are running elog version 2.9.2 and I'm looking for a change log, or feature list to determine if it's safe to update the at-sea laptops to the latest version of elog.
On one hand, I could leave things as they are and I'm sure it will just work, on the other hand, I hate seeing things get out of date to the point that something just stops working some day and there's no ability to get support for old software.
I'm already running elog 3.1.4 on my personal machine I use for configuration development and testing and it seems to work well. The config file is pretty simple and seems to work with 2.9.2 on the at-sea machines, but I don't want to run into any suprises if there ends up being a compatibility issue at sea.
|
|
|
Re: Looking for version update advice, posted by David Pilgram on Wed Sep 25 14:21:33 2024
|
I use linux elog, and if you upgrade to v3.x.x, it's difficult to go back to v2.9.x. This is because the log files get grouped in year sub directories at v3.x.x.
In 2.9.x, the logfiles are store as (made up example) /home/logfiles/yymmdda.log
In 3.x.x they are stored as /home/logfiles/2024/24mmdda.log /home/logfiles/2023/23mmdda.log etc. I think I got the labelling of the subdirectories correct, Stefan will no doubt correct if I am wrong.
I assume the same is true for the Windows version as it would be weird for a split in the program by OS for something important but trivial to impliment for all OS.
It's a bore to sort that out if you have to revert to 2.9.x - I know, I've done it - but I don't recall any change in format in the individual yymmdda.log files with an early v3.x.x version I tried. There may be additions to the log files made in much more recent v3.1.x or so versions, but I guess you are ok with whatever they may be as you've checked the change log.
Patrick Upson wrote: |
Thanks. I did eveuntaully find the change log and made the decision to upgrade the at-sea machines. So far the configuration file we update for each mission still works. I have a copy of the 2.9.2 installer that if something catostrophic happens I can remove the new version and take it back, but I don't think it'll be a problem. We archive logbooks at the end of a mission, but each mission basically starts from a fresh install like state anyway.
Stefan Ritt wrote: |
If 3.1.4 runs safely on your laptop, there should be no problem to update the 2.9.2 one. But first do it on a copy of your logbooks from the at-sea. The get converted automatically into a newer format but that should be transparent.
On the other hand you don't really need a new system if your old installation works fine and you don't need any of hte new features.
The changelog ist here: https://elog.psi.ch/elog/download/ChangeLog
Stefan
Patrick Upson wrote: |
I've inherited a position that includes deploying elog for an at-sea mission. Once at sea there's no gauntee of internet connection so I have to be sure things are going to work before hand. The machines I currently have (we have several backup machines) are running elog version 2.9.2 and I'm looking for a change log, or feature list to determine if it's safe to update the at-sea laptops to the latest version of elog.
On one hand, I could leave things as they are and I'm sure it will just work, on the other hand, I hate seeing things get out of date to the point that something just stops working some day and there's no ability to get support for old software.
I'm already running elog 3.1.4 on my personal machine I use for configuration development and testing and it seems to work well. The config file is pretty simple and seems to work with 2.9.2 on the at-sea machines, but I don't want to run into any suprises if there ends up being a compatibility issue at sea.
|
|
|
|
Re: Looking for version update advice, posted by Patrick Upson on Wed Sep 25 15:02:16 2024
|
I ran a test (using Windows) and you're correct about the subfolder and file naming. I don't think that'll be an issue, but it's good to be aware of. If we end up having to revert to 2.9.2 for whatever reason, I think it sould still work fine if what logs we have are just copied up a directory (i.e /home/logfiles/2023/23mmdda.log ==> /home/logfiles/23mmdda.log)
The difference in the directory structure doesn't matter for my purposes.
David Pilgram wrote: |
I use linux elog, and if you upgrade to v3.x.x, it's difficult to go back to v2.9.x. This is because the log files get grouped in year sub directories at v3.x.x.
In 2.9.x, the logfiles are store as (made up example) /home/logfiles/yymmdda.log
In 3.x.x they are stored as /home/logfiles/2024/24mmdda.log /home/logfiles/2023/23mmdda.log etc. I think I got the labelling of the subdirectories correct, Stefan will no doubt correct if I am wrong.
I assume the same is true for the Windows version as it would be weird for a split in the program by OS for something important but trivial to impliment for all OS.
It's a bore to sort that out if you have to revert to 2.9.x - I know, I've done it - but I don't recall any change in format in the individual yymmdda.log files with an early v3.x.x version I tried. There may be additions to the log files made in much more recent v3.1.x or so versions, but I guess you are ok with whatever they may be as you've checked the change log.
Patrick Upson wrote: |
Thanks. I did eveuntaully find the change log and made the decision to upgrade the at-sea machines. So far the configuration file we update for each mission still works. I have a copy of the 2.9.2 installer that if something catostrophic happens I can remove the new version and take it back, but I don't think it'll be a problem. We archive logbooks at the end of a mission, but each mission basically starts from a fresh install like state anyway.
Stefan Ritt wrote: |
If 3.1.4 runs safely on your laptop, there should be no problem to update the 2.9.2 one. But first do it on a copy of your logbooks from the at-sea. The get converted automatically into a newer format but that should be transparent.
On the other hand you don't really need a new system if your old installation works fine and you don't need any of hte new features.
The changelog ist here: https://elog.psi.ch/elog/download/ChangeLog
Stefan
Patrick Upson wrote: |
I've inherited a position that includes deploying elog for an at-sea mission. Once at sea there's no gauntee of internet connection so I have to be sure things are going to work before hand. The machines I currently have (we have several backup machines) are running elog version 2.9.2 and I'm looking for a change log, or feature list to determine if it's safe to update the at-sea laptops to the latest version of elog.
On one hand, I could leave things as they are and I'm sure it will just work, on the other hand, I hate seeing things get out of date to the point that something just stops working some day and there's no ability to get support for old software.
I'm already running elog 3.1.4 on my personal machine I use for configuration development and testing and it seems to work well. The config file is pretty simple and seems to work with 2.9.2 on the at-sea machines, but I don't want to run into any suprises if there ends up being a compatibility issue at sea.
|
|
|
|
|
elog sprintf() buffer overflows on ubuntu-22, posted by Konstantin Olchanski on Wed May 15 01:07:12 2024
|
I get the following compiler warnings about sprintf() buffer overflows. I suggest sprintf() should be replaced by std::string msprintf() from
midas. K.O.
iris00:~/packages> git clone https://bitbucket.org/ritt/elog --recursive
Cloning into 'elog'...
remote: Enumerating objects: 18297, done.
remote: Counting objects: 100% (18297/18297), done.
remote: Compressing objects: 100% (7710/7710), done.
remote: Total 18297 (delta 11462), reused 16637 (delta 10243), pack-reused 0 (from 0)
Receiving objects: 100% (18297/18297), 14.56 MiB | 17.14 MiB/s, done.
Resolving deltas: 100% (11462/11462), done.
Submodule 'mxml' (https://bitbucket.org/tmidas/mxml) registered for path 'mxml'
Cloning into '/home/iris/packages/elog/mxml'...
remote: Enumerating objects: 356, done.
remote: Counting objects: 100% (356/356), done.
remote: Compressing objects: 100% (242/242), done.
remote: Total 356 (delta 162), reused 265 (delta 112), pack-reused 0 (from 0)
Receiving objects: 100% (356/356), 85.65 KiB | 10.71 MiB/s, done.
Resolving deltas: 100% (162/162), done.
Submodule path 'mxml': checked out '4d4b4cf17bec323a76b8a87605efec6a4822bebf'
iris00:~/packages> cd elo
elog/ elog-2012/
iris00:~/packages> cd elog
iris00:~/packages/elog> make
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -c -o mxml.o mxml/mxml.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -w -c -o crypt.o
src/crypt.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -c -o strlcpy.o
mxml/strlcpy.cxx
type git &> /dev/null; if [ $? -eq 1 ]; then REV="unknown" ;else REV=`git log -n 1 --pretty=format:"%ad - %h"`; fi; echo \#define GIT_REVISION
\"$REV\" > src/git-revision.h
git is /bin/git
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -o elog src/elog.cxx
mxml.o crypt.o strlcpy.o -lssl
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -w -c -o auth.o
src/auth.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -o elogd src/elogd.cxx
auth.o mxml.o crypt.o strlcpy.o -lssl
src/elogd.cxx: In function ‘int el_submit(LOGBOOK*, int, BOOL, const char*, char (*)[1500], char (*)[1500], int, const char*, const char*, const
char*, const char*, const char (*)[256], BOOL, const char*, const char*)’:
src/elogd.cxx:4960:47: warning: ‘%s’ directive writing up to 149999 bytes into a region of size between 100103 and 250102 [-Wformat-overflow=]
4960 | sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attrib[i]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 4 and 300002 bytes into a destination of size
250104
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_edit_form(LOGBOOK*, int, BOOL, BOOL, BOOL, BOOL, BOOL, BOOL)’:
src/elogd.cxx:9659:28: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
9659 | sprintf(str, "Preset %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 8 and 150007 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9680:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3978 [-Wformat-overflow=]
9680 | sprintf(str, "Preset on first reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 23 and 150022 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9701:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
9701 | sprintf(str, "Preset on reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 17 and 150016 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9701:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
9701 | sprintf(str, "Preset on reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 17 and 150016 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9701:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
9701 | sprintf(str, "Preset on reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 17 and 150016 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9701:37: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
9701 | sprintf(str, "Preset on reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 17 and 150016 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9721:36: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3985 [-Wformat-overflow=]
9721 | sprintf(str, "Preset on edit %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 16 and 150015 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9741:41: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
9741 | sprintf(str, "Preset on duplicate %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 21 and 150020 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9762:22: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3999 [-Wformat-overflow=]
9762 | sprintf(str, "p%s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 2 and 150001 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9780:31: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3993 [-Wformat-overflow=]
9780 | sprintf(str, "Preset %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 8 and 150007 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9801:40: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3984 [-Wformat-overflow=]
9801 | sprintf(str, "Preset on reply %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 17 and 150016 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:9821:44: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 3980 [-Wformat-overflow=]
9821 | sprintf(str, "Preset on duplicate %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 21 and 150020 bytes into a destination of size
4000
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void show_elog_list(LOGBOOK*, int, int, int, BOOL, char*)’:
src/elogd.cxx:20448:43: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1587 [-Wformat-overflow=]
20448 | sprintf(str, "Icon comment %s", attrib[i]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 14 and 150013 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:20495:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20495 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20495:32: note: directive argument in the range [0, 99]
20495 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 3 and 150003 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:20459:33: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
20459 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:20459:32: note: directive argument in the range [0, 99]
20459 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 3 and 150003 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:21041:30: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1600 [-Wformat-overflow=]
21041 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~
src/elogd.cxx:21041:29: note: directive argument in the range [0, 99]
21041 | sprintf(str, "%s_%d", attr_list[i], j);
| ^~~~~~~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 3 and 150003 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:21527:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21527 | sprintf(str, "Time format %s", attr_list[i]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 13 and 150012 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx:21512:45: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 1588 [-Wformat-overflow=]
21512 | sprintf(str, "Date format %s", attr_list[i]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 13 and 150012 bytes into a destination of size
1600
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
src/elogd.cxx: In function ‘void submit_elog(LOGBOOK*)’:
src/elogd.cxx:23282:38: warning: ‘%s’ directive writing up to 149999 bytes into a region of size 2034 [-Wformat-overflow=]
23282 | sprintf(str, "Subst on edit %s", attr_list[index]);
| ^~
In file included from /usr/include/stdio.h:894,
from src/elogd.h:42,
from src/elogd.cxx:38:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:38:34: note: ‘__builtin___sprintf_chk’ output between 15 and 150014 bytes into a destination of size
2048
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -o elconv src/elconv.cxx -
lssl
iris00:~/packages/elog> git log
commit 2eba8869bb72561f3f19f9b675ec74ba738f2443 (HEAD -> master, origin/master, origin/HEAD)
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Fri May 3 16:04:21 2024 +0200
Removed unused variables
commit 8f942d1d18cc7d4d9b12f049dfd67284e3289963
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Fri May 3 15:50:17 2024 +0200
Disabled attachment file retrieval to prevent poxy mis-use
commit 3020557a2b52cc9c460b80313c7c61c3ee014896
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Tue Apr 16 13:29:35 2024 +0200
Fixed typos
commit 3876ffa2cc22a355cad8da642cb6f5a35884597a
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Mon Apr 15 18:04:52 2024 +0200
Fixed line break
commit a644db7f2c14210e8014dc2a3dc9960e1382ccc1
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Mon Apr 15 18:00:54 2024 +0200
Updated MacOSX command
commit fe60aaf0c41dcfafa50042e415f576faf82b1d4b
Author: Stefan Ritt <stefan.ritt@psi.ch>
Date: Thu Mar 14 21:17:01 2024 +0100
Fixed wrong number of attachments display
Broken pipe
iris00:~/packages/elog> |
Re: elog sprintf() buffer overflows on ubuntu-22, posted by Stefan Ritt on Wed Sep 25 13:19:29 2024
|
> I get the following compiler warnings about sprintf() buffer overflows. I suggest sprintf() should be replaced by std::string msprintf() from
> midas. K.O.
I started to convert some sprintf() to snprintf(), but I still have 824 cases to go... Ideally, all should be converted to std::string. Will be some job for my retirement ;-)
Stefan |
|