r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[MySQL]

Dockimbel
9-Jan-2006
[430x2]
/*

  This file is the net layer API for the MySQL client/server protocol,

  which is a tightly coupled, proprietary protocol owned by MySQL AB.
  Any re-implementations of this protocol must also be under GPL
  unless one has got an license from MySQL AB stating otherwise.
*/
I don't have problem moving my mysql driver to GPL but it may cause 
later issues for users...
Pekr
9-Jan-2006
[432x3]
what?
what file are you referring to? We are not reimplementing anything, 
are we?
communists :-)
JaimeVargas
9-Jan-2006
[435]
Capitalist... Share or Pay.
Pekr
9-Jan-2006
[436x3]
:-) well, lot was said about licensing ... if GPL does not allow 
you to encap your app, providing only the source of mentione module, 
then it is rather weak model ...
Doc - are you really using this? http://leithal.cool-tools.co.uk/sourcedoc/mysql509/html/libmysqld_2net__serv_8cc-source.html
Their protocol can be reimplemented using - http://www.redferni.uklinux.net/mysql/MySQL-Protocol.html
JaimeVargas
9-Jan-2006
[439]
Not. Weak model. Just very strict. 'My way of the high way'.
Pekr
9-Jan-2006
[440x3]
simply put - you could trace packets using ethereal, use above link, 
and then you don't imo need to refer to their GPL license ...
then GPL is crap :-)
I can imagine I put some efrort to some sw creation, requiring everybody 
who uses it to release it, so that 3rd party using it and their competitors 
can see, what do they use. But surely not forcing them to release 
whole app as a GPL?
JaimeVargas
9-Jan-2006
[443x2]
If you do reverse engineering of a protocol in a clean lab environment. 
Then you are protected.
Well. Those are the terms of the GPL, you either license or release. 
With commercial licenses there is not even an option.
Pekr
9-Jan-2006
[445]
define clean-lab environment, please? Yes, I tried to use Ethereal 
but then found Volkers link above, which was enough to understand 
how it works and to eventually implement it ...
JaimeVargas
9-Jan-2006
[446x3]
Using means in which you can claim that you didn't use any information 
from the provider to reverse engineer the protocol.
So it is truely independant work.
This requires extensive documentation in case you go to court.
Dockimbel
9-Jan-2006
[449]
It was from mysql-5.0.18\libmysqld\net_serv.cpp
Pekr
9-Jan-2006
[450x3]
yes, I can see now ... you are not reimplementing their functions 
1:1, are you? So you are not using their code, are you?
And even if your protocol would have to be GPL, I wonder if anyone 
would found it offensive?
I am innocent unless I am proven being guilty, so it is upon to you 
to prove me using your code for my code creation :-)
JaimeVargas
9-Jan-2006
[453]
If you do a clean-lab implementation your code doesn't need to be 
GPL(ed).
Pekr
9-Jan-2006
[454]
Jaime - with rebol, you even can't to use it, can you? So you use 
mysql-protocol.r, which is let's say GPL. Then you do some app using 
it. You can open-source your app, but you can't open-source one part 
of your app - REBOL itself ... well, I am weak in licensing stuff, 
so I really don't have clear opinion on that issue - just trying 
to use common-sense ...
JaimeVargas
9-Jan-2006
[455x3]
REBOL as is an interpreter doesn't need to be GPL(ed). MS will need 
in that case to release is code becacues it is running Apache.
REBOL is the medium.
Any how. Need to go. GPL is just some biz terms, that you either 
decide to play with or not. If you don't like the terms the reimplement 
the functionality yourself, or get it from somewhere else.
Dockimbel
9-Jan-2006
[458]
The protocol of v5 has changed (since v4.x I guess). It needs more 
than just log in the server to make the driver work. I need to update 
the protocol implementation too. I'll try to see if I can make something 
work tomorrow.
Pekr
9-Jan-2006
[459x4]
hmm, really?
I was able to send queries and get results?
OK, anyway, please let us know, if you will find free time to work 
on it ....
but what part of your code are you talking about? caching? reading-out 
packets? low level stuff?
Dockimbel
9-Jan-2006
[463x3]
I can retrieve the result of a query. The colums and row formats 
have changed
I'm using server version 5.0.18
sorry, can => can't
Pekr
9-Jan-2006
[466x3]
uh, that is bad ... the only thing I tried was "select * from user"
and I easily got the result ...
should I upload my version?
Dockimbel
9-Jan-2006
[469x2]
Upload it.
What server version are you using ?
Pekr
9-Jan-2006
[471x3]
http://www.rebol.cz/mysql/mysql-protocol-new.r
wait a sec, just retrying here at home ... latest version here ...
5.0.18
Dockimbel
9-Jan-2006
[474]
Are you able to log into the server with the new password algorithm 
using your version ?
Pekr
9-Jan-2006
[475x3]
>> insert db "select * from user"
== none
>> probe copy db

[["localhost" "root" "*F86989FB72FDCB10211242B0F66A00AB9561DC07" 
"Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "

Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 
"" "" "" 0 0 0 0]]

== [["localhost" "root" "*F86989FB72FDCB10211242B0F66A00AB9561DC07" 
"Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y
 
Y" "Y" "Y" "Y" "Y" "Y"...
above shows that yes ...
because it is clean 5.0.18 install and second, the field size is 
41 bytes, starting with asterisk ...
Dockimbel
9-Jan-2006
[478]
That's weird...
Pekr
9-Jan-2006
[479]
have you any short script which will try to set-up new db, tables, 
insert records etc.?