Skip to content

Commit ccf82f7

Browse files
committed
Fix subscription data handling to use tuple format consistently
1 parent ba6e124 commit ccf82f7

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

Mailman/MailList.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,7 +1124,8 @@ def InviteNewMember(self, userdesc, text=''):
11241124
self.real_name, invitee, pattern)
11251125
raise Errors.MembershipIsBanned(pattern)
11261126
userdesc.invitation = self.internal_name()
1127-
cookie = self.pend_new(Pending.SUBSCRIPTION, userdesc)
1127+
cookie = self.pend_new(Pending.SUBSCRIPTION,
1128+
(userdesc, None))
11281129
requestaddr = self.getListAddress('request')
11291130
confirmurl = '%s/%s' % (self.GetScriptURL('confirm', absolute=1), cookie)
11301131
listname = self.real_name
@@ -1172,7 +1173,7 @@ def AddMember(self, userdesc, remote=None):
11721173
if self.subscribe_policy in (2, 3) and not self.HasAutoApprovedSender(email):
11731174
# Pend the subscription
11741175
cookie = self.pend_new(Pending.SUBSCRIPTION,
1175-
userdesc, remote)
1176+
(userdesc, remote))
11761177
confirmurl = '%s/%s' % (self.GetScriptURL('confirm', absolute=1),
11771178
cookie)
11781179
lang = userdesc.language

Mailman/OldStyleMemberships.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -505,21 +505,24 @@ def ProcessConfirmation(self, cookie, msg):
505505

506506
# Process based on action type
507507
if action == Pending.SUBSCRIPTION:
508+
# Extract userdesc and remote from data
509+
userdesc, remote = data
510+
508511
# Check if already a member
509-
if self.isMember(data['email']):
510-
raise Errors.MMAlreadyAMember(data['email'])
512+
if self.isMember(userdesc.address):
513+
raise Errors.MMAlreadyAMember(userdesc.address)
511514

512515
# Check if banned
513-
if self.__mlist.isBanned(data['email']):
514-
raise Errors.MembershipIsBanned(data['email'])
516+
if self.__mlist.isBanned(userdesc.address):
517+
raise Errors.MembershipIsBanned(userdesc.address)
515518

516519
# Add the member
517520
self.addNewMember(
518-
data['email'],
519-
digest=data.get('digest', 0),
520-
password=data.get('password', Utils.MakeRandomPassword()),
521-
language=data.get('language', self.__mlist.preferred_language),
522-
realname=data.get('realname', '')
521+
userdesc.address,
522+
digest=userdesc.digest,
523+
password=userdesc.password,
524+
language=userdesc.language,
525+
realname=userdesc.fullname
523526
)
524527

525528
elif action == Pending.UNSUBSCRIPTION:

0 commit comments

Comments
 (0)