Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 438 of 808  Not logged in ELOG logo
ID Date Icon Author Author Email Category OS ELOG Version Subject
  66317   Wed Apr 15 11:43:14 2009 Question Gabriele Sirrisirri@bo.infn.itQuestionWindows2.7.6-2191ROptions value changed in the edit page
When ROptions items contain the same substring and this substring is also an ROptions item (ex: notdone, 
done), the value of the entry could change in the edit page. 
It depends on the item order in the config file. 

If Options is used (instead of ROptions), it works as expected.

Is it a bug?


Examples : 

#Insert "notdone" as new entry. When you try to edit the entry, the displayed value is "done".

[test_bad]
Attributes = Author, Category
ROptions Category = notdone, done

#No problem if you change the item order 

[test_good]
Attributes = Author, Category
ROptions Category = done, notdone
  66316   Wed Apr 15 09:51:35 2009 Reply Stefan Rittstefan.ritt@psi.chQuestionWindows2.7.5Re: Multi Logook Login

 

Hal Proctor wrote:

 

Grant Jeffcote wrote:

 

Hal Proctor wrote:

We have two logbooks, each with a different list of users. 
 The logbooks are open to all network users for read only.
A user with Write permisions logs into his designated logbook.
He then decides to view the other logbook, the one he does not have write permissions to by clicking on the tab to the other logbook.
He is immediately logged out of the logbook he has write permissions to.
He did not close his browser session, only clicked on the other logbook tab.
Is there Any way to keep that person logged into the logbook he has rights to without having the "keep me logged in Checkbox"?

 Just like this site has Forum, Config Examples, etc.

Once you select another tab they are logged out of their logbook they just logged in to.

 

 

 Have a look at this thread Hal, worked well for me:  Link

 

 thanks Grant, but I dont see the solution.  your last entry still states users being logged out when switching logbooks.

Are you suggesting that every user within our orginization needs to be on the deny list of logbook1 if they have rights to logook2?

 

Can you try the following:

  • Put your "password file = xxx" option from the [global] section in elogd.cfg into each individual logook, remove it from [global] 
  • Remove all cookies from your browser
  • Try again to log in to the individual logbooks

The login is handled through cookies. Once you log in, you get two cookies unm (for user name) and upwd (for user password). Each cookie contains a "path" which controls to which URL the browser sends that cookie. If you "password file = xxx" statement is under [global], then "path=/", meaning the cookie is sent for all logbooks. This confuses you if you have different rights for different logooks. If "password file = xxx" is however in each individual loogbooks configuration, then you get "path=/<lobook>". You can check that by inspecting your browser's cookies. In that case the login name and password cookies are only sent to the URL for that specific logbook. I have not tested that extensively (different browsers, with/without Apache proxy), but if it works reliably, I will put this into the documentation.

  66315   Wed Apr 15 09:26:37 2009 Reply Stefan Rittstefan.ritt@psi.chBug fixAll2.7.6Re: Long cookie content is not handled properly.

Simon Patton wrote:
I discovered the infinite loop in 2.7.5 which can happen when a cookie's content is longer that the cookie array
designed to hold it. I also note that this issue has been addressed in 2.7.6, but the solution does not appear
to be correct and it can end up completely confusing the cookie extraction.

In 2.7.5 the code was:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n' ; )
        if (i < (int) sizeof(cookie)-1)
            cookie[i++] = *p++;

While in 2.7.6 is became:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n';)
        if (i < (int) sizeof(cookie) - 1)
            cookie[i++] = *p++;
        else
            break;

This leaves 'p' pointing to the middle of the cookie's content and I can not see that this is corrected in the loop (sorry if I've missed that).

The solution I used to patch 2.7.5 was the following:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n' ; ++p)
        if (i < (int) sizeof(cookie)-1)
            cookie[i++] = *p;

which simply truncates the contents of the cookie (which is assumed not to be an elogd cookie) but leaves 'p' in the right place to extract the next one.


You're absolutely right about that. I incorporated your patch into revision #2192.
  66314   Tue Apr 14 22:51:15 2009 Warning Simon Pattonsjpatton@lbl.govBug fixAll2.7.6Long cookie content is not handled properly.
I discovered the infinite loop in 2.7.5 which can happen when a cookie's content is longer that the cookie array
designed to hold it. I also note that this issue has been addressed in 2.7.6, but the solution does not appear
to be correct and it can end up completely confusing the cookie extraction.

In 2.7.5 the code was:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n' ; )
        if (i < (int) sizeof(cookie)-1)
            cookie[i++] = *p++;

While in 2.7.6 is became:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n';)
        if (i < (int) sizeof(cookie) - 1)
            cookie[i++] = *p++;
        else
            break;

This leaves 'p' pointing to the middle of the cookie's content and I can not see that this is corrected in the loop (sorry if I've missed that).

The solution I used to patch 2.7.5 was the following:
    for (i = 0; *p && *p != ';' && *p != '\r' && *p != '\n' ; ++p)
        if (i < (int) sizeof(cookie)-1)
            cookie[i++] = *p;

which simply truncates the contents of the cookie (which is assumed not to be an elogd cookie) but leaves 'p' in the right place to extract the next one.
  66313   Tue Apr 14 20:03:06 2009 Reply Hal Proctorhproctor@mpm.comQuestionWindows2.7.5Re: Multi Logook Login

Grant Jeffcote wrote:

Hal Proctor wrote:

We have two logbooks, each with a different list of users. 
 The logbooks are open to all network users for read only.
A user with Write permisions logs into his designated logbook.
He then decides to view the other logbook, the one he does not have write permissions to by clicking on the tab to the other logbook.
He is immediately logged out of the logbook he has write permissions to.
He did not close his browser session, only clicked on the other logbook tab.
Is there Any way to keep that person logged into the logbook he has rights to without having the "keep me logged in Checkbox"?

 Just like this site has Forum, Config Examples, etc.

Once you select another tab they are logged out of their logbook they just logged in to.

 

 Have a look at this thread Hal, worked well for me:  Link

 thanks Grant, but I dont see the solution.  your last entry still states users being logged out when switching logbooks.

Are you suggesting that every user within our orginization needs to be on the deny list of logbook1 if they have rights to logook2?

  66312   Tue Apr 14 20:00:08 2009 Reply Hal Proctorhproctor@mpm.comQuestionWindows2.7.3-1024Re: Access Control

Grant Jeffcote wrote:

Grant Jeffcote wrote:

Yoshio Imai wrote:

Grant Jeffcote wrote:
At present we can give others a full view by adding them to the 'Users' list for each individual logbook, this unfortunately also gives them 'write' access.


I think the solution to your problem would be to use Deny statements in the configuration sections for the logbooks.
Assume user1, user2 and user3 are in the "owners'" group of logbook1, and user4 and user5 only have "privileged read" access. Then a configuration as follows might help:
Login user = user1, user2, user3, user4, user5

Deny New = user4, user5
Deny Reply = user4, user5
Deny Duplicate = user4, user5
Deny Edit = user4, user5
Deny Delete = user4, user5
Deny Select = user4, user5
Deny CSV Import = user4, user5

This should give them the same read permissions as the logbook owners but should deny any writing operations. I recognize that this is a little bit of admin work if the lists of such "privileged readers" gets long, but each user would have his/her individual password (even the same as for access to his/her "own" logbook).

Perhaps you can give it a try.


What a great solution, thanks Yoshio, it works a treat.


Is there any way to give a logged in user a 'Guest' view on certain logbooks?
Unfortunately at the moment if they are not in the 'login users = ' group they are automatically logged out and have to re-log back into their own logbook.


I have this same issue. People come and go from one logbook to the other but I still want them to maintain logged in status to the logbook they have rights to.
  66311   Tue Apr 14 18:51:43 2009 Reply Grant Jeffcotegrant@jeffcote.orgQuestionWindows2.7.5Re: Multi Logook Login

Hal Proctor wrote:

We have two logbooks, each with a different list of users. 
 The logbooks are open to all network users for read only.
A user with Write permisions logs into his designated logbook.
He then decides to view the other logbook, the one he does not have write permissions to by clicking on the tab to the other logbook.
He is immediately logged out of the logbook he has write permissions to.
He did not close his browser session, only clicked on the other logbook tab.
Is there Any way to keep that person logged into the logbook he has rights to without having the "keep me logged in Checkbox"?

 Just like this site has Forum, Config Examples, etc.

Once you select another tab they are logged out of their logbook they just logged in to.

 

 Have a look at this thread Hal, worked well for me:  Link

  66310   Tue Apr 14 17:57:56 2009 Reply Erik Iversoneiverson@ornl.govQuestionWindows2.7.5-2187Re: Simple Math

Stefan Ritt wrote:

 

mike cianci wrote:

Sorry to bother you. I could see in past Forum entries that the question of  "Simple Math" has come up before, although the answers were not all that simple.

Can you do simple math (i.e. attribute A + attribute B = attribute C) in ELOG ?

Thank you for putting up with my questions.

Mike

 

No, you can't. The only way is to export a logbook to CSV, then import it in a spreadsheet program, then do the math there. 

 You can pass numerical attributes to an external command via "Execute new =...".  This external command can then do the math and pass the result _back_ to the logbook either as a new entry or as an edit with the command-line client "elog".

For example, given a new entry with (numerical) attributes A and B, if you have

Execute new = add_them.pl $A $B $message id

in your elog.cfg file, then $A and $B will be passed to the add_them.pl perl script.  Now have the perl script (or bc, or whatever you want to use) do the appropriate math and submit the result.  For example, your perl script might include

$C=$A+$B

$D=$A*$B

elog -a C=$C ... -e "$message id" "Sum as edit"

elog -a D=$D ... "Product as new entry"

 

ELOG V3.1.5-3fb85fa6