ID |
Date |
Icon |
Author |
Author Email |
Category |
OS |
ELOG Version |
Subject |
69112
|
Tue Feb 4 18:33:56 2020 |
| Laurent Jean-Rigaud | lollspam@free.fr | Bug report | Linux | 3.14 RPM | Re: Elogd crashes on search | Stefan,
I cut the log in two parts w/o modifying the content and the search runs. It seems that the size of this entrie 426 is closed to a limit (as during testing, i met a message after clicking save to recompile elog to increase a size of something), so it could be the problem.
I reduced the entrie size by extracting the last part in a new entrie and it seems to be OK.
The old size was 250099 bytes. New size is 240084.
I hope this will be OK.
Regards
Stefan Ritt wrote: |
Looks like. Can you dig into the database file and have a look at that entry? Or send me the file containing that entry (together with your elogd.cfg)
Stefan
Laurent Jean-Rigaud wrote: |
At #5, there is message_id=426 . You think it's this elog entries # 426 that is the source of crash ?
Laurent Jean-Rigaud wrote: |
Hi Stefan,
My previous dump is useless as your elog-debuginfo rpm is stripped.
So i rebuild elog w/ -g , reinstall it and activate core generation. I restst a search of "test" and get this in gdb corefile .
[root@localhost ~]# gdb /var/crash/core.elogd.11613.localhost.localdomain.1580820772
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-115.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
[New LWP 11613]
Reading symbols from /usr/local/sbin/elogd...Reading symbols from /usr/lib/debug/usr/local/sbin/elogd.debug...done.
done.
Missing separate debuginfo for
Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/b5/a5458535a1397fa6baaf5e8c13a6395426a1b2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg'.
Program terminated with signal 6, Aborted.
#0 0x00007f2746409337 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
55 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) backtrace
#0 0x00007f2746409337 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
#1 0x00007f274640aa28 in __GI_abort () at abort.c:90
#2 0x00007f274644be87 in __libc_message (do_abort=do_abort@entry=2,
fmt=fmt@entry=0x7f274655e3b8 "*** Error in `%s': %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:196
#3 0x00007f2746454679 in malloc_printerr (ar_ptr=0x7f274679a760 <main_arena>, ptr=<optimized out>,
str=0x7f274655e450 "free(): invalid next size (normal)", action=3) at malloc.c:4967
#4 _int_free (av=0x7f274679a760 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:3843
#5 0x000000000045e456 in display_line (lbs=0x222c968, message_id=426, number=<optimized out>,
mode=0x7fffde328c90 "summary", expand=1, level=0, printable=0, n_line=3, show_attachments=0,
show_att_column=1, date=0x7fffde328b50 "Wed, 04 Dec 2019 07:41:34 +0000",
in_reply_to=0x7fffde328ba0 "", reply_to=0x7fffde329600 "", n_attr_disp=14,
disp_attr=0x7fffde3792a0, disp_attr_link=0x7fffde329460, attrib=0x7fffde32fec0, n_attr=14,
text=0x2378d18 "<div style=\"margin: 0px; padding: 0px; text-indent: 0px;\">\r\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"height:230px; width:1308px\">\r\n\t<caption>\r\n\t<p style=\"text-align:left\"><strong>MAJ 2"..., show_text=1, attachment=0x7fffde32ccc0,
encoding=0x7fffde328bf0 "HTML", select=0, n_display=0x7fffde328a80, locked_by=0x7fffde328ec0 "",
highlight=0, re_buf=0x7fffde32b380, highlight_mid=0, absolute_link=0, draft=0x7fffde3290c0 "")
at src/elogd.c:18520
#6 0x0000000000482140 in show_elog_list (lbs=lbs@entry=0x222c968, past_n=past_n@entry=0,
last_n=last_n@entry=0, page_n=<optimized out>, page_n@entry=0, default_page=<optimized out>,
default_page@entry=1, info=info@entry=0x0) at src/elogd.c:21859
#7 0x00000000004a74a0 in interprete (lbook=lbook@entry=0x7fffde3c79e0 "MCO", path=<optimized out>,
path@entry=0x7fffde3c7520 "") at src/elogd.c:28454
#8 0x00000000004a7b13 in decode_get (logbook=logbook@entry=0x7fffde3c79e0 "MCO",
string=<optimized out>) at src/elogd.c:28494
#9 0x00000000004aa03a in process_http_request (request=<optimized out>,
request@entry=0x223e288 "GET /MCO/?mode=summary&reverse=0&reverse=1&npp=30&subtext=test",
i_conn=i_conn@entry=0) at src/elogd.c:29272
#10 0x00000000004ad385 in server_loop () at src/elogd.c:30286
#11 0x0000000000402e97 in main (argc=<optimized out>, argv=<optimized out>) at src/elogd.c:31314
Is it better to find problem ?
Laurent Jean-Rigaud wrote: |
Hi Stefan.
I installed debuginfo and ran elogd with gdb attached.
(gdb) backtrace
#0 0x00007fde38104337 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:55
#1 0x00007fde38105a28 in __GI_abort () at abort.c:90
#2 0x00007fde38146e87 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7fde382593b8 "*** Error in `%s': %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:196
#3 0x00007fde3814f679 in malloc_printerr (ar_ptr=0x7fde38495760 <main_arena>, ptr=<optimized out>, str=0x7fde38259450 "free(): invalid next size (normal)", action=3)
at malloc.c:4967
#4 _int_free (av=0x7fde38495760 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:3843
#5 0x000000000045e756 in display_line ()
#6 0x00000000004824b0 in show_elog_list ()
#7 0x00000000004a69b1 in interprete ()
#8 0x00000000004a7023 in decode_get ()
#9 0x00000000004a954a in process_http_request ()
#10 0x00000000004ac9d3 in server_loop ()
#11 0x00000000004035a6 in main ()
Does it help you ?
Stefan Ritt wrote: |
The only way for me is to reproduce it. Could be corrupted data file, or config file. Try with a new logbook with the same configuration, then add logbook files one by one until it happens.
Stefan
Laurent Jean-Rigaud wrote: |
Hi Stefan,
The problem seems to be specific with our logbooks. Maybe one of the file is corrupted or bad string encoding ?! But how to find the source of the problem ?
Any way to improve debug log ? (using debug level = 9 + logfile)
Also, do you have a procedure to debug ELOG with debuginfo package installed to have more informations in trace ?
.
Laurent
Stefan Ritt wrote: |
Do you see the same problem on this server here?
If not, then it must be related to your specific configuration. You have to teach me how to reporduce the error in order to fix it. Best would be a minimal elogd.cfg which causes the error.
Stefan
Laurent Jean-Rigaud wrote: |
OS: CentOS 7 x86_64 up2date with RPM 3.14 x86_64
- Connexion to ELOG
- open one logbook and click search,
- input "test" and click "Search" : BOOM
- Firefox can not connect anymore on ELOG.
The crash is met with several words now ("test", "post", "4.5", are the one i know). We use a mirror server and the problem appears also on it .
NB: the hangs appears on EL6 x86_64 server with customized RPM built by myself. I retry with 3.14 SRPMS avalaible from ELOG site with same results. Idem with last GIT version. So i tested on EL7 with official RPM x86_64 (not suitable for EL6 as it needs GLIBC_2.14) before to open this ticket.
Terminal traces on server side follows.
[root@localhost /]# /usr/local/sbin/elogd -c /usr/local/elog/elogd.cfg 2>&1
elogd 3.1.4 built Sep 26 2018, 13:14:57 revision 966e3dd
File "/var/run/elogd.pid" exists, using "/var/run/elogd.pid.8080" instead.
Falling back to default group "elog"
Falling back to default user "elog"
CKeditor detected
Falling back to default group "elog"
Falling back to default user "elog"
Falling back to default group "elog"
Falling back to default user "elog"
Falling back to default group "elog"
Falling back to default user "elog"
Falling back to default group "elog"
Falling back to default user "elog"
ImageMagick NOT detected. Image scaling will not work.
Indexing logbooks ... done
Server listening on port 8080 ...
*** Error in `/usr/local/sbin/elogd': free(): invalid next size (normal): 0x0000000001c59310 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81679)[0x7f45a898f679]
/usr/local/sbin/elogd[0x45e756]
/usr/local/sbin/elogd[0x4824b0]
/usr/local/sbin/elogd[0x4a69b1]
/usr/local/sbin/elogd[0x4a7023]
/usr/local/sbin/elogd[0x4a954a]
/usr/local/sbin/elogd[0x4ac9d3]
/usr/local/sbin/elogd[0x4035a6]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f45a8930505]
/usr/local/sbin/elogd[0x4044d3]
======= Memory map: ========
00400000-004e3000 r-xp 00000000 fd:00 52822202 /usr/local/sbin/elogd
006e2000-006e3000 r--p 000e2000 fd:00 52822202 /usr/local/sbin/elogd
006e3000-007c4000 rw-p 000e3000 fd:00 52822202 /usr/local/sbin/elogd
007c4000-0173a000 rw-p 00000000 00:00 0
01a66000-01c8f000 rw-p 00000000 00:00 0 [heap]
7f459bdea000-7f459bdff000 r-xp 00000000 fd:00 84 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f459bdff000-7f459bffe000 ---p 00015000 fd:00 84 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f459bffe000-7f459bfff000 r--p 00014000 fd:00 84 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f459bfff000-7f459c000000 rw-p 00015000 fd:00 84 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7f459c000000-7f459c021000 rw-p 00000000 00:00 0
7f459c021000-7f45a0000000 ---p 00000000 00:00 0
7f45a010c000-7f45a0114000 r-xp 00000000 fd:00 1598592 /usr/lib64/libnss_sss.so.2
7f45a0114000-7f45a0313000 ---p 00008000 fd:00 1598592 /usr/lib64/libnss_sss.so.2
7f45a0313000-7f45a0314000 r--p 00007000 fd:00 1598592 /usr/lib64/libnss_sss.so.2
7f45a0314000-7f45a0315000 rw-p 00008000 fd:00 1598592 /usr/lib64/libnss_sss.so.2
7f45a0315000-7f45a0321000 r-xp 00000000 fd:00 22487 /usr/lib64/libnss_files-2.17.so
7f45a0321000-7f45a0520000 ---p 0000c000 fd:00 22487 /usr/lib64/libnss_files-2.17.so
7f45a0520000-7f45a0521000 r--p 0000b000 fd:00 22487 /usr/lib64/libnss_files-2.17.so
7f45a0521000-7f45a0522000 rw-p 0000c000 fd:00 22487 /usr/lib64/libnss_files-2.17.so
7f45a0522000-7f45a0528000 rw-p 00000000 00:00 0
7f45a0528000-7f45a6a52000 r--p 00000000 fd:00 50336362 /usr/lib/locale/locale-archive
7f45a6a52000-7f45a6ab2000 r-xp 00000000 fd:00 22554 /usr/lib64/libpcre.so.1.2.0
7f45a6ab2000-7f45a6cb2000 ---p 00060000 fd:00 22554 /usr/lib64/libpcre.so.1.2.0
7f45a6cb2000-7f45a6cb3000 r--p 00060000 fd:00 22554 /usr/lib64/libpcre.so.1.2.0
7f45a6cb3000-7f45a6cb4000 rw-p 00061000 fd:00 22554 /usr/lib64/libpcre.so.1.2.0
7f45a6cb4000-7f45a6cd8000 r-xp 00000000 fd:00 40935 /usr/lib64/libselinux.so.1
7f45a6cd8000-7f45a6ed7000 ---p 00024000 fd:00 40935 /usr/lib64/libselinux.so.1
7f45a6ed7000-7f45a6ed8000 r--p 00023000 fd:00 40935 /usr/lib64/libselinux.so.1
7f45a6ed8000-7f45a6ed9000 rw-p 00024000 fd:00 40935 /usr/lib64/libselinux.so.1
7f45a6ed9000-7f45a6edb000 rw-p 00000000 00:00 0
7f45a6edb000-7f45a6ef2000 r-xp 00000000 fd:00 22495 /usr/lib64/libpthread-2.17.so
7f45a6ef2000-7f45a70f1000 ---p 00017000 fd:00 22495 /usr/lib64/libpthread-2.17.so
7f45a70f1000-7f45a70f2000 r--p 00016000 fd:00 22495 /usr/lib64/libpthread-2.17.so
7f45a70f2000-7f45a70f3000 rw-p 00017000 fd:00 22495 /usr/lib64/libpthread-2.17.so
7f45a70f3000-7f45a70f7000 rw-p 00000000 00:00 0
7f45a70f7000-7f45a710d000 r-xp 00000000 fd:00 22497 /usr/lib64/libresolv-2.17.so
7f45a710d000-7f45a730c000 ---p 00016000 fd:00 22497 /usr/lib64/libresolv-2.17.so
7f45a730c000-7f45a730d000 r--p 00015000 fd:00 22497 /usr/lib64/libresolv-2.17.so
7f45a730d000-7f45a730e000 rw-p 00016000 fd:00 22497 /usr/lib64/libresolv-2.17.so
7f45a730e000-7f45a7310000 rw-p 00000000 00:00 0
7f45a7310000-7f45a7313000 r-xp 00000000 fd:00 62649 /usr/lib64/libkeyutils.so.1.5
7f45a7313000-7f45a7512000 ---p 00003000 fd:00 62649 /usr/lib64/libkeyutils.so.1.5
7f45a7512000-7f45a7513000 r--p 00002000 fd:00 62649 /usr/lib64/libkeyutils.so.1.5
7f45a7513000-7f45a7514000 rw-p 00003000 fd:00 62649 /usr/lib64/libkeyutils.so.1.5
7f45a7514000-7f45a7522000 r-xp 00000000 fd:00 321861 /usr/lib64/libkrb5support.so.0.1
7f45a7522000-7f45a7722000 ---p 0000e000 fd:00 321861 /usr/lib64/libkrb5support.so.0.1
7f45a7722000-7f45a7723000 r--p 0000e000 fd:00 321861 /usr/lib64/libkrb5support.so.0.1
7f45a7723000-7f45a7724000 rw-p 0000f000 fd:00 321861 /usr/lib64/libkrb5support.so.0.1
7f45a7724000-7f45a7739000 r-xp 00000000 fd:00 40937 /usr/lib64/libz.so.1.2.7
7f45a7739000-7f45a7938000 ---p 00015000 fd:00 40937 /usr/lib64/libz.so.1.2.7
7f45a7938000-7f45a7939000 r--p 00014000 fd:00 40937 /usr/lib64/libz.so.1.2.7
7f45a7939000-7f45a793a000 rw-p 00015000 fd:00 40937 /usr/lib64/libz.so.1.2.7
7f45a793a000-7f45a793c000 r-xp 00000000 fd:00 22475 /usr/lib64/libdl-2.17.so
7f45a793c000-7f45a7b3c000 ---p 00002000 fd:00 22475 /usr/lib64/libdl-2.17.so
7f45a7b3c000-7f45a7b3d000 r--p 00002000 fd:00 22475 /usr/lib64/libdl-2.17.so
7f45a7b3d000-7f45a7b3e000 rw-p 00003000 fd:00 22475 /usr/lib64/libdl-2.17.so
7f45a7b3e000-7f45a7d74000 r-xp 00000000 fd:00 303887 /usr/lib64/libcrypto.so.1.0.2k
7f45a7d74000-7f45a7f74000 ---p 00236000 fd:00 303887 /usr/lib64/libcrypto.so.1.0.2k
7f45a7f74000-7f45a7f90000 r--p 00236000 fd:00 303887 /usr/lib64/libcrypto.so.1.0.2k
7f45a7f90000-7f45a7f9d000 rw-p 00252000 fd:00 303887 /usr/lib64/libcrypto.so.1.0.2k
7f45a7f9d000-7f45a7fa1000 rw-p 00000000 00:00 0
7f45a7fa1000-7f45a7fd2000 r-xp 00000000 fd:00 321856 /usr/lib64/libk5crypto.so.3.1
Abandon [sorry, French locale]
Logbook contains 445 entries (shown in ELOG window), 384 files and 4 folders (2017 to 2020).
Thanks for help as i start to be annoying to unuse search function.
|
|
|
|
|
|
|
|
|
69117
|
Fri Feb 21 14:42:25 2020 |
| Laurent Jean-Rigaud | lollspam@free.fr | Bug report | Linux | 3.14 RPM | Re: Elogd crashes on search | Thanks to you, Stefan !
You software is very usefull for us and it's nice to have support.
Have a nice day !
Stefan Ritt wrote: |
Thanks for the detailed investiations and report. Finally I could reproduce the problem by having messages with a text body size close to 250000 bytes (some internal limit). Never thought that someone really has the patience to write 250'000 chars in a single message, but I guess you did some copy/paste from a large file. Thought in such cases people use attachments. Nevertheless, I fixed an internal memory allocation problem, now it shoudl be fine to have such large messages. Change is committed.
Stefan
Laurent Jean-Rigaud wrote: |
Stefan,
I cut the log in two parts w/o modifying the content and the search runs. It seems that the size of this entrie 426 is closed to a limit (as during testing, i met a message after clicking save to recompile elog to increase a size of something), so it could be the problem.
I reduced the entrie size by extracting the last part in a new entrie and it seems to be OK.
The old size was 250099 bytes. New size is 240084.
I hope this will be OK.
Regards
|
|
|
69168
|
Mon Jul 6 20:19:21 2020 |
| Laurent Jean-Rigaud | lollspam@free.fr | Bug report | Linux | 3.1.4 | Re: bug in elog.spec | Hi,
You rights, CFLAGS should not be in specfile to take care of distrib env.
Btw, I sent in the past an update for build process of Stefan delivery to generate src.rpm file copatible to tarball version. I think Stefan did not have time yet to test and to check.
With the enclosed SPEC file, you can build ELOG with options at rpmbulld command w/o modifying sources. For exemple,
rpm -i elog-.....src.rpm
rpmbuild -bb --with ssl --with pam --with ldap --with krb5 ~/rpmbuild/SPECS/elog.spec
I enclosed also the SRPMS i used for my projects. Be careful, It's maybe not uptodate of last GIT version or PSI releases... but you can test it on your RPM distrib. It should be nice to hare your feedback.
Bye,
Laurent
Janusz Szuba wrote: |
Hi,
in commit 1812e7c, specifying CFLAGS to make command in elog.spec, renders all other settings in Makefile void. That is, if I want to include any of KRB5, LDAP, PAM support, and change makefile accordingly, then when producing rpm they are not taken into account. Anyway, CFLAGS in Makefile are already set to the same defaults, so why it is redefined in spec file?
best
Janusz
|
|
Attachment 1: elog.spec
|
# ELOG weblog application
# rpmbuild -ba --define 'elogver 3.1.4' --define 'elogrel 2' --with ssl --with pam --with ldap --with krb5 --define 'factorydate date'
# define date of build for changelog and default release
%define build_timestamp %(LC_TIME=C date '+%a %b %d %Y')
%{!?factorydate: %define factorydate %build_timestamp}
# default version and release
%{!?elogver: %define elogver 3.1.4 }
%{!?elogrel: %define elogrel 2 }
# default release is build date
%{!?elogrel: %define elogrel %{build_timestamp} }
# Build options :
# Read: If neither macro exists, then add the default definition.
%{?_with_krb5: %define _with_krb5 USEKRB5=1}
%{?_with_ldap: %define _with_ldap USELDAP=1}
%{?_with_pam: %define _with_pam USEPAM=1}
%{?_with_ssl: %define _with_ssl USESSL=1}
# Default build options are with SSL
%{!?_with_ssl: %{!?_without_ssl: %define _with_ssl USESSL=1}}
# builder info
%define whoami %(eval who am i | awk '{print $1}')
%define HOSTNAME %(hostname)
%{!?packager: %define packager %{whoami} %{whoami}@%{HOSTNAME}}
Name: elog
Summary: elog is a standalone electronic web logbook
Version: %elogver
Release: %elogrel%{?customrel}%{?dist}
License: GPL
Group: Applications/Networking
Source: http://elog.psi.ch/elog/download/elog-%{elogver}-%{elogrel}.tar.gz
Vendor: Stefan Ritt <stefan.ritt@psi.ch>
URL: http://elog.psi.ch/elog
BuildRoot: /tmp/%{name}-root
Prefix: /usr/local
# Add build dependencies for pam, ssl and ldap features if enabled.
# Note: Tag tokens must start at beginning-of-line.
#
# Read: If feature is enabled, then add the build dependency.
%{?_with_krb5:BuildRequires: krb5-devel}
%{?_with_krb5:Requires: krb5-libs}
%{?_with_ldap:BuildRequires: openldap-devel >= 2.4.1}
%{?_with_ldap:Requires: openldap >= 2.4.1}
%{?_with_pam:BuildRequires: pam-devel >= 1.1.1}
%{?_with_ssl:BuildRequires: openssl-devel >= 0.9.8e}
# GAIAOPS: set max N limit to 500
Patch1: elog_set_max_list_500.patch
%description
ELOG is part of a family of applications known as weblogs.
Their general purpose is :
1. To make it easy for people to put information online in a chronological
fashion, in the form of short, time-stamped text messages ("entries")
with optional HTML markup for presentation, and optional file attachments
(images, archives, etc.)
2. To make it easy for other people to access this information through a
Web interface, browse entries, search, download files, and optionally add,
update, delete or comment on entries.
ELOG is a remarkable implementation of a weblog in at least two respects :
- Its simplicity of use: you don't need to be a seasoned server operator
and/or an experimented database administrator to run ELOG ; one executable
file (under Unix or Windows), a simple configuration text file, and it works.
No Web server or relational database required. It is also easy to translate
the interface to the appropriate language for your users.
- Its versatility: through its single configuration file, ELOG can be made
to display an infinity of variants of the weblog concept. There are options
for what to display, how to display it, what commands are available and to whom,
access control, etc. Moreover, a single server can host several weblogs, and
each weblog can be totally different from the rest.
%changelog
* %{build_timestamp} %{packager} %{version}-%{release}
- rebuild with option(s): %{?_with_krb5:KRB5 }%{?_with_ldap:LDAP }%{?_with_pam:PAM }%{?_with_ssl:SSL}
- set MAX_N_LIST to 500 (patch1)
* %{factorydate} Stefan Ritt <stefan.ritt@psi.ch> %{version}-%{release}
- Updated from git
* Wed Sep 26 2018 Stefan Ritt <stefan.ritt@psi.ch>
- Made adjustments for new elog server and RH7
* Fri Aug 29 2014 Stefan Ritt <stefan.ritt@psi.ch>
- Added BuildRequires, thanks to Stefan Roiser from CERN
* Fri Oct 21 2005 Stefan Ritt <stefan.ritt@psi.ch>
- Added resources/ directory
* Fri Mar 14 2003 Stefan Ritt <stefan.ritt@psi.ch>
- Added %post to change ownership of elog files
* Thu Jan 30 2003 Stefan Ritt <stefan.ritt@psi.ch>
- Added installation of man pages, thanks to Serge Droz <serge.droz@psi.ch>
* Tue Aug 13 2002 Stefan Ritt <stefan.ritt@psi.ch>
- Added elog group and user, thanks to Nicolas Chuche [nchuche@teaser.fr]
* Tue Jun 18 2002 Stefan Ritt <stefan.ritt@psi.ch>
- Put elogd.init into TAR file, add logbooks directory, put elogd in sbin/
* Tue Jun 18 2002 Serge Droz <serge.droz@psi.ch>
- Update to 2.0.0
* Mon Jun 3 2002 Serge Droz <serge.droz@psi.ch>
- Update to 1.3.6
* Fri May 31 2002 Serge Droz <serge.droz@psi.ch>
- Initial RPM
%prep
%setup -q
%patch1 -p0
%pre
%{_sbindir}/groupadd -r elog 2>/dev/null || :
%{_sbindir}/useradd -d / -s /bin/false \
-g elog -M -r elog 2>/dev/null || :
%build
make %{?_with_ssl} %{?_with_pam} %{?_with_ldap} %{?_with_krb5} CFLAGS='-O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Imxml -g'
sed "s#\@PREFIX\@#%{prefix}#g" elogd.init_template > elogd.init
%install
make install ROOT=$RPM_BUILD_ROOT MANDIR=$RPM_BUILD_ROOT%{_mandir}
%post
chown -R elog:elog $RPM_BUILD_ROOT%{prefix}/elog
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
/etc/rc.d/init.d/elogd
%{_mandir}/man1/*
%{_mandir}/man8/*
%doc README COPYING doc
%defattr(-,elog,elog)
%prefix/bin/*
%prefix/sbin/elogd
%prefix/elog/resources
%prefix/elog/ssl
%prefix/elog/themes
%prefix/elog/scripts
%prefix/elog/logbooks
%config(noreplace) %prefix/elog/elogd.cfg
|
Attachment 2: elog-3.1.4-2.CNES.el6.src.rpm
|
69314
|
Fri Mar 5 01:43:20 2021 |
| Laurent Jean-Rigaud | lollspam@free.fr | Question | Linux | ELOG V3.1.3- | Re: Problem in logging with LDAP and passwd | Hi,
It seems that ELOG does not support LDAPS but only simple LDAP connection.
Regards |
69317
|
Sun Mar 14 17:02:49 2021 |
| Laurent Jean-Rigaud | lollspam@free.fr | Question | Linux | ELOG V3.1.3- | Re: Problem in logging with LDAP and passwd | Hi Sebastian,
Nice to hear !
So i retried some tests and in fact, as my NAS LDAP is using self-signed certificate, connexion is refused by openldap libs from ELOG (ldap_simple_bind_s Can't contact LDAP server).
By disabling certificates verification in ldap.cfg on ELOG VM, i could connect using LDAPS URL...
Maybe it should be an option to add in elog.conf... :-)
Thanks for information,
Laurent
|
69354
|
Sun Apr 25 15:17:27 2021 |
| Laurent Jean-Rigaud | lollspam@free.fr | Bug report | Linux | ELOG V3.1.4-611 | Re: segfault in auth.c:366 | Hi,
Maybe it could be useful to add new parameters in elogd.cfg to define the attribute name to use to retrieve the given name, login name and email from LDAP server.
By example :
LDAP email attribute = mail
LDAP surname attribute = id
LDAP givename attribute = gn
So users can define them according to their exotic LDAP schema ;-)
Laurent |
69478
|
Wed Feb 16 22:24:18 2022 |
| Laurent Jean-Rigaud | lollspam@free.fr | Bug report | Linux | Trunk | elog c++ and LDAP | Hi Stefan,
I've seen that ELOG is build now with gcc-c++ now, so i tried to check rpmbuild script with all options. It seems that ldap api is different with c++ (quick search : https://www.openldap.org/lists/openldap-software/200706/msg00177.html) and elogd can not been build anymore with ldap support. :-(
# make
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -DHAVE_PAM -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 -DHAVE_KRB5 -DHAVE_LDAP -DHAVE_PAM -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 -DHAVE_KRB5 -DHAVE_LDAP -DHAVE_PAM -c -o strlcpy.o mxml/strlcpy.cxx
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -DHAVE_PAM -o elog src/elog.cxx mxml.o crypt.o strlcpy.o -lssl -lkrb5 -lldap -llber -lpam -llber
c++ -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -DHAVE_SSL -DHAVE_KRB5 -DHAVE_LDAP -DHAVE_PAM -w -c -o auth.o src/auth.cxx
src/auth.cxx: In function ‘int auth_verify_password_ldap(LOGBOOK*, const char*, const char*, char*, int)’:
src/auth.cxx:283:60: erreur: ‘ldap_simple_bind_s’ was not declared in this scope
bind = ldap_simple_bind_s(ldap_ld, ldap_bindDN, password);
^
src/auth.cxx:290:26: erreur: ‘ldap_unbind’ was not declared in this scope
ldap_unbind(ldap_ld);
^
src/auth.cxx:295:23: erreur: ‘ldap_unbind’ was not declared in this scope
ldap_unbind(ldap_ld);
^
src/auth.cxx: In function ‘int ldap_adduser_file(LOGBOOK*, const char*, const char*, char*, int)’:
src/auth.cxx:323:60: erreur: ‘ldap_simple_bind_s’ was not declared in this scope
bind = ldap_simple_bind_s(ldap_ld, ldap_bindDN, password);
^
src/auth.cxx:330:26: erreur: ‘ldap_unbind’ was not declared in this scope
ldap_unbind(ldap_ld);
^
src/auth.cxx:358:26: erreur: ‘ldap_unbind’ was not declared in this scope
ldap_unbind(ldap_ld);
^
src/auth.cxx:369:62: erreur: ‘ldap_get_values’ was not declared in this scope
if((values = ldap_get_values(ldap_ld,entry,attribute)) != NULL ) {
^
src/auth.cxx:378:35: erreur: ‘ldap_value_free’ was not declared in this scope
ldap_value_free(values);
^
src/auth.cxx:386:23: erreur: ‘ldap_unbind’ was not declared in this scope
ldap_unbind(ldap_ld);
^
src/auth.cxx: In function ‘int elog_conv(int, const pam_message**, pam_response**, void*)’:
src/auth.cxx:451:59: erreur: invalid conversion from ‘void*’ to ‘pam_response*’ [-fpermissive]
if((*resp = calloc(num_msg, sizeof(struct pam_response))) == NULL)
^
src/auth.cxx:456:33: erreur: invalid conversion from ‘void*’ to ‘const char*’ [-fpermissive]
if(!(resptok = strdup(my_data))) {
^
In file included from src/elogd.h:46:0,
from src/auth.cxx:30:
/usr/include/string.h:172:14: erreur: initializing argument 1 of ‘char* strdup(const char*)’ [-fpermissive]
extern char *strdup (const char *__s)
^
src/auth.cxx: In function ‘int auth_verify_password(LOGBOOK*, const char*, const char*, char*, int)’:
src/auth.cxx:593:73: erreur: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
if (get_user_line(lbs, user, NULL, NULL, NULL, NULL, NULL, NULL) == 2) {
^
In file included from src/auth.cxx:30:0:
src/elogd.h:282:5: erreur: initializing argument 2 of ‘int get_user_line(LOGBOOK*, char*, char*, char*, char*, BOOL*, time_t*, int*)’ [-fpermissive]
int get_user_line(LOGBOOK * lbs, char *user, char *password, char *full_name, char *email,
^
make: *** [auth.o] Erreur 1
Regards,
Laurent |
69491
|
Mon Mar 7 22:07:54 2022 |
| Laurent Jean-Rigaud | lollspam@free.fr | Question | Windows | 3.1.4-a04faf9f | Re: Vulnerability? | > > I trust Stefan is reading this thread and will do something about it. My vote would
> > be to remove the download link to the windows executables and ask Debian to remove
> > the elog package. I think they have a way for upstream developers (Stefan) to request
> > removal of unmaintained out-of-date insecure versions of their stuff. ROOT
> > was in the same situation years ago, the Debian package for ROOT was very old version,
> > also built incorrectly, and everybody complained to us that our stuff does
> > not work (midas, rootana, etc).
>
> Yeah, I have to recompile the Windows version. Unfortunately my old Windows PC is gone, I
> switched now completely to MacOSX and Linux. Probably have to borrow something from somewhere.
> If anybody can compile the Windows version with the current source code I would be happy.
>
> Stefan
Hi Stefan,
I don't find any howto to build elog under windows, so i tried to compile elog-latest sources with cygwin (packages gcc + openssl-devel + openldap-devel + make).
It builds, i could start elogd.exe and connect to localhost:8080 !
I generate a zip with cygwin dll needed to launch elogd and tools. I think they could be enclosed (maybe the cygwin licence file have to be added ?).
Btw it should be possible to crossbuild it under Mac or Linux. The problem is to test it ;-). On Mac, you can use UTM to create a Windows VM to do the work.
Bye
Laurent |
Attachment 1: elog-3.1.4-395e101.zip
|
|