Probably about time to begin thinking about the new release. Only loose end to tie up is the password stuff on windows, then I think we would be ready to branch for a release goal of early August.
Probably about time to begin thinking about the new release. Only loose
end to tie up is the password stuff on windows, then I think we would be
ready to branch for a release goal of early August.
Should we just yank this session variable? It’s not gonna work anyways and another way will be needed to do this (the feature of opening it up in a new window will basically no longer be supported until a new mechanism is added).
Here are some initial wiki pages on the release process etc. Goal is to have this release be more of a group effort. Plan to create the branch once a translation iteration (and the login stuff) is complete. At that point, can then create the branch demos.
The impact of the security changes on the offsite portal aren’t really known either. However since it’s a closed source app I feel justified in leaving the responsibility for testing to ZHH.
Still think the phpMyAdmin debate is going on. Either should:
Remove it (and then provide a mechanism within OpenEMR to import new translation tables, since this is a common thing done by international users, which make up the majority of the OpenEMR downloads : http://www.open-emr.org/wiki/index.php/Install_Translations )
Upgrade it
Leave it be
Since nobody is willing to likely spend time on it, looks like we are stuck on 3…
Why do we need to provide a different way to import the tables? Xampp has
external copy of phpmyadmin and Linux users can install it easily. It’s the
redundant Imbedded copy that is unneeded, out of date and customized,
therefore a pain to maintain.
Could even have the menu link configured to run it if it’s installed and
require entry of correct db or root user/password. Safer that way.
Still think the phpMyAdmin debate is going on. Either should:
Remove it (and then provide a mechanism within OpenEMR to import new
translation tables, since this is a common thing done by international
users, which make up the majority of the OpenEMR downloads : Install Translations - OpenEMR Project Wiki )
Upgrade it
Leave it be
Since nobody is willing to likely spend time on it, looks like we are
stuck on 3…
http://cwe.mitre.org/top25/index.html#CWE-250
Preventing “execution with unnecessary privileges” is one of many reasons why including PHPMyadmin is a bad idea.
It is also the rationale behind the privDb mechanism I added. I think this link explains the concept better than my write up.
Upgraded it to phpmyadmin 4.0.4 (most current productions release). Here is the branch:
To be clear, I did it in 4 different commits(see the branch):
Commit 1: Removed old phpmyadmin
Commit 2: Unzipped phpmyadmin 4.0.4 (All Languages Version) without any modifications
Commit 3: Integrated it into OpenEMR with some minor work
Commit 4: Fixed a bug in acl.inc library, so now users besides ‘admin’ can use phpmyadmin (there were scope issues, surprised we weren’t getting bug reports on this…)
Thoughts here? This is a very frequently used tool by DIY and international users. At this point all I have heard from professionals and vendors via forum posts and private email is how we should simply remove this tool, which are then followed by proposals (ie. no work, just talk) on how to the fill the gap. We can always recommend users to remove on the wiki Security page if users need to harden their security on the wiki Security page, which all instruction manuals point to.
Also want to separate two issues here.
One is security. There is a reasonable argument here that including any scripts into the codebase (such as phpmyadmin) does bring in potential for security vulnerabilities (which is why it is very reasonable to recommend removing this on the Security wiki page for users whom need to harden their instance).
One is limiting the autonomony of the user. Meaning, the argument of removing tools so the (usually new) user isn’t able to do some really damaging things. With this argument, we might as well then yank all of the Administration->Lists from plain sight since messing with these can break OpenEMR and degrade the patient data.
Looked over the “Open in New Window.” issue (Patient/Client->Patients search screen) and I think I have come up with a solution that seems to work. I tried to deal with it at the session level, but found it impossible to separate/clone sessions. So, attacked it as Rod did originally by doing a “authentication” to get a new instance of OpenEMR. Basically, the screen collects a temporary authentication token id and then uses this to log in. The code is pretty straightforward and placed a bunch of safeguards in place to ensure the tokens do not linger at all (note they are also hashed so can not “pass-the-token” attack); even utilized a very cool mechanism that OpenEMR has (background-services module) to wipe out any tokens that are lying around in the background. Here is the code:
I realize this is not a slam dunk commit, since it does complicate authentication code a bit more. But, if strategy is acceptable, would like to get into 4.1.2. (the feature of being able to open different patient records and work in them concurrently is very useful)
At this point, once this is in and the new phpmyadmin verson is in, plan to branch the code for v4.1.2 and create the demo vehicles/downloads (goal is to do this sometime in the next week). Then will leave about 4 more weeks of testing and bug fixes until the official release.