ID |
Date |
Icon |
Author |
Author Email |
Category |
OS |
ELOG Version |
Subject |
69193
|
Tue Aug 4 13:38:05 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Windows | V3.1.4-80633ba | Re: Record ID corruption | I tried to reproduce the problem with a fresh minimal logbook (the demo one coming from the distribution). Made 60 replies and all went well. So I wonder if it has to do with some special settings in elogd.cfg. Can you reproduce the problem with an empty logbook and an edlog.cfg which contains just the minimal settings?
David Pilgram wrote: |
Hi Frank,
Good bit of detective work. To me it suggests that something as yet undetermined occurs, that, when the 57th reply happens, causes the issue. If that "something" hasn't happened, all is well. Apart from Heinz varieties (not true, in fact), 57 isn't an obvious number; nor did it leap out at me at a quick look at the parameters in the coding. My example of deleting more than 40 entries causing elog to crash was at least consistent, it happened every time.
I'm trying to think what this something might be. With my (admittedly largeish) database of elog entries, starting elog from a cold start will take minutes of indexing before it will display home page or whatever. Presumably it must count the number of entries in each thread (as otherwise why always 57?), yet if you stop and restart, it doesn't necessarily need to do the full indexing again - time between restarts I guess, the authors not considering the evil deeds I perform on yymmdda.log entries.
Bare me out on this, I once had software that ran a system, and every Thursday, without fail, it always did a full recalibration on every start up. Since updates were issued on Fridays, I commented that it was just adding to our pressure, "as if it knew the day of the week"; it really was (and turned out to be) a day-of-the-week bug. So, I've been right on more than one occasion. Anything in common with the threads with cross indexing, such as day of the week, day of the month, time, especially if crossing midnight before the 57th reply?
Another line would be to view the yymmdda.log files while you are making a normal reply. In my v2.9.2 version, nothing is written until the Submit button is pressed, then either one or two files are modified or one modified and one new one created. Is that still true with your version? I ask because clearly one or two entry numbers have somehow already been "reserved" as if opened, but where? That Autosave =0 looks to be a useful test to do.
Sorry I cannot be more help. I'm not one of the development team, though I do have experience of (ab)using elog, and I'm a pretty rubbish coder as well. but I do have some experience in bug finding!
David.
Frank Baptista wrote: |
Hi David,
Well, you've made some very interesting observations, and raised some excellent questions. So, I went back and did some homework, reviewing a number of logbooks to find instances where this strange 'record twist' occurs. You had asked, "Do you have enough information to decided that this event always happens after x replies?" -- and to my surprise, indeed there was a magic number that I didn't expect to see. The 57th reply to the original posting was always where the corruption began. Mind you, we don't always get a corruption on the 57th reply -- most of the time, it works as expected. However, in all the cases where I saw this record twist, it was the 57th reply after the original posting. Go figure.
I also reviewed my elogd.cfg file to see how I handled drafts. Currently, it does have the flag Save drafts = 0. What I plan to try next, if only to satisfy my curiosity, is to also add Autosave=0.
I can't thank you enough for your time and feedback...very much appreciated!
Best regards,
Frank
David Pilgram wrote: |
Hi Frank,
There are two interesting points about the log file.
1. Entry 5658 is timestamped later than 5659, but is earlier in the entry list. It also is "In Reply to" 5659. despite 5659 having not been written (or at least timestamped) at the time that 5658 is. Might this be a feature of the draft function? I've not upgraded my elog for a long time now so my version doesn't have the feature - so I cannot test the idea of more than one entry being worked upon at the same time.
2. Entry 5657 says it is "In Reply to" 5656, but entry 5656 does not reference 5657 in the "Reply to" line, as it should Again, this might be a feature of the draft function
Could someone be confusing a draft entry with a real one? Or two attempts to make an entry?
On the idea of large number of entries, elog doesn't handle deleting of a thread of more than 40 replies well - it crashes after deleting the 40th. This leaves an orphan thread that causes other issues. Do you have enough information to decided that this event always happens after x replies?
Frank Baptista wrote: |
Hi David,
Thanks for the quick response! Well, I'd have to say that the sequence is as tangled as it looks in the logbook -- I've attached a copy of the log file for your reading pleasure.
This one is definitely a "head-scratcher" for me...it definitely seems like it is more prevalent on log entries with many replies.
Thanks,
Frank
David Pilgram wrote: |
Hi,
I've had problems in the past due to a dodgy pointer creating branches despite a "No branches" in the configuration file. It would be very interesting to see what the 200428a.log file looks li looks like with these entries: in the screenshot they appear to be shown in time order, but do the "Reply to" and "In reply to" liknes in each entry (in the .log file) show a linear progression through the entires, a branch a branch or indeed this same order as the screenshot. If the duplicated entry sequential to 5657 (i.e 5658) then I would suspect something akin to my pointer's double click when I only made a single click, so fast that then second e second entry were created before the "No branches" checking part of the program had been reached. Not so sure about such an event here unless entry 5658 were already open but not closed?
Regards,
David.
Frank Baptista wrote: |
Hi all,
I've encountered an occasional problem that seems to be exacerbated by having a message with many replies.
In our use of ELOG, we run lengthy environmental tests (often several days) in multiple temperature chambers (one logbook for each chamber). We document the start of the test with a log entry, and then periodically create replies -- first to the original log entry, and then to each successive reply (no branching allowed), in order to document how far along the test is.
What I'm seeing is an occasional "hiccup" in the order of records -- in the snapshot below, you can see that the record ID(s) go (in chronological order) ....5654, 5655, 56 5656, 5659, 5657, 5658, 5660, 5661....
Additionally, in this example, record ID# 5659 and record ID# 5657 are duplicates -- duplicate time stamp and duplicate text.
Has anyone else encountered this?
Thanks,
Frank
|
|
|
|
|
|
|
69194
|
Tue Aug 4 13:44:01 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Linux | 3.1.4 | Re: How to prevent file path leaks on a 404 page | I removed the version info from the 404 error, but you have to recompile elogd from sources. The fix will be included in the next RPM, but that can usually take a few weeks.
Rich Loring wrote: |
Hello,
We used the Elog RPM binary installation method to install Elog. Our security scanners are complaining that Elog discloses the version information when you hit a missing page (404 error). How can I hide this version info? Is there a snippet of code somewhere that I can comment out?
Any help is appreciated.
-Rich
|
|
69199
|
Mon Aug 10 08:33:42 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Bug report | Linux | 3.1.4 | Re: SSL connection drop with large content | Your solution sounds quite good, I will incorporate them in the distribution.
Stefan
HyonSan Seo wrote: |
Dear all,
I had some difficulty to upload large files (>20MB) with SSL connection. I think it is also related to https://elog.psi.ch/elogs/Forum/68636
During debuging, I found that, when uploading large files, ssl connection is dropped since 'SSL_read' function returns -1.
But it doesn't alway mean broken connection. It may be "SSL_ERROR_WANT_READ".
I changed the "server_loop" function in the source code to "continue" when it is SSL_ERROR_WANT_READ. And it fixed the problem.
Here is my code.
## elogd.c "server_loop" function L30031
if (FD_ISSET(_sock, &readfds)) {
#ifdef HAVE_SSL
if (_ssl_flag){
i = SSL_read(_ssl_con, net_buffer + len, net_buffer_size - len);
if(i<=0){
int ssl_error=SSL_get_error(_ssl_con,i); ## check ssl error code
if(ssl_error==SSL_ERROR_WANT_READ||ssl_error==SSL_ERROR_WANT_WRITE) continue; ## if ssl wants more, continue
}
}
else
#endif
i = recv(_sock, net_buffer + len, net_buffer_size - len, 0);
I am ignorant about networking. Some experts on ssl connection would know a better way to deal with this problem.
Best,
HyonSan Seo
|
|
69205
|
Wed Aug 26 20:41:50 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Bug report | Linux | 3.1.4-2 | Re: SSL does not work | Today I succeeded with the help of L.JR to produce a new RPM which contains SSL, KRB5, PAM and LDAP support. It's uploaded to https://elog.psi.ch/elog/download/RPMS/elog-3.1.4-2.el7.x86_64.rpm
Hisataka YOSHIDA wrote: |
Dear Stefan,
Thank you for your comment. I successfuly compiled the latest elog from source code, and now elogd could work with SSL.
In fact, I reported the case of installation with rpm file. Maybe, the latest elog rpm doesn't support SSL, I guess.
The installtion with rpm file is easier to build the common environment, so I hope the next rpm will support the SSL.
best regards,
Hisataka YOSHIDA
Stefan Ritt wrote: |
When you compile elog from the soruces, you need the OpenSSL library to be installed. The CMake build process will then find it and include it in the compile process. When you use the "make" build process, you have to make sure that SSL is enabled there:
USE_SSL = 1
To install the OpenSSL library, you can do on most systems something like "sudo yum install openssl-dev" or "sudo apt-get install openssl-dev"
/Stefan
Hisataka YOSHIDA wrote: |
Hello.
I installed the latest elog (3.1.4-2) in CentOS 7, and it is working well without SSL.
When I enalbled SSL option (SSL = 1) in the "elogd.cfg", and tried to start the elogd, the message below was shown and failed to run.
SSL support not compiled into elogd
If I switched the elog to older one (3.1.4-1), I could successeed to run the elogd with SSL option.
Is there any other option required in the latest elog to run with SSL? Or is this bug in the latest version?
Thank you,
Hisataka YOSHIDA
|
|
|
|
69206
|
Wed Aug 26 20:44:38 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Linux | 3.1.4 | Re: How to prevent file path leaks on a 404 page | A new RPM has been released at https://elog.psi.ch/elog/download/RPMS/elog-3.1.4-2.el7.x86_64.rpm containing that fix.
Stefan Ritt wrote: |
I removed the version info from the 404 error, but you have to recompile elogd from sources. The fix will be included in the next RPM, but that can usually take a few weeks.
Rich Loring wrote: |
Hello,
We used the Elog RPM binary installation method to install Elog. Our security scanners are complaining that Elog discloses the version information when you hit a missing page (404 error). How can I hide this version info? Is there a snippet of code somewhere that I can comment out?
Any help is appreciated.
-Rich
|
|
|
69211
|
Wed Sep 2 15:42:40 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Linux | 3.1.3 | Re: Using curl to post new entries | This is correct. The elogd daemon needs username and password in parameters "unm" and "upwd". The password must be SHA256 encoded, so best is to grab it from the password file. This way one does not have to send clear text passwords over the network.
Florian Feldbauer wrote: |
After going through the code of the Python API (https://github.com/paulscherrerinstitute/py_elog/blob/master/elog/logbook.py) I tried the following:
$ python3
>>> from passlib.hash import sha256_crypt
>>> sha256_crypt.hash( 'foobaa', salt='', rounds=5000)[4:]
'waa2sT6eBt.qk0wsucX/nxU5GcqffqlEx6ja5Lg1OR5'
>>> from datetime import datetime
>>> datetime.now().timestamp()
1599039390.964989
$ curl -F cmd=Submit -F exp=labor -F unm=florian -F upwd='waa2sT6eBt.qk0wsucX/nxU5GcqffqlEx6ja5Lg1OR5' -F Encoding=plain -F When=1599039390.964989 -F Author=curl -F Subject="curl test" -F Category=General -F Type=Diary -F Text="foo baa" http://localhost:8080/test/
This worked. It seems to me, that the "-u" option from Curl is not working for elog.
Cheers,
Florian
Florian Feldbauer wrote: |
Hey,
i'm trying to use curl to post new entries to our logbook as described here: https://elog.psi.ch/elogs/Forum/68597.
The Elog is installed via the Deban package on Buster.
I created a test logbook with attributes Author, Type, Category and Subject.
curl -u florian:foobaa -F cmd=Submit -F Author=Florian -F Type=Diary -F Category=General -F Subject="testing curl" -F Text="foo baa" http://localhost:8080/test
<!DOCTYPE html>
<html><head>
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<title>ELOG Login</title>
<link rel="stylesheet" type="text/css" href="elog.css">
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="favicon.png" type="image/png" />
</head>
<body OnLoad="document.form1.uname.focus();">
<form name=form1 method="POST" action="./" enctype="multipart/form-data">
<input type=hidden name=redir value="">
<table class="login_frame" cellspacing=0 align=center><tr><td class="login_title">Please login</td></tr>
<tr><td class="login_form">
<span class="overlay_wrapper">
<label for="uname" id="uname" class="overlabel">Username</label>
<input type="text" class="login_input" name="uname" value="" title="Username" onInput="document.getElementById('uname').style.display='none';">
</span></td></tr>
<tr><td class="login_form">
<span class="overlay_wrapper">
<label for="upassword" id="upassword" class="overlabel">Password</label>
<input type="password" class="login_input" name="upassword" onInput="document.getElementById('upassword').style.display='none';">
</span></td></tr>
<tr><td align=center class="login_form"><input type=checkbox checked name=remember value=1>
Keep me logged in on this computer
for the next 31 days or until I log out</td></tr>
<tr><td align=center class="login_form">
<a href="?cmd=Forgot">Forgot password?</a></td></tr>
<tr><td align=center class="login_form_bottom"><input type="submit" class="login_submit" value="Submit"></td></tr></table>
<center><a class="bottomlink" title="Goto ELOG home page" href="https://midas.psi.ch/elog/">ELOG V3.1.3-7933898</a></center></form></body></html>
As you can see, curl only prints the login page of the logbook and no new entry has been created. Any suggestions what might go worng here?
Regards,
Florian
|
|
|
69232
|
Thu Oct 8 12:40:52 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Windows | V3.1.4-a04faf9f | Re: Is it possible to visually group attributes with border | Nope, this is not possible. Sorry.
Stefan
Daniel Sajdyk wrote: |
Hello,
I'm working on new logbook and in one category I'll have many attributes (many more than in attached screenshot).
So here is my question. Is it possible to visually group such attributes with some border, or something like that?
In screenshot you can see what I want to achieve.
Best Regards
Daniel
|
|
69236
|
Tue Oct 20 08:24:20 2020 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Windows | latest | Re: Field values dependent on other selections | Look in the manual under "conditional attributes"
Stefan
Anthony Krishock wrote: |
All,
I would like to know if there is a way in elog to populate a field based on the value of another field. What I want to do is have a field with a few selections (a menu) and another text field that populates based on what I select from the menu.
Is this possible?
|
|
|