Mango + MongoDB 3.0 + SCRAM-SHA-1 ?

58 views
Skip to first unread message

s...@alexbyk.com

unread,
Mar 11, 2015, 6:44:27 PM3/11/15
to mojol...@googlegroups.com
Hi mojopeople. Looks like new MongoDB 3.0 released a few days ago. So I
decided to upgrade abandoned kraih's Mango to support 3.0

While fixing a few incompatible changes wasn't a problem, implementing
new SCRAM-SHA-1 auth is a little bit harder.

Does anybody use Mango? Maybe someone has already implemented this stuff
or working on it?

sri

unread,
Mar 11, 2015, 6:48:35 PM3/11/15
to mojol...@googlegroups.com
Hi mojopeople. Looks like new MongoDB 3.0 released a few days ago. So I
decided to upgrade abandoned kraih's Mango to support 3.0

It's not supposed to be abandoned, and maintained here now.


--
sebastian 

s...@alexbyk.com

unread,
Mar 11, 2015, 6:59:48 PM3/11/15
to mojol...@googlegroups.com
Thanks, Sebastian. I don't know how I missed this news (now I see a link in the original repo). Next time I should be more careful.


--
You received this message because you are subscribed to the Google Groups "Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious...@googlegroups.com.
To post to this group, send email to mojol...@googlegroups.com.
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

s...@alexbyk.com

unread,
Mar 14, 2015, 8:56:14 PM3/14/15
to mojol...@googlegroups.com
Hi, sebastian
According to https://github.com/oliwer/mango/blob/master/Changes that fork looks like a little bit abandoned too, and the author didn't respond a ticket for more than 3 days.

I decided to take care of this project (thank you for your work) and gave it a new life here:

https://github.com/alexbyk/mango

,and right now it can be considered as "working" and "supports MongoDB 3.0+", but I don't know what to do with it now.

Could you (or others) suggest, what should I do. Should I wait when oliwer comes back or maybe I should rename it with your blessing to "Mango3" or similar ?


sri

unread,
Mar 14, 2015, 9:58:37 PM3/14/15
to mojol...@googlegroups.com
Could you (or others) suggest, what should I do. Should I wait when oliwer comes back or maybe I should rename it with your blessing to "Mango3" or similar ?

Please keep trying to contact Olivier and find a solution together.

--
sebastian

s...@alexbyk.com

unread,
Mar 14, 2015, 10:08:17 PM3/14/15
to mojol...@googlegroups.com
Ok, I will

olivier...@gmail.com

unread,
Mar 15, 2015, 1:00:57 PM3/15/15
to mojol...@googlegroups.com
Hello there,

Sorry for the delay. I just came back from vacation.

To answer your questions:

 - it is true that Mango can already work with MongoDB 3, but there are a few new APIs that we could use, in particular for collection names lookup and index lookup. I have started modifying Mango to use those and hope to make a new release in the coming weeks. Hopefully it will work with both MongoDB 2.6 and 3.0.

 - Concerning SCRAM-SHA1, it is not currently on my todo list. My next priority after MongoDB 3.0 support is proper replica set management. I've looked at how SCRAM was implemented in MongoDB.pm, and it looks quite dependency-heavy, although I guess we could manage to make them optional. So feel free to start implementing it on your side if you need it.

I will take a look at your fork Alex. Maybe we can maintain this package together.

Olivier

s...@alexbyk.com

unread,
Mar 15, 2015, 8:56:15 PM3/15/15
to mojol...@googlegroups.com
Hi olivier.duclos, I've already done this "support MongoDB 3.0" stuff here: https://github.com/alexbyk/mango.

You can at least copy/paste some code and save you time. Because I've made a little refactoring and going to make more it will be hard to just merge it with your or other fork (because a lot has been rewritten in this 3 days). But since your fork doesn't contain any functional changes, you can just track all of mine, just before I started to use Dist::ZIlla

In short now Mango:
a) Supports MongoDB 3.0+
b) Supports different auth.mechs via plugins, so doesn't require external dependencies, but the functionality can be extended with them
c) Ships with SCRAM-SHA1 authentication plugin and supports SCRAM-SHA1 authentication with optional dependency.
d) The support of MongoDB < 3.0 was dropped. Supporting both versions is simple, it requires a few more lines of code. But because I don't use it and looks like no one is interested in it, I consider those extra lines a wasting of bytes. But you can provide it back because of b feature) - just made a plugin that supports deprecated MONGODB-CR.
e) Enhances a security. This explains why my fork isn't 100% backward compatible. But this isn't a problem. I just deleted a part which I considered as vulnerable. So 99.9% cases will work without modification, and other 0.1% (if there is that 0.1% which requires modifications)  contains a kind of security problems and should be fixed in the first place.

I've made a ticked a few days ago in your repo - we can move this discussion there, check it out

sri

unread,
Mar 15, 2015, 9:02:16 PM3/15/15
to mojol...@googlegroups.com
I've made a ticked a few days ago in your repo - we can move this discussion there, check it out

Please do, Mango is no longer an official Mojolicious spinoff project.

--
sebastian 
Reply all
Reply to author
Forward
0 new messages