[Mailman-Developers] Re: More Mailman releases!

2023-10-22 Thread Abhilash Raj

Hello,

I missed one important merge request in django-mailman3, so here are a 
couple more versions.


I've released Django-mailman3 1.3.11 and Mailman-web 0.0.8 (which 
requires django-mailman >= 1.3.11).


Gitlab releases are available here:

Mailman-web: https://gitlab.com/mailman/mailman-web/-/releases/0.0.8
Django-mailman3: 
https://gitlab.com/mailman/django-mailman3/-/releases/v1.3.11


I have also yanked mailman-web 0.0.7 since that'll cause spurious errors 
due to change in session serializer.


Abhilash


On 10/22/23 00:05, Abhilash Raj wrote:

Hello Everyone,

I am pleased to announce several new releases for GNU Mailman project. 
Thanks to all the contributors for making these releases possible!


1. Postorius 1.3.10 [1]
2. Hyperkitty 1.3.8 [2]
3. Django-mailman3 1.3.10 [3]
4. Mailman-web 0.0.7 [4]

All the releases are published to PyPI and you can find links to all the 
PyPI projects:


    https://docs.mailman3.org/en/latest/

A full list of change logs are available below:

[1]: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-10
[2]: 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-8

[3]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
[4]: https://gitlab.com/mailman/mailman-web/-/blob/master/README.rst

Do note that for Postorius, I released 1.3.9, but I forgot to update 
dependency metadata to require `django-mailman3>=1.3.10` (which is 
required for the new bootstrap 5 upgrade across packages) and so I also 
released Postorius 1.3.10 just after.


Installation documentation is available at

     https://docs.mailman3.org/en/latest/install/install.html

and if you are upgrading an existing virtualenv install you can refer

     https://docs.mailman3.org/en/latest/upgrade-3.2.html

If you find any issues, you can report them at the respective bug 
tracker for the projects. The links to issue trackers are available

at https://docs.mailman3.org/en/latest/.

Finally, similar to Mailman Core, note that PyPI doesn't accept 
signatures anymore so each packages' release page now has the tarball 
uploaded to them along with the signature:


Django-mailman3: 
https://gitlab.com/mailman/django-mailman3/-/releases/v1.3.10

Hyperkitty: https://gitlab.com/mailman/hyperkitty/-/releases/v1.3.8
Postorius: https://gitlab.com/mailman/postorius/-/releases/v1.3.10
Mailman-web: https://gitlab.com/mailman/mailman-web/-/releases/0.0.7



--
thanks,
Abhilash Raj (maxking)

___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] More Mailman releases!

2023-10-21 Thread Abhilash Raj

Hello Everyone,

I am pleased to announce several new releases for GNU Mailman project. 
Thanks to all the contributors for making these releases possible!


1. Postorius 1.3.10 [1]
2. Hyperkitty 1.3.8 [2]
3. Django-mailman3 1.3.10 [3]
4. Mailman-web 0.0.7 [4]

All the releases are published to PyPI and you can find links to all the 
PyPI projects:


   https://docs.mailman3.org/en/latest/

A full list of change logs are available below:

[1]: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-10
[2]: 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-8

[3]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
[4]: https://gitlab.com/mailman/mailman-web/-/blob/master/README.rst

Do note that for Postorius, I released 1.3.9, but I forgot to update 
dependency metadata to require `django-mailman3>=1.3.10` (which is 
required for the new bootstrap 5 upgrade across packages) and so I also 
released Postorius 1.3.10 just after.


Installation documentation is available at

https://docs.mailman3.org/en/latest/install/install.html

and if you are upgrading an existing virtualenv install you can refer

https://docs.mailman3.org/en/latest/upgrade-3.2.html

If you find any issues, you can report them at the respective bug 
tracker for the projects. The links to issue trackers are available

at https://docs.mailman3.org/en/latest/.

Finally, similar to Mailman Core, note that PyPI doesn't accept 
signatures anymore so each packages' release page now has the tarball 
uploaded to them along with the signature:


Django-mailman3: 
https://gitlab.com/mailman/django-mailman3/-/releases/v1.3.10

Hyperkitty: https://gitlab.com/mailman/hyperkitty/-/releases/v1.3.8
Postorius: https://gitlab.com/mailman/postorius/-/releases/v1.3.10
Mailman-web: https://gitlab.com/mailman/mailman-web/-/releases/0.0.7

--
thanks,
Abhilash Raj (maxking)


OpenPGP_signature.asc
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.9 Release

2023-10-20 Thread Abhilash Raj

Hello Everyone,

Mailman 3.3.9 is now published to PyPI! Thanks to everyone who helped 
make this release possible.


Minimum supported Python version for this release is 3.9, we had to drop 
support for 3.7 & 3.8 due to incompatibilities with importlib-resources 
package.


Maximum Python version supported right now is 3.11, we haven't yet added 
3.12 to CI, so un-sure if there are any errors there.



The full change log for the release can be found in the docs as usual:


https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-9

You can download the release via PyPI or via Gitlab Release:

   https://gitlab.com/mailman/mailman/-/releases/v3.3.9

For those of you who need to verify signatures for packages, PyPI 
doesn't allow publishing signatures anymore so I pushed them to Gitlab 
Releases along with a copy of the same tarball uploaded to PyPI.


I'll be working on the release for the web components tomorrow.

--
thanks,
Abhilash Raj (maxking)


OpenPGP_signature.asc
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Error in `mailman-web conmpress`

2023-08-29 Thread Abhilash Raj

On 8/29/23 14:58, Stephen J. Turnbull wrote:

Hi,

I'm seeing this in our GSOC student's build of the suite.  I don't yet
know if it's related to his changes, just wondering if anyone has seen
it or has any ideas how to resolve it:

% mailman-web compress --settings settings --pythonpath `pwd`/var/etc
Compressing... Invalid template postorius/user/address_preferences.html: 
Invalid filter: 'add_form_select'
Invalid template postorius/user/subscription_preferences.html: Invalid filter: 
'add_form_select'
Invalid template postorius/lists/header_matches.html: Invalid filter: 
'add_form_select'
done
Compressed 2 block(s) from 106 template(s) for 1 context(s).

`add_form_select` is not a standard Django template filter, it's
defined and registered in django-mailman3.


Have they installed all the projects from source? I feel it might be 
causing the issue if they are using the git head of Postorius but not 
for django-mailman3.


This was added recently in django-mailman3 and hasn't yet been released, 
so using the released version can cause the above error.



--
thanks,
Abhilash Raj (maxking)



OpenPGP_signature.asc
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] New year releases!

2023-01-04 Thread Abhilash Raj

Hello Everyone,

Happy new year!

I am pleased to announce several new releases for GNU Mailman project.

1. Mailman Core 3.3.8 [1]
2. Postorius 1.3.8 [2]
3. Hyperkitty 1.3.7 [3]
4. Mailmanclient 3.3.5 [4]
5. Django-mailman3 1.3.9 [5]
6. Mailman-hyperkitty 1.2.1 [6]

All the releases are published to PyPI and you can find links to all the 
PyPI projects:


   https://docs.mailman3.org/en/latest/

A full list of change logs are available below:

[1]: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-8
[2]: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-8
[3]: 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-7
[4]: 
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#news-3-3-5

[5]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
[6]: https://gitlab.com/mailman/mailman-hyperkitty/-/blob/master/README.rst

Finally, the minimum Python version required is 3.7, and all the 
components now support Python 3.7 to 3.11.


Thanks to all the contributors for making this release possible!

If you find any issues, you can report them at the respective bug 
tracker for the projects. The links to issue trackers are available

here: https://docs.mailman3.org/en/latest/

Installation documentation is available at

https://docs.mailman3.org/en/latest/install/install.html

and if you are upgrading an existing virtualenv install you can refer

https://docs.mailman3.org/en/latest/upgrade-3.2.html


--
thanks,
Abhilash Raj (maxking)


OpenPGP_signature
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Code formatting tools for Mailman project

2022-10-31 Thread Abhilash Raj

On 10/28/22 00:04, Stephen J. Turnbull wrote:

Abhilash Raj writes:
  > I am not sure I understand this part. Do you mean to say we'd be getting
  > too may PRs with "formatting-only" changes?

No, I mean the diffs we do to localize errors.  The day after you
merge the reformatting PR, anybody who wants to identify a regression
since Postorius 1.3.7 is going to get as many lines of " -> ' as they
do of code changes.  Half the time what appears to be a regression
from future 1.3.8 to HEAD is going to turn out to be older than the
reformat merge, same problem just less frequent.  It gets less
frequent over time, but it will take quite a while before the reformat
merge consistently contributes less than 10% of changes, I expect.


Ah, I get your point now. And, I agree with you that it would make it 
difficult to compare raw diffs.



  > Currently, my thought is to do a one-time format for the entire codebase
  > and then add "blue --check" as a part of the "qa" CI gate. Then, for
  > each subsequent MR that follows, people would need to run "tox -e
  > format" before they commit and create MR. The hope there is also

Yes, this is a great idea for new files, or files you're refactoring
to death anyway.  But it has a potentially large downside of turning
diffs that should be one-line changes into rafts of fixquote changes.


I don't see the tools actually supporting formatting only-diffs. It 
_can_ be done by piping all the updated files to `blue` command, but 
then reverting style changes in parts of file where there wasn't any 
real change made would be more work than just fixing the flake8 errors 
manually.


It sounds all-or-nothing kind of scenario when it comes to formatting 
tools, blue/black at least from what I can see.



  > My motivation here is to not have to push "oops, make flake8 gods happy"
  > commits on top of my PRs and not have to worry about it when writing code.
  >
  > While it isn't too huge of an issue, it is still manual effort that I
  > feel can be automated to reduce some work and save time.

Sure, but doing it globally also makes some work.  The question is
does it make more work (and annoyance) for everybody who does diffs
than is experienced by the developer who needs to make a flake8
commit?  I do a lot more diffs on Mailman than I do commits.


I am trying to think if we can make that process better, after making a 
one-time code formatting change, through tooling or alternative commands 
to grok the diffs.


Are you usually looking for just anything that looks odd or typically 
any kind of difference that looks suspicious or just trying to learn the 
differences? Can just comparing the commits/commit messages? or Merge 
Requests merged since the feature branch would help since we mandate all 
changes go through MR workflow?


I don't know if I can speak much about comparing raw diffs, because I 
very rarely end up doing that. I am usually looking at commit level data 
and looking for MRs that last changed the point I am interested in with 
`git-blame` for some contextual data around the MR. Merge commits have 
the MR no to easily track where the change came from.


  > > What is the purpose of this?  Anybody who runs it on a code base
  > > before the blue'd code gets merged is going to generate hard to read
  > > crufty PRs, no?
  >
  > How so? If the existing code base is already auto-formatted, then the
  > PRs would be just regular diffs, formatted with the same tool.

Maybe tox -e format isn't a problem because you would add that tox
target in the same commit (or later) you do the reformat, but if this
is going to be policy, some people will aggressively reformat their
code to that standard before the package is reformatted.  Every once
in a while you still see MRs in Python where somebody PEP8s a whole
stdlib module where the contribution is a 2-line doc improvement.
Those get rejected of course.  We should do that too.


My intent with `tox -e format` was to aid with the formatting of the 
changes folks would contribute, with the assumption that the entire 
codebase is already formatted.


But yeah, we shouldn't really entertain format-only changes.


  > I've tried to solve at least the "git-blame" issue by adding the rev of
  > the commit with the "mass-refactor" into a file in the main repo that
  > you can feed to "git blame --ignore-rev-file .git-blame-ignore-revs".
  >
  > For editors, there is a way to set git config for the blame-ignore-file
  > so it works across everything that uses git.

That's very helpful for some operations.  How to make it discoverable
is something of a headache though -- I didn't know there was a
blame-ignore-file!


Yeah, I agree. I just added to Postorius with the formatting changes, 
currently it doesn't exist for other

[Mailman-Developers] Code formatting tools for Mailman project

2022-10-27 Thread Abhilash Raj

Hey Everyone,

I am trying out some of the code formatting tools on Mailman repos to 
help reduce some efforts in development. The tools I am trying out is 
blue[1] and isort[2] to format code and imports. We've been using isort 
on some repos, but am planning to expand that to all projects.


I am also adding a new tox command `tox -e format` that should run the 
appropriate commands locally for users to run.


The choice of tool, blue in this case, was mostly motivated by the 
design choices that align closest with Mailman's as Barry is a co-owner 
of the tool and authored Mailman's style guide as well.


If there are any issues with these tools, please let me know or feel 
free to open an issue on the project and ping me there.


I've started off with Postorius[3], but will expand further to other 
projects. Core will probably be updated towards the last.



[1]: https://blue.readthedocs.io/en/latest/#
[2]: https://pycqa.github.io/isort/index.html
[3]: https://gitlab.com/mailman/postorius/-/merge_requests/734

--
thanks,
Abhilash Raj (maxking)


OpenPGP_signature
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] New Mailman Releases

2022-10-25 Thread Abhilash Raj

Hi,

I am pleased to announce several new releases for GNU Mailman project.

1. Mailman Core 3.3.6 [1]
2. Postorius 1.3.7 [2]
3. Hyperkitty 1.3.6 [3]
4. Mailmanclient 3.3.4 [4]
5. Django-mailman3 1.3.8 [5]

All the releases are published to PyPI and you can find links to all the 
PyPI projects:


   https://docs.mailman3.org/en/latest/

A full list of changelogs are available below:

[1]: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-6
[2]: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#section-2 
-- Something weird is going on with the page missing the bullets.
[3]: 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-6
[4]: 
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#news-3-3-4

[5]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst


Finally, the minimum Python version required is 3.7 although, 3.9 is 
recommended if you are doing a new install for longest support. 3.10 is 
supported for Django apps, but Mailman Core is missing that due to one 
of the core dependencies not support 3.10 yet (aiosmtpd).


Thanks to all the contributors for making this release possible and 
apologies on my end for delayed releases.


If you find any issues, you can report them at the respective bug 
tracker for the projects. The links to issue trackers are available

here: https://docs.mailman3.org/en/latest/


--
thanks,
Abhilash Raj (maxking)


OpenPGP_signature
Description: OpenPGP digital signature
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Creating an event catching plugin

2022-03-11 Thread Abhilash Raj


> On Mar 11, 2022, at 00:16, Дилян Палаузов  wrote:
> 
> Hello,
> 
> On Thu, 2022-03-10 at 11:26 -0800, Abhilash Raj wrote:
>> 
>> 
>>> On Mar 8, 2022, at 12:45, Дилян Палаузов 
>>> wrote:
>>> 
>>> Hello,
>>> 
>>> the object passed was actually an unsubscription/subscription
>>> event,
>>> which was just pretty-printed.
>>> 
>>> Is there any explanation, why in the code below YYY is not printed?
>>> 
>>> when I add
>>> 
>>>def pre_hook(self):
>>>print('pre_HOOK')
>>> 
>>> 
>>> pre_HOOK is also not printed, but __init__ is called, as XXX is
>>> printed.
>> 
>> I am not sure if you figured it out already, I see that you moved
>> your code from pre_hook to __init__ for your plugin.
>> 
> pre_hook(), post_hook() and resource must be present in the IPLugin
> implementation, see https://gitlab.com/mailman/mailman/-/issues/985 .
> Otherwise logs/plugins.log gets:
> 
> Mar 11 10:11:00 2022 (1998657) Plugin class does not implement IPlugin:
> mailman_sieve.SievePlugin

Yeah, even though we can accomodate missing pre-hook and failing post-hooks,
the initialization code expects the classes to conform to the IPlugin interface
and ones that don’t are not loaded[3].

I am looking more into zope.interface that we use for defining the plugin 
interface
but I am not seeing any way to actually mark methods as optional while also
defining the interface. So, meanwhile, I guess we have to settle for no-op hooks
in the plugins. I’ll keep looking into what we can do to make this better.

[3]: 
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/plugins/initialize.py#L48

> 
> and ”mailman info” does not call the hooks.
> 
> What is the difference between doing something in pre_hook(), or in
> __init__() ?

So, typically, i’d say that anything that you want to re-run after a Python 
class
has been instantiated, would go into a method.

While currently, plugins are initialized and the pre-hook is called almost
just after[1][2], you won’t see any real difference in functionality.

But it would be a good practice to move it to a pre_hook so you can
separate out the initialization and actual _actions_ of the Plugin. It will also
help with testing in future. I see that you are just adding an event listener
and don’t need access to the database.

[1]: 
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/core/initialize.py#L175
[2]: 
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/core/initialize.py#L183

> 
> Greetings
>  Дилян
> 
> 
>> Just for testing, I enabled the `print(‘hello world’)` in your plugin
>> and in a local install and it seems to work,
>> 
>> 
>> ```
>> $ mailman info
>> Hello World
>> GNU Mailman 3.3.6b1 (Tom Sawyer)
>> Python 3.9.10 (main, Jan 15 2022, 11:40:53)
>> [Clang 13.0.0 (clang-1300.0.29.3)]
>> config file: /Users/maxking/Documents/mm3/core-workspace-
>> 2/var/etc/mailman.cfg
>> db url: sqlite:Users/maxking/Documents/mm3/core-workspace-
>> 2/var/data/mailman.db
>> devmode: DISABLED
>> REST root url: http://localhost:8001/3.1/
>> REST credentials: restadmin:restpass
>> ```
>> 
>> The configuration is like your README.md recommends
>> 
>> ```
>> [plugin.mailman_sieve]
>> class: mailman_sieve.SievePlugin
>> enabled: yes
>> configuration: ./sieve.cfg
>> ```
>> 
>>> Greetings
>>>  Дилян
>>> 
>>> On Tue, 2022-03-08 at 19:39 +0200, Дилян Палаузов wrote:
>>>> Hello,
>>>> 
>>>> can you point me to existing, open-source mailman plugins?
>> 
>> 
>> We don’t currently have any that i know of, so this is really the
>> first one! I am happy to see that :-)
>> 
>> We should put up a list of community maintained plugins in a page at
>> docs.mailman3.org so the users can actually discover them plugin.
>> 
>>>> 
>>>> I want to write a plugin, which fires on all subscriptions,
>>>> unsubscriptions and configuration changes.
>>>> 
>>>> This code:
>>>> 
>>>> def subscribe_events(e):
>>>> print('EVENT', e)
>>>> 
>>>> @implementer(IPlugin)
>>>> class SievePlugin:
>>>> def __init__(self):
>>>> print('XXX')
>>>> zope.event.subscribers.append(subscribe_events)
>>>> 
>>>> def post_hook(self):
>>>> print('YYY')
>>>> zope.event.subscribers.append(subscribe_events)
>>>> 
&

[Mailman-Developers] Re: New MM3 plugin: mailman_sieve

2022-03-10 Thread Abhilash Raj


> On Mar 10, 2022, at 05:04, Дилян Палаузов  wrote:
> 
> Hello,
> 
> I have published a new Mailman 3 plugin at
> https://mail.aegee.org/cgit/mailman_sieve/tree/ .  It generates for
> each mailing list a Sieve script.  When the Sieve script is evaluated
> during the SMTP dialog, it would reject some emails, which otherwise
> would be bounced by Mailman.  Less bounces means less backscatters and
> better IP reputation.
> 
> For the record, I do the evaluation of the Sieve scripts during the
> SMTP dialog with https://mail.aegee.org/cgit/aegee-milter .  Since the
> latter is not documented yet, you cannot use it.  The mailman_sieve
> plugin is not useful, unless you have software to evaluate the Sieve
> Scripts during the SMTP dialog.
> 
> This is a very first version, which does what it is supposed to do. 
> Some optimizations are possible, like not including the subscriber
> addresses in the Sieve scripts for announce-only mailing lists.  I am
> not good at writing setuptools configuration.  

Looking at your repo, I think you’ve got all of the things right. You could
keep everything in pyproject.toml though and remove setup.cfg since
pyproject.toml is the new standard thing with Python packaging.

> Neither do I understand
> the mailman system very good right now,

Also, feel free to ask questions on this list for something that you need
help with :-)

> creating possibly shorter
> scripts. But the plugin is there to keep by IP reputation good!
> 
> See https://mail.aegee.org/cgit/mailman_sieve/tree/README.md .

This is nice!

> My reading of the mm3 source code is that there is no event triggered,
> when the mailing list configuration changes, like adding a new
> moderator, or switching the announce-only status.  In the lack of such
> event triggers, the Sieve scripts are not updated.

Please feel free to file issues in Gitlab for the events that you think that
might be useful for this. Also, MRs are welcome ofcourse too!

I’ve been thinking about ways to extend our event system beyond just 
the Core so, having more events emitted when the List’s configuration 
is updated and/or ownership change would be good to have for that
use case too. Hyperkitty can fetch updates from Core using those
and/or Postorius can cache certain data internally and events could
invalidate them.

-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Creating an event catching plugin

2022-03-10 Thread Abhilash Raj


> On Mar 8, 2022, at 12:45, Дилян Палаузов  wrote:
> 
> Hello,
> 
> the object passed was actually an unsubscription/subscription event,
> which was just pretty-printed.
> 
> Is there any explanation, why in the code below YYY is not printed?
> 
> when I add
> 
>def pre_hook(self):
>print('pre_HOOK')
> 
> 
> pre_HOOK is also not printed, but __init__ is called, as XXX is
> printed.

I am not sure if you figured it out already, I see that you moved your code 
from pre_hook to __init__ for your plugin.

Just for testing, I enabled the `print(‘hello world’)` in your plugin and in a 
local install and it seems to work,


```
$ mailman info
Hello World
GNU Mailman 3.3.6b1 (Tom Sawyer)
Python 3.9.10 (main, Jan 15 2022, 11:40:53)
[Clang 13.0.0 (clang-1300.0.29.3)]
config file: /Users/maxking/Documents/mm3/core-workspace-2/var/etc/mailman.cfg
db url: 
sqlite:Users/maxking/Documents/mm3/core-workspace-2/var/data/mailman.db
devmode: DISABLED
REST root url: http://localhost:8001/3.1/
REST credentials: restadmin:restpass
```

The configuration is like your README.md recommends

```
[plugin.mailman_sieve]
class: mailman_sieve.SievePlugin
enabled: yes
configuration: ./sieve.cfg
```

> Greetings
>  Дилян
> 
> On Tue, 2022-03-08 at 19:39 +0200, Дилян Палаузов wrote:
>> Hello,
>> 
>> can you point me to existing, open-source mailman plugins?


We don’t currently have any that i know of, so this is really the first one! I 
am happy to see that :-)

We should put up a list of community maintained plugins in a page at 
docs.mailman3.org so the users can actually discover them plugin.

>> 
>> I want to write a plugin, which fires on all subscriptions,
>> unsubscriptions and configuration changes.
>> 
>> This code:
>> 
>> def subscribe_events(e):
>> print('EVENT', e)
>> 
>> @implementer(IPlugin)
>> class SievePlugin:
>> def __init__(self):
>> print('XXX')
>> zope.event.subscribers.append(subscribe_events)
>> 
>> def post_hook(self):
>> print('YYY')
>> zope.event.subscribers.append(subscribe_events)
>> 
>> 
>> prints:
>> XXX
>> EVENT x...@example.org joined zzz.udoma.bapha.be
>> EVENT ab c  joined zzz.udoma.bapha.be

I guess you were using `print` statements for debugging when working on the 
plugin, but generally, it is good to use logging library instead since print 
logs to stdout, which might not be set correctly in daemon processes like 
Mailman.

>> 
>> or
>> XXX
>> EVENT x...@example.org left zzz.udoma.bapha.be
>> 
>> on `mailman addmembers/mailman delmembers`.  But it does not trigger
>> a
>> UnsubscriptionEvent or SubscriptionEvent.
>> 
>> Greetings
>>   Дилян
> 
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9

--
thanks,
Abhilash Raj (maxking)




signature.asc
Description: Message signed with OpenPGP
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: How to recreate Issue #973 in mailman-core

2022-02-06 Thread Abhilash Raj


> On Feb 5, 2022, at 5:51 AM, Stephen J. Turnbull  
> wrote:
> 
> Suyash Singh writes:
> 
> Welcome, Suyash!
> 
> Sorry this mail has been sitting in my drafts for a day or so, but I
> don't think anybody else has answered yet.  Let me just send it and
> start the conversation.
> 
>> I have started a development environment and am starting to read the
>> documentation. I picked up issue #973 because it seemed like a easy issue
>> to fix.
> 
> Not clear what you're reading.  The dev setup guide starts here, but
> the site structure is somewhat complicated (disorganized):
> https://docs.mailman3.org/en/latest/devsetup.html
> 
>> Link to Issue: https://gitlab.com/mailman/mailman/-/issues/973
> 
> Note that at least one other developer (whose handle I don't recognize
> so probably new) is working on that issue.
> 
>> 1) I am unable to recreate the problem. As I can't find the API url and how
>> do I access them in my development environment. I tried the using the
>> command "mailman shell" which is referred to in the documentation for
>> debugging. and after holding a message and handling it. I get the following
>> error:
>>>>> handle_message(mlist, 1, Action.discard)
>>>>> handle_message(mlist, 1, Action.discard)
>> Traceback (most recent call last):
>>  File "", line 1, in 
>>  File
>> "/home/suyashsingh/Desktop/mailman/mailman/src/mailman/app/moderator.py",
>> line 113, in handle_message
>>key, msgdata = requestdb.get_request(id)
>> TypeError: cannot unpack non-iterable NoneType object
> 
> I think you probably don't have Mailman running, but I can't be sure
> because of the limited information you've given about how you set up
> your dev environment.
> 
>> 2) How can I start http://localhost:9001/ on my local machine as currently
>> its not working. What is the port 9001 used for?
> 
> In a dev environment, port 9001 is used for the REST API served by
> Mailman core.  You start Mailman by running "mailman start" in the
> directory where you want Mailman's database stored (this assumes you
> have configured your dev environment to use sqlite3 as the backend).

A minor clarification for this, Port 9001 is only used in our testing since
we don’t want to start a test server on 8001, which is the default port and
also the port using for dev.

Although, this does make me think that we should consider making a chage
to our docs to suite more as docs and less as just tests. It would interfere
with a dev server running when you run tests, which isn’t ideal though.

We have pages that have documented this kind of behavior about 9001/8001
I think, but I am sure this has to be told at least once to folks new to Mailman
documentation.

I wonder if we can do something about it?

At some point though, I want to get rid of call_api() towards `requests.get()`
or simple urllib3.urlopen() methods as it will be a lot easier for folks to
understand and run for folks and maybe equally testable.

--
thanks,
Abhilash Raj (maxking)




signature.asc
Description: Message signed with OpenPGP
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Hyperkitty and mailman-hyperkitty releases

2021-10-12 Thread Abhilash Raj
Hello Everyone,

I have just tagged and released Hyperkitty 1.3.5 and mailman-hyperkitty plugin 
1.2.0 to PyPI.

This release includes some changes in the authentication between 
mailman-hyperkitty plugin and Hyperkitty. For that reason, it is important to 
upgrade both Hyperkitty and mailman-hyperkitty plugin to the latest versions, 
or it could result in a broken installation.

This release of Hyperkitty has bugfixes, some new features and some security 
enhancements. A full list of changes is available at:

https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-5

The release tarball is available at PyPI:

https://pypi.org/project/HyperKitty/#files
https://pypi.org/project/mailman-hyperkitty/#files

You can upgrade your installations by running:

pip install mailman-hyperkitty hyperkitty -U

After the upgrade, please make sure to run these commands:

https://docs.mailman3.org/en/latest/upgrade-3.2.html#post-upgrade

Also, make sure to restart Mailman Core after upgrading mailman-hyperkitty 
plugin.

Finally, many thanks to all the people who contributed to this release.

--
thanks,
Abhilash Raj (maxking)




signature.asc
Description: Message signed with OpenPGP
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Ann: Mailman Core 3.3.5 is out

2021-09-28 Thread Abhilash Raj
Hey Everyone,

I just tagged and uploaded Mailman Core 3.3.5 release.

This release includes both bug fixes and some new features. A full list of 
changes is available here:


https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-5

You can install this version using pip:

   $ pip install mailman==3.3.5

The release tarball is available on PyPI as well:

  https://pypi.org/project/mailman/3.3.5/#files

Thanks to everyone who made this release possible!

Abhilash


> On Sep 19, 2021, at 11:02 AM, Abhilash Raj  wrote:
> 
> Hey Everyone,
> 
> I just tagged and released Mailman Core 3.3.5rc1 release.
> 
> This is identical to 3.3.5b1 in code, the only changes that have been made 
> are in utility scripts and testing configuration.
> 
> You can install this version using:
> 
>   $ pip install --pre mailman==3.3.5rc1
> 
> If you want to download a release tarball, you can do so from here:
> 
>   https://pypi.org/project/mailman/3.3.5rc1/#files
> 
> This is the first (and only) planned release candidate for 3.3.5 release. The 
> stable release is planned for next week.
> 
> thanks,
> Abhilash
> 
> 
> On 9/7/21 12:39 AM, Abhilash Raj wrote:
>> Hello Everyone,
>> I am pleased to announce that Mailman Core 3.3.5b1 is now out. It is a 
>> pre-release  for 3.3.5, which is slated to come out in 3 weeks from now.
>> I am planning for a 2 week beta period, after which I'll release the first 
>> RC and then stable a week after. Right now I am not planning to release a 
>> second beta version, but if there are several changes in Core in the next 
>> week or so, then I might.
>> This release includes a lot of bug fixes and some new features. It also 
>> includes a security enhancement that improves the authentication of REST API 
>> by adding resistance to some timing channel attacks.
>> A full list of changes in this version can be found here[1].
>> [1]: 
>> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-5
>>  We have also made improvements in the i18n workflow and now the email 
>> templates are updated from the translated messages in the .po files that we 
>> get from Weblate. Documentation for translators is available here[2] if you 
>> want to help translate Mailman into your native language.
>> [2]: https://docs.mailman3.org/en/latest/translation.html
>> This is a pre-release version, if you want to test it with your setup, you 
>> can install it using:
>>$ pip install --pre mailman==3.3.5b1
>> If you want to download a release tarball, you can do so from here:
>>https://pypi.org/project/mailman/3.3.5b1/#files
>> This release received a lot of contributions from community, which I am 
>> really happy about! I'd like to thank everyone who made this release 
>> possible!
> 
> 
> --
> thanks,
> Abhilash Raj (maxking)

--
thanks,
Abhilash Raj (maxking)




signature.asc
Description: Message signed with OpenPGP
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Ann: Postorius 1.3.6 is now out

2021-09-28 Thread Abhilash Raj
Hey Everyone,

I just tagged and released Postorius 1.3.6. This release includes both bug 
fixes and
new features.

Some of the notable features include
- Ability to list and handle un-subscription requests to the list
- Option to choose delivery mode and delivery_status directly when subscribing 
to a list
- Addition of a user management interface, which allows updating a users 
password,
   manually verifying their email addresses, update user’s Display Name etc.
- Expose a number of Bounce processing related options in List’s settings

A full list of changes is available here

   https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-6

You can install this release using pip

   $ pip install postorius django-mailman3 mailmanclient —upgrade

Do note that this release requires Mailman Core 3.3.5, so you need to upgrade
Core before upgrading Postorius.

The release tarball is available on PyPI as usual:

   https://pypi.org/project/postorius/1.3.6/#files

Please also ensure to run the post-install commands as per the upgrade 
documentation:

https://docs.mailman3.org/en/latest/upgrade-3.2.html#post-upgrade

Thanks to all the folks who helped with this release!

Abhilash

> Please also ensure to run the post-install commands as per the upgrade 
> documentation[4] (commands _after_ pip install, needs a post-install 
> heading/anchor in there :-).

> On Sep 19, 2021, at 8:48 PM, Abhilash Raj  wrote:
> 
> Hey Everyone,
> 
> I am pleased to announce that Postorius 1.3.6b1 is now out. This is the first 
> pre-release for 1.3.6, which is slated to release next week soon after 
> Mailman Core 3.3.5 release.
> 
> This release requires Mailman Core 3.3.5 release, so if you are trying out 
> this release, please also upgrade Mailman Core to 3.3.5rc1 (which was just 
> released today).
> 
> This release includes several new features and bug fixes. A full list of 
> changes is available here[1].
> 
> With this release, we have also improved on the localization of the 
> interface, if you want to help out before the release of the stable 1.3.6, 
> please see the instructions for translators here[2]. We use Weblate for 
> translations, so if you are familiar with that, you can directly head over 
> there[3].
> 
> Since this is a pre-release version, you can install this using pip via:
> 
>   $ pip install --upgrade --pre postorius django-mailman3 mailmanclient
> 
> Please also ensure to run the post-install commands as per the upgrade 
> documentation[4] (commands _after_ pip install, needs a post-install 
> heading/anchor in there :-).
> 
> A release tarball is available on PyPI:
> 
>   https://pypi.org/project/postorius/1.3.6b1/#files
> 
> Finally, thanks to all the folks who helped with this release in any capacity 
> and made it possible.
> 
> [1]: 
> https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-6
> [2]: https://docs.mailman3.org/en/latest/translation.html
> [3]: https://hosted.weblate.org/projects/gnu-mailman/postorius/
> [4]: https://docs.mailman3.org/en/latest/upgrade-3.2.html#virtualenv-install
> 
> 
> thanks,
> Abhilash

--
thanks,
Abhilash Raj (maxking)




signature.asc
Description: Message signed with OpenPGP
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Django primer for Mailman admins

2021-09-20 Thread Abhilash Raj

Hey Everyone,

This weekend I wrote some documentation[1] that I thought would be 
useful for Mailman admins when dealing with Django, since it is a 
frequent topic on -users list.


The intent was to add only required information for admins to work with 
Mailman installs and provide enough pointers to right places, wherein 
more information can be found instead of duplicating them in Mailman's 
docs since it it often goes stale.


Since the most common theme of questions are configuration (settings), 
management commands and deployment (running), I distributed the whole 
page in those three sections.


If you as a system admin had to spend some time figuring out certain 
things about Django, it would be good to respond on this thread or just 
open a MR with additions to the page[1].



[1]: https://docs.mailman3.org/en/latest/django-primer.html

I also made a small architecture diagram of the various components in a 
typical Mailman 3 install[2] since we didn't had any such existing 
diagram. Suggestions to this are also welcome.


[2]: https://docs.mailman3.org/en/latest/architecture.html
--
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Ann: Mailman Core 3.3.5rc1 is out

2021-09-19 Thread Abhilash Raj

Hey Everyone,

I just tagged and released Mailman Core 3.3.5rc1 release.

This is identical to 3.3.5b1 in code, the only changes that have been 
made are in utility scripts and testing configuration.


You can install this version using:

   $ pip install --pre mailman==3.3.5rc1

If you want to download a release tarball, you can do so from here:

   https://pypi.org/project/mailman/3.3.5rc1/#files

This is the first (and only) planned release candidate for 3.3.5 
release. The stable release is planned for next week.


thanks,
Abhilash


On 9/7/21 12:39 AM, Abhilash Raj wrote:

Hello Everyone,


I am pleased to announce that Mailman Core 3.3.5b1 is now out. It is a 
pre-release  for 3.3.5, which is slated to come out in 3 weeks from now.


I am planning for a 2 week beta period, after which I'll release the 
first RC and then stable a week after. Right now I am not planning to 
release a second beta version, but if there are several changes in Core 
in the next week or so, then I might.


This release includes a lot of bug fixes and some new features. It also 
includes a security enhancement that improves the authentication of REST 
API by adding resistance to some timing channel attacks.


A full list of changes in this version can be found here[1].

[1]: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-5 



We have also made improvements in the i18n workflow and now the email 
templates are updated from the translated messages in the .po files that 
we get from Weblate. Documentation for translators is available here[2] 
if you want to help translate Mailman into your native language.


[2]: https://docs.mailman3.org/en/latest/translation.html

This is a pre-release version, if you want to test it with your setup, 
you can install it using:


    $ pip install --pre mailman==3.3.5b1

If you want to download a release tarball, you can do so from here:

    https://pypi.org/project/mailman/3.3.5b1/#files


This release received a lot of contributions from community, which I am 
really happy about! I'd like to thank everyone who made this release 
possible!





--
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Ann: Mailman Core 3.3.5b1 is out

2021-09-07 Thread Abhilash Raj

Hello Everyone,


I am pleased to announce that Mailman Core 3.3.5b1 is now out. It is a 
pre-release  for 3.3.5, which is slated to come out in 3 weeks from now.


I am planning for a 2 week beta period, after which I'll release the 
first RC and then stable a week after. Right now I am not planning to 
release a second beta version, but if there are several changes in Core 
in the next week or so, then I might.


This release includes a lot of bug fixes and some new features. It also 
includes a security enhancement that improves the authentication of REST 
API by adding resistance to some timing channel attacks.


A full list of changes in this version can be found here[1].

[1]: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-5


We have also made improvements in the i18n workflow and now the email 
templates are updated from the translated messages in the .po files that 
we get from Weblate. Documentation for translators is available here[2] 
if you want to help translate Mailman into your native language.


[2]: https://docs.mailman3.org/en/latest/translation.html

This is a pre-release version, if you want to test it with your setup, 
you can install it using:


   $ pip install --pre mailman==3.3.5b1

If you want to download a release tarball, you can do so from here:

   https://pypi.org/project/mailman/3.3.5b1/#files


This release received a lot of contributions from community, which I am 
really happy about! I'd like to thank everyone who made this release 
possible!


--
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman container images 0.3.12 is now out

2021-09-05 Thread Abhilash Raj

Hey Everyone,

I have just tagged release 0.3.12 on Github for container images for 
Mailman 3[1]. This release includes the fix for CVE-2021-40347 that was 
announced earlier today. For the folks using 0.3 or 0.3.11 release tags, 
it is highly recommended that you upgrade to this release.


This release also bumps the version of Mailman Core to 3.3.4, 
Mailmanclient to 3.3.3 and Django-mailman3 to 1.3.7.


Note that is since the main and v0.3.12 branches are different in many 
ways, the default documentation[2] and the docker-compose.yaml files in 
the main branch aren't accurate if you are using the stable release. 
Please refer to the README[3] at v0.3.12 tag in the Github repo for more 
accurate docker-compose.yaml and documentation.


The project has grown large enough that we need to start versioning the 
documentation, if someone has experience with versioning docs using 
Github pages and mkdocs, then I very much need some help here!


For those of you who are using the rolling release, it is recommended 
that you **don't** upgrade to this stable release. The fixes have been 
pulled into the rolling tags too, so just make sure that you upgrade to 
the latest published version of rolling release, which as of this 
writing should be based off on fda837f8d15540e190992c30f7971f50fca54dac 
commit[4]. This might not be the latest by the time you upgrade if I add 
a new commit, so look for versions published after 4:00 PM PST 9/5/2021.


I am also working on cutting a new release, 0.4.0, which is backwards 
incompatible with the setup required to talk to web server and MTA 
(hence the minor version bump!). That should bring the rolling releases 
and stable releases closer to each other and add improvements around not 
needing static IPs in the docker network anymore, plus several bug fixes.


If someone wants to test the upgrade to 0.4.0 from 0.3 release and is 
willing to try out the instructions at [5], it would give me some 
confidence in cutting out the release sooner. The only thing stopping 
the release of 0.4.0 images is that I haven't verified if the upgrade 
from 0.3 is documented enough or not.


For all the registries listed in README[6], I am still trying to push to 
Quay (maybe I need to just skip pushing to Quay :-). So, just use the 
other two to pull the images, Github (ghcr.io) has more generous pull 
download policy for un-authenticated users though.



[1]: https://github.com/maxking/docker-mailman/releases/tag/v0.3.12
[2]: https://asynchronous.in/docker-mailman/
[3]: https://github.com/maxking/docker-mailman/tree/v0.3.12
[4]: 
https://github.com/maxking/docker-mailman/commit/fda837f8d15540e190992c30f7971f50fca54dac

[5]: https://asynchronous.in/docker-mailman/news/#upgrading-to-040-release
[6]: https://github.com/maxking/docker-mailman#container-registries

--
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] New vulnerability in Hyperkitty master branch

2021-09-05 Thread Abhilash Raj

 Hey Everyone,

A new  vulnerability was reported against Hyperkitty’s git master branch 
branch which can expose the archives of a private Mailing List through 
the new Feeds API that was added to Hyperkitty recently to someone who 
isn't a member or logged-in.


Thanks to Ngo Wei Lin for reporting this vulnerability.

This bug does not affect any stable released version of Hyperkitty and 
only affects installations from source (1.3.5b1 version). To 
differentiate from the vulnerable version, I have bumped the version in 
master branch to 1.3.5b2, so if you have 1.3.5b1 installed, you should 
upgrade!


The fix for this bug has been committed to master branch[1][2] less than 
an hour ago as of this writing. If you are using git branches to install 
Hyperkitty, you can upgrade using the following command:


$ pip install --upgrade 
git+https://gitlab.com/mailman/hyperkitty@master


I have also triggered a build for Mailman container images[3] with this 
changes, so if you are using the rolling container images (which are the 
only affected ones), then you should upgrade to the latest one when the 
build[1] finishes (approximately in next 30mins).


Do note that this version of rolling release of mailman-web image also 
includes the fix for the vulnerability announced against Postoruis 
earlier today.


You can verify that you have the fixed version of Hyperkitty in the 
image by running:


$ docker run -it --entrypoint bash maxking/mailman-web:rolling
bash-5.0# pip list | grep HyperKitty
HyperKitty  1.3.5b2

Ensure that you get 1.3.5b2 version.


[1]: https://gitlab.com/mailman/hyperkitty/-/merge_requests/362
[2]: 
https://gitlab.com/mailman/hyperkitty/-/commit/ed086015acbf66ba377e2af7f6e782bd32d1f283

[3]: https://github.com/maxking/docker-mailman/runs/3519658592


--
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] CVE-2021-40347: New security release for Postorius

2021-09-05 Thread Abhilash Raj

Everyone,

A security vulnerability was reported against Postorius recently which 
allows any logged-in user to unsubscribe any other member on any other 
list on same Mailman installation using a specially crafted POST request 
due to a missing ownership check. This has been assigned CVE-2021-40347.


This affects all past versions of Postorius including 1.0.0.

Thanks to Kunal Mehta for the security report and a quick patch to fix 
the vulnerability.


I am also attaching a minimal patch that fixes it along with this email, 
without tests and NEWS so that it applies to older versions of Postorius 
easily (I have tested the included patch with 1.3.3, 1.3.2 git tags).


Upgrading to 1.3.5 release is highly recommended and it mostly includes 
the fix for this vulnerability (and a small compatibility fix for 
django-mailman3 1.3.6) so it shouldn’t introduce any other bugs.


You can upgrade to this release by running:

$ pip install postorius==1.3.5

A full change log is available here[1] as usual and can be downloaded 
from PyPI[2].


[1]: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#news-1-3-5

[2]: https://pypi.org/project/postorius/1.3.5/

Since there aren't many changes, this release requires 3.5+ like 1.3.4. 
Although, note that the next release will drop support for 3.5 and will 
support 3.6 only.


For those of you who use container images, I am working on 0.3.12 of 
container images right now, so look out for that announcement. For those 
of you using the rolling releases, you can already upgrade to the latest 
version of the rolling release as it has the fix.



--
thanks,
Abhilash Raj (maxking)
diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py
index 37d7ff6b..cd4967b9 100644
--- a/src/postorius/views/list.py
+++ b/src/postorius/views/list.py
@@ -502,6 +502,15 @@ class ListUnsubscribeView(MailingListView):
 @method_decorator(login_required)
 def post(self, request, *args, **kwargs):
 email = request.POST['email']
+# Verify the user actually controls this email, should
+# return 1 if the user owns the email, 0 otherwise.
+found_email = EmailAddress.objects.filter(
+user=request.user, email=email, verified=True).count()
+if found_email == 0:
+messages.error(
+request,
+_('You can only unsubscribe yourself.'))
+return redirect('list_summary', self.mailing_list.list_id)
 try:
 self.mailing_list.unsubscribe(email)
 messages.success(request, _('%s has been unsubscribed'
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] #mailman irc channel moving to libera.chat

2021-06-15 Thread Abhilash Raj
Hey Everyone,

As some of you might already know that Freenode IRC server now has new owners
and most of the volunteer staff have decided to move away from it to create a 
new
IRC server libera.chat[1] due to the policies of the new owners.

Along with many other open source projects, we have also decided to move away 
from
freenode to use libera.chat instead. We have registered #mailman there and will 
be using
that as primary IRC channel for Mailman things.

Freenode has also decided to drop all registrations, so, #mailman channel there 
is
no longer registered to any member of Mailman Core team as of some time earlier
today (Tue June 15th).


[1]: https://libera.chat/

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: tox(ic).ini ;-)

2021-06-09 Thread Abhilash Raj



On Wed, Jun 9, 2021, at 9:40 AM, Stephen J. Turnbull wrote:
> I understand how tox defines envlist, but I would expect that it would
> basically tell you what you can expect to run tests with and pass.

I agree it should, i'll keep it in mind when updating tox configs next
time.

>  > but usually I just do `tox -e ` and this works even for
>  > Python versions not in the envlist.
> 
> Me too; I've been short on space on my main workstation, so I'm
> usually down to one full suite of Python and my packages at a time.
> 
> But that works for Python versions because Python is very special.  It
> *doesn't* work for Django, in particular.

True, we define the supported Django versions explicitly in tox.ini, one
per minor version. Sometimes, it gets out of date.

> Also, the envlist for Postorius is just unuseful.  Django-1.1.1?  LOL

1.1.1 is probably a typo for 1.11 I think.

> 
> What I think we should do is
> 
> 1.  Put a full list of Django versions that we have ever supported in
> the deps variable.

By ever supported, you mean even the ones we don't support anymore?

> 2.  Put the full list of Python-Django combinations that are supported
> (where Django is relevant).

Put that where? In envlist?

> 3.  Standardize on lint for syntax checking and cov for coverage analysis.

Agreed!

> Then people with a single version of Python and a single version of
> Django (which I think is going to be typical of non-core-developers
> including a lot of people who send patches) can just run "tox".

So, you suggest we put a single environment in envlist, something like:
  
  envlist = "py39-django31"

> 
>  > I have been considering putting just one latest Python version in
>  > envlist so I can just do `tox` to run the test suite once and use
>  > the explicit `-e` flag for CI, which we already do.
> 
> I think that a simple tox invocation should be reserved to the users.
> I mostly run tox on the whole suite from a script, in the background
> (ie, when I'm at lunch, a meeting, or a class).  If I'm doing unit
> tests on an in-process branch, I generally run nose2 directly anyway.
> (Obviously other people do things their way, and I'm completely open
> to reason on the issue. ;-)

I have almost stopped running the full CI locally and just relying on CI
to run other version jobs if one passes locally. 
 
>  > We should, yes. I am trying to to figure out if I can define the CI
>  > definition in a single repo and have that used in all the Mailman
>  > projects.  Haven't had time to figure that out yet :( Github
>  > Actions provides a good way to share CI configs, maybe Gitlab has
>  > some way too!
> 
> I'm way behind on that tech. :-(
> 
>  > This is a very fun one actually, I have been trying to think of how
>  > to fix this. The version of Django-latest is > one supported (in
>  > setup.py) by P.
> 
> Does Postorius still support Django 1.1.1?!
> 
>  > Yes, but there aren't any docs
> 
> Speaking of missing docs, the top page on GitLab is woefully lacking
> in guidance on which of the subprojects you need for a functional
> system, which are documentation, which are example configuration, and
> which are experimental.

When you say "top page on Gitlab", do you mean something like:

   https://gitlab.com/mailman 

or the one for Core:

   https://gitlab.com/mailman/mailman

The former doesn't have any customizations we can do, no "group" level README 
available. But we can add this to Core's landing page within the README.rst.

Or did you mean something else by top page?
-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: tox(ic).ini ;-)

2021-06-08 Thread Abhilash Raj
On Tue, Jun 8, 2021, at 10:39 AM, Stephen J. Turnbull wrote:
> I'm fiddling with my Python installations and noticed this:
> 
> steve Mailman/pristine 1:19 % grep envlist */tox.ini
> django-mailman3/tox.ini:envlist = py{37,38,39}-django{21,22,30,31},lint
> hyperkitty/tox.ini:envlist = py{36,37,38,39}-django{22,30,31},docs,lint
> mailman-hyperkitty/tox.ini:envlist = {py35,py36,py37}{,-coverage},lint
> mailman-web/tox.ini:envlist = docs
> mailman/tox.ini:envlist = {py35,py36,py37}-{nocov,cov,diffcov}{,-mysql,-pg},qa
> mailmanclient/tox.ini:envlist = py{35,36,37,38},lint
> postorius/tox.ini:envlist = py{35,36,37}-django{111,20,latest},pep8

So, envlist doesn't really represent the list of supported versions. For that, 
you want to look at the .gitlab-ci.yaml in each repo, which is the source of 
truth for what we run CI on. It is a manually co-ordinated thing though, so we 
have to open PRs to each repo to add/remove and the list of envs vary on each 
project.

envlist  represent the exact list of env that will be used if you run `tox`, 
but usually I just do `tox -e ` and this works even for Python 
versions not in the envlist. I have been considering putting just one latest 
Python version in envlist so I can just do `tox` to run the test suite once and 
use the explicit `-e` flag for CI, which we already do.

> We should do something about coordinating on supported versions, no?

We should, yes. I am trying to to figure out if I can define the CI definition 
in a single repo and have that used in all the Mailman projects.  Haven't had 
time to figure that out yet :( Github Actions provides a good way to share CI 
configs, maybe Gitlab has some way too!

> Also, coordinating common factors (cov vs coverage, pep8 vs lint vs qa)?

envlist is out-of-date but I think it is still different in separate repos. 
Would be good to unify them and figure out an automated way to keep them in 
sync.

> Also, the djangolatest environment for postorius looks broken (but I
> don't understand tox that well):
> 
> django-latest: https://github.com/django/django/archive/main.tar.gz

This is a very fun one actually, I have been trying to think of how to fix 
this. The version of Django-latest is > one supported (in setup.py) by P. 
Previously, `pip` would happily install it if the Django was installed before 
the project, but it has gotten smart and started failing installs if it cannot 
satisfy dependency constraints. In this case, it can't actually satisfy the 
constraints until we update setup.py to support the _next_ version of Django. 

I don't know how to fix this, other than patching setup.py in django-latest job 
to remove the version constraint.

> Also, shouldn't every subproject support docs?

Yes, but there aren't any docs in django-mailman3 and mailman-hyperkitty. I 
have been putting the changelog in README for django-mailman3, didn't seem 
worth setting up a RTD project just for changelog.  All others have docs jobs 
and publish to Read the docs.

> 
> Steve
> 
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
> 


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: [MM3-users] Core, Hyperkitty and Postorius releases

2021-05-14 Thread Abhilash Raj
On Thu, May 13, 2021, at 1:46 PM, Odhiambo Washington wrote:
> 
> 
> On Wed, Feb 3, 2021 at 5:00 AM Abhilash Raj  wrote:
>> Hey Everyone,
>> 
>> I am pleased to announce new stable releases for Mailman Core, Postorius, 
>> Hyperkitty.
>> 
>> These include both new features and bug fixes. Complete change log for each 
>> components:
>> 
>> Mailman Core 3.3.3: 
>> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-3
>> Postorius 1.3.4 
>> https://docs.mailman3.org/projects/postorius/en/latest/news.html
>> Hyperkitty 1.3.4 : 
>> https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html 
>> 
>> Minimum supported Python version is 3.6.
>> 
>> You can install them using:
>> 
>> $ pip install --upgrade postorius hyperkitty mailman
>> 
>> We have also recently been working on making the installation 
>> instructions[1] to be 
>> more detailed and added a new FAQ[2] section for administrators where I hope 
>> to capture common questions from mailman-users list. 
>> 
>> Feedback or Merge Requests to improve these docs are welcome. You can either
>> send an email or open an issue on Gitlab (easier to track) here[3].
>> 
>> [1]: https://docs.mailman3.org/en/latest/install/virtualenv.html
> 
> 
> 
> Hi Abhilash,
> 
> What's the reason behind the exclusion of MySQL & Apache instructions in the 
> installation instructions? :-)

Really no reason, the intent was to pick some options in that page and point to 
additional documentation for using other alternatives.

I will be more than happy to accept patches to add the documentation about 
alternatives like MySQL and Apache and other variations in the tech stack. Just 
add a new page under install/ and add a "Note" in the above page to point to 
it. 

I had documented some time ago how to contribute to our documentation[1] and 
folks on this list would be happy to answer any questions regarding 
contribution too.

[1]: https://docs.mailman3.org/en/latest/documentation.html


--
  thanks,
  Abhilash Raj (maxking)
 
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Core new release?

2021-05-03 Thread Abhilash Raj


> On Apr 28, 2021, at 11:03 PM, Danil Smirnov  wrote:
> 
> Hi,
> 
> As per public Gitlab stats for Mailman Core repo, 25 issues have been
> closed in April so far, which is the record of the last 12 months and beats
> the previous four months total.
> 
> From a merge requests perspective, it is the record too, and the merged
> requests number pace is growing by ~15% over the last four months, reaching
> a quarter of a hundred in April.
> 
> I know that it's just a month from the previous Mailman Core release, but
> given the stats above should the next release be planned earlier than usual?

A release for Core is actually imminent, but I am not sure about timing as there
are other things going on. Maybe in two or three weeks I can get some betas
out.

We want to get out new version of web components soon as they’ve accumulated
some fixes and new stuff. But the new version of Postorius requires an new REST
endpoint so we’d need to release Core for that anyway.


-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: [MM3-users] Long lines in mail composed by HyperKitty

2021-04-18 Thread Abhilash Raj


> On Apr 18, 2021, at 7:21 PM, Stephen J. Turnbull 
>  wrote:
> 
> Hi,
> 
> [I prefer discussion be directed to mailman-developers, so Reply-To is
> set.  But if you're not subscribed to -developers, following up here
> is OK, and I'll eventually summarize to -developers.  Just don't
> followup to both.]
> 
> I just noticed that among the agents that send non-conformant long
> lines[1] is HyperKitty.  Nowadays violating the 80 octet
> limit is common and MUAs mostly handle it, but the 1000 octet limit is
> enforced by many MTAs[2]

Is this something new that you’ve noticed?

I think previously, Hyperkitty used to wrap lines at 90 characters when
displaying them in UI and then I think the replies would’ve been 
wrapped at 90 + “ >” (2 chars) per line maximum. I may need to confirm
this because we don’t do anything else when sending the message or
any recent changes to that part of the code.

But recently, when adding support for rich text rendering, I think I removed
that 90 char wrap in the UI, so the original line length is preserved and you
might be seeing long lines from lists.mailman3.org or mail.python.org servers
which run the git master branches.

> 
> I think that HyperKitty should format mail per RFC 3676 format=flowed
> https://tools.ietf.org/html/rfc3676#section-4.  However, I don't use
> "modern" (aka crappy HTML-oriented) clients, so I don't know whether
> they handle format=flowed properly.

Support for format=flowed is good in the web client (Fastmail) and Mac
client that I’ve been using.

Just to confirm this, but the way to implement that would be to add
format=flowed to the generated email’s content-type header and then 
add a CRLF after LINE_LENGTH octects, right?

We use EmailMessage[1] from Django[2], which is itself a wrapper over Message
class form standard library. I don’t know if the BytesGenerator supports
some sort of policy when serializing the body, but if not, I guess we can
handle breaking lines with CRLF before we pass it to Django.

[1]: 
https://gitlab.com/mailman/hyperkitty/blob/master/hyperkitty/lib/posting.py#L93
[2]: https://github.com/django/django/blob/main/django/core/mail/message.py#L188


-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Question about GSoC SPAM

2021-03-29 Thread Abhilash Raj


> On Mar 29, 2021, at 8:07 AM, Steven Chen  wrote:
> 
> Dear Mailman Developers,
> 
> This is Steven1677(https://gitlab.com/Steven1677) on GitLab. I want to
> contribute to the mailman3 project as a GSoC student.
> 

Welcome Steven!

> I am starting to write my proposal for GSoC. I wonder whether our
> personal information will go public if we send the proposal to the
> this mail list?
> I fully understand that applying for GSoC requires such information,
> but I think the personal contact information (like phone number, email
> addresses) should be only available to the members of the developer
> team instead of the whole internet.
> 
> Hence, I am asking whether the whole proposal (including the basic
> information of the student) should be sent to this mail list?

You don’t have to share anything on the public list that you are not
comfortable sharing, including your personal information.

AFAIK, it is only Google that needs that information to verify if you
are a student and (maybe!) your mentors to have your cell phone
number just in case they need to get in touch with you after your
selection for some reason. I don’t think that second part is necessary
either, but your mentors will have access to the application with
your personal info.

-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.4 is now out

2021-03-21 Thread Abhilash Raj
Hey Everyone,

I am pleased to announce that Mailman Core 3.3.4 is now out. 

Because of  incompatibility with the new version of a downstream 
library (SQLAlchemy), this release add is setting 1.3.x as the max
supported version of SQLAlchemy.

Even though it comes soon after 3.3.3, it has a lot of bug fixes and
new features. Some notable ones are:
* Email -join command now supports subscribing as digests with 
  digest= options being honored. 
* For anonymous lists, Mailman will filter all the headers except a few
  that can be configured using a new config option.
* Mailman can do max_size checks on filtered message rather than
  original message (which might be larger before being filtered)
* Previously deprecated --add, --del and --sync options from 
  `mailman members` command are now removed. Their alternatives
  are `addmembers`, `delmembers` and `syncmembers` subcommands.
* If configured, Mailman will add a report about content filtering.

A complete change log is available here:

   
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-4

This release is available via PyPI:

   https://pypi.org/project/mailman/3.3.4/

You can install or upgrade using:

```
$ pip install --upgrade mailman
```

Thanks to all the contributors who helped with this release!

-- 
On behalf of Mailman Core Team
Abhilash Raj
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Unable to create new thread in Local development Enviroment

2021-03-19 Thread Abhilash Raj


> On Mar 18, 2021, at 10:53 PM, Prashant Pandey  
> wrote:
> 
> I want to solve Issue #347
> <https://gitlab.com/mailman/hyperkitty/-/issues/347> in the hyperkitty.
> How can I test the thread if I needed some data to test?
> Is there any way that I can follow and create my local thread for testing
> new features?

When I want something to show up in my local Hyperkitty, what I do is just 
go and download archives from some other Hyperkitty and import it locally.

For example, you can go to archives of this very list at[1] and click the 
“Download”
button on the bottom left. That will download an mbox file that is compressed,
make sure you decompress it to a .mbox file.

Then, you locally import the archive using 

```
$ python manage.py hyperkitty_import -l mailman-developers@python.org 
/path/to/file.mbox
```

Then, you should have some threads and emails to look at and work on
the issues.

[1]: https://mail.python.org/archives/list/mailman-developers@python.org/2021/3/

-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Unable to create a thread in local dev environment

2021-03-18 Thread Abhilash Raj
Hi Prashant,

> On Mar 15, 2021, at 4:40 AM, Prashant Pandey  
> wrote:
> 
> When I am creating a thread using "Start a new thread in hyperkitty", after
> typing the subject and message it says "The message has been sent
> successfully."
> but after this, it does not show in the list discussion.

Since you are in a development environment, Hyperkitty will hold off on sending
out any real emails. That is the reason that you don’t see anything being sent
out. 

This happens due to two reasons, one is that you probably do not have a running
MTA on your local machine to relay emails. Also, in your local environment, you
also might not have capability to receive emails so Core will not be able to 
receive it.

The second reason is that to prevent sending out emails during development, when
`DEBUG = True` in your settings.py, Hyperkitty will not send out emails even if 
there
was a running MTA.

See here [1] for the setting when `DEBUG = True`. `EMAIL_BACKEND` setting
controls which Django backend we use to send out emails. The filebased backend
will simply write the emails to disk in a file called `emails` (defined by 
`EMAIL_FILE_PATH`) you can find at [1].


[1]: 
https://gitlab.com/mailman/hyperkitty/-/blob/master/example_project/settings.py#L452

-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Contributing to Mailman documentation

2021-03-16 Thread Abhilash Raj
Hey Everyone,

I have been trying to document how to propose changes to the Mailman 
documentation, which is hosted on ReadTheDocs. 

Right now, I think i have the complete flow in Gitlab documented in this 
page[1] and 
how to reach Gitlab from any page in documentation. I am sure there could be 
some parts
that aren’t completely obvious to others. If you think I have missed a few 
steps or
if there are issues in the doc, please feel free to reply on this thread or 
just open
issues directly in Gitlab project[2] for documentation at docs.mailman3.org.

[1]: https://docs.mailman3.org/en/latest/documentation.html
[2]: https://gitlab.com/mailman/mailman-suite-doc/-/issues

Hope this is helpful!

-- 
thanks,
Abhilash Raj (maxking)


___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Development setup confusion

2021-02-25 Thread Abhilash Raj


On Sat, Feb 20, 2021, at 5:33 PM, Mark Sapiro wrote:
> On 2/20/21 3:07 PM, Marius Ghita wrote:
> > I think a setup step might be missing from the developer's docs
> > https://docs.mailman3.org/en/latest/devsetup.html
> > 
> > If I go through the venv setup and when I call mailman info, the following
> > error shows up (missing dependency).
> > 
> > ...
> >   File "/home/_/Workspace/personal/mailman/src/mailman/__init__.py", line
> > 38, in 
> > from mailman.core.i18n import initialize
> >   File "/home/_/Workspace/personal/mailman/src/mailman/core/i18n.py", line
> > 22, in 
> > from flufl.i18n import PackageStrategy, registry
> > ModuleNotFoundError: No module named 'flufl.i18n'
> 
> 
> This is a packaging issue. The short answer is if in your venv you run
> 
> pip uninstall flufl.bounce flufl.lock flufl.i18n
> pip install flufl.bounce flufl.lock flufl.i18n
> 
> to remove and reinstall the flufl modules, it will then work.

The larger issue is that Barry added support for PEP 420 implicit namespace[1]
which is only supported by pip (setuptools) and not distutils as per [2]. So, 
`setup.py develop` isn’t able to install them properly. Which is why you have
to uninstall and install them using `pip` after `python setup.py develop`.

[1]: 
https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages
[2]: 
https://packaging.python.org/guides/packaging-namespace-packages/#creating-a-namespace-package

The solution is to replace all the places we have `python setup.py develop`
to `pip install -e .` which results in an editable install and uses setuptools.

I have done that in several places, but please point out anywhere you see
`python setup.py develop` and we can replace it with `pip install -e .` .

> 
> The longer answer is if you look in your venv's site-packages directory
> before you remove the flufl modules, you will see
> 
> flufl.bounce-3.0.2-py3.9.egg/
> flufl.i18n-3.1.5-py3.9.egg/
> flufl.lock-5.0.5-py3.9.egg/
> 
> and in easy-install.pth entries
> 
> ./flufl.lock-5.0.5-py3.9.egg
> ./flufl.i18n-3.1.5-py3.9.egg/
> ./flufl.bounce-3.0.2-py3.9.egg/
> 
> and after, in site-packages
> 
> flufl/
> flufl.bounce-3.0.2.dist-info/
> flufl.bounce-3.0.2-py3.9-nspkg.pth
> flufl.i18n-3.1.5.dist-info/
> flufl.i18n-3.1.5-py3.9-nspkg.pth
> flufl.lock-5.0.5.dist-info/
> flufl.lock-5.0.5-py3.9-nspkg.pth
> 
> and in site-packages/flufl
> 
> bounce/
> i18n/
> lock/
> 
> This later configuration works fo importing any of flufl.bounce,
> flufl.i18n and flufl.lock, but the former winds up looking in
> flufl.bounce-3.0.2-py3.9.egg/ for everything and only finds flufl.bounce
> and not the others.
> 
> -- 
> Mark Sapiro The highway is for gamblers,
> San Francisco Bay Area, Californiabetter use your sense - B. Dylan
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Core, Hyperkitty and Postorius releases

2021-02-02 Thread Abhilash Raj
Hey Everyone,

I am pleased to announce new stable releases for Mailman Core, Postorius, 
Hyperkitty.

These include both new features and bug fixes. Complete change log for each 
components:

Mailman Core 3.3.3: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-3
Postorius 1.3.4 https://docs.mailman3.org/projects/postorius/en/latest/news.html
Hyperkitty 1.3.4 : 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html 

Minimum supported Python version is 3.6.

You can install them using:

$ pip install --upgrade postorius hyperkitty mailman

We have also recently been working on making the installation instructions[1] 
to be 
more detailed and added a new FAQ[2] section for administrators where I hope 
to capture common questions from mailman-users list. 

Feedback or Merge Requests to improve these docs are welcome. You can either
send an email or open an issue on Gitlab (easier to track) here[3].

[1]: https://docs.mailman3.org/en/latest/install/virtualenv.html
[2]: https://docs.mailman3.org/en/latest/faq.html
[3]: https://gitlab.com/mailman/mailman-suite-doc/issues

Thanks to everyone who helped out with with this release and contributed if any 
way! :) 

thanks,
Abhilash Raj
On behalf of Mailman Core Team
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: which database is used in unittest?

2021-01-23 Thread Abhilash Raj


On Thu, Jan 21, 2021, at 10:38 AM, baguazhan...@gmail.com wrote:
> Thanks Mark!
> We don't want to leave artifacts behind but want to see the testing 
> data in the db before it wipes about. The goal is to see if we can 
> write some data to another database. 

The test suite doesn’t just wipe data at the end of the test run, it will
clean up after each set of tests to make sure that they can expect a
clean slate when running. So, you won’t be able to simply skip the
deletion at the end of the run and expect some data in the database.

You can instead create lists and data by running a dev server locally
and the inspect the database.

> thanks!
> Mike
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Issues gathering list members

2021-01-20 Thread Abhilash Raj
On Wed, Jan 20, 2021, at 12:07 PM, costavitor...@gmail.com wrote:
> Mark Sapiro wrote:
> > On 1/20/21 9:54 AM, costavitor...@gmail.com wrote:
> > > Hi
> > > Yes, I receive the logging with:
> > > subaddress: None, queue: in
> > > And then I have another few lines of logging, with nothing relevant 
> > > ending up in 
> > > Connection lost during _handle_client()
> > > That is normal.
> > > If I send with the prefix owner, after the same line
> > > I have a line saying:
> > > envsender: 
> > > -teste222-bounces+emanuel-d-vitorino=telecom...@.pt, 
> > > recipients:
> > > ['emanuel-d-vitor...@xx.pt'], size(msgtext): 464
> > > This one comes from mailman/mta/connection.py when the message is being
> > sent to the recipients. Since you don't see that, the message never gets
> > this far.
> > Since mail to -owner works, the incoming runner is processing the 'in'
> > queue so something happens between the message being picked up from the
> > 'in' queue and delivery.
> > First, check Mailman's
> > bin/mailman members --regular --nomail enabled list.example.com
> returns two users. Mine that is also owner and another one that only 
> subscribed the mailing list
> 
> > where list.example.com is the actual list id to ensure there are members
> > who should receive the mail. Then check Mailman's mailman.log and
> > debug.log for clues. You may need to set
> > [logging.debug]
> > level: debug
> > [logging.error]
> > level:debug
> > To get more logging.
> 
> Everything logging. No errors.
> 
> core/switchboard.py:97 (enqueue)
> Is this method that handles the queue?
> I'm logging the entire method, and on line 135 Im logging msgsave variable.
> And it's filled with some data
> After that, I receive DISCARD from chains/discard.py:45
> 
> If I send with prefix owner, I receive also from chains/owner.py OWNER:. 
> here I believe that is the expected behavior.
> After this, it runs again enqueue and anything else. No DISCARD or anything
> 
> What happens before chains that could DISCARD the message?
> Could it be any misconfiguration of my part? 

Do you see the posted message in any other queues, shunt or hold or some other?

The default owners chain doesn’t have any checks as such right now, but the 
default
chain that accepts message has a bunch of Rules to determine what to do with the
message, which is probably causing this behavior IMO.

There are a coupe of checks that can cause the message to be discarded, for 
example,
are you setting the `From:` headers (no-sender rule)? 

The entire list of rules is here[1] and you can find code for each of the rules 
[2] and also
the docs for each of the rules[3]

[1]: 
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/chains/builtin.py#L40
[2]: https://gitlab.com/mailman/mailman/-/tree/master/src/mailman/rules
[3]: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rules/docs/rules.html

If you can’t find the message in any of the queue, that means the message is 
being
discarded. There are a few rules that can cause a direct discard if you look at 
[1] and some
rules like member/non-member moderations, header-filters may cause a discard 
based
on the settings. 

Some other things to check would be to get the mailing list settings check the 
default
member and non-member actions. 

I hope that is helpful.
> 
> Wich methods can I check to debug whats happening?
> 
> Thank you very much
> Emanuel
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: New release candidates for Postorius and Hyperkitty

2021-01-17 Thread Abhilash Raj
Hello Again,

Turned out, there was an issue with a vendored JS library in Hyperkitty 
1.3.4rc1. Also, someone requested another release of Core for a couple of 
bugfixes that have landed in master since the last release in November.

I have just released Hyperkitty 1.3.4rc2 and Maiman Core 3.3.3rc1. Complete 
change logs are available here:

Hyperkitty: https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html 
Core: 
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-3

New stable version of Core will be out alongside the other releases previously 
announced.

Abhilash
On behalf of GNU Mailman Team

On Sat, Jan 16, 2021, at 12:38 PM, Abhilash Raj wrote:
> Hey Everyone,
> 
> Happy new year to everyone!
> 
> I am pleased to announce new release candidates for Postorius and 
> Hyperkitty along with new releases for Mailmanclient and 
> Django-mailman3!
> 
> These include both new features and bug fixes. Complete change log for 
> each components:
> 
> Postorius 1.3.4rc1: 
> https://docs.mailman3.org/projects/postorius/en/latest/news.html
> Hyperkitty 1.3.4rc1 : 
> https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html 
> Mailmanclient 3.3.2.: 
> https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html
> Django-mailman3 1.3.5: 
> https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
> 
> These releases require Mailman Core 3.3.2 and Python 3.6+.
> 
> Since these are pre-releases, you can install them using:
> 
> $ pip install --pre --upgrade postorius hyperkitty
> 
> Or you can also specify the exact versions:
> 
>$ pip install --upgrade 'postorius==1.3.4rc1' 'hyperkitty==1.3.4rc1'
> 
> Unless there is a release-blocker bug, stable versions for Postorius 
> and Hyperkitty will be released in 2 weeks time. If you can test these 
> releases, we encourage you to report any bugs to us on Gitlab.
> 
> If you'd like to help out with translations for some of the new strings 
> in your native language, the documentation is available here[1] on how 
> to do that.
> 
> [1]: https://docs.mailman3.org/en/latest/translation.html
> 
> -- 
>   thanks,
>   Abhilash Raj (maxking)
>   On behalf of GNU Mailman Team

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] New release candidates for Postorius and Hyperkitty

2021-01-16 Thread Abhilash Raj
Hey Everyone,

Happy new year to everyone!

I am pleased to announce new release candidates for Postorius and Hyperkitty 
along with new releases for Mailmanclient and Django-mailman3!

These include both new features and bug fixes. Complete change log for each 
components:

Postorius 1.3.4rc1: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html
Hyperkitty 1.3.4rc1 : 
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html 
Mailmanclient 3.3.2.: 
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html
Django-mailman3 1.3.5: 
https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst

These releases require Mailman Core 3.3.2 and Python 3.6+.

Since these are pre-releases, you can install them using:

$ pip install --pre --upgrade postorius hyperkitty

Or you can also specify the exact versions:

   $ pip install --upgrade 'postorius==1.3.4rc1' 'hyperkitty==1.3.4rc1'

Unless there is a release-blocker bug, stable versions for Postorius and 
Hyperkitty will be released in 2 weeks time. If you can test these releases, we 
encourage you to report any bugs to us on Gitlab.

If you'd like to help out with translations for some of the new strings in your 
native language, the documentation is available here[1] on how to do that.

[1]: https://docs.mailman3.org/en/latest/translation.html

-- 
  thanks,
  Abhilash Raj (maxking)
  On behalf of GNU Mailman Team
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Logging

2021-01-07 Thread Abhilash Raj



On Thu, Jan 7, 2021, at 8:13 PM, Stephen J. Turnbull wrote:
> Abhilash Raj writes:
> 
>  > There are a couple of loggers the Mailman Core uses and you can set
>  > their logging path to be `/dev/stdout` to log to standard output
>  > which I think your container manager should be able to
>  > grab. Unfortunately, there isn't a way yet to change all of their
>  > "path" using a single config, so you'd have to do it individually
>  > for each of them.
> 
> GSoC 2021?

Yeah, we could couple this with some other changes in Core to get to a sizeable 
level project for GSoC.

> 
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Logging

2021-01-07 Thread Abhilash Raj
On Thu, Jan 7, 2021, at 1:27 PM, costavitor...@gmail.com wrote:
> Hi
> 
> Is it possible to log to console?
> 
> I've changed gunicorn configuration:
> accesslog='-'
> errorlog='-'

Which file did you change to apply these configurations?

> 
> Then logs are not written to log files, but I can't see what's being logged.
> 
> I'm on a docker environment and having log files it's something that I 
> want to avoid to control disk usage.
> And I'm capturing what's shown in console, so it was great if I could 
> log into console.

There are a couple of loggers the Mailman Core uses and you can set their 
logging path to be `/dev/stdout` to log to standard output which I think your 
container manager should be able to grab. Unfortunately, there isn't a way yet 
to change all of their "path" using a single config, so you'd have to do it 
individually for each of them.

The available loggers are:
# - archiver--  All archiver output
# - bounce  --  All bounce processing logs go here
# - config  --  Configuration issues
# - database--  Database logging (SQLAlchemy and Alembic)
# - debug   --  Only used for development
# - error   --  All exceptions go to this log
# - fromusenet  --  Information related to the Usenet to Mailman gateway
# - http--  Internal wsgi-based web interface
# - locks   --  Lock state changes
# - mischief--  Various types of hostile activity
# - plugins --  Plugin logs
# - runner  --  Runner process start/stops
# - smtp--  SMTP activity
# - subscribe   --  Information about leaves/joins
# - vette   --  Message vetting information

And you can set their logging path by adding the following (for example) to 
your mailman.cfg

[logging.archiver]
path: /dev/stdout

Same goes for the rest of the loggers.

Hope this is helpful!

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: GSoC 2021 ideas

2021-01-07 Thread Abhilash Raj
On Mon, Jan 4, 2021, at 12:49 PM, Terri Oda wrote:
> Happy new year everyone!

Happy new year to you too Terri!

> 
> I'm starting to prep Python for GSoC 2021, and I wanted to issue the 
> usual invitation that we'd be happy to have Mailman as a sub-org if 
> anyone wants to do GSoC this year.  (Mailman's been fine as a separate 
> org, but I have to do the paperwork for Python anyhow so I figured I'd 
> offer if there's interest but no one wants to cover the admin side of 
> things.)

Thanks for the head start, I do want us to participate this year and am
planning to mentor atleast one student.

> Also, I have two mailman related ideas!
> 
> 1. Seamless archive converter for 2.1 -> 3.*
> 
> A friend was grousing that there was no "nice" way to retain old archive 
> urls without keeping a static copy of things, and it got me to thinking 
> that it would definitely be possible to build something that handled the 
> old urls and redirected or made them work seamlessly, but we didn't do 
> it because parsing the old archives basically requires you to scrape 
> them because otherwise we couldn't guarantee that the urls would be 
> stable from a re-parsed mbox.
> 
> It's boring and finicky web scraping work to associate the old url and 
> do the right things to make it work seamlessly in hyperkitty, but 
> probably not too hard, so I was thinking that it might be suitable for a 
> GSoC student.

This sounds like a very nice idea! How are you thinking of associating 
the web URLs (basically, number of the page I guess?) to Email entries
in Hyperkitty since I don't see the web pages having Message-ID.

> 
> 2. Old mailman "skin" for postorius
> 
> Make mailman look like the 2.1 interface for people who really love the 
> old system.   There's a few options that would be different, but the 
> goal would be to make it pretty much look the same only with a few 
> options changed, for people who are very change adverse.  We had 
> intended for it to be *possible* to reskin Postorius, but I don't think 
> too many people have done it, so this would be a test to see how doable 
> that is and probably fix any underlying issues that make reskinning the 
> interface hard. Honestly, we could also have a student do a brand new 
> skin if we had someone who loved UI design, but I suspect replicating 
> the old interface would be less work, and since this year's GSoC hours 
> have been cut in half, i'd rather start with something easier.

Is this intended to be like a CSS refresh or like re-write the interface kind 
of project? I am thinking it might be more of the former than latter, which 
might be a much bigger project.

> I've been out of mailman dev for 3 years, so I'm probably not the ideal 
> mentor, but I'm up for helping on either of those if Mailman as a whole 
> is interested in doing the GSoC thing this year.

Another idea that I've been thinking is supporting User management in
Postorius. It would list all registered Users in Django & Core along with
their Addresses and perhaps Subscriptions. If time permits, allow doing
some actions on user's behalf like adding a new address, verifying a new
address, deleting the User and all their subscriptions etc. 

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Help regarding GSoC 2021

2020-12-23 Thread Abhilash Raj
Hi Aditya,

On Sun, Dec 20, 2020, at 8:36 AM, Aditya Komaravolu wrote:
> Hello Sir/Ma'am,
> 
> I am a Second Year Artificial Intelligence Undergraduate at Vidya Jyothi
> Institute of Technology,Hyderabad,Telangana,India. I am really interested
> to contribute and work on open source projects for Python organisation and
> want to be a part of GSoC 2021 under Python Organisation.
> I am interested to work in the areas of Machine learning and Python
> development. Ironically I have no knowledge regarding the contribution
> process.

Thanks for your interest in contributing to Mailman! Mailman has applied to 
Google Summer of Code both as an Individual org and under Python Software 
Foundation in past, so we could or could not apply under PSF for next GSoC. 
While we haven't finalized any projects yet, it is unlikely that we'll have any 
project in the specific area of Machine Learning.

You can find issues for Mailman Suite in our Gitlab project tracker[1].

[1]: https://gitlab.com/groups/mailman/-/issues

A lot of information can be found in our old GSoC pages[2], for example of 2019.

[2]: https://wiki.list.org/DEV/Google%20Summer%20of%20Code%202019

Abhilash

> 
> Please help me to become an active contributor and help me be a part of
> Google Summer of Code 2021.
> 
> Regards,
> Aditya Komaravolu.
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Mailman Core 3.3.2 is now out

2020-11-06 Thread Abhilash Raj
I missed it in the original email, but a full list of changes in this version 
is present here:


https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#id1

thanks,
Abhilash

On Fri, Nov 6, 2020, at 5:38 PM, Abhilash Raj wrote:
> Hi Everyone,
> 
> I am pleased to announce that with a week long delay from the planned date, 
> GNU Mailman Core 3.3.2 is now finally out. This release includes both bug 
> fixes
> and some new features.
> 
> Some notable changes include:
> -Support for inviting users to join mailing lists.
> -New adddmembers, delmembers and syncmembers command to manage 
> membership from CLI.
> -Addition of new REST API endpoints that return the count of held 
> messages and subscription requests of much faster page loads in 
> Postorius.
> -Addition of support for filtering in some API endpoints like 
> Members and Subscription requests.
> -Support for address= option in email join command to subscribe an 
> address other then sending address.
> -Addition of who email command to lookup memberships.
> -Expose emergency field for MailingList resource in REST API.
> -Several bug fixes to support new major version of libraries like 
> dnspython, flufl.* etc.
> 
> You can install it using:
> 
> $ pip install --upgrade mailman
> 
> The tarball for the release is available at PyPI:
> 
> https://pypi.org/project/mailman/
> 
> Finally, many thanks to all the contributors who have helped make this 
> release a success!
> 
> -- 
> Abhilash Raj (maxking) on behalf of Mailman Core team
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.2 is now out

2020-11-06 Thread Abhilash Raj
Hi Everyone,

I am pleased to announce that with a week long delay from the planned date, 
GNU Mailman Core 3.3.2 is now finally out. This release includes both bug fixes
and some new features.

Some notable changes include:
-Support for inviting users to join mailing lists.
-New adddmembers, delmembers and syncmembers command to manage membership 
from CLI.
-Addition of new REST API endpoints that return the count of held messages 
and subscription requests of much faster page loads in Postorius.
-Addition of support for filtering in some API endpoints like Members and 
Subscription requests.
-Support for address= option in email join command to subscribe an address 
other then sending address.
-Addition of who email command to lookup memberships.
-Expose emergency field for MailingList resource in REST API.
-Several bug fixes to support new major version of libraries like 
dnspython, flufl.* etc.

You can install it using:

$ pip install --upgrade mailman

The tarball for the release is available at PyPI:

https://pypi.org/project/mailman/

Finally, many thanks to all the contributors who have helped make this release 
a success!

-- 
Abhilash Raj (maxking) on behalf of Mailman Core team
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.2rc2 Released

2020-10-17 Thread Abhilash Raj
Hi Everyone,

I am pleased to announce that Mailman Core 3.3.2rc2 is now out. This release 
includes both bug fixes and some new features.

Some notable changes include:

- Support for inviting users to join mailing lists.
- New `adddmembers`, `delmembers` and `syncmembers` command to manage 
membership from CLI.
- Addition of new REST API endpoints that return the count of held messages and 
subscription requests of much faster page loads in Postorius.
- Addition of support for filtering in some API endpoints like Members and 
Subscription requests.
- Support for `address=` option in email join command to subscribe an address 
other then sending address.
- Addition of `who` email command to lookup memberships.
- Expose emergency field for MailingList resource in REST API.
- Several bug fixes to support new major version of libraries like dnspython, 
flufl.* etc.

Since this is a pre-release, you can install it using:

$ pip install --pre --upgrade mailman

If there are no new major bugs, 3.3.2 will be released in 2 weeks time. 

We are now in strings freeze, so if you would like to help with translations to 
your native language, now is the time. We use Weblate for translations [1] and 
see here[2] for more documentation about i18n process in Mailman. There are a 
couple of  new templates and more user friendly email templates & subjects for 
Mailman generated emails that could use translations.


[1]: https://hosted.weblate.org/projects/gnu-mailman/mailman/
[2]: https://docs.mailman3.org/en/latest/translation.html


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Using hyperkitty_import for archives downloaded from HK

2020-09-07 Thread Abhilash Raj



On Mon, Sep 7, 2020, at 4:26 PM, Goran Terzic wrote:
> Thanks Abhilash for your quick response
>  
>> You can just take a database dump and migrate that. If you are using 
>> postgres, there is a pg_dump command that I know of. I am sure something 
>> exists for Mysql/mariadb too. I would recommend using this method for 
>> migrations. 
>> You can also use django's dumpdata[1] and loaddata commands to export and 
>> import data from one installation to other. It should work when moving from 
>> one database type to other in theory. I haven't tested it to comment on how 
>> successful it would be. 
> 
> Using pg_dump would work when migrating all lists from one server to another, 
> but can't be used for migration of a single list.
> However, I guess it would be possible to write SQL script for that.
> 
>> 
>> It turns out HK strips the angle brackets `< >` when internally storing the 
>> message-id and in-reply-to header. It adds them back to Message-ID when 
>> exporting but doesn't add it back to In-Reply-To. I have opened [1] for the 
>> issue.
>> 
>> [1]: https://gitlab.com/mailman/hyperkitty/-/issues/311
>> 
>> Because of that, when the header is folded, an additional whitespace is 
>> added to the start resulting in broken threads.
> 
> Thanks for confirming this issue.

I also opened the fix [1] for the issue, you can apply it to the source server 
and export the archives that will import correctly.

[1]: https://gitlab.com/mailman/hyperkitty/-/merge_requests/282

> 
> Regards,
> Goran T

--
  thanks,
  Abhilash Raj (maxking)
 
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Using hyperkitty_import for archives downloaded from HK

2020-09-07 Thread Abhilash Raj



On Mon, Sep 7, 2020, at 2:25 PM, goran.ter...@gmail.com wrote:
> I noticed that hyperkitty_import has issues with In-Reply-To header 
> when importing archives downloaded from Hyperkitty itself.
> 
> In some cases in_reply_to field in hyperkitty_email table will have 
> extra white space at the start.
> For example In-Reply-To: 
> cafv2ywofzrhedttz3f6emnwx8sh4_ar7+jmr7xvoad8_eoj...@mail.gmail.com 
> will be saved as ' CAFV2YWOfZRHEDTTz3F6Emnwx8Sh4_Ar7+JMR7XvOAD8_eOjqaQ'.

It turns out HK strips the angle brackets `< >` when internally storing the 
message-id and in-reply-to header. It adds them back to Message-ID when 
exporting but doesn't add it back to In-Reply-To. I have opened [1] for the 
issue.

[1]: https://gitlab.com/mailman/hyperkitty/-/issues/311

Because of that, when the header is folded, an additional whitespace is added 
to the start resulting in broken threads.

> This results in broken threads, as parent of this message cannot be found.
> 
> I also noticed that hyperkitty_import doesn't have this problem with 
> archives from MM2, but in MM2 archives, message id in in-reply-to 
> header is
> surrounded with brackets, like this: In-Reply-To: 
> 
> 
> When I look at original email source, in-reply-to header doesn't have 
> brackets; it looks like in the archive made by HK.
> 
> Is the issue here with import or export (download) process?
> Is hyperkitty_import right tool for migrating lists from one MM3 server 
> to another?
> 
> I was thinking should I post this to the mm3-users list or here, I hope 
> I made a right decision.
> 
> Regards,
> Goran T.
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Using hyperkitty_import for archives downloaded from HK

2020-09-07 Thread Abhilash Raj
On Mon, Sep 7, 2020, at 2:25 PM, goran.ter...@gmail.com wrote:
> I noticed that hyperkitty_import has issues with In-Reply-To header 
> when importing archives downloaded from Hyperkitty itself.
> 
> In some cases in_reply_to field in hyperkitty_email table will have 
> extra white space at the start.
> For example In-Reply-To: 
> cafv2ywofzrhedttz3f6emnwx8sh4_ar7+jmr7xvoad8_eoj...@mail.gmail.com 
> will be saved as ' CAFV2YWOfZRHEDTTz3F6Emnwx8Sh4_Ar7+JMR7XvOAD8_eOjqaQ'.
> 
> This results in broken threads, as parent of this message cannot be found.
> 
> I also noticed that hyperkitty_import doesn't have this problem with 
> archives from MM2, but in MM2 archives, message id in in-reply-to 
> header is
> surrounded with brackets, like this: In-Reply-To: 
> 
> 
> When I look at original email source, in-reply-to header doesn't have 
> brackets; it looks like in the archive made by HK.
> 
> Is the issue here with import or export (download) process?
> Is hyperkitty_import right tool for migrating lists from one MM3 server 
> to another?

The import process should be fine, the issues are more likely with 
download/export process.

Internally, Hyperkitty doesn't store the original email objects, only some of 
the headers and body of the message. It then generates the export archive 
on-demand by creating the Email object and stitching them together for mbox 
archive.

You can just take a database dump and migrate that. If you are using postgres, 
there is a pg_dump command that I know of. I am sure something exists for 
Mysql/mariadb too. I would recommend using this method for migrations.

You can also use django's dumpdata[1] and loaddata commands to export and 
import data from one installation to other. It should work when moving from one 
database type to other in theory. I haven't tested it to comment on how 
successful it would be. 
 

[1]: https://docs.djangoproject.com/en/3.0/ref/django-admin/#dumpdata

> I was thinking should I post this to the mm3-users list or here, I hope 
> I made a right decision.
> 
> Regards,
> Goran T.
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Better documentation for Mailman Core's config options

2020-08-07 Thread Abhilash Raj
Hey All,

For the past few days, I've been trying to improve the documentation 
style for Mailman Core's config options. Internally, Mailman has
all configurations defined in an ini formatted `schema.cfg` file, which 
serves as a schema for our `zope.configuration` library. We had that file
simply embedded in the sphinx documentation previously as a wall of text.

I ended up writing a Sphinx (our documentation generator) plugin which
parses the config file and presents the same documentation with more
bells and whistles so it is easier to lookup and link sections and config
options.[1] 

The process of doing that was fun and I learnt how to write a simple
sphinx plugin, so yay! It treats the comments above each config option
in the ini file as it's doc and basically generates ReST text that it passes
to Sphinx to parse and convert to the markup format that you see in
browser. You can look at it in the source repo[2] . 

Do note that not all sections are documented yet, I am still figuring out what
would be a good way to document template sections like `[plugins.master]` 
and other similar sections of that kind.

[1]: 
https://gnu-mailman--667.org.readthedocs.build/projects/mailman/en/667/src/mailman/config/docs/config.html#configuration-options
 ((URL is for the PR,
the main doc seems like is serving the cached version from an older
build).
[2]: https://gitlab.com/mailman/mailman/-/blob/master/_ext/configplugin.py

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] django-mailman3 1.3.4 bugfix release

2020-06-05 Thread Abhilash Raj
Hey everyone,

There was a critical bug reported yesterday which would cause users to get 404 
pages instead of their list options page. Upon investigation, it was found that 
the bug was related to bumping of Mailman Core's API version to 3.1 in 
django-mailman3 1.3.3 release.

Because this bug can cause problems accessing several pages in web interface, 
we have a quick bugfix release for you.

If you have already upgraded to 1.3.3 and don't wish to do another 
upgrade/restart, you have an option to run the command below to avoid the bug:

   $ python manage.py clear_cache -a

This should invalidate the cache entries which cause the 404 bug.

The new release is available through PyPI at:

   https://pypi.org/project/django-mailman3/1.3.4/

The changelog is available at:

   https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst

Finally, as usual, you can update to the new release using pip:

  $ pip install django-mailman3==1.3.4


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: New releases

2020-06-02 Thread Abhilash Raj
On Tue, Jun 2, 2020, at 12:19 PM, Abhilash Raj wrote:
> Hi Everyone,
> 
> I am pleased to announce new stable releases for:
> 
> - Postorius: 1.3.3
>   Changelog: 
> https://docs.mailman3.org/projects/postorius/en/latest/news.html#id1
>   Download: https://pypi.org/project/postorius/1.3.3/
> - Hyperkitty: 1.3.3
>   Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#id1
>   Download: https://pypi.org/project/HyperKitty/1.3.3rc1/

This is a wrong URL and right one should be:

  Download: https://pypi.org/project/HyperKitty/1.3.3

Abhilash


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] New releases

2020-06-02 Thread Abhilash Raj
Hi Everyone,

I am pleased to announce new stable releases for:

- Postorius: 1.3.3
  Changelog: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#id1
  Download: https://pypi.org/project/postorius/1.3.3/
- Hyperkitty: 1.3.3
  Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#id1
  Download: https://pypi.org/project/HyperKitty/1.3.3rc1/
- Mailmanclient: 3.3.1
  Changelog: 
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#rc1-2020-05-09
  Download: https://pypi.org/project/mailmanclient/3.3.1/
- Django-mailman3: 1.3.3
  Changelog: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
  Download: https://pypi.org/project/django-mailman3/1.3.3

Python 3.6+ and Django 2.0+ is supported for all of them. Django 3.0 support 
for Hyperkitty requires manually upgrading a dependency 
(django-haystack>=3.0b2, once a stable version of this has been released, it 
shouldn't require manually upgrading).

There are tons of bug-fixes across the board and some new features. 

Biggest visible change is switch to Bootstrap 4, which has been long pending 
for us. Bootstrap 4 completely changes the CSS grid model using the new 
Flexbox. There might be some small changes or breakages when using on mobile. 
Please report such issues to us via Gitlab!

Some other notable changes are in Postorius, which includes many more list 
settings exposed include content filtering settings, bounce processing (which 
was added in the previous release of Mailman Core) settings and some other 
ones. Settings page is also slightly different with all the sections on the 
vertical menu on left instead of horizontal tabs. You can now also specify a 
reason when rejecting held messages.

There was also a gnarly bug, which caused the name of some members to be the 
string "None". For the longest time, I couldn't figure out the reason for it, 
but it ended up being a simple fix in mailmanclient's json serialization of 
display_name, which would result in Python's None value being passed as string 
"None" to Mailman's API for subscription.

There is also better support for filtering visible lists based on the current 
vhost, which I see a few people are already waiting for from mailman-users list.

A full changelog has been added to each project in the top.
-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: conversation about 2->3 upgrade path

2020-05-24 Thread Abhilash Raj


On Tue, May 19, 2020, at 6:18 PM, Sumana Harihareswara wrote:
> On 5/19/20 6:16 PM, Sumana Harihareswara wrote:
> > On 5/17/20 10:05 PM, Abhilash Raj wrote:
> >> On Sat, May 16, 2020, at 2:04 PM, Sumana Harihareswara wrote:
> >>> https://mastodon.technology/@brion/104152363969142016
> >>>
> >>> Hi folks - I figured you might want to know about this small Mastodon
> >>> conversation.
> >>
> >> Thanks for letting us know, Sumana! I am not on Mastodon, so probably 
> >> won't be able to reply there.
> >>> Seems like the world of folks who are currently using Mailman 2 lists
> >>> includes people who need:
> >>> * materials to help their sysadmins understand how and why to upgrade 
> >>> to 3
> >>
> >> We do have migration docs for system admins:
> >>     https://docs.mailman3.org/en/latest/migration.html
> >>
> >> Although, the current migration involves running a command for all the 
> >> lists one-by-one and then import the Archives separately. The process 
> >> could be made a bit better IMO, but I haven't had time to prioritize 
> >> the effort recently. Maybe I should pick up my WIP MR again[1].
> >>
> >> [1]: https://docs.mailman3.org/en/latest/migration.html
> >>
> >>> * major hosting companies like Dreamhost to start offering Mailman 3,
> >>> and an easy upgrade path
> >>
> >> I am happy to help any hosting companies to migrate their Mailman 2 
> >> users off to Mailman 3. I haven't had any previous conversations, but 
> >> was wondering if there are any representatives on this list to start 
> >> off a conversation perhaps?
> >>
> >> The process can be fairly easily automated I think.
> >>
> > 
> > 
> > Thanks! I replied to the thread and some conversation is continuing there.
> > -Sumana
> 
> One response in that thread:
> 
>  > to close the loop on the dreamhost bit, i got a response to the 
> effect that postorious doesn't expose enough settings via web UI, so 
> until the web configuration experience is workable for them dreamhost 
> won't be planning a migration.

All the useful ones are now exposed, pending one (emergency flag for 
MailingLists), which is also exposed in master branch but not released yet.

Unless they mean other "settings" of some sort, then they'd need to be a bit 
more specific since everything is a setting ;-).


> 
> -Sumana
>

-- 
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Postorius, Hyperkitty new release candidates

2020-05-24 Thread Abhilash Raj
Hey Everyone,

It turned out that we added a lot of bugfixes soon after the rc1 and so I am 
going to do another rc before the stable release.

 - Postorius: 1.3.3rc2
   Changelog: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#rc2
   Download: https://pypi.org/project/postorius/1.3.3rc2/
 - Hyperkitty: 1.3.3rc2
   Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#rc2
   Download: https://pypi.org/project/HyperKitty/1.3.3rc2/
 - Django-mailman3: 1.3.3rc2
   Changelog: 
https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
   Download: https://pypi.org/project/django-mailman3/1.3.3rc2/
 
The major changes between rc1 and rc2 are are mostly bugfixes.

One big cosmetic change is Settings page for List owners, which now has a 
vertical menu on the left instead of horizontal tabs. 

The major problem with horizontal tabs for settings was that we were running 
out of horizontal space in our page width, because of which we weren't able to 
separate out settings in as-many sections as wanted to. Bounce processing for 
example was a part of the "Member Policy" tab which included 
subscription/un-subscription policies. Now, we have a new section for "bounce 
processing" and flexibility to group other settings into a new section for 
better discovery of so many list settings.

Hopefully, this will be the last rc and I'll do a stable release next weekend!

Abhilash

On Sat, May 9, 2020, at 6:46 PM, Abhilash Raj wrote:
> Hi Everyone,
> 
> I am pleased to announce a couple of more releases:
> 
> - Postorius: 1.3.3rc1
>   Changelog: 
> https://docs.mailman3.org/projects/postorius/en/latest/news.html#rc1
>   Download: https://pypi.org/project/postorius/1.3.3rc1/
> - Hyperkitty: 1.3.3rc1
>   Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#rc1
>   Download: https://pypi.org/project/HyperKitty/1.3.3rc1/
> - Mailmanclient: 3.3.1rc1
>   Changelog: 
> https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#rc1-2020-05-09
>   Download: https://pypi.org/project/mailmanclient/3.3.1rc1/
> - Django-mailman3: 1.3.3rc1
>   Changelog: 
> https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
>   Download: https://pypi.org/project/django-mailman3/1.3.3rc1/
> 
> Python 3.6+ and Django 2.0+ is supported for all of them. Django 3.0 
> support for Hyperkitty requires manually upgrading a dependency 
> (django-haystack>=3.0b2, once a stable version of this has been 
> released, it shouldn't require manually upgrading).
> 
> There are tons of bug-fixes across the board and some new features. 
> 
> Biggest visible change is switch to Bootstrap 4, which has been long 
> pending for us. Bootstrap 4 completely changes the CSS grid model using 
> the new Flexbox. There might be some small changes or breakages when 
> using on mobile. Please report such issues to us via Gitlab!
> 
> Some other notable changes are in Postorius, which includes many more 
> list settings exposed include content filtering settings, bounce 
> processing (which was added in the previous release of Mailman Core) 
> settings and some other ones. You can now also specify a reason when 
> rejecting held messages.
> 
> There was also a gnarly bug, which caused the name of some members to 
> be the string "None". For the longest time, I couldn't figure out the 
> reason for it, but it ended up being a simple fix in mailmanclient's 
> json serialization of display_name, which would result in Python's None 
> value being passed as string "None" to Mailman's API for subscription.
> 
> There is also better support for filtering visible lists based on the 
> current vhost, which I see a few people are already waiting for from 
> mailman-users list.
> 
> A full changelog has been added to each project in the top. These are 
> still pre-releases and if you are installing via pip, you would need 
> the `--pre` flag, for e.g.
> 
> $ pip install --pre --upgrade postorius hyperkitty
> 
> As with all other releases, these have also been running on 
> mail.python.org and lists.mailman3.org for some time now, so it should 
> be relatively safe to upgrade to. Stable releases for this is now 
> scheduled in 1 week, hopefully, next weekend.
> 
> -- 
>   thanks,
>   Abhilash Raj (maxking)

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: conversation about 2->3 upgrade path

2020-05-17 Thread Abhilash Raj
On Sat, May 16, 2020, at 2:04 PM, Sumana Harihareswara wrote:
> https://mastodon.technology/@brion/104152363969142016
> 
> Hi folks - I figured you might want to know about this small Mastodon 
> conversation.

Thanks for letting us know, Sumana! I am not on Mastodon, so probably won't be 
able to reply there. 
 
> Seems like the world of folks who are currently using Mailman 2 lists 
> includes people who need:
> * materials to help their sysadmins understand how and why to upgrade to 3

We do have migration docs for system admins:
   https://docs.mailman3.org/en/latest/migration.html

Although, the current migration involves running a command for all the lists 
one-by-one and then import the Archives separately. The process could be made a 
bit better IMO, but I haven't had time to prioritize the effort recently. Maybe 
I should pick up my WIP MR again[1].

[1]: https://docs.mailman3.org/en/latest/migration.html

> * major hosting companies like Dreamhost to start offering Mailman 3, 
> and an easy upgrade path

I am happy to help any hosting companies to migrate their Mailman 2 users off 
to Mailman 3. I haven't had any previous conversations, but was wondering if 
there are any representatives on this list to start off a conversation perhaps?

The process can be fairly easily automated I think.

-- 
thanks,
Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Postorius, Hyperkitty new release candidates

2020-05-09 Thread Abhilash Raj
Hi Everyone,

I am pleased to announce a couple of more releases:

- Postorius: 1.3.3rc1
  Changelog: 
https://docs.mailman3.org/projects/postorius/en/latest/news.html#rc1
  Download: https://pypi.org/project/postorius/1.3.3rc1/
- Hyperkitty: 1.3.3rc1
  Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#rc1
  Download: https://pypi.org/project/HyperKitty/1.3.3rc1/
- Mailmanclient: 3.3.1rc1
  Changelog: 
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#rc1-2020-05-09
  Download: https://pypi.org/project/mailmanclient/3.3.1rc1/
- Django-mailman3: 1.3.3rc1
  Changelog: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
  Download: https://pypi.org/project/django-mailman3/1.3.3rc1/

Python 3.6+ and Django 2.0+ is supported for all of them. Django 3.0 support 
for Hyperkitty requires manually upgrading a dependency 
(django-haystack>=3.0b2, once a stable version of this has been released, it 
shouldn't require manually upgrading).

There are tons of bug-fixes across the board and some new features. 

Biggest visible change is switch to Bootstrap 4, which has been long pending 
for us. Bootstrap 4 completely changes the CSS grid model using the new 
Flexbox. There might be some small changes or breakages when using on mobile. 
Please report such issues to us via Gitlab!

Some other notable changes are in Postorius, which includes many more list 
settings exposed include content filtering settings, bounce processing (which 
was added in the previous release of Mailman Core) settings and some other 
ones. You can now also specify a reason when rejecting held messages.

There was also a gnarly bug, which caused the name of some members to be the 
string "None". For the longest time, I couldn't figure out the reason for it, 
but it ended up being a simple fix in mailmanclient's json serialization of 
display_name, which would result in Python's None value being passed as string 
"None" to Mailman's API for subscription.

There is also better support for filtering visible lists based on the current 
vhost, which I see a few people are already waiting for from mailman-users list.

A full changelog has been added to each project in the top. These are still 
pre-releases and if you are installing via pip, you would need the `--pre` 
flag, for e.g.

$ pip install --pre --upgrade postorius hyperkitty

As with all other releases, these have also been running on mail.python.org and 
lists.mailman3.org for some time now, so it should be relatively safe to 
upgrade to. Stable releases for this is now scheduled in 1 week, hopefully, 
next weekend.

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: RFC: Config complexity [was: I have issue where it does not send ...]

2020-05-02 Thread Abhilash Raj
On Fri, May 1, 2020, at 9:20 PM, Stephen J. Turnbull wrote:
> Moved from mailman-us...@mailman3.org.[1]
> 
> Mark Sapiro writes:
> 
>  > For what it's worth, The actual mail list management, i.e.
>  > receiving and delivering posts, only involves Mailman core and your
>  > mailman suite config file is only for Postorius and HyperKitty and
>  > doesn't affect Mailman core.
> 
> Aaargghh!  We should not be doing this to users.  If we're going to
> have a "mailman suite" project, there should be a single file for
> configuration of *all* installed components, at least for "vanilla"
> installations.  (It's bad enough that in many installations one has to
> configure the webserver three times, once in a front-end like Apache
> or nginx, once in a wsgi dispatcher like uWSGI, and once in Django.)

I wonder if an interactive setup wizard would be useful to help with such 
issues?

I have thought of being able to unify the configuration files, but except the 
email configuration, everything else seems to be separate for django and core. 
A couple of settings like API URL, user and password Postorius' own URL could 
be removed if we are add the ability of either component's to read other's 
configuration.

> 
> I understand that it may take a ton of work and backward
> incompatibility to implement this, or even make substantial progress,
> so (until I have time to do it myself) I'm not seriously suggesting
> it at this time.
> 
> It occurred to me that we could have a short comment at the top of
> every config file that lists all the config files and what they
> control, with one marked "(this file)".  Or something.  WDOT?

That is a good idea, except I don't know yet how to do that yet. Especially, 
settings.py is huge mess and is often the hardest for me to figure out a good 
story for. We should definitely add headers on top of each config file template 
with the details about them.

The fact that Django expects it's settings to be a "module" and not really a 
file system path makes things interesting. I did start working on mailman-web 
project to make things easier, especially, this[1] function & script. 

The idea is to get rid of django-admin and manage.py mess and just have a 
single mailman-web CLI which would be able to read the configs from 
`/etc/mailman3/settings.py` by just adding `/etc/mailman3` to `sys.path. 
Someday, I envision it to even provide uwsgi/gunicorn/some other WSGI (or even 
ASGI soon;) server so you could have something like `mailman-web start/stop` 
command which you could use as a systemd service like mailman core itself.

I do need to spend a bit more time on it to polish the solution. It is possibly 
something also which could read Mailman Core's configration and read the Email 
configs.

[1]: 
https://gitlab.com/mailman/mailman-web/-/blob/master/mailman_web/manage.py#L8

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: How to know the URLs for CURL while getting or modifying the data of mailman 3

2020-04-25 Thread Abhilash Raj
On Sat, Apr 25, 2020, at 9:12 AM, Mark Sapiro wrote:
> On 4/25/20 6:16 AM, Shashikanth Komandoor wrote:
> > Thank you for your response Stephen.
> > 
> > Thanks for giving the URL. I think you mean this one right
> > 
> > https://mailman.readthedocs.io/en/latest/src/mailman/rest/docs/rest.html
> > 
> > But that document contains the way to do through the python prompt (>>>)
> 
> 
> Where you see something like, e.g.,
> 
> >>> dump_json('http://localhost:9001/3.0/lists')
> 
> in the docs, translate that URL into
> 
> http://:8001/3.0/lists
> 
> for your curl command.

This is also documented now at 

  
https://mailman.readthedocs.io/en/latest/src/mailman/rest/docs/rest.html#helpers

Hopefully this will be more helpful.


> 
> -- 
> Mark Sapiro The highway is for gamblers,
> San Francisco Bay Area, Californiabetter use your sense - B. Dylan
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Question about REST API for Mailman 3

2020-04-24 Thread Abhilash Raj



On Fri, Apr 24, 2020, at 9:30 AM, Stephen J. Turnbull wrote:
> Shashikanth Komandoor writes:
> 
>  >   I am developing an application on which just clicking on submit
>  > with some input values loaded should invoke the REST API of Mailman 3
>  > running on another server and do some activities like adding of user(s) to
>  > a list or removal of user(s) from a list or so.
>  > 
>  >   Is it possible to do so ? If so, how ?
> 
> It's possible.  The REST API itself is documented here:
> 
> https://mailman.readthedocs.io/en/latest/src/mailman/rest/docs/rest.html
> 
> I haven't tried the examples with curl, but they probably should
> work; I don't think you need any special HTTP headers or anything like
> that.

Except for HTTP basic auth, which  you can usually just do with "--user" 
parameter in curl instead of creating the "Authorization" header and it's 
base64 encoded username password value yourself.

> 
> The "another server" part is possible, but a bad idea in production
> because the REST API is 100% not authenticated.  Security is
> maintained by running any applications that access the REST API on the
> same host.  If you really want to do this, it's explained in this
> thread:
> 
> https://lists.mailman3.org/archives/list/mailman-us...@mailman3.org/thread/M24EAWD7VK6PHDJVWI76XIXBI225FRF6/
> 
> Note that the context of this thread is a development environment and
> the idea is to restrict access to a small LAN.
> 
> Steve
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: MIME type filtering

2020-04-21 Thread Abhilash Raj


On Tue, Apr 21, 2020, at 2:17 AM, Mike Gabriel via Mailman-Developers wrote:
> Hi all,
> 
> a more general question... In Mailman2 one could filter MIME type 
> based on file suffix and/or MIME type name.
> 
> Is this possible already in Mailman3? How is that done? Or is it on 
> the feature wishlist still? Or just not configurable via Postorius?

That’s right, the settings aren’t exposed in the latest release of Postorius 
but it has already been added to the git master. Expect a new release in about 
3 weeks.

> Thanks for any sort of feedback,
> Mike
> -- 
> 
> DAS-NETZWERKTEAM
> c\o Technik- und Ökologiezentrum Eckernförde
> Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
> mobile: +49 (1520) 1976 148
> landline: +49 (4351) 850 8940
> 
> GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31
> mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de
> 
> 
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
> 

--
 thanks,
 Abhilash Raj (maxking)

___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.1 release

2020-04-19 Thread Abhilash Raj
Hey Everyone,

I am pleased to announce Mailman Core 3.3.1 is now out.

This release includes support for bounce processing, which had been lacking in 
Mailman 3 until now. So, after upgrading to this release, you will notice 
bounce related notifications from Mailman 3 being sent out to list owners if 
the list has bounce processing enabled (which, most list do by default). 

Postorius changes for new bounce processing options are coming out soon, I 
would like the current head to bake in a little longer since it went through 
bootstrap 4 upgrade recently. Expect it to be out in about a month. If your 
users would really care about bounce processing being enabled and not being 
able to tune threshold and notification parameters in the web interface, you 
might want to wait for Postorius's next release before upgrading.

It also exposes all the remaining attributes of MailingList via REST API, so 
Postorius can expose them in the Web Interface. This should finally make all 
attributes of a MailingList manageable via Web Interface, without having to 
access command line interface.

There has also been a whole lot of bug fixes. A full list of changes can be 
found at:

https://mailman.readthedocs.io/en/latest/src/mailman/docs/NEWS.html#id1

The release is available via PyPI:

https://pypi.org/project/mailman/3.3.1/

To install this release via pip, you can run:

$ pip install --upgrade mailman

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: italian translations

2020-04-13 Thread Abhilash Raj
On Mon, Apr 13, 2020, at 10:49 AM, Daniele Pizzolli wrote:
> 
> Daniele Pizzolli writes:
> 
> > Done, it seems that not everything (95% overall) was imported, but on my
> > side I have 100% (at least from 3 days ago).
> >
> > I will check it later why or tomorrow and report any issue!
> 
> Hello!
> 
> I do not know the details but the gnu gettext tools and weblate do
> something differently.  Maybe there is a option to force the same
> behavior?  To get the initial po for mailman I used the instruction in:
> 
> src/mailman/docs/internationalization.rst

I just updated it yesterday to use update-pot.sh

> 
> And translated everything.  And now, after the import, I see additional
> lines like:
> 
> msgid "list:admin:notice:subscribe.txt"
> msgstr ""
> 
> I guess that those lines are related to the messages in
> src/mailman/templates/en/*txt.

Right.

> 
> It seems that the weblate interface resolve in some way the reference
> and display the file content instead of the file name.  Maybe there is
> something magic happening?

Yes, there is ;-) 

So the issue I had was that these template files are .txt files and it is hard 
to signal GNU xgettext to add them to the po files. So, I read a bit more about 
translation guides and it turns out that msgid in .po files don't really have 
to be the source string, but only an identifier and by default the identifier 
is the english version.

So, I changed the identifier for only template files to be called the name of 
the text file. This worked well for the code. They are called "monolingual" po 
files and Weblate supports them. For helping translators, it will display 
original source string from a reference .po file, which in our case is the 
English version. 

   https://docs.weblate.org/en/latest/formats.html#bimono
   
This also remind me of a bug in update-pot.sh script, it doesn't add the right 
source strings in the English .po file. I'll file a bug for it. 

> 
> I see that there are other languages templates... so what the
> translation should be?  The translated string or the template file name
> containing the translation?  Why not use the {% trans %} in templates?

Translation should be the translated string, but the msgid would be the file 
name not the value. You can look at the English po file for reference.
 
> Ah, now I saw the update-pot.sh!  But something is still not clear to
> me.
> 
> Is there a way to get the file content as msgid or as comment to ease
> the offline translation?  Or can I simply add my translation in place in
> src/mailman/templates/it/ and make a pull request?

You can look at the English translation as a reference, same as Weblate. But I 
can also add the English text as comments in the po file if you feel that is 
easier for you. It just needs updating the simple update-pot.sh script that you 
saw already.

> Maybe just adding the template string to the po will streamline the
> interaction both with weblate and any offline tool while waiting for a
> long term solution. I may work on little patch if you agree.

> 
> Let me know your suggestion and then I will complete the translations!
> 
> Best,
> Daniele
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: italian translations

2020-04-10 Thread Abhilash Raj
 at least
> to explain what happened.  I will do it privately now, inviting him to
> join the list.
> 
> Before the overlap the step was simply to drop in my files, now maybe
> some merge step are required on weblate side. Hopefully weblate support
> something like overwrite/take the translation from PO.
> 
> Getting the translations from different path in the same time frame is
> very unlikely and having a conflict is quite remote in normal times.  I
> guess that the restriction to mobility that almost everybody suffer now
> made it more likely...
> 
> 
> Best,
> Daniele
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Core 3.3.1rc1 release

2020-04-10 Thread Abhilash Raj
Hey Everyone,

I have just released Mailman Core 3.3.1rc1. The final release is scheduled for 
next week, 17th April. 

This release includes support for bounce processing, which had been lacking in 
Mailman 3 until now. So, after upgrading to this release, you will notice 
bounce related notifications from Mailman 3 being sent out to list owners if 
the list has bounce processing enabled (which, most list do by default). 

Postorius changes for new bounce processing options are coming out soon, I 
would like the current head to bake in a little longer since it went through 
bootstrap 4 upgrade recently. Expect it to be out in about a month. If your 
users would really care about bounce processing being enabled and not being 
able to tune threshold and notification parameters in the web interface, you 
might want to wait for Postorius's next release before upgrading.

It also exposes all the remaining attributes of MailingList via REST API, so 
Postorius can expose them in the Web Interface. This should finally make all 
attributes of a MailingList manageable via Web Interface, without having to 
access command line interface.

There has also been a whole lot of bug fixes. A full list of changes can be 
found at:

https://mailman.readthedocs.io/en/latest/src/mailman/docs/NEWS.html#rc1

The release is available via PyPI:

https://pypi.org/project/mailman/3.3.1rc1/

To install this release via pip, you can run:

$ pip install --upgrade --pre mailman

Note the `--pre` flag because this is a pre-release.

If you can, I encourage you to try this out with your environment and report 
any major breakage to us. We have been running this code on the server hosting 
this list, so it has already seen some testing, but it is always nice to have 
some more.

If there aren't any major breaking changes reported, the final release will be 
identical to this one. 

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Rest API not returning members in alphabetical order

2020-04-01 Thread Abhilash Raj


On Wed, Apr 1, 2020, at 10:19 AM, Abhilash Raj wrote:
> On Wed, Apr 1, 2020, at 10:10 AM, Stephen J. Turnbull wrote:
> > Brian Carpenter writes:
> >  > On 4/1/20 9:22 AM, Stephen J. Turnbull wrote:
> > 
> >  > > Do you have the same version of the same DBMS backend in both?
> >  > > Same version of SQLAlchemy?
> >  > 
> >  > Alphabetically in regards to email address.
> > 
> > OK.  Thanks for confirming.
> > 
> > What REST endpoint are you using?  http://SERVER:PORT/3.1/members?
> > Or http://SERVER:PORT/3.1/lists/LIST-POST/roster/member?
> > (SERVER, PORT, and LIST-POST are specific to your installation.
> > SERVER:PORT is likely localhost:9001, and LIST-POST is the posting
> > address of the list being queried.)
> > 
> >  > We are using MySQL on the development server instead of Postgresql. We 
> >  > tried different versions of SQLAlchemy as well. Same results.
> > 
> > Do you mean you have MySQL on one server, and PostgreSQL on another,
> > and only one is misbehaving?  If so, which one?
> > 
> > At this point, I can't see anything wrong with the Mailman code.
> > Maybe somebody else will.
> 
> The relevant code is here[1], I think, I haven't dug deeper. The order 
> defined in the group is basically:
> 
>order = (Member.list_id, Address.email, Member.role)

it also seems like I may have mis-read the post. I was thinking only about the 
Find Member's API, but if the roster API is returning non-sorted list, I think 
I agree with Steve here, I don't see anything wrong in the Mailman code.

> 
> [1]: 
> https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/model/subscriptions.py#L79
> 
> Th
> > ___
> > Mailman-Developers mailing list -- mailman-developers@python.org
> > To unsubscribe send an email to mailman-developers-le...@python.org
> > https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> > Mailman FAQ: https://wiki.list.org/x/AgA3
> > 
> > Security Policy: https://wiki.list.org/x/QIA9
> >
> 
> -- 
>   thanks,
>   Abhilash Raj (maxking)

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Rest API not returning members in alphabetical order

2020-04-01 Thread Abhilash Raj
On Wed, Apr 1, 2020, at 10:10 AM, Stephen J. Turnbull wrote:
> Brian Carpenter writes:
>  > On 4/1/20 9:22 AM, Stephen J. Turnbull wrote:
> 
>  > > Do you have the same version of the same DBMS backend in both?
>  > > Same version of SQLAlchemy?
>  > 
>  > Alphabetically in regards to email address.
> 
> OK.  Thanks for confirming.
> 
> What REST endpoint are you using?  http://SERVER:PORT/3.1/members?
> Or http://SERVER:PORT/3.1/lists/LIST-POST/roster/member?
> (SERVER, PORT, and LIST-POST are specific to your installation.
> SERVER:PORT is likely localhost:9001, and LIST-POST is the posting
> address of the list being queried.)
> 
>  > We are using MySQL on the development server instead of Postgresql. We 
>  > tried different versions of SQLAlchemy as well. Same results.
> 
> Do you mean you have MySQL on one server, and PostgreSQL on another,
> and only one is misbehaving?  If so, which one?
> 
> At this point, I can't see anything wrong with the Mailman code.
> Maybe somebody else will.

The relevant code is here[1], I think, I haven't dug deeper. The order defined 
in the group is basically:

   order = (Member.list_id, Address.email, Member.role)


[1]: 
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/model/subscriptions.py#L79

Th
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Question regarding Indexting

2020-03-16 Thread Abhilash Raj



On Mon, Mar 16, 2020, at 2:28 PM, brian_carpen...@emwd.com wrote:
> I have some questions about MM3 Indexing. I am using Xapian as the 
> search engine.
> 
> 1. I first tested it on a small archive of 3 messages:
> 
> /opt/mailman/mm/bin/django-admin update_index_one_list 
> t...@subdomain-lists.com
> 
> It said "Indexing 3 emails". I assume that is good and then it stopped. 
> No success message at all. Is that normal? I reran the above line and 
> it said "Indexing 3 emails again. Is that normal behavior as well?

That is the normal behavior, no error implies success, but a success message 
might be worth adding I suppose.

There are two commands, 
- `update_index`: This is meant for cron job and by default indexes only the 
new emails since the last indexing operation.
- `update_index_one_list`: This is meant for manual run after you import 
archives a list to Hyperkitty and indexes all the emails.

The calls to `update_index_one_list` are sort of idempotent and will do the 
same operation every time. Hence the output is same each time you run it.

The calls to `update_index` depends on the number of new emails received since 
last run.

> 
> 2. In the fulltext_index folder is a lot of .seg files and other file 
> types as well such as .glass. What are these files/folders in the 
> fulltext_index folder?
> 

Not sure, custom Xapian files I presume. The format of the fulltext index is 
more or less Opaque. We interact with it only through the Python APIs and the 
folder is mostly under the control of the Xapian library. Or whatever indexing 
library HK is configured to use.

> Sorry for these questions. I am trying to learn some of the additional 
> features of Mailman and am looking in detail at the search indexing. I 
> have a client who is bringing over a large mbox file of archives dating 
> back to 2006.
> 
> Thanks,
> Brian
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Some questions for the Domains page

2020-03-16 Thread Abhilash Raj
On Mon, Mar 16, 2020, at 11:19 AM, brian_carpen...@emwd.com wrote:
> I have some questions for the Domains page of Postorius.
> 
> 1. What intended audience is this page for? The server owner?

Yes, server owner a.k.a Super User in Django.

> 2. This brings up a follow up question. We have list owners, list 
> members, and list users. What is the title for the superuser account 
> that has the permissions to add/remove domains via Postorius?

In terms of Core, we have:
- Site (Server) Owner (full management capability, Superuser in Django)
- Domain Owner (management of domain and all underlying lists, not implemented 
at all in Postorius)
- List owner (Access to List settings, List Owner in Postorius)

Domain owner permissions are not implemented in Postorius, so for now, only 
Superusers are able to manage even domain related settings.

List of domains is also something not publicly visible AFAIK to non-superusers. 

> 3. What scenario would make someone want to add a description for a Domain?

For server owner to keep track of them, just like Mailinglist's have small 
description.

> 
> 4. Since templates can be added on a per domain basis, does that mean 
> that domain template is applied to any list that is created under that 
> domain name? Does it override list templates?

More specific targets override less specific ones. The order is:

- Site (server)
- Domain
- List

The details of this are documented here: 
https://mailman.readthedocs.io/en/latest/build/lib/mailman/rest/docs/templates.html#template-contexts


> 
> 5. What is the purpose to have multiple owners for Domains? Does this 
> allow a list owner to access the domains page and edit/create templates 
> for their list domain?

Ideally, yes. As I mentioned above, this hasn't been implemented in Postorius 
to give full access to the domain owners to allow them to edit/create 
templates. There aren't any domain level settings just yet, but it would be the 
place for it.

> 
> Thanks,
> Brian
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: New Admin Interface for Mailman 3

2020-03-05 Thread Abhilash Raj
On Sun, Mar 1, 2020, at 4:37 PM, brian_carpen...@emwd.com wrote:
> Hello everyone.
> 
> I have been a long time supporter of Mailman 2 and now 3. Most of my 
> experience with Mailman has been as a service provider that offers 
> managed mailman hosting both for version 2 and 3. I do have the benefit 
> of a decade+ of insight into the use of Mailman from a list admin, 
> moderator, and member point of view simply via my support ticket system 
> that my Mailman clients have access to.
> 
> I want to say that I appreciate all of the hard work that has been put 
> into bringing Mailman 3 to life. I also appreciate the forward thinking 
> that shows itself in the including of a REST api with Mailman 3 and the 
> use of and support of databases such as postgreSQL and MySQL.
> 
> I have been using Mailman 3 for over a year now in a 
> commercial/production environment and have installed it on several 
> servers using Docker and now from source. I received quite a bit of 
> feedback from users this past year and also lost about 20% of my 
> Mailman 3 users to other competing list/forum applications. The 
> feedback I received was almost entirely due to shortcomings in the user 
> interface.
> 
> After much thought, I have decided to break away from the use of 
> Postorius/Hyperkitty. Tomorrow a PHP developer will begin work on brand 
> new admin interface on my behalf. Here are my goals:
> 
> 1. Modernize the admin interface to meet modern design and interface 
> standards.
> 
> 2. To provide an easy installation approach to the setup and 
> portability of the admin interface.
> 
> 3. To reveal everything that Mailman core has via the new admin 
> interface and perhaps to bring in additional features such as the 
> ability to migrate a Mailman 2 list into a Mailman 3 list from a 
> browser interface.
> 
> 4. To bring in the use of stats that a list admin would like to see 
> such as overall number of list members, which list is generating the 
> most bounces, subscription/unsubscription rates, etc.
> 
> 5. To provide a list creation wizard for list admins that will 
> automatically create a list that has preset settings in place based 
> upon the input during the list creation wizard. 
> 
> I am sure there are many hurdles to overcome in the process. When the 
> inevitable questions arises that pertain anything to the Mailman side 
> of this project, I hope I can count on this list for assistance. I am 
> also interested in seeing if I can recruit some of you to test out the 
> new admin interface for usability testing when I reach that stage. I am 
> interested to find out if some of you that have enough experience in 
> PHP to help contribute to this project. Bootstrap 4 and User Interface 
> design skills would also be appreciated.
> 
> The name of the new admin interface: Affinity
> 
> Wish me well with this new project and let me know on or off list of 
> anything that you would like to see change, removed, implemented into a 
> new admin interface.
> 

All the best! I really like the idea of having more than one option for
users to choose from in terms of UI. It would truly make the Mailman Core's
API efforts justified :)

I've been quite out-of-sync with opensource work in past few months and my
responses are often delayed. Do add me to To:, Cc: if it is something urgent
that you'd like me response on though.

Finally, I do want to mention that the REST API is extensible. So, if you 
need changes/additional details from the Core, we should be able to flush
out the design and work on that.

> Brian
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: New Admin Interface for Mailman 3

2020-03-05 Thread Abhilash Raj



On Mon, Mar 2, 2020, at 12:14 AM, Stephen J. Turnbull wrote:
> brian_carpen...@emwd.com writes:
> 
>  > After much thought, I have decided to break away from the use of
>  > Postorius/Hyperkitty. Tomorrow a PHP developer will begin work on
>  > brand new admin interface on my behalf. Here are my goals:
> 
> I do have some comments. :-)
> 
> Before any details, I'll say the core developers applaud this effort.
> Though we'd like to think Postorius and HyperKitty are great as far as
> they go, we've always believed that there are many uses cases for
> Mailman they can't serve well.  That includes but is not limited to
> close integration with integrated platforms such as cPanel and
> ticketing systems.
> 
>  > 2. To provide an easy installation approach to the setup and
>  >portability of the admin interface.
> 
> This is likely to limit the use cases.  I encourage you to think
> carefully about that, and to prioritize the cases you know very well,
> such as the needs of hosting service administrators.  I won't be
> surprised if you make a lot of ordinary users (subscribers) happy too,
> but don't get overambitious.
> 
>  > 3. To reveal everything that Mailman core has via the new admin
>  >interface
> 
> I myself am not sure why, but Barry has stated that it's hard to do
> this, at least in the face of current pace of development of Mailman 3
> core.  I love Barry and deeply respect his judgment, but I find the
> idea itself offensive :-), so dealing with it on the core side is on
> my own TODO list.  Let's cooperate!
> 
>  >and perhaps to bring in additional features such as the ability
>  >to migrate a Mailman 2 list into a Mailman 3 list from a browser
>  >interface.
> 
> This is already possible in Postorius and HyperKitty for
> "well-behaved" Mailman 2 lists.  Unfortunately I don't have a
> definition of "well-behaved" (yet, and I don't think it's easy to
> do). :-/  OTOH, from our point of view, this is a site administrator
> decision, so doing the conversion at Mailman 3 installation time and
> the site administrator's convenience is the logical process.
> 
> Do you have a specific use case for this?  Do you have users (list
> administrators or virtual domain administrators) who want to try
> Mailman 3 lists but continue some of their lists with Mailman 2?  (I
> still think this is unlikely to be something core development would
> prioritize, but I'd like to have real data about it.)
> 
>  > 4. To bring in the use of stats that a list admin would like to see
>  >such as overall number of list members, which list is generating
>  >the most bounces, subscription/unsubscription rates, etc.
> 
> These are surely going to require core-side features.  Speaking for
> myself, they are desirable features, and I'm pretty sure the core
> developers will agree.
> 
> These features (and more) are already implemented in the Systers forks
> of Mailman.  I can introduce some of their developers (if interested,
> let's talk off-list, I don't have names and contacts off-hand).
> 
>  > 5. To provide a list creation wizard for list admins that will
>  >automatically create a list that has preset settings in place
>  >based upon the input during the list creation wizard.
> 
> Again, this is going to require cooperation from core.  We have a
> feature called "list templates" for Mailman 3 in core, which we intend
> to expose fully in Postorius and populate with common templates.  Ask
> Abhilash, who knows it best I think.
> 


IIUC, what Brian needs is basically an ability to create "List Styles" in
the web ui instead of having to make a code change for that purpose. 

Templates are mostly meant for emails sent out via Mailman in response to
various events.


>  > The name of the new admin interface: Affinity
> 
> "Affinity for Mailman [3]".  I like it!
> 
> Steve
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: where to configure max_days_to_hold on MM3 GUI interface?

2020-01-29 Thread Abhilash Raj



On Wed, Jan 29, 2020, at 9:44 AM, Mark Sapiro wrote:
> Please don't post the same question to both 
> mailman-developers@python.org and mailman-us...@mailman3.org. Pick the 
> one list you think is appropriate and post only there.

Also, I do check both the lists and have appropriate filters for them. Please 
don't add me in the To: directly ;)

> 
> -- 
> Mark Sapiro The highway is for gamblers,
> San Francisco Bay Area, Californiabetter use your sense - B. Dylan
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Another set of new releases

2020-01-12 Thread Abhilash Raj
Hi Everyone,

Hope everyone had a great weekend!

I am pleased to announce new set of releases:

  - Postorius 1.3.2
  - Django-mailman3 1.3.2
  - Hyperkitty 1.3.2

This release was required as it turned out 1.3.1 releases did not includes 
translations in the tarballs that I created and uploaded to PyPI. They do 
include a couple of bugfixes and more translations.

  - Hyperkitty (https://hyperkitty.readthedocs.io/en/latest/news.html#id1)
  - Postorius (https://postorius.readthedocs.io/en/latest/news.html#id1)

All three of these releases also officially drop support for Django 1.11. 
Although, there hasn't been any code change that breaks compatibility with 
1.11. It has just been dropped form our CI machinery since our dependencies no 
longer support 1.11. 

All the releases are available on PyPI, as usual!


-- 
Thanks
Abhilash Raj
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Mail not being delivered

2020-01-01 Thread Abhilash Raj



On Wed, Jan 1, 2020, at 8:38 AM, Mark Sapiro wrote:
> On 1/1/20 8:09 AM, ritwik p wrote:
> > 
> > A doubt though:
> > I set-ed my list's `unsubscription_policy` to `confirm_then_moderate` and 
> > it showed : . What does "3" 
> > mean (same thing for ) ? is it option number?
> 
> 
> SubscriptionPolicy is an enum. enums have names and numeric values. Look
> at the definition.
> 
> 
> > Also, I think the docs need to be updated, as when i set-ed my list's 
> > `unsubscription_policy` to `confirm_then_moderate` in the mailman shell and 
> > exited the shell, it reverted back to `confirm` and it took me quite some 
> > time to figure out the command `commit()` to keep the mentioned change.
> 
> 
> In mailman shell everything you change is part of a transaction. At any
> point you can commit() to commit the transaction or abort() to abort it.
> exit() will exit without committing, but control-D will do an implicit
> commit upon exit.

I think it would be good to print this information in the banner when Mailman 
shell starts up. I have created https://gitlab.com/mailman/mailman/issues/658 
for this. 

> 
> -- 
> Mark Sapiro The highway is for gamblers,
> San Francisco Bay Area, Californiabetter use your sense - B. Dylan
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Weekend releases

2019-12-08 Thread Abhilash Raj
Hi Everyone,

Hope everyone had a great weekend!

I am pleased to announce new set of releases:

  - Postorius 1.3.1
  - Django-mailman3 1.3.1
  - Hyperkitty 1.3.1

These are all bugfix releases and include several fixes each. The full 
changelogs are available at:

  - Hyperkitty (https://hyperkitty.readthedocs.io/en/latest/news.html#id1)
  - Postorius (https://postorius.readthedocs.io/en/latest/news.html#id1)


Most notable fixes include a fix for PostgeSQL support in Hyperkitty, ability 
to delete a MailingList in Hyperkitty and list settings changes are immediately 
reflected in Hyperkitty (like making a List private).

It also includes support for Python 3.8 and Django 3.0 in Postorius and 
Django-maialman3. Hyperkitty doesn't yet support either of them due to some 
dependencies not yet supporting Django 3.0 and a bug in Python 3.8.0 causing a 
test case failure[1]. I hope that we are able to support the latest and 
greatest as soon as possible, I am excited to be able to play with Django's 
aync capabilities.

Finally, since our i18n workflow has been setup, we have lots of new 
translations coming in. This release also includes more parts of Postorius 
being translatable, including section headers. I am really happy to see Mailman 
3 move closer to Mailman 2 in terms of i18n. If you want to help us improve the 
coverage, head on to Weblate[2].

All the releases are available on PyPI, as usual!


[1] Fun Fact: The bug was due to a code that I contributed ;-). It is now fixed 
and will be soon out with Python 3.8.1 sometime this month. 

[2] https://hosted.weblate.org/projects/gnu-mailman/
-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: [Mailman-i18n] Mailman 3 Internationalization setup

2019-10-17 Thread Abhilash Raj


On Thu, Oct 17, 2019, at 6:55 AM, Rémi Oudin wrote:
> Hi!
> 
> It seems that the projects are not public anymore.
> Should we ask you to give us access for the translations?

It should be, I haven't changed anything in past few days. What makes you think 
they aren't public? Are you not able to visit their page?

Just as side note, the URL for Postorius is now changed to 

https://hosted.weblate.org/projects/gnu-mailman/postorius/

Everything else is same.

> 
> Cheers,
> -- 
> Guinness
> 
> Attachments:
> * signature.asc

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Improving the speed of mailman import21

2019-10-07 Thread Abhilash Raj



On Mon, Oct 7, 2019, at 5:37 PM, Mark Sapiro wrote:
> On 10/6/19 10:11 AM, Abhilash Raj wrote:
> > 
> > I am hoping that I can commit the change with the commented out code, 
> > unless I am reminded of a use for the passwords in Core's database. Then, 
> > it might be a bit more of work trying to figure out another way to improve 
> > the speed.
> 
> 
> I'm not at all sure what's actually implemented, but there is a feature
> for pre-approving a post with an Approved: header with a password. This
> is also supposed to work to approve held posts, but approving/discarding
> held posts by email is broken anyway[1].
> 
> Lists have a moderator_password attribute which is an encrypted version
> of a plain text password that can be used for this purpose, but the
> original intent IIRC was that this could be the password of the user
> sending the mail and would be accepted if the user was an owner or
> moderator. As I said, I'm not sure (don't think) this is implemented,
> and a much better approach is to abandon the Approved: header in favor
> of a pgp signature from an owner/moderator.

That's correct, it does seem to be implemented today but using the moderator 
password. 

I agree that it is better implemented using gpg signatures instead of passwords.

> 
> The other possible use for this password is if a user imported by
> import21 wants to authenticate to Django, she might be able to use this
> password. I don't think that's the case now.

I don't think we should be doing this, it is better than the migration allows 
for a new more secure password than re-using old ones, which have been sent out 
over email in past.

It is tricky how multiple-password world get translated to single-password 
world, it makes the final password somewhat non-deterministic, depending on 
what the last mailing list imported was, which does not sound right anyway.


> 
> -- 
> Mark Sapiro The highway is for gamblers,
> San Francisco Bay Area, Californiabetter use your sense - B. Dylan
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman 3 Internationalization setup

2019-10-07 Thread Abhilash Raj
Hi All,

Mailman 3 is now setup for continuous internationalization. We are using Hosted 
Weblate[1], which is the hosted service for the Weblate project[2]. It is 
actually quite nice and I've been learning how to properly document a Django 
project from it's documentation.

Which brings me to it's documentation. Weblate has great documentation for 
translators[2]. The UI pretty simple and should be easy to navigate around.

We have setup the workflow in a way that each commit in Gitlab generates a 
webhook and updates Weblate. Weblate is then able to pull all the changes in 
real time. To pull translations back into Gitlab, I have a custom script 
running every night that pulls translations (as commits) and generates pull 
requests against the upstream repos.

Weblate has the ability to automatically push the translations back, but for 
security reasons, I didn't want to give a 3rd party service direct push access 
to our repos. I've been working on a Patch to Weblate[3], which would allow it 
to send translations as Merge Requests (as compared to direct-push). After it 
is merged and deployed at hosted.weblate.org, I hope I can retire my custom 
script.

We have setup the following projects:

- Mailman Core (https://hosted.weblate.org/projects/gnu-mailman/mailman/)
- Postorius* (https://hosted.weblate.org/projects/gnu-mailman/translations/) 
- Hyperkitty (https://hosted.weblate.org/projects/gnu-mailman/hyperkitty/)
- Django-mailman3 
(https://hosted.weblate.org/projects/gnu-mailman/django-mailman3/)


There should be empty .po files generated for most languages supported by 
Django and Mailman Core. If there are any questions or bugs related to source 
strings, please send out an email to mailman-developers@python.org.

The current translation %age is pretty low, hopefully we'll be ale to get it 
close to Mailman 2 sometime soon :)


[1]: https://hosted.weblate.org/projects/gnu-mailman/
[2]: https://docs.weblate.org/en/latest/user/translating.html
[3]: https://github.com/WeblateOrg/weblate/pull/3024


[*] Yeah, the URL for Postorius is a bit weird, because it was called 
"translations" before. At the time, I didn't know the difference between a 
project and a translation component in Weblate terminologies. And they don't 
give out permissions to change the URL, so we're maybe stuck with it.

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Improving the speed of mailman import21

2019-10-06 Thread Abhilash Raj
On Sun, Oct 6, 2019, at 8:24 PM, Stephen J. Turnbull wrote:
> Abhilash Raj writes:
> 
>  > 90% of the time is spent trying to encrypt user passwords, for each
>  > of the imported member. Well, duh, encryption is an expensive
>  > operation and when you do that once per-imported member, it is
>  > definitely going to be slow.
> 
> Why are we storing unencrypted passwords at all?  Passwords are pretty
> low-security in any case, but this is asking for trouble.

We store un-encrypted passwords in Mailman 2.1. Today, they are encrypted when 
we import lists to Mailman 3. Although, the process is a bit weird because 
previously it used to be one password per user-mailinglist pair in 2.1. Now, 
since we store passwords for "User" (instead of user-mailinglinst pair, a.k.a 
"Member"), each new imported list overrides every user's password with the one 
set for that specific list in Mailman 2.1.

If these passwords are being used somewhere, I am sure it is already in a 
broken state  ;).

> 
>  > Although, another interesting fact is the user passwords are kind
>  > of useless in Mailman 3. In Mailman 2 you had to setup a password
>  > or one was auto-generated for you per-list and you needed that to
>  > login to the web ui. However, in Mailman 3, the passwords (in
>  > Core's database) aren't used for logging in since Web Frontend
>  > stores the authentication tokens (social auth or passwords). In
>  > fact, the users who sign up first time on Mailman 3 probably don't
>  > ever have a password set in Mailman Core's database.
> 
> I'll trust you on that.  Although it suggests the question, if nobody
> has a password, why does it take so much time to encrypt no passwords?

It is mostly when importing lists from 2.1 that it takes time to encrypt. In 
2.1, everyone has to have a password to get access to web ui, either manually 
setup or auto generated.

> 
>  > So, I commented out the code that actually imports the
>  > password(src/mailman/utilities/importer.py#L663-664)
> 
> I'm happy with this.  This is a major breaking change *if* anyone is
> using core passwords which they probably aren't, but it deserves
> flashing lights and sirens in the release announcements.

Yep, I'll make a note of that and make sure to add it to release announcement.

Although, this shouldn't be a breaking change for anyone using the Core 
passwords. It would only affect people porting lists over from Mailman 2.1 and 
hoping that the password for their last imported list would work for the Users, 
which is already going to be difficult for them.

> 
> Steve
> 
> -- 
> Associate Professor  Division of Policy and Planning Science
> http://turnbull.sk.tsukuba.ac.jp/ Faculty of Systems and Information
> Email: turnb...@sk.tsukuba.ac.jp   University of Tsukuba
> Tel: 029-853-5175 Tennodai 1-1-1, Tsukuba 305-8573 JAPAN
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman 3 installation documentation

2019-10-06 Thread Abhilash Raj
Hi All,

I have been trying to work on revamping the documentation site we have at 
https://docs.mailman3.org. It is on https:// but I am not sure why the 
http->https redirect doesn't work in Readthedocs. I have set it to "serve 
always from https".

Anyway, it might not look too different right now, but there are some small 
re-organizations. I have been learning some new ReST and Sphinx tricks and been 
trying to cross-reference and link various sections and settings. The docs site 
shows up Mailman's logo now (I didn't even know we could do that ;-).

There is a place[1] for all supported Django settings that Postorius and 
Hyperkitty have. I am also planning to add some common Django settings that 
often people have to lookup and is not fun for people from non-python 
backgrounds. Hopefully, it will make lives easier for administrators.

I have reverted my own stupid decision to use "sudo pip3 install" in the docs 
to instead use virtualenv. The installation docs are going to grow to be more 
comprehensive.

I am also working on mailman-web project[3], which should simply installation 
process for all the web components using a single project and provide better 
guidance on Django's settings file management and howto run manage.py commands. 

I have added a `mailman-web` command, which, for those of you familiar with 
internal details of Django, is going to be our custom manage.py script. It sets 
up settings correctly and would hopefully reduce the pain of using 
`django-admin` and/or finding out the right path for `manage.py` script. It is 
still not ready for prime time, but it is usable. Early adopters can play with 
it if they like!


I would really appreciate if people who have tried to manually install Mailman 
3 in the past would share their experiences about what they think could be 
documented better. You can reply here or open an issue[2].

The user documentation are going to follow, hopefully soon :)


[1]: 
https://docs.mailman3.org/en/latest/config-web.html#configure-postorius-hyperkitty
[2]: https://gitlab.com/mailman/mailman-suite-doc/issues
[3]: https://gitlab.com/mailman/mailman-web

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Improving the speed of mailman import21

2019-10-06 Thread Abhilash Raj
Hi All,

This morning, I set out to improve the performance of "mailman import21" 
command. If you have used it in the past, you will know that it is slow. Until 
now, I never had an idea about why? Here were my ideas:

- Too many database calls and sqlite3 being the usual self
  
  Although, I forgot that it is slow irrespective of the database 
  backend. Maybe we are doing way too many queries?

- Too many string comparisons

  We all know string comparisons are slow, but how slow could they be?

- Something wasteful being done over and over again.


Here is a rough estimate of the time it takes to import mailman2.1's config.pck 
for two lists:

 151 members: 58 seconds
1429 members: 9 minutes

This is quote slow, 9 minutes is a lot. So, I set out to do the usual python 
profiling using the standard library `cProfile` module and only wrapped it 
around `mailman.utilities.importers._import_roster`. That method is the slowest 
one since if you have run the the command, you know it takes the maximum amount 
of time importing the list of members.

Without even looking at the entire output, the problem was apparent and none of 
the ones that I guessed before:


   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
10.0090.009   50.692   50.692 
/home/maxking/Documents/mm3/core/src/mailman/utilities/importer.py:600(_import_roster)
  1510.0010.000   45.6910.303 
/home/maxking/Documents/mm3/core/src/mailman/utilities/passwords.py:35(encrypt)


90% of the time is spent trying to encrypt user passwords, for each of the 
imported member. Well, duh, encryption is an expensive operation and when you 
do that once per-imported member, it is definitely going to be slow.

Mailman 3 uses passlib[1] for crypto and so I set out to figure out if there is 
a hashing algorithm which can do this much faster and perhaps has a C library 
wrapper that we can use to speed things up. I settled on argon2 cipher with a 
supporting library argon2_cffi. Then I changed the config and tried the imports 
again:


151 members: 15.884 seconds
   1429 memebrs: 2minutes 29 seconds

   
That was a significant improvement over the previous numbers. 

Although, another interesting fact is the user passwords are kind of useless in 
Mailman 3. In Mailman 2 you had to setup a password or one was auto-generated 
for you per-list and you needed that to login to the web ui. However, in 
Mailman 3, the passwords (in Core's database) aren't used for logging in since 
Web Frontend stores the authentication tokens (social auth or passwords). In 
fact, the users who sign up first time on Mailman 3 probably don't ever have a 
password set in Mailman Core's database.

So, I commented out the code that actually imports the 
password(src/mailman/utilities/importer.py#L663-664) and the import speed 
improved even more, obviously:


151 members: 4 seconds
   1429 members: 57 seconds

I am hoping that I can commit the change with the commented out code, unless I 
am reminded of a use for the passwords in Core's database. Then, it might be a 
bit more of work trying to figure out another way to improve the speed.

Thanks for reading up!


[1]: 
https://passlib.readthedocs.io/en/stable/narr/quickstart.html#making-a-decision


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Umbrella Settings

2019-09-30 Thread Abhilash Raj
On Sun, Sep 29, 2019, at 11:25 PM, sandeep kumar wrote:
> Hi Team
> 
> I just want to know whether the umbrella list option is enabled in Maiman 3
> or not.
> I have seen in the below link that umbrella list options are going to be
> replaced with new ones.
> 
> https://www.gnu.org/software/mailman/mailman-admin/node12.html
> 
> Is there any alternative for using this setting in MM3.

No, there aren't any plans or a replacement yet in Mailman3.

> -- 
> Regards
> Sandeep Kumar
> +91-9642669192
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Can we disable archiving by default

2019-09-19 Thread Abhilash Raj



On Thu, Sep 19, 2019, at 7:27 PM, sandeep kumar wrote:
> Hi
> 
> I mean while creating a new list I can see three options like announce 
> this list, private archives, public archives, all these options do is 
> making archives public and private. But what I required is making this 
> list as "Do not archive this list" by default for every list while 
> creating the list.

Not yet, these options are called "Styles" in Mailman terminology, and there
aren't any styles that have archiving disabled by default.

I don't mind adding one though, can you open an issue on Gitlab?


https://gitlab.com/mailman/mailman/issues



> 
> Is there any option to do this...??
> 
> Regards
> Sandeep
> 
> Sent from my iPhone
> 
> > On 19-Sep-2019, at 10:05 PM, Stephen J. Turnbull 
> >  wrote:
> > 
> > sandeep kumar writes:
> > 
> >> I tried many options but I am not able to do so.
> > 
> > It helps if you tell us what you tried and didn't work.
> > 
> > As far as timing goes, cron is your friend.  It should be possible to
> > curl or the mailman command interface to access the REST interface to
> > enable and disable archives.
> > 
> > Steve
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Unable to see the content in attachment of archives

2019-09-16 Thread Abhilash Raj
On Mon, Sep 16, 2019, at 6:01 AM, sandeep kumar wrote:
> Hi Team
> 
> We are unable to see the content of the downloaded attachment (say pdf )
> from hyperkitty archiver.
> 
> On opening a pdf it is displaying like it was sent like email attachment
> and was not correctly decoded.
> 
> Please help and the issue is same for all type of files

If you are using postgresql database, this seems to be related to 
https://gitlab.com/mailman/hyperkitty/issues/247 and was fixed 2 days ago.


> 
> -- 
> Regards
> Sandeep Kumar
> +91-9642669192
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Global settings on user mailman settings not working

2019-09-05 Thread Abhilash Raj
On Thu, Sep 5, 2019, at 9:51 AM, sandeep kumar wrote:
> Hi
> 
> I have observed that the mailman global settings of a owner in 
> postorius is not updating when a change is made and saved.

Do you mean the owner of a MailingList? Or do you mean a user?

> 
> It is reverting to its original state after a change has been made. In 
> subscribe policy tab even the owner is subscribed it shows that you are 
> not subscribed.

Subscribe Policy page doesn't show who is subscribed, it is inside list's
settings page. Do you mean Users -> Members page, where all the subscribed
members are listed?

What do you mean when you say "change has been made"? Did you unsubscribe
the user?

> 
> Is this a known issue..?or Am I doing something wrong..?
> 
> Regards
> Sandeep

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Mailman Suite release announcement

2019-09-04 Thread Abhilash Raj
Hi All,

I am pleased to announce new releases for Mailman Suite, including

   - Mailman Core 3.3.0 (Tom Swayer)
   - Mailmanclient 3.3.0
   - django-mailman3 1.3.0
   - Postorius 1.3.0
   - Hyperkitty 1.3.0

This is a feature release and also includes a bunch of bugfixes. I am really 
really thankful to a lot of contributors who have helped out with this release. 

It is really nice to see Mailman 3 gaining more users and contributors.

Python 3.5 is the minimum supported version, but all the releases have been 
tested to work with Python 3.5-3.7. This is the last release to support Python 
3.5 since it has been in security only maintenance mode for a while now.

Some of the highlights of this release includes:

Mailman Core 3.3.0

- Support for ARC signing. Thanks to Gene Shuman and Stephen Turnbull.
- Many many improvements to "mailman import21" command. Thanks to Mark Sapiro.
- Addition of French templates. Thanks to Stéphane Parunakian.
- A better and more scalable REST API server using Gunicorn.
- Support for SMTPS/STARTTLS. Thanks to J08ny.

A full copy of change log is available at:

https://mailman.readthedocs.io/en/latest/src/mailman/docs/NEWS.html


Postorius 1.3.0

- Many more settings for MailingList configuration exposed, including 
  preferred language, digest related settings.
- Support for FILTER_VHOST to filter MailingLists based on the serving
  domain. Thanks to Nate Coraor.
- Ability to write MailingList info in Markdown to render info in HTML
  instead of Plaintext. 

A full copy of change log is available at:

https://postorius.readthedocs.io/en/latest/news.html


Hyperkitty 1.3.0

- Unread messages, when logged in, are more easily recognizable with
  blue envelope icon.
- Improved thread view with colored background for quoted parts of
  messages.
- Improved readability on small screens by removing the indentation
  in thread view.

A full copy of the change log is available at:

   https://hyperkitty.readthedocs.io/en/latest/news.html


All the packages are available to download from PyPi (https://pypi.org).

https://pypi.org/project/postorius/
https://pypi.org/project/hyperkitty/
https://pypi.org/project/django-mailman3/
https://pypi.org/project/mailman/
https://pypi.org/project/mailmanclient/


-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Issues with archiving

2019-09-04 Thread Abhilash Raj
On Wed, Sep 4, 2019, at 2:39 AM, sandeep kumar wrote:
> Hi Abhilash
> 
> We are using below version
> 
> Mailman Core Version
> GNU Mailman 3.2.3 (La Villa Strangiato)
> Mailman Core API Version
> 3.0
> Mailman Core Python Version
> 3.6.6 (default, Mar 29 2019, 00:03:27) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
> I am not able to run the command. Where is that cron jobs configured ...??

That depends on how you installed Mailman?

> 
> Regards
> Sandeep
> 
> On Tue, Sep 3, 2019 at 11:35 PM Abhilash Raj  wrote:
>> On Tue, Sep 3, 2019, at 10:26 AM, sandeep kumar wrote:
>>  > Hi
>>  > 
>>  > We are facing some issues in archiving the lists. Even though the list 
>>  > is enabled to be private archive it is advertised to each and every one 
>>  > irrespective of their role or anything. This will be a big data breach 
>>  > if it goes the same way into the production.
>>  > 
>>  > We tried and figured out and blocked access to outside persons to view 
>>  > archives. Only the list administrator and moderator can see their 
>>  > archives after logging in. They can't even See the archives of other 
>>  > lists.
>>  > 
>>  > Till here everything was smooth. But when I enter 
>>  > https://hostname/hyperkitty after logging in,it displays all the list 
>>  > archives irrespective of public and private to the person who has 
>>  > logged in. We also observed database is not updating when we change the 
>>  > private or public archive settings from postorius page. 
>>  > 
>>  > Any heads up would be appreciated
>> 
>>  What version are you using? It takes about a day to sync those changes
>>  if you just changed the archives from public to private.
>> 
>>  There is a daily cron job which does the sync.
>> 
>>  You can invoke it manually to run using `manage.py runjobs --daily` to
>>  force sync. I am working on making this work synchronously.
>> 
>>  What version of Hyperkitty are you using? It should show up in the footer
>>  of every page.
>> 
>>  Latest version hides the private archives from the list of MailingList. Even
>>  if you can see the list, non-members can't see the contents.
>> 
>> 
>>  > 
>>  > Regards
>>  > Sandeep
>> 
>>  -- 
>>  thanks,
>>  Abhilash Raj (maxking)
> 
> 
> -- 
> Regards
> Sandeep Kumar
> +91-9642669192
> 

--
 thanks,
 Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Issues with archiving

2019-09-03 Thread Abhilash Raj
On Tue, Sep 3, 2019, at 10:26 AM, sandeep kumar wrote:
> Hi
> 
> We are facing some issues in archiving the lists. Even though the list 
> is enabled to be private archive it is advertised to each and every one 
> irrespective of their role or anything. This will be a big data breach 
> if it goes the same way into the production.
> 
> We tried and figured out and blocked access to outside persons to view 
> archives. Only the list administrator and moderator can see their 
> archives after logging in. They can't even See the archives of other 
> lists.
> 
> Till here everything was smooth. But when I enter 
> https://hostname/hyperkitty after logging in,it displays all the list 
> archives irrespective of public and private to the person who has 
> logged in. We also observed database is not updating when we change the 
> private or public archive settings from postorius page. 
> 
> Any heads up would be appreciated

What version are you using? It takes about a day to sync those changes
if you just changed the archives from public to private.

There is a daily cron job which does the sync.

You can invoke it manually to run using `manage.py runjobs --daily` to
force sync. I am working on making this work synchronously.

What version of Hyperkitty are you using? It should show up in the footer
of every page.

Latest version hides the private archives from the list of MailingList. Even
if you can see the list, non-members can't see the contents.


> 
> Regards
> Sandeep

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Change of my homepage

2019-08-31 Thread Abhilash Raj



On Thu, Aug 29, 2019, at 9:06 AM, sandeep kumar wrote:
> Hi Abhilash
> 
> I tried to configure through webserver but after doing this in ssl.conf 
> and http.conf I observed that my hyperkitty stopped working.
> 
> Though the archiving is taking place but Iam not able view those 
> archives in hyperkitty through browser.
> 
> I think Iam missing somewhere in between the communication of mailman 
> core and hyperkitty. Correct me if Iam wrong


If the archiving is working, it is not the connection between Core and Mailman, 
but connection between Web server and Hyperkitty.

Can you share your web server configuration?

> 
> Rgrds
> Sandeep
> 
> Sent from my iPhone
> 
> > On 29-Aug-2019, at 8:59 PM, Abhilash Raj  wrote:
> > 
> >> On Thu, Aug 29, 2019, at 1:42 AM, sandeep kumar wrote:
> >> Hi Team
> >> 
> >> I want to customize my home page of mailman 3 . When I type my site name it
> >> should go to another page and from there when I click distribution lists
> >> link It should redirect to mailman 3 default homepage.
> >> 
> >> I am trying to achieve this and failing in this regard.
> > 
> > How did you try to achieve this?
> > 
> >> 
> >> Expert team please give me any suggestions and clues regarding the
> >> dependencies that may involved in changing this.
> > 
> > Redirections aren't directly implemented in Mailman, it is typically
> > configured in your webserver. 
> > 
> > You are looking for a config probably where lists.example.com/index.html
> > is your website and then you ProxyPass the /mailman3 endpoint to Mailman's
> > wsgi server, which will make your DL address to be 
> > lists.example.com/mailman3.
> > 
> >> 
> >> -- 
> >> Regards
> >> Sandeep Kumar
> >> +91-9642669192
> >> ___
> >> Mailman-Developers mailing list -- mailman-developers@python.org
> >> To unsubscribe send an email to mailman-developers-le...@python.org
> >> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> >> Mailman FAQ: https://wiki.list.org/x/AgA3
> >> 
> >> Security Policy: https://wiki.list.org/x/QIA9
> >> 
> > 
> > -- 
> >  thanks,
> >  Abhilash Raj (maxking)
> > _______
> > Mailman-Developers mailing list -- mailman-developers@python.org
> > To unsubscribe send an email to mailman-developers-le...@python.org
> > https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> > Mailman FAQ: https://wiki.list.org/x/AgA3
> > 
> > Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: SSL error while connecting to hyperkitty

2019-08-31 Thread Abhilash Raj
On Sat, Aug 31, 2019, at 1:36 AM, sandeep kumar wrote:
> Hi Team
> 
> Iam seeing following errors while mailman is trying to archive in
> mailman.log
> 
> 
> This is my base URL in mailman-hyperkitty.cfg
> 
> base_url: http://localhost/hyperkitty

Are you sure this is the URL? this is http and Mailman shouldn't try to connect 
to this using HTTPS.

Is your web server configured to redirect all HTTP traffic to HTTPS? If that is 
the case, then it is going to fail.

Which wsgi server are you using? uwsgi?

Can you also show your ProxyPass configuration?

> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *During handling of the above exception, another exception
> occurred:Traceback (most recent call last):  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/adapters.py",
> line 449, in sendtimeout=timeout  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/urllib3-1.24.1-py3.6.egg/urllib3/connectionpool.py",
> line 638, in urlopen_stacktrace=sys.exc_info()[2])  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/urllib3-1.24.1-py3.6.egg/urllib3/util/retry.py",
> line 398, in incrementraise MaxRetryError(_pool, url, error or
> ResponseError(cause))urllib3.exceptions.MaxRetryError:
> HTTPSConnectionPool(host='domain.com <http://domain.com>', port=443): 
> Max
> retries exceeded with url:
> /hyperkitty/api/mailman/archive?key=SecretArchiverAPIKey (Caused by
> SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate 
> verify
> failed (_ssl.c:841)'),))During handling of the above exception, another
> exception occurred:Traceback (most recent call last):  File
> "/var/lib/mailman/mailman-hyperkitty/mailman_hyperkitty/__init__.py", 
> line
> 154, in _archive_messageurl = self._send_message(mlist, msg)  File
> "/var/lib/mailman/mailman-hyperkitty/mailman_hyperkitty/__init__.py", 
> line
> 201, in _send_messagefiles={"message": ("message.txt", 
> message_text)})
> File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/api.py",
> line 116, in postreturn request('post', url, data=data, json=json,
> **kwargs)  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/api.py",
> line 60, in requestreturn session.request(method=method, url=url,
> **kwargs)  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/sessions.py",
> line 533, in requestresp = self.send(prep, **send_kwargs)  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/sessions.py",
> line 668, in sendhistory = [resp for resp in gen] if allow_redirects
> else []  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/sessions.py",
> line 668, in history = [resp for resp in gen] if
> allow_redirects else []  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/sessions.py",
> line 247, in resolve_redirects**adapter_kwargs  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/sessions.py",
> line 646, in sendr = adapter.send(request, **kwargs)  File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/requests-2.21.0-py3.6.egg/requests/adapters.py",
> line 514, in sendraise SSLError(e,
> request=request)requests.exceptions.SSLError:
> HTTPSConnectionPool(host=domain.com <http://domain.com>', port=443): Max
> retries exceeded with url:
> /hyperkitty/api/mailman/archive?key=SecretArchiverAPIKey (Caused by
> SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate 
> verify
> failed (_ssl.c:841)'),))*
> 
> 
> Rgrds
> Sandeep
> 
> On Sat, Aug 31, 2019 at 10:20 AM sandeep kumar 
> wrote:
> 
> > Team any help
> >
> > Sent from my iPhone
> >
> > > On 30-Aug-2019, at 11:18 PM, sandeep kumar 
> > wrote:
> > >
> > > Hi Team
> > >
> > > Iam using httpd to work with ssl on mailman 3 using proxy pass.
> > >
> > > After this configuration Iam not able to connect to hyperkitty. It is
> > throwing ssl certificate error in mailman.log file.
> > >
> > > What should be the configuration of hyperkitty while using https in
> > mailman..?
> > >
> > > Please help me with this Iam struck he

[Mailman-Developers] Re: Change of my homepage

2019-08-29 Thread Abhilash Raj
On Thu, Aug 29, 2019, at 1:42 AM, sandeep kumar wrote:
> Hi Team
> 
> I want to customize my home page of mailman 3 . When I type my site name it
> should go to another page and from there when I click distribution lists
> link It should redirect to mailman 3 default homepage.
> 
> I am trying to achieve this and failing in this regard.

How did you try to achieve this?

> 
> Expert team please give me any suggestions and clues regarding the
> dependencies that may involved in changing this.

Redirections aren't directly implemented in Mailman, it is typically
configured in your webserver. 

You are looking for a config probably where lists.example.com/index.html
is your website and then you ProxyPass the /mailman3 endpoint to Mailman's
wsgi server, which will make your DL address to be lists.example.com/mailman3.

> 
> -- 
> Regards
> Sandeep Kumar
> +91-9642669192
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Error after starting mailman-suite

2019-08-23 Thread Abhilash Raj
On Fri, Aug 23, 2019, at 8:31 AM, sandeep kumar wrote:
> Hi Team
> 
> We observed the following error after starting the mailman-suite. If some
> one has experienced the same please provide any inputs.
> 
> 
> Exception happened during processing of request from ('127.0.0.1', 
> 50210)
> Traceback (most recent call last):
>   File "/usr/lib64/python3.6/socketserver.py", line 651, in
> process_request_thread
> self.finish_request(request, client_address)
>   File "/usr/lib64/python3.6/socketserver.py", line 361, in 
> finish_request
> self.RequestHandlerClass(request, client_address, self)
>   File "/usr/lib64/python3.6/socketserver.py", line 721, in __init__
> self.handle()
>   File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/Django-2.1.8-py3.6.egg/django/core/servers/basehttp.py",
> line 171, in handle
> self.handle_one_request()
>   File
> "/var/lib/mailman/venv3/lib64/python3.6/site-packages/Django-2.1.8-py3.6.egg/django/core/servers/basehttp.py",
> line 179, in handle_one_request
> self.raw_requestline = self.rfile.readline(65537)
>   File "/usr/lib64/python3.6/socket.py", line 586, in readinto
> return self._sock.recv_into(b)
> ConnectionResetError: [Errno 104] Connection reset by peer

Do you see this once or do you keep seeing this continuously
and nothing works?

This looks to me an actual Connection Reset by Peer error and
someone somewhere dropped the connection, so nothing specific
to worry about.

> 
> -- 
> Regards
> Sandeep Kumar
> +91-9642669192
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Initialization of GSOD Project

2019-08-19 Thread Abhilash Raj
On Sun, Aug 18, 2019, at 9:17 PM, Ariessa N wrote:
>  Hello everyone,
> 
> I’m Ariessa Norramli and I’m a GSOD participant with the project
> “Instructions to Migration from Mailman 2 to Mailman 3”.

Awesome!

Welcome Ariessa! It is wonderful to have you aboard. 
> 
> My accepted proposal can be viewed at:
> http://bit.ly/ariessa_migration_gsod_application
> 
> During the doc development period, I'll deliver a weekly blog post to
> summarise what I did throughout the respective week.The blog posts can be
> viewed at: https://medium.com/@ariessa_norramli
> 
> I'll use the mailing list as my main source of communication with mentors.
> 
> Thank you.
> 
> Best Regards,
> 
> *Ariessa Norramli*
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Migrating mailman 2 to mailman 3.1

2019-08-14 Thread Abhilash Raj



On Wed, Aug 14, 2019, at 10:28 AM, Abhilash Raj wrote:
> 
> 
> On Wed, Aug 14, 2019, at 10:08 AM, Stephen J. Turnbull wrote:
> > sandeep kumar writes:
> > 
> >  > Now that we are ready to go into production. We are currently
> >  > running mailman 2 in our production. Now the biggest challenge is
> >  > we have to migrate around 3000 lists from mailman 2 to mailman 3.
> >  > Is there any documentation
> > 
> > There's a small amount, but we're not satisfied with it.  We have an
> > on-going Season of Docs project to create migration documentation.
> > 
> >  > or any inputs from the team would be appreciated and will be very
> >  > helpful.
> > 
> > Abhilash and Mark have substantial experience with migrating lists,
> > and operating Mailman 2 in parallel with Mailman 3 (ie, gradual
> > migration, not the same list on both servers!)  However, they've been
> > doing this at scale of dozens of lists, maybe a dozen at a time.
> 
> 
> I've also been (very slowly) working on automating the workflow for
> migration to a level that it requires minimal user intervention. This
> hasn't been tested or completed yet[1].
> 
> It is mostly complete, but if you can help complete it, it should
> be a bit nicer than manually porting every list (i.e. multiple-commands per
> list right now) vs single command with exception handling to keep
> working till it reaches end. For 3k lists, it might be useful :)
> 
> 
> [1]:https://gitlab.com/mailman/mailman/merge_requests/531
> 
> > 
> > I hope that some of our really large-scale users will have something
> > to say, but the cases I'm aware of are at your stage more or less --
> > no post-mortems yet that I know of.
> > 
> >  > Iam trying to access docs.mailman3.org but it is not opening don't
> >  > why.?
> > 
> > It appears that recent Firefox is very picky about the TLS versions it
> > will connect to, and somehow mailman3.org doesn't support that.
> > Abhilash?
> 
> DNS records need updating, I'm gonna poke at Barry.

It should now be working!

> 
> > 
> > In the meantime, try other browsers which may not be so picky about
> > crypto algorithms.  Also you can try mailman.readthedocs.io.
> > 
> > Steve
> >
> 
> -- 
>   thanks,
>   Abhilash Raj (maxking)
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Migrating mailman 2 to mailman 3.1

2019-08-14 Thread Abhilash Raj



On Wed, Aug 14, 2019, at 10:08 AM, Stephen J. Turnbull wrote:
> sandeep kumar writes:
> 
>  > Now that we are ready to go into production. We are currently
>  > running mailman 2 in our production. Now the biggest challenge is
>  > we have to migrate around 3000 lists from mailman 2 to mailman 3.
>  > Is there any documentation
> 
> There's a small amount, but we're not satisfied with it.  We have an
> on-going Season of Docs project to create migration documentation.
> 
>  > or any inputs from the team would be appreciated and will be very
>  > helpful.
> 
> Abhilash and Mark have substantial experience with migrating lists,
> and operating Mailman 2 in parallel with Mailman 3 (ie, gradual
> migration, not the same list on both servers!)  However, they've been
> doing this at scale of dozens of lists, maybe a dozen at a time.


I've also been (very slowly) working on automating the workflow for
migration to a level that it requires minimal user intervention. This
hasn't been tested or completed yet[1].

It is mostly complete, but if you can help complete it, it should
be a bit nicer than manually porting every list (i.e. multiple-commands per
list right now) vs single command with exception handling to keep
working till it reaches end. For 3k lists, it might be useful :)


[1]:https://gitlab.com/mailman/mailman/merge_requests/531

> 
> I hope that some of our really large-scale users will have something
> to say, but the cases I'm aware of are at your stage more or less --
> no post-mortems yet that I know of.
> 
>  > Iam trying to access docs.mailman3.org but it is not opening don't
>  > why.?
> 
> It appears that recent Firefox is very picky about the TLS versions it
> will connect to, and somehow mailman3.org doesn't support that.
> Abhilash?

DNS records need updating, I'm gonna poke at Barry.

> 
> In the meantime, try other browsers which may not be so picky about
> crypto algorithms.  Also you can try mailman.readthedocs.io.
> 
> Steve
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: mailman3 merge strategies (squashing commits vs. leaving commits as they are)

2019-08-09 Thread Abhilash Raj
On Fri, Aug 9, 2019, at 9:39 AM, Jim Popovitch via Mailman-Developers wrote:
> On Fri, 2019-08-09 at 17:10 +0900, Stephen J. Turnbull wrote:
> > Abhilash Raj writes:
> >  > + Mailman Developers, since this seems like a general discussion topic.
> >  > 
> >  > On Thu, Aug 8, 2019, at 2:01 AM, Mike Gabriel wrote:
> >  > > Hi Abhilash,
> >  > > 
> >  > > I just looked into the two recent merges from Daniel on mailman's  
> >  > > master branch.
> >  > > 
> >  > > I noticed that you squashed the MR branch commits into one commit  
> >  > > before the merge and that this one commit uses the latest commit  
> >  > > messages of the MR branch to describe what the squashed commits do.  
> >  > > Unfortunately, that commit messages does not appropriately describe  
> >  > > what the commit in fact does.
> > 
> > I seem to recall that somebody (one of the VCSes? one of the web repo
> > hosting services?) has a system that squashes the commits and
> > concatenates all the log messages for the merged branch.  Perhaps
> > gitlab has an option to do this?

It doesn't, atleast not that I could find. The only two strategies that
it will use is to either use any commit with multi-line commit message
or just pick up the MR's title. We ideally want it to always do the latter
but I can't see a config for that.

I can manually change the message when merging, which I what I am going
to try, if I can keep it in my mind when merging ofc ;-)

> 
> Yes, gitlab has an option to do this, it's a checkbox during the
> creation of the MR.

Yes, Gitlab does have this option and we do use that often.

The discussion is mostly about the output of the squashing and how does
the commit message looks like.

> 
> -Jim P.
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: mailman3 merge strategies (squashing commits vs. leaving commits as they are)

2019-08-08 Thread Abhilash Raj
+ Mailman Developers, since this seems like a general discussion topic.

On Thu, Aug 8, 2019, at 2:01 AM, Mike Gabriel wrote:
> Hi Abhilash,
> 
> I just looked into the two recent merges from Daniel on mailman's  
> master branch.
> 
> I noticed that you squashed the MR branch commits into one commit  
> before the merge and that this one commit uses the latest commit  
> messages of the MR branch to describe what the squashed commits do.  
> Unfortunately, that commit messages does not appropriately describe  
> what the commit in fact does.
> 
> The resulting commit on master for the merge of MR !543 is this:
> 
> ```
> commit baf7fbca96cf77ae028740b668d79a906eb600ef
> Author: Daniel Teichmann 
> Date:   Thu Aug 8 01:25:05 2019 +
> 
>  commands/tests/test_cli_members.py: Add testcase for del_infp  
> files containing commented and blank lines
> 
> ```

This looks surprising to me, I was hoping that it would use the title
of the MR as the commit message and description as the description of
the commit. 

Looking a bit more closely at the documentation[1], it looks like it will
pickup:

> The squashed commit’s commit message will be either:
>- Taken from the first multi-line commit message in the merge.
>- The merge request’s title if no multi-line commit message is found.

I am going to keep an eye out for the commit message in future before 
merging, thanks for pointing this out.

[1]: 
https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html


> It contains the complete "mailman members --delete" code (all commits  
> from MR !543), but its commit message is the message of the top commit  
> that was on the MR branch. Commit content and commit message deviate.
>
> 
> As this merging strategy seems to be a sub-optimal strategy, I'd love  
> to discuss it for mailman3, if that's ok.
> 
> So...
> 
> IMHO, it would be much better (for the sake of transparency and code  
> change documentation) to either avoid commit squashing on merges  
> (iirc, it can be disabled in GitLab on a pre project level) or  
> explicitly demand from contributors to stuff all their code changes  
> into one commit and ship an appropriate commit msg.

This could have happened a few times in the past because I didn't know
Gitlab would pick a commit message with the multi-line comment. However,
this is not a general pattern that I am trying to enforce here.

It would be great to have single commit MRs, however, after the review,
I'd prefer to have additional commits added to the MR as compared to
sqashing + force push. Additional commits makes 2nd and 3rd reviews
much more easy, since I can just look at the comments I made and the
changes made in the newer commits.

Finally, we want the MR to be merged as a single commit, so we use the
Gitlab's sqash-merge feature. It works okay most of the times, like
I mentioned above.

> For big MRs the second option is really sub-optimal (esp. from a  
> (Debian) downstream maintainer's point of view): if I needed to  
> cherry-pick tiny changes on the code into a stable mailman3 release in  
> Debian, for example, then I'd love to have atomic changes to  
> cherry-pick from in the upstream Git. However, if all merges' commits  
> get squashed before being applied on master, then the changesets on  
> master become quite bulky and un-cherry-pickable.

Ideally, MRs are a complete unit and it doesn't make sense IMO to
cherry-pick only parts of the MR. MRs should be atomic. If there are 
two independent things being done in a single MR, it should ideally be 
split into separate MRs and hence get merged as separate commits.


> 
> For future merge requests, would you prefer us to stuff all changes of  
> one MR into one commit? Or is it ok, to have several commits in one  
> MR? This would IMHO require from you to not squash the commits on  
> those MRs.

I hope I answered this above, but in summary, please squash commits when
your Open the MR, but please don't force-push when you make requested
changed from the review. 

Also, we maintainers should be aware and just keep an eye out for the
commit message. It is totally possible in Gitlab to change the Squash'd
commit's message and in case Gitlab doesn't pick up the MR's title and
desc, I'll try to pick it up manually.


Does that sound reasonable?



> Please let me know what your position is on this. Thanks!
> 
> Mike
> -- 
> 
> DAS-NETZWERKTEAM
> c\o Technik- und Ökologiezentrum Eckernförde
> Mike Gabriel, Marienthaler str. 17, 24340 Eckernförde
> mobile: +49 (1520) 1976 148
> landline: +49 (4351) 850 8940
> 
> GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
> mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de
> 
>

-- 
  thanks,
  Abhilash Raj (maxking)

[Mailman-Developers] Re: Unsubscribing from a list using command

2019-08-05 Thread Abhilash Raj
On Mon, Aug 5, 2019, at 3:24 AM, sandeep kumar wrote:
> Hi
> 
> Can I have inputs on how to unsubscribe a member from a list from command
> line..?

There isn't a command right now to do that, but you can do so using the REST 
API:


   $ curl --user restadmin:restpass 
http://localhost:8001/3.1/members/find\?subscriber\=f...@gmail.com\_id\=list.example.com


This should get you the member resource and pick out the "member_id" from there 
and then


   $ curl --user restadmin:restpass -X DELETE 
http://localhost:9001/3.0/members/


Make sure that you replace the address of subscriber with f...@gmail.com and 
mailing list id with list.example.com (posting address of l...@example.com 
becomes list.example.com).

Also, make sure you change the username and password for your rest api 
(restadmin:restpass) are the defaults.


There is a pending merge request which adds support for removing members from 
commandline though[1]. Perhaps, the next version of Mailman will have the 
support.

[1]: https://gitlab.com/mailman/mailman/merge_requests/543

> 
> -- 
> Regards
> Sandeep Kumar
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: flufl.lock._lockfile.NotLockedError: Already unlocked

2019-07-20 Thread Abhilash Raj



On Sat, Jul 20, 2019, at 7:15 AM, Aaryan Bhagat wrote:
> I have started working on 
> [this](https://gitlab.com/mailman/mailman/merge_requests/538) pr. It is 
> regarding various bounce_process functions. Strange behaviour is 
> observed which I am not so sure what or why is happening. Unexpected 
> Traceback error pops up in my terminal.
> 
> >File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 580, in 
> >main
> >loop.loop()
> >  File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 401, 
> > in loop
> >self._pause()
> >  File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 391, 
> > in _pause
> >signal.pause()
> >  File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 267, 
> > in sigalrm_handler
> >self._lock.refresh()
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/flufl.lock-3.2-py3.7.egg/flufl/lock/_lockfile.py",
> >  line 184, in refresh
> >flufl.lock._lockfile.NotLockedError:  >/home/aaryan/mailman/mailman/var/locks/master.lck [unlocked: 1 day, 6:00:00] 
> >pid=7596 at 0x7f54af802320x>: None
> >
> >During handling of the above exception, another exception occurred:
> >
> >Traceback (most recent call last):
> >  File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 583, 
> > in main
> >os.remove(config.PID_FILE)
> >FileNotFoundError: [Errno 2] No such file or directory: 
> >'/home/aaryan/mailman/mailman/var/master.pid'
> >
> >During handling of the above exception, another exception occurred:
> >
> >Traceback (most recent call last):
> >  File "/home/aaryan/mailman/venv3/bin/master", line 11, in 
> >load_entry_point('mailman', 'console_scripts', 'master')()
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/Click-7.0-py3.7.egg/click/core.py",
> >  line 764, in __call__
> >return self.main(*args, **kwargs)
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/Click-7.0-py3.7.egg/click/core.py",
> >  line 717, in main
> >rv = self.invoke(ctx)
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/Click-7.0-py3.7.egg/click/core.py",
> >  line 956, in invoke
> >return ctx.invoke(self.callback, **ctx.params)
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/Click-7.0-py3.7.egg/click/core.py",
> >  line 555, in invoke
> >return callback(*args, **kwargs)
> >  File "/home/aaryan/mailman/mailman/src/mailman/bin/master.py", line 585, 
> > in main
> >lock.unlock()
> >  File 
> > "/home/aaryan/mailman/venv3/lib/python3.7/site-packages/flufl.lock-3.2-py3.7.egg/flufl/lock/_lockfile.py",
> >  line 287, in unlock
> >flufl.lock._lockfile.NotLockedError: Already unlocked
> 
> I think some configuration of mailman is conflicting. One point to 
> mention is the `var` was created when I was working on some other 
> branch.

This seems to be because you removed the var/ directory without stopping
Mailman Core. Note that var/ directory is continuously needed by Mailman
Core when running since it stores it's runtime information there. If you
remove the var/ directory without stopping Mailman Core, you'll end
up in weird situations like this.

Make sure you always do `mailman stop` and only then remove the
var/ directory.

> Maybe deleting the var and running `mailman start` will solve it?
> Not many leads are there hence I though best asking this.
> Pointers to this problem are appreciated
> Am I missing something here?
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Cannnot find the processing of bounces as `hard` and `soft`

2019-07-20 Thread Abhilash Raj
On Fri, Jul 19, 2019, at 10:51 PM, Aaryan Bhagat wrote:
> Somewhat details regarding this can be found in 
> [this](https://mail.python.org/archives/list/mailman-developers@python.org/thread/N7LB2VQN5MC7INXTP3N2CF7MJYSZQI3W/#5ELFHHN4FDLXHXLDVBYKLX36GQTWJTWV)
>  thread also.
> 
> Currently, in the `mailman/src/mailman/runners/bounce.py` I do not see 
> whether the separation of bounces as `hard` and `soft` is implemented. 

Looking at the code in `src/runners/bounce.py` I don't think temporary
failures are even stored. It seems like they are just ignored. 

> According to the previous version of Mailman, the `bounce_score` is 
> increased accordingly ( see the `Bounce processing` section of 
> [this](https://wiki.list.org/DOC/Mailman%202.1%20List%20Administrators%20Manual)
>  page ) depending upon the type of bounce. I intend to follow that 
> implementation. If not required I can drop that implementation and just 
> increase the `bounce_score` as an integer always.

I don't think we should be increasing the bounce_score on soft failures, which 
can be retried by the MTA. 

> 
> Pointers on this issue are appreciated.
> Am I missing something here?
> ___
> Mailman-Developers mailing list -- mailman-developers@python.org
> To unsubscribe send an email to mailman-developers-le...@python.org
> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> Mailman FAQ: https://wiki.list.org/x/AgA3
> 
> Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


[Mailman-Developers] Re: Integration of Mailman 3 with LDAP

2019-07-16 Thread Abhilash Raj



On Tue, Jul 16, 2019, at 9:56 AM, sandeep kumar wrote:
> Thanks Abhilash for valuable inputs.
> 
> I will come back to you if in case of any challenges.
> 
> We have also implemented sending SMS notification along with the mail 
> notification to the moderator whenever the post is held for approval. 

Would be curious to see how you did this, and maybe suggest something
in case you are using internal APIs which could break when upgrading
to a new version.

> We could able to achieve that through the inputs received from this 
> mailing list group. Thanks once again
> 
> Regards
> Sandeep 
> 
> Sent from my iPhone
> 
> > On 16-Jul-2019, at 9:37 PM, Abhilash Raj  wrote:
> > 
> >> On Tue, Jul 16, 2019, at 4:12 AM, sandeep kumar wrote:
> >> Hi Team
> >> 
> >> We want to integrate LDAP authentication for a user to login into
> >> postorious.
> >> 
> >> When a user tries to login, he should be authenticated by an LDAP instead
> >> of getting authenticated using the credentials saved in the mailman
> >> database.
> >> 
> >> What file should be edited and any small clue would be welcome.
> > 
> > First see Django's Docs on authentication backends[1]. This[2] seems to
> > come up as the most popular library for LDAP authentication in Django.
> > 
> > 
> > [1]: 
> > https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#specifying-authentication-backends
> > [2]: https://django-auth-ldap.readthedocs.io/en/latest/
> > 
> > 
> > You won't have to change anything in the source, only use the appropriate
> > settings defined in the docs of Django-auth-ldap to integrate with LDAP.
> > 
> > There might be some minor details that I am not aware of, but if you 
> > setup correct settings, other things should work okay. You *may* have to
> > create your own Sign-In pages though. I am assuming you won't have a
> > sign-up page. 
> > 
> > You'll end up making changes in `urls.py` in the mailman-suite project
> > too, just to configure the right URLs to redirect to for authentication.
> > 
> > Sorry for sparse information, but I hope this will be a good starting point
> > for you. It would be awesome if you could also document this process
> > if you succeed since there have been some requests in past about
> > integrating with LDAP. It could help others in future :)
> > 
> >> -- 
> >> Regards
> >> Sandeep Kumar
> >> +91-9642669192
> >> ___
> >> Mailman-Developers mailing list -- mailman-developers@python.org
> >> To unsubscribe send an email to mailman-developers-le...@python.org
> >> https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> >> Mailman FAQ: https://wiki.list.org/x/AgA3
> >> 
> >> Security Policy: https://wiki.list.org/x/QIA9
> >> 
> > 
> > -- 
> >  thanks,
> >  Abhilash Raj (maxking)
> > ___
> > Mailman-Developers mailing list -- mailman-developers@python.org
> > To unsubscribe send an email to mailman-developers-le...@python.org
> > https://mail.python.org/mailman3/lists/mailman-developers.python.org/
> > Mailman FAQ: https://wiki.list.org/x/AgA3
> > 
> > Security Policy: https://wiki.list.org/x/QIA9
>

-- 
  thanks,
  Abhilash Raj (maxking)
___
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9


  1   2   3   4   >