Closed (won't fix)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
10 Dec 2010 at 18:28 UTC
Updated:
13 Sep 2011 at 04:15 UTC
Jump to comment: Most recent file
Comments
Comment #1
avpadernoComment #2
dave reidPlease provide the code you'd desire to commit to the drupal.org repository, licensed under GPLv2... before anyone can review it.
Comment #3
chx commentedAnd note that contrary to http://groups.drupal.org/node/121404#comment-395514 code does not need to be PHP. We happily host dreditor. And also drush which is not a Drupal module either (although PHP).
Comment #4
avpadernoActually, the CVS application is for modules, themes, and installation profiles. I would find difficult check other type of code against the Drupal coding standards. :-)
Comment #5
dave reidThere's nothing to say a module can't be PHP. We use modules for 'other' things like database drivers, drush, dreditor, etc.
Comment #6
avpaderno@Dave Reid: The projects you list have not been created from users who applied for a CVS account and used those projects as proposed module for the application.
If we are going to accept every PHP file for an application, then we should be prepared to CVS applications where the proposed "module" is a third-party library (maybe GeShi, or a WordPress plugin, or a JavaScript plugin).
I think this needs to be discussed a little more, before to change what the current CVS application requirements report.
Comment #7
chx commentedI say, if someone wants to host connect-to-Drupal GPL v2+ code on Drupal.org they are most welcome regardless of the host system.
Comment #8
avpaderno@chx: You approved a CVS application where the applicant provided a plain text file; it should have been declined just for the fact the text didn't contain any call to Drupal functions. ;-)
(I am joking.)
Anyway, this is not the place to discuss changes to the CVS application requirements.
Comment #9
synodinos commentedI attach a zip file with the code.
More details:
https://github.com/synodinos/nodepal &
http://groups.drupal.org/node/121404
Thanks,
Dio
Comment #10
avpadernoAs per requirements, the motivation message should include more than two sentences (the exact words are a few paragraphs) that describe the project features. For themes, it should include also a screenshot of the theme (at least 640x400 pixels), and (when possible) a link to a working demo site; for modules, it should include also a comparison with the existing solutions.
Comment #11
synodinos commentedMotivation message:
Comment #12
dave reidIs this going to allow SQL injection since it's not using placeholders? or escaping field or table names?
Comment #13
synodinos commentedThe two variables that are not bound in the later SQL statement do not have anything to do with user input so it's unlike that they'll be the cause of an SQL injection. Good observation though!
Comment #14
owen barton commentedIf you open MySQL access to site users (via Javascript), they can by definition run any query that MySQL GRANTs access to (either by hacking the Javascript, or just connecting with their favorite desktop MySQL client). Placeholders, type check etc in the JS are meaningless from a security point of view.
This suggests to me that the main question is: what table/column privileges are secure? This would need to be quite restrictive, and I think needs to be extremely explicitly documented with each callback.
This could be used to allow SELECTs of basic node content/fields, however this is on the condition that node_access is not used, and all site content is publicly readable. There is no way to build a node_access compliant system using this approach without adding MySQL views or stored procedures to enforce the node_access JOIN.
Comment #15
synodinos commented@Owen
Regarding the privileges, do you suggest I added a comment on every functions that explains which privileges must be present?
Regarding being "node_access compliant", it is impossible to do so when going out of the PHP runtime and e.g. not having the ability to call/listen to hooks. This is outside of the scope of this project. The idea is that if a user needs more, e.g. would like to integrate with a module that provides privileges, then he creates his own function and contributes back :) This could be done e.g. for the ACL module or CCK.
This is the best it can get with DB-level integration and not Drupal API level integration, but the performance gains of a fully asynchronous stack are huge and in some use cases absolutely essential.
Comment #16
Charuru commented@Owen
node.js is a server, not client. users do not have mysql access.
views are created on the server in node.js. It should be up to the developer of the node.js app to check for node_access.
Also, nodepal is an integration layer for developers, it's nothing that site administrators would be exposed to.
Comment #17
owen barton commentedThis makes a lot more sense in that case - I think it would still need careful attention to security though.
Comment #18
synodinos commentedShould I be waiting for some kind feedback regarding this?
Comment #19
zzolo commentedHi. Please read all the following and the links provided as this is very important information about your CVS Application:
Drupal.org has moved from CVS to Git! This is a very significant change for the Drupal community and for your application. Please read the following documentation on how this affects and benefits you and the application process:
Migrating from CVS Applications to (Git) Full Project Applications
Comment #20
synodinos commentedIt's on Git now as "experimental" (http://drupal.org/sandbox/synodinos/1075892). Should I re-apply, or should I wait for further feedback?
Thanks!
Comment #21
zzolo commentedHi @synodinos. Great that you got that started. So, make sure you read up here as there are explicit instructions: http://drupal.org/node/1075406
Then if you feel you want to continue to Full Project access, then change the Project type of this issue. Please consider and read carefully. The more you refine your module and are familiar with Drupal best practices the quicker the application process can be. But, we still have the same capacity (all volunteer) to review projects, so we cannot promise a quicker review time at this moment.
Please note that I have not actually looked at your project yet, but just speaking general.
Comment #22
synodinos commentedComment #23
tim.plunkettupdating title
Comment #24
sreynen commentedComment #25
sreynen commentedHi synodinos,
Since you opened this application, a new module has been created: Nod.js integration. At a quick glance, it looks like you're focusing more on the node.js side of the integration, and that module is focusing more on the Drupal side, so this might be a good opportunity for collaboration. Drupal.org heavily favors collaboration over having multiple projects with very similar goals. If collaboration won't work for some reason, please explain why.
I'm setting this to "needs work" awaiting your response. Please set it back to "needs review" when you decide whether you want to keep pursuing a separate project or contribute to the existing project.
Comment #26
tim.plunkettClosing due to inactivity, feel free to re-open if this was a mistake.