Hi
I just updated my mirror server, which I just use as a backup to my main server, to 2.9.0 and found that after logging in (the selection page is not protected, but the individual logbooks are) and coming back to the selection page I no longer get the "Synchronize all logbooks" even though I am an admin user. The relevant code is in elogd.c in the show_selection_page() routine:
/* only admin user sees synchronization link */
if (is_admin_user("global", getparam("unm"))) {
rsprintf("<tr>\n");
rsprintf("<td colspan=13 class=\"seltitle\">\n");
rsprintf("<a href=\"?cmd=Synchronize\">%s</a></td>\n", loc("Synchronize all logbooks"));
rsprintf("</tr>\n");
}
what is happening is that after logging in to a logbook and coming back to the selection page, the "unm" parameter is not set, so getparam("unm") returns NULL, who clearly is not in the admin user list. The strange thing is that in an individual logbook the unm (and uname) parameters are working fine, and I have admin rights - can change the global config file, do an individual synchronization, etc. It is just from the selection page that the unm parameter is not working.
In fact, I commented out the if statement above, just to see if I could get synchronized using the link, and that failed too, with a message "No user name supplied for remote access" even though I do have a "mirror user" statement in my config. Again, if I do each one individually it all works. In addition, the cron synchronization (i.e. mirror cron) also works fine.
Obviously this isn't crucial, just a pain that can be worked around, but if anyone has any ideas I'd be glad to hear them.
Steve
PS Another feature request: when you forget to set an icon in this forum and then use the "back button" it shouldn't force you to rewrite the whole message over again! |