Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 764 of 808  Not logged in ELOG logo
ID Date Icon Author Author Email Categorydown OS ELOG Version Subject
  69793   Wed May 15 01:07:12 2024 Warning Konstantin Olchanskiolchansk@triumf.caBug reportLinuxcommit 2eba8869elog sprintf() buffer overflows on ubuntu-22
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> 
  69795   Wed Jul 10 17:43:07 2024 Question Enrico Gamberinienrico.gamberini@cern.chBug reportLinux3.1.5-20240226broken http response when deployed on OpenShift

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

  69796   Thu Jul 11 15:25:19 2024 Reply Enrico Gamberinienrico.gamberini@cern.chBug reportLinux3.1.5-20240226Re: broken http response when deployed on OpenShift

Sorry for posting again but something else came up.

Actually, building from source (elog-3.1.5-1.tar.gz) works just fine on OpenShift too.

The problem described below only happens when installing the packaged binary elog-3.1.5-20240226.el9.x86_64.rpm.

Best,
Enrico

Enrico Gamberini wrote:

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

 

  69797   Thu Jul 11 19:15:39 2024 Reply Laurent Jean-Rigaudlollspam@free.frBug reportLinux3.1.5-20240226Re: broken http response when deployed on OpenShift

Hey Enrico,

Do you activate also all options with your build ? (pam/ldap/kb5/ssl)

Can you compare ldd command results on elogd binaries builded by yourself and the one from RPM ?

$ ldd /path/to/elogd

Also, size of both elogd files.

Regards

 

Enrico Gamberini wrote:

Sorry for posting again but something else came up.

Actually, building from source (elog-3.1.5-1.tar.gz) works just fine on OpenShift too.

The problem described below only happens when installing the packaged binary elog-3.1.5-20240226.el9.x86_64.rpm.

Best,
Enrico

Enrico Gamberini wrote:

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

 

 

  69801   Mon Jul 15 09:45:56 2024 Reply Enrico GamberiniHi Laureenrico.gamberini@cern.chBug reportLinux3.1.5-20240226Re: broken http response when deployed on OpenShift

Hi Laurent,

Thanks, good point! I'm building a vanilla version (no extra options enabled as I'm using Webserver authentication).

3.15 RPM:

-rwxr-xr-x. 1 elog elog 1574768 Feb 26 17:29 elogd

bash-5.1$ ldd /usr/local/sbin/elogd 
    linux-vdso.so.1 (0x00007fff215f7000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007feff74c6000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feff73eb000)
    libldap.so.2 => /lib64/libldap.so.2 (0x00007feff7384000)
    liblber.so.2 => /lib64/liblber.so.2 (0x00007feff7372000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007feff7360000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007feff7139000)
    libm.so.6 => /lib64/libm.so.6 (0x00007feff705c000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feff7041000)
    libc.so.6 => /lib64/libc.so.6 (0x00007feff6e38000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007feff6a07000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feff69ee000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feff69e7000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feff69d4000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feff69cd000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feff69b9000)
    libevent-2.1.so.7 => /lib64/libevent-2.1.so.7 (0x00007feff6960000)
    libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007feff6940000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007feff6912000)
    libeconf.so.0 => /lib64/libeconf.so.0 (0x00007feff6905000)
    /lib64/ld-linux-x86-64.so.2 (0x00007feff7572000)
    libz.so.1 => /lib64/libz.so.1 (0x00007feff68eb000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feff68be000)
    libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007feff6884000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feff682d000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007feff6822000)
    libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007feff6786000)

    
3.15 source vanilla build:

-rwxr-xr-x. 1 root root 1503896 Jul 15 09:31 elogd

bash-5.1$ ldd elogd
    linux-vdso.so.1 (0x00007fff60bbf000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007f8f83e44000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f8f83c1b000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f8f83b40000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8f83b25000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f8f8391c000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f8f834e9000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8f83ef0000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f8f834cd000)

Best,
Enrico

Laurent Jean-Rigaud wrote:

Hey Enrico,

Do you activate also all options with your build ? (pam/ldap/kb5/ssl)

Can you compare ldd command results on elogd binaries builded by yourself and the one from RPM ?

$ ldd /path/to/elogd

Also, size of both elogd files.

Regards

 

Enrico Gamberini wrote:

Sorry for posting again but something else came up.

Actually, building from source (elog-3.1.5-1.tar.gz) works just fine on OpenShift too.

The problem described below only happens when installing the packaged binary elog-3.1.5-20240226.el9.x86_64.rpm.

Best,
Enrico

Enrico Gamberini wrote:

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

 

 

 

  69804   Tue Jul 16 00:15:12 2024 Reply Laurent Jean-Rigaudlollspam@free.frBug reportLinux3.1.5-20240226Re: broken http response when deployed on OpenShift

Enrico,

When using RPM in OpenShift, I guess all the RPM dependencies are correctly installed.

FYI, I met a problem with elogd docker built with alpine Linux image and running on Synology NAS (x86_64). The ImageMagick dependencies libs provided by alpine for X86_64 are optimized for better CPU than mine with AVX2 (or something like that), and elogd failed to save a log with any enclosure (core exit, bad instruction), as some thumbnails are generated while saving.

As I didn't find any easy workaround w/o rebuilding all IM libs, so I switch to Debian images more conservative in CPU optimization, but bigger :-( before to switch to minideb that's run fine in my case.

It's not easy to debug in container w/o making one specially for that, so you should try to build a docker based on alma9 image, compiling elogd from sources (you can follow https://github.com/loll31/elog-ldap for the process).

Good luck

 

NB : The ldd result from my minideb Docker :

root@9ac6063e87bf:/# ldd -v /usr/local/sbin/elogd                                                                                                        
        linux-vdso.so.1 (0x00007ffd0e794000)                                                                                                             
        libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fc00ac35000)                                                                            
        libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007fc00abd6000)                                                                  
        liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007fc00abc6000)                                                                  
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc00a9ac000)                                                                      
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc00a98c000)                                                                        
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc00a7a9000)                                                                                
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fc00a328000)                                                                      
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fc00a30b000)                                                                        
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc00a0ef000)                                                                    
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc00a010000)                                                                                
        /lib64/ld-linux-x86-64.so.2 (0x00007fc00f959000)                                                                                                 
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fc009eda000)                                                                    
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fc009ea9000)                                                                          
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fc009cf3000)                                                                
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc009cde000)                                                                        
        libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fc009c90000)                                                                      
        libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fc009c47000)                                                                    
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fc009bc4000)                                                                          
        libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fc009bb8000)                                  

 

 

Enrico Gamberini wrote:

Hi Laurent,

Thanks, good point! I'm building a vanilla version (no extra options enabled as I'm using Webserver authentication).

3.15 RPM:

-rwxr-xr-x. 1 elog elog 1574768 Feb 26 17:29 elogd

bash-5.1$ ldd /usr/local/sbin/elogd 
    linux-vdso.so.1 (0x00007fff215f7000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007feff74c6000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feff73eb000)
    libldap.so.2 => /lib64/libldap.so.2 (0x00007feff7384000)
    liblber.so.2 => /lib64/liblber.so.2 (0x00007feff7372000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007feff7360000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007feff7139000)
    libm.so.6 => /lib64/libm.so.6 (0x00007feff705c000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feff7041000)
    libc.so.6 => /lib64/libc.so.6 (0x00007feff6e38000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007feff6a07000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feff69ee000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feff69e7000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feff69d4000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feff69cd000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feff69b9000)
    libevent-2.1.so.7 => /lib64/libevent-2.1.so.7 (0x00007feff6960000)
    libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007feff6940000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007feff6912000)
    libeconf.so.0 => /lib64/libeconf.so.0 (0x00007feff6905000)
    /lib64/ld-linux-x86-64.so.2 (0x00007feff7572000)
    libz.so.1 => /lib64/libz.so.1 (0x00007feff68eb000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feff68be000)
    libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007feff6884000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feff682d000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007feff6822000)
    libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007feff6786000)

    
3.15 source vanilla build:

-rwxr-xr-x. 1 root root 1503896 Jul 15 09:31 elogd

bash-5.1$ ldd elogd
    linux-vdso.so.1 (0x00007fff60bbf000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007f8f83e44000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f8f83c1b000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f8f83b40000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8f83b25000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f8f8391c000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f8f834e9000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8f83ef0000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f8f834cd000)

Best,
Enrico

Laurent Jean-Rigaud wrote:

Hey Enrico,

Do you activate also all options with your build ? (pam/ldap/kb5/ssl)

Can you compare ldd command results on elogd binaries builded by yourself and the one from RPM ?

$ ldd /path/to/elogd

Also, size of both elogd files.

Regards

 

Enrico Gamberini wrote:

Sorry for posting again but something else came up.

Actually, building from source (elog-3.1.5-1.tar.gz) works just fine on OpenShift too.

The problem described below only happens when installing the packaged binary elog-3.1.5-20240226.el9.x86_64.rpm.

Best,
Enrico

Enrico Gamberini wrote:

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

 

 

 

 

  69805   Tue Jul 16 00:45:08 2024 Reply Laurent Jean-Rigaudlollspam@free.frBug reportLinux3.1.5-20240226Re: broken http response when deployed on OpenShift

Also, you have the option to rebuild RPM from SRPMS or SOURCES via ELOG buildrpm script.

You will need to install rpmbuild tools...

Options (ldap, kb5, etc) can be set from options or by editing defaults.

 

 

Laurent Jean-Rigaud wrote:

Enrico,

When using RPM in OpenShift, I guess all the RPM dependencies are correctly installed.

FYI, I met a problem with elogd docker built with alpine Linux image and running on Synology NAS (x86_64). The ImageMagick dependencies libs provided by alpine for X86_64 are optimized for better CPU than mine with AVX2 (or something like that), and elogd failed to save a log with any enclosure (core exit, bad instruction), as some thumbnails are generated while saving.

As I didn't find any easy workaround w/o rebuilding all IM libs, so I switch to Debian images more conservative in CPU optimization, but bigger :-( before to switch to minideb that's run fine in my case.

It's not easy to debug in container w/o making one specially for that, so you should try to build a docker based on alma9 image, compiling elogd from sources (you can follow https://github.com/loll31/elog-ldap for the process).

Good luck

 

NB : The ldd result from my minideb Docker :

root@9ac6063e87bf:/# ldd -v /usr/local/sbin/elogd                                                                                                        
        linux-vdso.so.1 (0x00007ffd0e794000)                                                                                                             
        libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fc00ac35000)                                                                            
        libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007fc00abd6000)                                                                  
        liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007fc00abc6000)                                                                  
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc00a9ac000)                                                                      
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc00a98c000)                                                                        
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc00a7a9000)                                                                                
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fc00a328000)                                                                      
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fc00a30b000)                                                                        
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc00a0ef000)                                                                    
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc00a010000)                                                                                
        /lib64/ld-linux-x86-64.so.2 (0x00007fc00f959000)                                                                                                 
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fc009eda000)                                                                    
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fc009ea9000)                                                                          
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fc009cf3000)                                                                
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc009cde000)                                                                        
        libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fc009c90000)                                                                      
        libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fc009c47000)                                                                    
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fc009bc4000)                                                                          
        libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fc009bb8000)                                  

 

 

Enrico Gamberini wrote:

Hi Laurent,

Thanks, good point! I'm building a vanilla version (no extra options enabled as I'm using Webserver authentication).

3.15 RPM:

-rwxr-xr-x. 1 elog elog 1574768 Feb 26 17:29 elogd

bash-5.1$ ldd /usr/local/sbin/elogd 
    linux-vdso.so.1 (0x00007fff215f7000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007feff74c6000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feff73eb000)
    libldap.so.2 => /lib64/libldap.so.2 (0x00007feff7384000)
    liblber.so.2 => /lib64/liblber.so.2 (0x00007feff7372000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007feff7360000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007feff7139000)
    libm.so.6 => /lib64/libm.so.6 (0x00007feff705c000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feff7041000)
    libc.so.6 => /lib64/libc.so.6 (0x00007feff6e38000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007feff6a07000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feff69ee000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feff69e7000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feff69d4000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feff69cd000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feff69b9000)
    libevent-2.1.so.7 => /lib64/libevent-2.1.so.7 (0x00007feff6960000)
    libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007feff6940000)
    libaudit.so.1 => /lib64/libaudit.so.1 (0x00007feff6912000)
    libeconf.so.0 => /lib64/libeconf.so.0 (0x00007feff6905000)
    /lib64/ld-linux-x86-64.so.2 (0x00007feff7572000)
    libz.so.1 => /lib64/libz.so.1 (0x00007feff68eb000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feff68be000)
    libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007feff6884000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feff682d000)
    libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007feff6822000)
    libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007feff6786000)

    
3.15 source vanilla build:

-rwxr-xr-x. 1 root root 1503896 Jul 15 09:31 elogd

bash-5.1$ ldd elogd
    linux-vdso.so.1 (0x00007fff60bbf000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007f8f83e44000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f8f83c1b000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f8f83b40000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8f83b25000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f8f8391c000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f8f834e9000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8f83ef0000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f8f834cd000)

Best,
Enrico

Laurent Jean-Rigaud wrote:

Hey Enrico,

Do you activate also all options with your build ? (pam/ldap/kb5/ssl)

Can you compare ldd command results on elogd binaries builded by yourself and the one from RPM ?

$ ldd /path/to/elogd

Also, size of both elogd files.

Regards

 

Enrico Gamberini wrote:

Sorry for posting again but something else came up.

Actually, building from source (elog-3.1.5-1.tar.gz) works just fine on OpenShift too.

The problem described below only happens when installing the packaged binary elog-3.1.5-20240226.el9.x86_64.rpm.

Best,
Enrico

Enrico Gamberini wrote:

Hello!

We're setting up ELOG on OpenShift. ELOG is installed on a Alma Linux 9 image. The container and the elog demo works fine executing the docker image locally.

When deployed on OpenShift, we get a weird response, that results in a 502 Bad Gateway. The broken response looks like:
 

# curl -v -H 'X-Forwarded-User: enrico.gamberini@cern.ch' https://psi-elog-container2-elisa-epdtdi.app.cern.ch/demo/

<html>redir</html>
HTTP/1.1 200 Document follows
HTTP/1.1 200 Document follows
Server: ELOG HTTP 3.1.5-23df00d
Content-Type: text/html;charset=ISO-8859-1
Set-Cookie: elmode=Summary; path=/demo; expires=Friday, 07-Dec-35 06:30:26 GMT;
Pragma: no-cache
Cache-control: private, max-age=0, no-cache, no-store

 

Notice the HTML tag before the HTTP header, as well the duplicate HTTP header.

I understand that it might be difficult to reproduce, but any input would be very welcome!

Thanks!

Best,
Enrico

 

 

 

 

 

  69807   Mon Jul 22 16:17:55 2024 Entry Andréandre.althaus@tu-dortmund.deBug reportAll3.1.5HTTP headers should be parsed case insensitive

I'm trying to run elog behind haproxy, but get the error "Invalid Content-Length in header" on posting.

As stated in the manual, haproxy rewrites all headers to lower case.

elogd parses the content-length header case sensitive which is against the HTTP RFC. This might also apply to other headers that get parsed.

For now I'm using the workaround from the manual:

global
  h1-case-adjust content-length Content-Length
  h1-case-adjust content-type Content-Type

backend elog
  option h1-case-adjust-bogus-server
  server elog 127.0.0.1:8080

But as the manual states, this should not be  used as a permanent solution.

ELOG V3.1.5-3fb85fa6