Reviews and Mentoring for Ayesh

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This wiki page is created to keep track of Ayesh's Project application reviews for him to get advice and mentored by Git administrators and anyone else who might have suggestions, advices, etc.

I would like to thank Klaus Purer, Patrick Drotleff, Matthew Donadio (mpdonadio), Karl Scheirer (kscheirer) and everyone else for their effort in reviewing applications. Drupal always had clean, secure and fast code compared to other projects; Core and contrib alike. I realized project applications play a major role in vetting and reviewing new projects, so I wanted do what I can.

A list of security issues I could find in the candidate modules:

  1. [D7] Data Manipulate UI
    Review

    This module opens a menu router item that accepts GET, POST, PUT and DELETE data. It is protected with some user_access() calls, but it did not validate the user input for Cross-site requests. I provided him with a proof of concept, and guidance on how to prevent it.

  2. [D7] JSON Filter
    Review

    This module accepts user-provided JSON string, and outputs them without sanitizing it first. It is possible to craft JSON string that contains malicious content, and since this module did not run check_markup() or such filter against the processed text, installed sites would be vulnerable. I provided a patch too.

  3. [D7] Country Access
    Review

    This one has an admin setting to enter a custom message, and the admin page requires a special permission (which shows no warning about potential risks in the permission page). When the admin message is shown, it is not sanitized, and the admin-configured message is shown, with possible broken HTML, scripts, etc.

  4. [D7] Spamfree Email
    Review

    Spamfree module is supposed to work independent of the client browser's JS capabilities. For browsers without Javascript, this module adds a <noscript><img /></noscript> snippet that contains an encrypted string, but its key was hardcoded in the module, making it possible for anyone to decrypt it themselves. Also, module generates an image, which is CPU-intensive. I also helped him to add some DoS protection.

  5. 3. [D7] Concurrent
    Review

    This module had a few unprotected menu router items.

List of all reviews

Following are the reviews I've made, manually entered, and are in the order of the issue's age (oldest first). I excluded some reviews that I didn't add helpful/constructive reviews.

  1. [D7] Hubble Telescope Daily Image
    Review

  2. Mail Statistics
    Review

  3. [D7] Modules Form Batch Process
    Review

  4. [D7] Hide Filepath
    Review

  5. [D7] Weinre
    Review #1, Review #2

  6. [D7] Diversity Enricher
    Review

  7. [D7] Advanced Text Formatter
    Review

  8. [D7] Remove Duplicates
    Review

  9. [D7] Anti Spamigen
    Review

  10. [D7] PHP Variable Hunter
    Review #1, Review #2

  11. [D6] phpconfig
    Review #1, Review #2, Review #3, Review #4

  12. [D7] Twitter Tags
    Review

  13. [D7] Language Switcher Settings
    Review

  14. [D7] Thirty Suns
    Review #1, Review #2

  15. [D7] Delete Tab
    Review

  16. [D7] Quick registration
    Review #1, Review #2, Review #3

  17. [D7] Simple Twitter Feed
    Review

  18. [D7] Profile2 UUID
    Review

  19. [D7] Twittercache
    Review

  20. (My application) [D7] IMEI Field

  21. [D7] OMNI EVE API
    Review

  22. [D7] Skyword Integration
    Review #1, Review #2, Review #3

  23. [D7] Bootstrap Blue
    Review

  24. [D7] Google Tag Manager
    Review

  25. [D7] Login Notify
    Review #1, Review #2

  26. [D7] CloudSMS
    Review

  27. [D7] Required Fields
    Review

  28. [D7] hamdomains
    Review

  29. [D7] BNR Exchange
    Review

  30. [D7] POWr Social Media Icons
    Review #1, Review #2, Review #3, Review #4

  31. [D7] Pushup Social
    Review #1, Review #2, Review #3, Review #4

  32. [D7] Debug Tools
    Review

  33. [D7] Naver Login
    Review

  34. [D7]Comment Deletion
    Review

  35. [D7] Himalaya theme
    Review

  36. [D7] Spamfree Email
    Review #1, Review #2, Review #3, Review #4, Review #5

  37. [D7] TouchTouch
    Review

  38. [D7] Extra Tabs Menu
    Review

  39. [D7] Light Social Buttons
    Review

  40. [D7] JSON Filter
    Review

  41. [D7] Simple Meta for Content Types
    Review

  42. [D7] Webform Validation No Credit Card Numbers
    Review

  43. [D7] Routing Debug
    Review #1, Review #2, Review #3, Review #4

  44. [D7] Country Access
    Review

  45. [D7] Data Manipulate UI
    Review

  46. [D7] Concurrent
    Review

  47. [D7] Request statistics
    Review

Comments

Hi and thanks for starting

klausi's picture

Hi and thanks for starting this!

Impressive list already :-)

Here are some common templates that we use when reviewing: https://groups.drupal.org/node/184389

Thanks klausi. Could you shed

ayesh's picture

Thanks klausi.

Could you shed a light on this case please?
I came across modules that tend to have a great name that covers a big area, but does only a little for that name. Debug tools module for example.

There is no tools provided by this module, nor I believe it would help in actually debugging process per se. I didn't want to sound any negative in the application, but if the applicant has chosen a module name that is someone inappropriate (I'm probably wrong in this application in particular), how should we proceed? This module is providing additional information for bug reports. "Bug report extras" or such name would be a better match.

They have chosen the module name, and thus the hook names, variables, etc, so it would be a big change if they have to rename the module. but at the same time, if they promote the module, it becomes a long lasting problem in module namespaces.

We can only recommend name

klausi's picture

We can only recommend name changes if the situation is confusing (as in this case), but we should not enforce it. So we should tell the applicants that the name is bad, but we should not block applications based on that alone.

It's similar as with module duplication: we should tell them that they are just re-inventing an already existing solution instead of collaborating, but we should not block applications on that.

You are right. Thanks. I did

ayesh's picture

You are right. Thanks.
I did not block any applications before, and never will. I just wanted to know what we should do, just in case.

With blocking applications I

klausi's picture

With blocking applications I mean setting them to "needs work", so a confusing name alone should not cause the application issue to go to "needs work".

ready for git admin role

heddn's picture

+1 on granting Ayesh git admin role.

+1 from me as well, I think

klausi's picture

+1 from me as well, I think Ayesh is more than ready. Opened the webmaster issue, please add your +1 there! https://www.drupal.org/node/2497199

Thank you Klaus and Lucas

ayesh's picture

Thank you Klaus and Lucas (@heddn).
This means a lot and I'll try my best to live up to it.

You have my vote. I would

mpdonadio's picture

You have my vote. I would use the Review Template more, especially for your first review of a project. I helps make sure the important stuff gets identified, and the suggests are just suggestions.

Thank you Matthew.I will

ayesh's picture

Thank you Matthew.
I will definitely use the template more often. Usually the PA bot marks applications with Pareview errors as Needs Work, before anyone else. If the bot has mentioned the pareview errors, I focus on other potential issues.


People tend to use Pareview quite often nowadays, and some applications are perfect in the first shot in terms of Pareview test (which is great!).

I also tend to not block any applications for small issues ( Missing t() calls, 80 char limit, etc), but I do mention them in the application without changing its status.
In this application, I marked it Needs Work because of a bug in JavaScript (please see my line "In the request recording JS file..."). The applicant looks experienced and the rest of the module was actually in good quality, except it previously had an unprotected menu router item.

I think it was OK that I marked it needs work for that JS file bug, because otherwise that module wouldn't work in any site installed in a sub folder. I submitted a patch for him to make it clear where he needed fixing.

If I was wrong or could be better in that application, let me know please :)

Congrats and welcome as git

klausi's picture

Congrats and welcome as git admin Ayesh!

Instructions for promoting people are here: https://www.drupal.org/node/1125818

There is quite a bit of RTBC backlog in the queue, so you can start there with the oldest applications. Feel free to ask us if you have any questions!

Code review for security advisory coverage applications

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: