Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

license - re-license question/request #2

Closed
clach04 opened this issue Feb 6, 2023 · 5 comments
Closed

license - re-license question/request #2

clach04 opened this issue Feb 6, 2023 · 5 comments

Comments

@clach04
Copy link

clach04 commented Feb 6, 2023

Ciao!

I stumbled across this project recently and wondered if you would be open to letting me license the code for mZipAES.py under an alternative license, LGPL (or even Apache License 2.0)?

I see from 3a33aba that the code is GPL-2,

I have a project puren_tonbo that is LGPL-2, as any changes made I'd like to be public. But if someone uses my library there is no ambiguity about viral GPL as it's explicitly LGPL.

Would you be open to this? I'm using pyzipper for AES-256 ZIP support which is Python 3 only. It looks like your library is both 3.x and 2.7 compatible.

Thanks!

@maxpat78
Copy link
Owner

maxpat78 commented Feb 6, 2023

O.K., I give you such special permission to merge mZipAES.py into your project under a licence of your choice among LGPL-2 or Apache 2.0.

@maxpat78 maxpat78 closed this as completed Feb 6, 2023
@maxpat78
Copy link
Owner

maxpat78 commented Feb 6, 2023

P.S.
Please notice that code was developed long ago: C API compatibility with recent versions of some crypto toolkits could be broken!

@clach04
Copy link
Author

clach04 commented Feb 7, 2023

Many thanks! Both for making this available and the permission to change the license

From history looks like copyright date should be 2015?

I've attached a modified version, renamed filename to lower case (for pep-8) and with lgpl as it's the closest to the original license and the license of my project
mzipaes_lgpl.py.txt

and diff in-line compared with https://github.com/maxpat78/CryptoPad/blob/3a33aba2583274454e147156631f8c3294f0e6e0/mZipAES.py and

1a2,3
> # Extracted from https://github.com/maxpat78/CryptoPad mZipAES.py module
> # with permission from maxpat78 in https://github.com/maxpat78/CryptoPad/issues/2
10,26c12,28
< /*
<  *  Copyright (C) <maxpat78> <https://github.com/maxpat78>
<  *
<  *  This program is free software; you can redistribute it and/or modify
<  *  it under the terms of the GNU General Public License as published by
<  *  the Free Software Foundation; either version 2 of the License, or
<  *  (at your option) any later version.
<  *
<  *  This program is distributed in the hope that it will be useful,
<  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
<  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
<  *  GNU General Public License for more details.
<  *
<  *  You should have received a copy of the GNU General Public License along
<  *  with this program; if not, write to the Free Software Foundation, Inc.,
<  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
<  */
---
>     mzipaes.py - A micro reader & writer for AES encrypted ZIP archives
>     Copyright (C) 2015 maxpat78 https://github.com/maxpat78
> 
>     This library is free software; you can redistribute it and/or
>     modify it under the terms of the GNU Lesser General Public
>     License as published by the Free Software Foundation; either
>     version 2.1 of the License, or (at your option) any later version.
> 
>     This library is distributed in the hope that it will be useful,
>     but WITHOUT ANY WARRANTY; without even the implied warranty of
>     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>     Lesser General Public License for more details.
> 
>     You should have received a copy of the GNU Lesser General Public
>     License along with this library; if not, write to the Free Software
>     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
>     USA

I'll keep you posted on my progress.

clach04 added a commit to clach04/puren_tonbo that referenced this issue Feb 8, 2023
@maxpat78
Copy link
Owner

Hey, I've just updated my code in 2 ways (and abandoned Python 2 compatibility):

  1. it replaces the old and unmaintained pycrypto module with pycryptodome;
  2. it introduces the "V2 document format" described in my CryptoPad-Win32 project (essentially, text is reversed before compression - so the start block changes every time).

@clach04
Copy link
Author

clach04 commented Feb 21, 2023

Thanks for the heads up!

I'm still working on my changes in https://github.com/clach04/puren_tonbo/blob/main/puren_tonbo/mzipaes.py. Looks like we may have made similar changes for pycryptodome and AE-2 support. My v2 support is slightly different (I only have read support implemented so far). Neat idea on reversing text!

I've got:

  • partial filename support (can specify filename for write but not read)
  • stored and compressed support
  • enhanced (extra) detail on error
  • Using custom exceptions

I'm still working on it slowly :-(. I have enough to be useful to me right now though :)

I'll look into reverse text support option so that way my tool can be compatible with CryptoPad :-D

I was pleasantly surprised the OpenSSL support worked for me, I had a machine without pycryptodome and it magically worked, you did an awesome job of supporting so many different libraries! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants