Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Quiet mode is ignored when (un)subcrubing from SOAP server #1011

Closed
ynerant opened this issue Oct 8, 2020 · 7 comments
Closed

Quiet mode is ignored when (un)subcrubing from SOAP server #1011

ynerant opened this issue Oct 8, 2020 · 7 comments

Comments

@ynerant
Copy link

ynerant commented Oct 8, 2020

I use the SOAP server to automate some registrations from my website.
Creating a list goes successfully, and I can subscribe or unsubscribe members.
However, the notifications that the user joined the list or got unsubscribed are not sent, as if quiet mode was enabled, even if this is not the case.
All is working well through the web server.

Version

6.2.40

Installation method

Debian package, from APT, with the SOAP server enabled

Expected behavior

When registering someone to a list without the quiet mode through the SOAP server, a notification should be sent.

Actual behavior

No mail is sent.

Additional information

Syslog indicates that the quiet mode is well received by the server: (I anonymized my personal data)

Oct  8 22:02:05 machine sympasoap[387]: info Sympa::WWW::SOAP::add(list = test-create@lists.example.com, email = toto@example.com, quiet = false) From toto@example.com via proxy application 
Oct  8 22:04:21 machine sympasoap[388]: info Sympa::WWW::SOAP::add(list = test-create@lists.example.com, email = toto@example.com, quiet = false) From toto@example.com via proxy application 
Oct  8 22:04:46 machine sympasoap[390]: info Sympa::WWW::SOAP::del(list = test-create@lists.example.com, email = toto@example.com, quiet = true) From toto@example.com via proxy application 
Oct  8 22:04:49 machine sympasoap[386]: info Sympa::WWW::SOAP::del(list = test-create@lists.example.com, email = toto@example.com, quiet = true) From toto@example.com via proxy application 
Oct  8 22:04:52 machine sympasoap[389]: info Sympa::WWW::SOAP::add(list = test-create@lists.example.com, email = toto@example.com, quiet = false) From toto@example.com via proxy application 
Oct  8 22:05:25 machine sympasoap[387]: info Sympa::WWW::SOAP::add(list = test-create@lists.example.com, email = toto@example.com, quiet = false) From toto@example.com via proxy application 
Oct  8 22:05:28 machine sympasoap[388]: info Sympa::WWW::SOAP::del(list = test-create@lists.example.com, email = toto@example.com, quiet = true) From toto@example.com via proxy application 
@ikedas
Copy link
Member

ikedas commented Oct 9, 2020

Hi @galaxyoyo ,

I guess quiet parameter should be given as 1 or 0, instead of true or false.

@ynerant
Copy link
Author

ynerant commented Oct 10, 2020

I tried to send "true", "false", true, false, 0, 1, "0", "1" but all is interpreted as a boolean, according to the logs

@ikedas
Copy link
Member

ikedas commented Oct 10, 2020

Could you please show the logs?

@ikedas
Copy link
Member

ikedas commented Oct 13, 2020

I checked with sympa_soap_client.pl.

  • Sympa 6.2.56 (RPM)
  • SOAP-Lite 1.10

As following results, 0, 1, false and true were deserialized to 0, 1, 0 and 1 respectively. However no and yes failed deserializing and both were treated as true values.

$ sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,0

Oct 13 13:41:09 jed sympasoap[26369]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 13:41:09 jed sympasoap[26372]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = 0) From owner@example.org via proxy application
Oct 13 13:41:09 jed sympasoap[26372]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=add;context=list@sympa.example.org;email=member@example.org>
Oct 13 13:41:09 jed sympasoap[26372]: notice Sympa::Spindle::ProcessTemplate::_twist() Processing Sympa::Message::Template <list@sympa.example.org.1602564069.26372,9605/shelved:>; envelope_sender=list-owner@sympa.example.org; message_id=sympa.1602564069.26372.133@sympa.example.org; recipients=member@example.org; sender=list-request@sympa.example.org; template=welcome;
Oct 13 13:41:09 jed sympasoap[26372]: notice Sympa::Spool::Outgoing::store() Message Sympa::Message::Template <list@sympa.example.org.1602564069.26372,9605/shelved:> is stored into bulk spool as <1.5.1602564069.1602564069.293488.list@sympa.example.org_s,26372,2901>
Oct 13 13:41:09 jed sympasoap[26372]: info Sympa::Request::Handler::add::_twist() ADD list member@example.org from owner@example.org accepted (0.05 seconds, 5 subscribers)
Oct 13 13:41:09 jed sympasoap[26372]: notice Sympa::Spindle::ProcessTemplate::_twist() Processing Sympa::Message::Template <list@sympa.example.org.1602564069.26372,2371>; envelope_sender=list-owner@sympa.example.org; message_id=sympa.1602564069.26372.12@sympa.example.org; recipients=ARRAY; sender=sympa@sympa.example.org; template=listowner_notification; type=notice
Oct 13 13:41:09 jed sympasoap[26372]: notice Sympa::Spool::Outgoing::store() Message Sympa::Message::Template <list@sympa.example.org.1602564069.26372,2371> is stored into bulk spool as <5.5.1602564069.1602564069.333899.list@sympa.example.org_s,26372,8543>
Oct 13 13:41:09 jed bulk[16255]: notice Sympa::Spindle::ProcessOutgoing::_twist() Start sending message Sympa::Message <1.5.1602564069.1602564069.293488.list@sympa.example.org_s,26372,2901/s> to Sympa::List <list@sympa.example.org> (priority 1) (starting 0 seconds after scheduled expedition date)
Oct 13 13:41:09 jed bulk[16255]: notice Sympa::Mailer::store() Forked process 29759: /usr/sbin/sendmail -oi -odi -oem -f 'list-owner@sympa.example.org' -- member@example.org
Oct 13 13:41:10 jed bulk[16255]: notice Sympa::Mailer::store() Done sending message Sympa::Message <1.5.1602564069.1602564069.293488.list@sympa.example.org_s,26372,2901/s> for Sympa::List <list@sympa.example.org> (priority 1) in 1 seconds since scheduled expedition date
Oct 13 13:41:10 jed bulk[16255]: notice Sympa::Spindle::ProcessOutgoing::_twist() Start sending message Sympa::Message <5.5.1602564069.1602564069.333899.list@sympa.example.org_s,26372,8543/s> to Sympa::List <list@sympa.example.org> (priority 5) (starting 1 seconds after scheduled expedition date)
Oct 13 13:41:10 jed bulk[16255]: notice Sympa::Mailer::store() Forked process 29761: /usr/sbin/sendmail -oi -odi -oem -f 'list-owner@sympa.example.org' -- owner@example.org member@example.org
Oct 13 13:41:10 jed bulk[16255]: notice Sympa::Mailer::store() Done sending message Sympa::Message <5.5.1602564069.1602564069.333899.list@sympa.example.org_s,26372,8543/s> for Sympa::List <list@sympa.example.org> (priority 5) in 1 seconds since scheduled expedition date

$ sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,1

Oct 13 13:39:33 jed sympasoap[26372]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 13:39:33 jed sympasoap[26368]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = 1) From owner@example.org via proxy application
Oct 13 13:39:33 jed sympasoap[26368]: notice Sympa::Spindle::ProcessRequest::_twist() Processing Sympa::Request <action=add;context=list@sympa.example.org;email=member@example.org>
Oct 13 13:39:34 jed sympasoap[26368]: info Sympa::Request::Handler::add::_twist() ADD list member@example.org from owner@example.org accepted (0.01 seconds, 5 subscribers)
Oct 13 13:39:34 jed sympasoap[26368]: notice Sympa::Spindle::ProcessTemplate::_twist() Processing Sympa::Message::Template <list@sympa.example.org.1602563974.26368,680>; envelope_sender=list-owner@sympa.example.org; message_id=sympa.1602563974.26368.150@sympa.example.org; recipients=ARRAY; sender=sympa@sympa.example.org; template=listowner_notification; type=notice
Oct 13 13:39:34 jed sympasoap[26368]: notice Sympa::Spool::Outgoing::store() Message Sympa::Message::Template <list@sympa.example.org.1602563974.26368,680> is stored into bulk spool as <5.5.1602563974.1602563974.062004.list@sympa.example.org_s,26368,231>
Oct 13 13:39:34 jed bulk[16255]: notice Sympa::Spindle::ProcessOutgoing::_twist() Start sending message Sympa::Message <5.5.1602563974.1602563974.062004.list@sympa.example.org_s,26368,231/s> to Sympa::List <list@sympa.example.org> (priority 5) (starting 0 seconds after scheduled expedition date)
Oct 13 13:39:34 jed bulk[16255]: notice Sympa::Mailer::store() Forked process 29640: /usr/sbin/sendmail -oi -odi -oem -f 'list-owner@sympa.example.org' -- owner@example.org member@example.org
Oct 13 13:39:34 jed bulk[16255]: notice Sympa::Mailer::store() Done sending message Sympa::Message <5.5.1602563974.1602563974.062004.list@sympa.example.org_s,26368,231/s> for Sympa::List <list@sympa.example.org> (priority 5) in 0 seconds since scheduled expedition date

$ sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,false

Oct 13 13:49:08 jed sympasoap[26372]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 13:49:08 jed sympasoap[26368]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = 0) From owner@example.org via proxy application
(The rest is omitted, as it is the same as case of "0")

$ sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,true

Oct 13 13:51:59 jed sympasoap[26367]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 13:52:00 jed sympasoap[26370]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = 1) From owner@example.org via proxy application
(The rest is omitted, as it is the same as case of "1")

$ sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,no

Oct 13 14:08:01 jed sympasoap[26368]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 14:08:01 jed sympasoap[26371]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = no) From owner@example.org via proxy application
(The rest is omitted, as it is the same as case of "1", not "0")

$sympa_soap_client.pl --soap_url=https://sympa.example.org/sympasoap --user_email=owner@example.org --user_password='SECRET' --service=add --service_parameter=list,member@example.org,,yes

Oct 13 14:09:32 jed sympasoap[26372]: notice Sympa::WWW::SOAP::login(owner@example.org)
Oct 13 14:09:32 jed sympasoap[26368]: info Sympa::WWW::SOAP::add(list = list@sympa.example.org, email = member@example.org, quiet = yes) From owner@example.org via proxy application
(The rest is omitted, as it is the same as case of "1")

I guess your client-side software doesn't serialize parameters correctly.

@ikedas
Copy link
Member

ikedas commented Apr 8, 2021

@ynerant , is there anything new?

@ikedas
Copy link
Member

ikedas commented May 17, 2021

No more information. Close.

@ikedas ikedas closed this as completed May 17, 2021
@ikedas ikedas added the wontfix label May 17, 2021
@qulien
Copy link

qulien commented Nov 8, 2021

@ynerant I know this is already old, but seeing how you managed to do a quiet unsubscribe via SOAP, could you share how you did it? I can't seem to get it to work. Specifically:

  • What permissions did you have to set in trusted_applications.conf
  • What does your SOAP command look like?

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

No branches or pull requests

3 participants