From Dan@feld.cvut.cz Tue Sep 1 13:15:44 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Tue, 1 Sep 1998 14:15:44 +0200 Subject: [Mailman-Developers] Localization of mailman Message-ID: <6ADF90C12B6@power.feld.cvut.cz> I have made Czech translations of "templates" directory. But I have some problems, which I will consult with You. First of them is, that Czech uses ISO-8859-2 character set. It is not problem with www, becouse my server automaticaly recodes documets in clients character set. But in mail message I need append header Mime-version: 1.0 Content-Type: text-plain; charset=iso-8859-2 Content-Transfer-Encoding: 8Bit Currently used method of message generation doesn't allow header modification. There are two posibilities, include some headers to append, configurable in Defaults.py, or make templates including headers and change other function. In Bounce.py is hardcoded header with US-ASCII character set, it is unusable. I can made both and submit patch, but I will know, what You will prefer. Second problem. I think it will be nice, to switch language versions in responses by detecting top level domain in user adress, how will You find this? I am interested in any sugestions. cheers dan P.S.: For Ken, You are interested in my Delivery status notification patch. I have made new version which works with "The Dragon De Monsyne" stadard smtplib patch. I am currently testing ob it works fine. I will submit the patch in end of this week. ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Zeme je placata, deti nosi cap, a windows 95 jsou stabilni operacni system. From tismer@appliedbiometrics.com Wed Sep 2 02:05:51 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Wed, 02 Sep 1998 03:05:51 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! Message-ID: <35EC99EF.728ECAB7@appliedbiometrics.com> Today I spent a couple of hours trying to get Mailman b5 running on the starship. Starship has Python 1.5 at the moment (for whatever reason), and the INSTALL file claims """ You must have the Python interpreter installed somewhere on your system. Currently Python 1.5 or later is required. For information about obtaining Python source code, or pre-compiled binaries please see the Python Web site at """ This is not true. This version will not even run with a standard 1.5.1 Python. Killer#1: The parameter-less "raise" statement is no 1.5.1 feature. Killer#2: The __stdin__ and other underscored system file names are no Python 1.5 features. This together makes the "scripts/driver" file die very early, with a confusing error message. In the driver script, I inserted this before any code: try: import sys sys.__stdin__ except: sys.__stdin__=sys.stdin sys.__stdout__=sys.stdout sys.__stderr__=sys.stderr ... Uhm, I'm hacking since 6 hours now, but don't get the list admin running under Linux. I fear I will turn back to 0.95 which worked. tired - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Wed Sep 2 22:36:41 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Wed, 2 Sep 1998 17:36:41 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> Message-ID: <13805.47721.524951.825965@anthem.cnri.reston.va.us> >>>>> "CT" == Christian Tismer writes: CT> This is not true. This version will not even run with a CT> standard 1.5.1 Python. CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 CT> feature. CT> Killer#2: The __stdin__ and other underscored system CT> file names are no Python 1.5 features. Chris, I tried both of these under our vanilla 1.5.1 release: -------------------- snip snip -------------------- Python 1.5.1 (#21, Apr 23 1998, 18:08:12) [GCC 2.8.1] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import sys >>> sys.__stdin__ ', mode 'r' at bb878> >>> try: 1/0 ... except ZeroDivisionError: raise ... Traceback (innermost last): File "", line 1, in ? ZeroDivisionError: integer division or modulo >>> This together makes the "scripts/driver" file die very early, with a confusing error message. In the driver script, I inserted this before any code: try: import sys sys.__stdin__ except: sys.__stdin__=sys.stdin sys.__stdout__=sys.stdout sys.__stderr__=sys.stderr .. Uhm, I'm hacking since 6 hours now, but don't get the list admin running under Linux. I fear I will turn back to 0.95 which worked. tired - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home _______________________________________________ Mailman-Developers maillist - Mailman-Developers@python.org http://www.python.org/mailman/listinfo/mailman-developers From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Wed Sep 2 22:44:19 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Wed, 2 Sep 1998 17:44:19 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> Message-ID: <13805.48179.53909.779126@anthem.cnri.reston.va.us> [Damn! Sorry for the premature response. Let's try that again] >>>>> "CT" == Christian Tismer writes: CT> This is not true. This version will not even run with a CT> standard 1.5.1 Python. CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 CT> feature. CT> Killer#2: The __stdin__ and other underscored system CT> file names are no Python 1.5 features. Chris, I tried both of these under our vanilla 1.5.1 release: -------------------- snip snip -------------------- Python 1.5.1 (#21, Apr 23 1998, 18:08:12) [GCC 2.8.1] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import sys >>> sys.__stdin__ ', mode 'r' at bb878> >>> try: 1/0 ... except ZeroDivisionError: raise ... Traceback (innermost last): File "", line 1, in ? ZeroDivisionError: integer division or modulo >>> -------------------- snip snip -------------------- I don't have 1.5 handy but I think you're probably right that neither will work in a 1.5 release. In any event, the current version of the driver tries to do sain things with sys.__stdout__ and sys.__stderr__ (I don't think sys.__stdin__ is actually referenced anywhere, but my grep could be missing it). -------------------- snip snip -------------------- # Python 1.5 doesn't have these by default. Let's make our lives easy if not hasattr(sys, '__stderr__'): sys.__stderr__ = sys.stderr if not hasattr(sys, '__stdout__'): sys.__stdout__ = sys.stdout -------------------- snip snip -------------------- I also thought that I had commented all the bare raises out of the code (leaving them for a time when we can better rely on its existance). I'm pretty sure all instances of re-raising do it the old-fashion way, but again, I might be missing something. Have you checked the current CVS snapshot? I include our latest driver script below. See if that helps you out. -Barry [ATTACHMENT ~/projects/mailman/scripts/driver, application/octet-stream] From tismer@appliedbiometrics.com Thu Sep 3 18:27:01 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Thu, 03 Sep 1998 19:27:01 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> <13805.48179.53909.779126@anthem.cnri.reston.va.us> Message-ID: <35EED165.7D2217D9@appliedbiometrics.com> Barry A. Warsaw wrote: > > [Damn! Sorry for the premature response. Let's try that again] > > >>>>> "CT" == Christian Tismer writes: > > CT> This is not true. This version will not even run with a > CT> standard 1.5.1 Python. Yes I was wrong here. > CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 > CT> feature. It is of course, my testing was wrong. > CT> Killer#2: The __stdin__ and other underscored system > CT> file names are no Python 1.5 features. > > Chris, I tried both of these under our vanilla 1.5.1 release: Yes, right, my claim is true for 1.5, 1.5.1 does it. > I don't have 1.5 handy but I think you're probably right that neither > will work in a 1.5 release. In any event, the current version of the > driver tries to do sain things with sys.__stdout__ and sys.__stderr__ > (I don't think sys.__stdin__ is actually referenced anywhere, but my > grep could be missing it). > > -------------------- snip snip -------------------- > # Python 1.5 doesn't have these by default. Let's make our lives easy > if not hasattr(sys, '__stderr__'): > sys.__stderr__ = sys.stderr > if not hasattr(sys, '__stdout__'): > sys.__stdout__ = sys.stdout > -------------------- snip snip -------------------- > > I also thought that I had commented all the bare raises out of the > code (leaving them for a time when we can better rely on its > existance). I'm pretty sure all instances of re-raising do it the > old-fashion way, but again, I might be missing something. > > Have you checked the current CVS snapshot? I include our latest > driver script below. See if that helps you out. > > -Barry > > [ATTACHMENT ~/projects/mailman/scripts/driver, application/octet-stream] I could not find an attachment, just the line above. Meanwhile I thought had all the __ things and raise statements out and got it running so far. Perhaps I missed something, since I never got the admin pages to work. I could not edit any list, and I gave up. Probably my fault, although - who did it get to run under Redhat Linux? Can someone give me a working Linux version for the Starship? I'm afraid to re-invent the wheel. How do I get at the CVS tree? thanks&cheers - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Thu Sep 3 21:26:38 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 3 Sep 1998 16:26:38 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> <13805.48179.53909.779126@anthem.cnri.reston.va.us> <35EED165.7D2217D9@appliedbiometrics.com> Message-ID: <13806.64382.58268.605475@anthem.cnri.reston.va.us> --6QK9bPyZ8q Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit >>>>> "CT" == Christian Tismer writes: CT> I could not find an attachment, just the line above. I'll try again below as plaintext. CT> How do I get at the CVS tree? -Barry --6QK9bPyZ8q Content-Type: text/plain Content-Disposition: inline; filename="driver" Content-Transfer-Encoding: 7bit #! /usr/bin/env python # # Copyright (C) 1998 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # This better succeed. If this fails, Python is royally screwed so we might # as well let the Web server give us a fatal and obtrusive error. import sys # From here on we are as bulletproof as possible! # This function is useful for debugging. When an error occurs, this attaches # the file name to the exception string and re-raises. This will be # unnecessary in Python 1.5.2, which also does sensible things to most os # module functions. realopen = open def open(filename, mode='r', bufsize=-1, realopen=realopen): try: return realopen(filename, mode, bufsize) except IOError, e: strerror = e.strerror + ': ' + filename e.strerror = strerror e.filename = filename e.args = (e.args[0], strerror) # Python 1.5 raise e, None, sys.exc_info()[2] # Python 1.5.1 #raise import __builtin__ __builtin__.__dict__['open'] = open # This standard driver script is used to run CGI programs, wrapped in code # that catches errors, and displays them as HTML. This guarantees that # (almost) any problems in the Mailman software doesn't result in a Web server # error. It is much more helpful to generate and show a traceback, which the # user could send to the administrator, than to display a server error and # have to trudge through server logs. # Note: this isn't 100% perfect! Here are some things that can go wrong that # are not caught and reported as traceback-containing HTML: # # - This file could contain a syntax error. In that case, you would indeed # get a Web server error since this file wouldn't even compile, and there's # no way to catch that. # # - The sys module could be royally screwed, probably we couldn't import it. # Both those would indicate serious problems in the Python installation. # These won't generate Web server errors, but neither will they give # meaningful tracebacks. # # I consider these pretty unlikely. def run_main(): try: # These will ensure that even if something between now and the # creation of the real logger below fails, we can still get # *something* meaningful logger = None # insert the relative path to the parent of the Mailman package # directory, so we can pick up the Utils module import os # sys gets imported at module level below sys.path.insert(0, os.pardir) # map stderr to a logger, if possible from Mailman.Logging.StampedLogger import StampedLogger logger = StampedLogger('error', label='admin', manual_reprime=1, nofail=0, immediate=1) # The name of the module to run is passed in argv[1]. What we # actually do is import the module named by argv[1] that lives in the # Mailman.Cgi package. That module must have a main() function, which # we dig out and call. # scriptname = sys.argv[1] # See the reference manual for why we have to do things this way. # Note that importing should have no side-effects! pkg = __import__('Mailman.Cgi', globals(), locals(), [scriptname]) module = getattr(pkg, scriptname) main = getattr(module, 'main') try: main() except SystemExit: # this is a valid way for the function to exit pass except: print_traceback(logger) print_environment(logger) # We are printing error reporting to two places. One will always be stdout # and the other will always be the log file. It is assumed that stdout is an # HTML sink and the log file is a plain text sink. def print_traceback(logfp=None): if logfp is None: logfp = sys.__stderr__ try: import traceback except ImportError: traceback = None # write to the log file first logfp.write('[----- Traceback ------]\n') if traceback: traceback.print_exc(file=logfp) else: logfp.write('[failed to import module traceback]\n') logfp.write('[exc: %s, var: %s]\n' % sys.exc_info()[0:2]) # print to the HTML sink print """\ Content-type: text/html

We're sorry, we hit a bug!

If you would like to help us identify the problem, please email a copy of this page to the webmaster for this site with a description of what happened. Thanks!

Traceback:

"""
    if traceback:
        traceback.print_exc(file=sys.stdout)
    else:
        print '[failed to import module traceback]'
        print '[exc: %s, var: %s]' % sys.exc_info()[0:2]
    print '\n\n
' def print_environment(logfp=None): if logfp is None: logfp = sys.__stderr__ try: import os except ImportError: os = None # write to the log file first logfp.write('[----- Environment Variables -----]\n') if os: for k, v in os.environ.items(): logfp.write('\t%s: %s\n' % (k, v)) else: logfp.write('[failed to import module os]\n') # write to the HTML sink if os: print '''\


Environment variables:

''' for k, v in os.environ.items(): print '' print '
Variable Value
', k, '', v, '
' else: print '


[failed to import module os]' try: # Python 1.5 doesn't have these by default. Let's make our lives easy if not hasattr(sys, '__stderr__'): sys.__stderr__ = sys.stderr if not hasattr(sys, '__stdout__'): sys.__stdout__ = sys.stdout run_main() except: # Some exception percolated all the way back up to the top. This # generally shouldn't happen because the run_main() call is similarly # wrapped, but just in case, we'll give it one last ditch effort to report # problems to *somebody*. Most likely this will end up in the Web server # log file. try: print_traceback() print_environment() except: # Nope, we're quite screwed print """\ Content-type: text/html

We're sorry, we hit a bug!

Mailman experienced a very low level failure and could not even generate a useful traceback for you. Please report this to the Mailman administrator at this site. """ sys.__stderr__.write('[Mailman: low level unrecoverable exception]\n') --6QK9bPyZ8q-- From klm@python.org Fri Sep 4 03:51:23 1998 From: klm@python.org (Ken Manheimer) Date: Thu, 3 Sep 1998 22:51:23 -0400 (EDT) Subject: [Mailman-Developers] fix for private archives mechanism Message-ID: <13807.21571.613572.45480@glyph.cnri.reston.va.us> Someone noticed that invalid passwords were being accepted for access to private archives. I tracked down the problem, and see that this problem applies to 1.0b4 and also 1.0b5 (we're still at 1.0b4 on python.org). Any of you running those versions of mailman with a private archive should apply this patch to private.py (in Mailman/Cgi/private.py in 1.0b5, and in scripts/private.py in 1.0b4). You may have to apply it by hand in 1.0b4 - it shouldn't be hard, just look for the exception line. Ken Manheimer klm@python.org 703 620-8990 x268 (orporation for National Research |nitiatives # If you appreciate Python, consider joining the PSA! # # . # Index: private.py =================================================================== RCS file: /projects/cvsroot/mailman/Mailman/Cgi/private.py,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** private.py 1998/07/11 23:19:08 1.4 --- private.py 1998/09/04 02:44:44 1.5 *************** *** 148,154 **** try: listobj.ConfirmUserPassword( username, password) except (Errors.MMBadUserError, Errors.MMBadPasswordError): ! return 1 import base64, md5 token = md5.new(SECRET + list_name + SECRET).digest() --- 148,154 ---- try: listobj.ConfirmUserPassword( username, password) except (Errors.MMBadUserError, Errors.MMBadPasswordError): ! return 0 import base64, md5 token = md5.new(SECRET + list_name + SECRET).digest() From tomas@euronetics.se Fri Sep 4 04:11:58 1998 From: tomas@euronetics.se (Tomas Fasth) Date: Fri, 4 Sep 1998 05:11:58 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! Message-ID: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> >Probably my fault, although - who did it get to run under Redhat >Linux? Can someone give me a working Linux version for the Starship? >I'm afraid to re-invent the wheel. I'm running Redhat 5.0, python 1.5.1 and a CVS snapshot of still in work Mailman 1.0b6. The overall function is satisfying for my current needs. I am still evaluating, not in production. Checking out the latest sources from CVS over network is a pretty cool thing although it takes a while of course. But I'm not sure it's a good thing to do for a live installation. Unless the active developers affirm it's safe and stable to do so. Tomas From tomas@euronetics.se Fri Sep 4 05:03:12 1998 From: tomas@euronetics.se (Tomas Fasth) Date: Fri, 4 Sep 1998 06:03:12 +0200 Subject: [Mailman-Developers] Possible re-design for the cause of internationalization Message-ID: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> This is a multi-part message in MIME format. ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I'm the guy trying to translate Mailman to Swedish. Currently the task of doing a translation is managable but very time = consuming. Further, since it involves editing code files it sure makes = you feel insecure about it. It also complicates the task of having the = code up to date with the main (american english) trunk although CVS can = do a good job to make that task less painful. Anyway, in order to avoid chaos in localized installations, there seem = to be a need to change the scheme of how to incorporate language = specific text in user presentations. There has already been some = postings about that. Unfortunately, using the "patch" approach will probably make the code = look "messy" and less readable. Therefore it might be a good idea to do = a re-design of the current text generation part of the code in Mailman. The question is, what is the proper procedure to achieve this? Is there currently an "architect" for Mailman? Is that person willing to coordinate such an efford? If a CVS branch is created for this purpose, how do you earn check-in = permission for that branch? Is there anybody out there who cares about this matter part from me (if = not, why bother)? Tomas ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi, I'm the guy trying to translate = Mailman to=20 Swedish.
Currently the task of doing a translation is managable but very = time=20 consuming. Further, since it involves editing code files it sure makes = you feel=20 insecure about it. It also complicates the task of having the code up to = date=20 with the main (american english) trunk although CVS can do a good job to = make=20 that task less painful.
Anyway, in order to avoid chaos in localized installations, = there seem to=20 be a need to change the scheme of how to incorporate language specific = text in=20 user presentations. There has already been some postings about=20 that.
Unfortunately, using the = "patch"=20 approach will probably make the code look "messy" and less = readable.=20 Therefore it might be a good idea to do a re-design of the current text=20 generation part of the code in Mailman.
The question is, what is the proper procedure to = achieve=20 this?
Is there currently an "architect" for=20 Mailman?
Is that person willing to coordinate such an=20 efford?
If a CVS branch is created for this purpose, = how do you earn check-in permission for that = branch?
 
Is there anybody out there who cares about this = matter part=20 from me (if not, why bother)?
 
Tomas
 
------=_NextPart_000_0147_01BDD7C9.B3155540-- From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 4 15:51:57 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Fri, 4 Sep 1998 10:51:57 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> Message-ID: <13807.65165.345200.114038@anthem.cnri.reston.va.us> >>>>> "TF" == Tomas Fasth writes: TF> Checking out the latest sources from CVS over TF> network is a pretty cool thing although it takes a while of TF> course. But I'm not sure it's a good thing to do for a live TF> installation. Unless the active developers affirm it's safe TF> and stable to do so. I would never recommend using the CVS snapshot for a production installation. That's most definitely not its purpose. When we do a labeled release, we're in effect saying we believe we've reached a stable milestone. Glad you like the CVS access though -- I think it's pretty cool too! -Barry From klm@python.org Fri Sep 4 16:40:37 1998 From: klm@python.org (Ken Manheimer) Date: Fri, 4 Sep 1998 11:40:37 -0400 (EDT) Subject: [Mailman-Developers] Possible re-design for the cause of internationalization In-Reply-To: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: TEXT/PLAIN; CHARSET=iso-8859-1 Content-ID: On Fri, 4 Sep 1998, Tomas Fasth wrote: > Hi, I'm the guy trying to translate Mailman to Swedish. > Currently the task of doing a translation is managable but very time consuming. Further, since it involves editing code files it sure makes you feel insecure about it. It also complicates the task of having the code up to date with the main (american english) trunk although CVS can do a good job to make that task less painful. > Anyway, in order to avoid chaos in localized installations, there seem to be a need to change the scheme of how to incorporate language specific text in user presentations. There has already been some postings about that. > Unfortunately, using the "patch" approach will probably make the code look "messy" and less readable. Therefore it might be a good idea to do a re-design of the current text generation part of the code in Mailman. > The question is, what is the proper procedure to achieve this? > Is there currently an "architect" for Mailman? > Is that person willing to coordinate such an efford? > If a CVS branch is created for this purpose, how do you earn check-in permission for that branch? > > Is there anybody out there who cares about this matter part from me (if not, why bother)? These are good questions. I would say that there is interest in general for localization, and in fact we had started to think about that independently of your efforts. But i should stress "started" - i'd say we're currently in an early stage of mailman's release to the world, and concentrating as much as we can on getting a stable release with the current feature set. As it stands, the three of us who have been at the center (john, barry and i) are having less time than we hoped, for various and diverse reasons, to get to the first full release. And until we get there we will be trying to maintain a feature freeze, to avoid getting *further* away from our goal of a stable release. This does not mean that your efforts for internationalization will be for nought, but we probably will be quite slow and reluctant to adopt most structural changes until we get over the hump of 1.0final. So i'd say the upshot is that you're going to need to be patient - we've just gotten together a lot of the infrastructure (with stuff like the mailing lists, the public CVS tree, and the web site) for collaborative development, but that sort of stuff is less than half the picture - the substantial stuff will be procedures and policies for coordinating a larger effort, and we're only starting to look at that. Ken Manheimer klm@python.org 703 620-8990 x268 (orporation for National Research |nitiatives # If you appreciate Python, consider joining the PSA! # # . # ------=_NextPart_000_0147_01BDD7C9.B3155540-- From tismer@appliedbiometrics.com Fri Sep 4 16:52:11 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Fri, 04 Sep 1998 17:52:11 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> Message-ID: <35F00CAB.BBD36366@appliedbiometrics.com> Tomas Fasth wrote: > > >Probably my fault, although - who did it get to run under Redhat > >Linux? Can someone give me a working Linux version for the Starship? > >I'm afraid to re-invent the wheel. > > I'm running Redhat 5.0, python 1.5.1 and a CVS snapshot of still in work > Mailman 1.0b6. > The overall function is satisfying for my current needs. I am still > evaluating, not in production. > Checking out the latest sources from CVS over network is a pretty cool thing > although it takes a while of course. But I'm not sure it's a good thing to > do for a live installation. Unless the active developers affirm it's safe > and stable to do so. My problem is that I have to install a production release. But I upgraded the Machine to Python 1.5, not 1.5.1, and got into trouble after following the instructions. (Which claimed Py1.5 would do). Of course I can upgrade to Py 1.5.1, but if it's not necessary, this is a good compatibility check. Funny thing - in order to keep an installed system, I have to use a non-released beta of some other system. Somehow this is upside down, isn't it? cheers - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgp.ai.mit.edu/ we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 4 20:50:11 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Fri, 4 Sep 1998 15:50:11 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> <35F00CAB.BBD36366@appliedbiometrics.com> Message-ID: <13808.17523.481401.725155@anthem.cnri.reston.va.us> I am going to try to find some time to verify that the next Mailman snapshot works with Python 1.5. I've got to dig that up and install it, then run 1.0b6 against it. -Barry From Dan@feld.cvut.cz Fri Sep 4 22:54:52 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Fri, 4 Sep 1998 23:54:52 +0200 Subject: [Mailman-Developers] Possible re-design for the cause of internationalization In-Reply-To: References: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> Message-ID: <6FFCE7039C3@power.feld.cvut.cz> On 4 Sep 98, at 11:40, Ken Manheimer wrote: > I would say that there is interest in general for localization, and in > fact we had started to think about that independently of your efforts. > But i should stress "started" - i'd say we're currently in an early > stage of mailman's release to the world, and concentrating as much as we > can on getting a stable release with the current feature set. I am also interested in localization too. I thik, it is OK to made stable version, but it is not so big change. I think it will be possible to made next version after this with localization support. The templates are very good start and next what we need is some function like def get_localized(text) return text We can suply this function on all positions and after this we can think about realization of this function. Standart distribution can have this function and our localized can have some other. I will post patches, where will be solved header problems of templates, but it is difficult, becouse when they will be included in further version, they can be unusable, becouse the source code can be another. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pokrok je realizace utopii. From cklempay@acm.jhu.edu Thu Sep 10 19:35:50 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Thu, 10 Sep 1998 14:35:50 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests death Message-ID: Anyone seen this before? ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "Outside of every thin woman is a fat man trying to get in." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Thu, 10 Sep 1998 12:00:02 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/senddigests deliver: parent uid 514, gid 100, egid 100 deliver child: uid 514, gid 100, egid 100 Traceback (innermost last): File "/home/mailman/cron/senddigests", line 37, in ? main() File "/home/mailman/cron/senddigests", line 34, in main list.SendDigestIfAny() File "/home/mailman/Mailman/Digester.py", line 194, in SendDigestIfAny self.SendDigestOnSize(0) File "/home/mailman/Mailman/Digester.py", line 206, in SendDigestOnSize self.SendDigest() File "/home/mailman/Mailman/Digester.py", line 291, in SendDigest self.DeliverToList(d.Present(mime=1), File "/home/mailman/Mailman/Deliverer.py", line 82, in DeliverToList status = cmdproc.close() IOError: (10, 'No child processes') ContactTransport in... ContactTransport out... From julian7@kva.hu Fri Sep 11 00:15:24 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:15:24 +0200 (CEST) Subject: [Mailman-Developers] Post ack patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-750986000-905469324=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the annoying bug in acknowledge mail (the first character of subject was dropped). Please apply this patch. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-750986000-905469324=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-ack.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-ack.patch Content-Disposition: attachment; filename="mailman-ack.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9EZWxpdmVyZXIucHkg bWFpbG1hbi9NYWlsbWFuL0RlbGl2ZXJlci5weQ0KLS0tIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0RlbGl2ZXJlci5weQlTdW4gQXVnIDMwIDE1OjU1OjU0IDE5 OTgNCisrKyBtYWlsbWFuL01haWxtYW4vRGVsaXZlcmVyLnB5CU1vbiBBdWcg MzEgMTM6NTA6MDYgMTk5OA0KQEAgLTk0LDcgKzk0LDcgQEANCiAgICAgICAg ICAgICBpZiAobGVuKHN1YmplY3QpID4gbGVuKHNwKQ0KICAgICAgICAgICAg ICAgICBhbmQgc3ViamVjdFswOmxlbihzcCldID09IHNwKToNCiAgICAgICAg ICAgICAgICAgIyBUcmltIG9mZiBzdWJqZWN0IHByZWZpeA0KLSAgICAgICAg ICAgICAgICBzdWJqZWN0ID0gc3ViamVjdFtsZW4oc3ApICsgMTpdDQorICAg ICAgICAgICAgICAgIHN1YmplY3QgPSBzdWJqZWN0W2xlbihzcCk6XQ0KICAg ICAgICAgIyBnZXQgdGhlIHRleHQgZnJvbSB0aGUgdGVtcGxhdGUNCiAgICAg ICAgIGJvZHkgPSBVdGlscy5tYWtldGV4dCgNCiAgICAgICAgICAgICAncG9z dGFjay50eHQnLA0K ---456965764-750986000-905469324=:8757-- From julian7@kva.hu Fri Sep 11 00:17:07 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:17:07 +0200 (CEST) Subject: [Mailman-Developers] set digest patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1071877117-905469427=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the bug in "set digest (on|off) " mail comand. Please apply. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1071877117-905469427=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-digest.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-digest.patch Content-Disposition: attachment; filename="mailman-digest.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsQ29tbWFuZEhh bmRsZXIucHkgbWFpbG1hbi9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxl ci5weQlTYXQgQXVnICA4IDE0OjE2OjIwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CU1vbiBTZXAgIDcgMTY6MTA6 MjEgMTk5OA0KQEAgLTQ5LDcgKzQ5LDggQEANCiAJCSAnaGlkZScgICA6DQog CQkgICAgJ0NvbmNlYWxzIHlvdXIgZW1haWwgZnJvbSB0aGUgbGlzdCBvZiBz dWJzY3JpYmVycycNCiAJICAgICAgIH0NCi1vcHRpb25faW5mbyA9IHsgJ2Rp Z2VzdCcgOiAwLA0KK29wdGlvbl9pbmZvID0geyANCisjJ2RpZ2VzdCcgOiAw LA0KIAkJJ25vbWFpbCcgOiBtbV9jZmcuRGlzYWJsZURlbGl2ZXJ5LA0KIAkJ J25vcmN2JyAgOiBtbV9jZmcuRG9udFJlY2VpdmVPd25Qb3N0cywNCiAJCSdh Y2snICAgIDogbW1fY2ZnLkFja25vd2xlZ2VQb3N0cywNCkBAIC0yMTYsNiAr MjE3LDEyIEBADQogCSAgICBzLkFkZEVycm9yKCJWYWxpZCBvcHRpb25zIGFy ZToiKQ0KIAkgICAgZm9yIG9wdGlvbiBpbiBvcHRpb25zOg0KIAkJcy5BZGRF cnJvcigiJXM6ICAlcyIgJSAob3B0aW9uLCBvZFtvcHRpb25dKSkNCisNCisJ c2VuZGVyID0gc2VsZi5GaW5kVXNlcihtYWlsLkdldFNlbmRlcigpKQ0KKwlp ZiBub3Qgc2VuZGVyOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiWW91IGFyZW4n dCBzdWJzY3JpYmVkLiIpDQorCSAgICByZXR1cm4NCisNCiAJaWYgbGVuKGFy Z3MpIDw+IDM6DQogCSAgICBTaG93U2V0VXNhZ2UoKQ0KIAkgICAgcmV0dXJu DQpAQCAtMjI4LDEwICsyMzUsNiBAQA0KIAkgICAgcmV0dXJuDQogCWlmIG9w dGlvbl9pbmZvLmhhc19rZXkoYXJnc1swXSk6DQogCSAgICB0cnk6DQotCQlz ZW5kZXIgPSBzZWxmLkZpbmRVc2VyKG1haWwuR2V0U2VuZGVyKCkpDQotCQlp ZiBub3Qgc2VuZGVyOg0KLQkJICAgIHNlbGYuQWRkRXJyb3IoIllvdSBhcmVu J3Qgc3Vic2NyaWJlZC4iKQ0KLQkJICAgIHJldHVybg0KIAkJc2VsZi5Db25m aXJtVXNlclBhc3N3b3JkKHNlbmRlciwgYXJnc1syXSkNCiAJCXNlbGYuU2V0 VXNlck9wdGlvbihzZW5kZXIsIG9wdGlvbl9pbmZvW2FyZ3NbMF1dLCB2YWx1 ZSkNCiAJCXNlbGYuQWRkVG9SZXNwb25zZSgiU3VjY2VlZGVkLiIpDQpAQCAt MjQ0LDcgKzI0Nyw4IEBADQogCQlzZWxmLkFkZEVycm9yKCIlcyIgJSBzeXMu ZXhjX3R5cGUpDQogCWVsaWYgYXJnc1swXSA9PSAnZGlnZXN0JzoNCiAJICAg IHRyeToNCi0JCXNlbGYuU2V0VXNlckRpZ2VzdChtYWlsLkdldFNlbmRlcigp LCBhcmdzWzJdLCB2YWx1ZSkNCisJCXNlbGYuQ29uZmlybVVzZXJQYXNzd29y ZChzZW5kZXIsIGFyZ3NbMl0pDQorCQlzZWxmLlNldFVzZXJEaWdlc3QobWFp bC5HZXRTZW5kZXIoKSwgdmFsdWUpDQogCQlzZWxmLkFkZFRvUmVzcG9uc2Uo IlN1Y2NlZWRlZC4iKQ0KIAkgICAgZXhjZXB0IEVycm9ycy5NTUFscmVhZHlE aWdlc3RlZDoNCiAJCXNlbGYuQWRkRXJyb3IoIllvdSBhcmUgYWxyZWFkeSBy ZWNlaXZpbmcgZGlnZXN0cy4iKQ0K ---456965764-1071877117-905469427=:8757-- From julian7@kva.hu Fri Sep 11 00:18:46 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:18:46 +0200 (CEST) Subject: [Mailman-Developers] Distclean patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-933902433-905469526=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the bug in make distclean. Please apply. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-933902433-905469526=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-distclean.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-distclean.patch Content-Disposition: attachment; filename="mailman-distclean.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWtlZmlsZS5pbiBt YWlsbWFuL01haWxtYW4vTWFrZWZpbGUuaW4NCi0tLSBtYWlsbWFuLm9yaWcv TWFpbG1hbi9NYWtlZmlsZS5pbglTYXQgQXVnICA4IDE0OjE2OjM2IDE5OTgN CisrKyBtYWlsbWFuL01haWxtYW4vTWFrZWZpbGUuaW4JTW9uIEF1ZyAzMSAx Mzo1MDowNiAxOTk4DQpAQCAtODMsNyArODMsNyBAQA0KIAlkb25lDQogDQog ZGlzdGNsZWFuOg0KLQktcm0gTWFrZWZpbGUgRGVmYXVsdHMucHkNCisJLXJt IE1ha2VmaWxlIERlZmF1bHRzLnB5IG1tX2NmZy5weQ0KIAlmb3IgZCBpbiAk KFNVQkRJUlMpOyBcDQogCWRvIFwNCiAJICAgIChjZCAkJGQ7ICQoTUFLRSkg ZGlzdGNsZWFuKTsgXA0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvY3Jvbi9N YWtlZmlsZS5pbiBtYWlsbWFuL2Nyb24vTWFrZWZpbGUuaW4NCi0tLSBtYWls bWFuLm9yaWcvY3Jvbi9NYWtlZmlsZS5pbglTYXQgQXVnICA4IDE0OjE4OjUz IDE5OTgNCisrKyBtYWlsbWFuL2Nyb24vTWFrZWZpbGUuaW4JTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtNjcsNCArNjcsNCBAQA0KIGNsZWFuOg0K IA0KIGRpc3RjbGVhbjoNCi0JLXJtIE1ha2VmaWxlDQorCS1ybSBNYWtlZmls ZSBjcm9udGFiLmluDQo= ---456965764-933902433-905469526=:8757-- From julian7@kva.hu Fri Sep 11 00:21:16 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:21:16 +0200 (CEST) Subject: [Mailman-Developers] cmdend patch [recommended] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-70825359-905469676=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch enables -- as the end of commands (like end). Most maillist programs support this. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-70825359-905469676=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cmdend.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-cmdend.patch Content-Disposition: attachment; filename="mailman-cmdend.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsQ29tbWFuZEhh bmRsZXIucHkgbWFpbG1hbi9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxl ci5weQlTYXQgQXVnICA4IDE0OjE2OjIwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CU1vbiBTZXAgIDcgMTY6MTA6 MjEgMTk5OA0KQEAgLTEzMSw3ICsxMzEsNyBAQA0KIAkgICAgYXJncyA9IHN0 cmluZy5zcGxpdChsaW5lKQ0KIAkgICAgY21kID0gc3RyaW5nLmxvd2VyKGFy Z3NbMF0pDQogCSAgICBhcmdzID0gYXJnc1sxOl0NCi0JICAgIGlmIGNtZCA9 PSAnZW5kJzoNCisJICAgIGlmIGNtZCA9PSBbJ2VuZCcsICctLSddOg0KIAkJ c2VsZi5BZGRFcnJvcigiRW5kIG9mIGNvbW1hbmRzLiIpDQogCQlicmVhaw0K IAkgICAgaWYgbm90IHNlbGYuX2NtZF9kaXNwYXRjaC5oYXNfa2V5KGNtZCk6 DQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy90ZW1wbGF0ZXMvaGVscC50eHQg bWFpbG1hbi90ZW1wbGF0ZXMvaGVscC50eHQNCi0tLSBtYWlsbWFuLm9yaWcv dGVtcGxhdGVzL2hlbHAudHh0CVNhdCBBdWcgIDggMTQ6MjA6MzIgMTk5OA0K KysrIG1haWxtYW4vdGVtcGxhdGVzL2hlbHAudHh0CU1vbiBBdWcgMzEgMTU6 MDc6NDggMTk5OA0KQEAgLTg2LDcgKzg2LDcgQEANCiAgICAgcGFzc3dvcmQg PG9sZHBhc3N3b3JkPiA8bmV3cGFzc3dvcmQ+IA0KICAgICAgICAgQ2hhbmdl IHlvdXIgbGlzdCBwYXNzd29yZC4NCiAgICAgDQotICAgIGVuZA0KKyAgICBl bmQgb3IgLS0NCiAgICAgICAgU3RvcCBwcm9jZXNzaW5nIGNvbW1hbmRzIChn b29kIHRvIGRvIGlmIHlvdXIgbWFpbGVyIGF1dG9tYXRpY2FsbHkNCiAgICAg ICAgYWRkcyBhIHNpZ25hdHVyZSBmaWxlIC0gaXQnbGwgc2F2ZSB5b3UgZnJv bSBhIGxvdCBvZiBjcnVmdCkuDQogDQo= ---456965764-70825359-905469676=:8757-- From julian7@kva.hu Fri Sep 11 00:22:48 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:22:48 +0200 (CEST) Subject: [Mailman-Developers] cgi extensions [add-on] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1528156929-905469768=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch implements CGI extensions in the program. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1528156929-905469768=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cgiext.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-cgiext.patch Content-Disposition: attachment; filename="mailman-cgiext.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9Cb3VuY2VyLnB5IG1h aWxtYW4vTWFpbG1hbi9Cb3VuY2VyLnB5DQotLS0gbWFpbG1hbi5vcmlnL01h aWxtYW4vQm91bmNlci5weQlTYXQgQXVnICA4IDE0OjE1OjQwIDE5OTgNCisr KyBtYWlsbWFuL01haWxtYW4vQm91bmNlci5weQlNb24gQXVnIDMxIDEzOjUw OjA2IDE5OTgNCkBAIC0xNzgsNyArMTc4LDcgQEANCiAgICAgICAgICAgICBp ZiBkaWQgPT0gJ2Rpc2FibGVkJyBhbmQgc3VjY2VlZGVkID09IDE6DQogICAg ICAgICAgICAgICAgIHJlZW5hYmxlID0gVXRpbHMubWFrZXRleHQoDQogICAg ICAgICAgICAgICAgICAgICAncmVlbmFibGUudHh0JywNCi0gICAgICAgICAg ICAgICAgICAgIHsnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNj cmlwdFVSTCgnbGlzdGluZm8nKSwNCisgICAgICAgICAgICAgICAgICAgIHsn bGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTChtbV9j ZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgIGVsc2U6DQogICAgICAgICAgICAgICAgIHJlZW5hYmxl ID0gJycNCmRpZmYgLWJydU4gbWFpbG1hbi5vcmlnL01haWxtYW4vQ2dpL2Fk bWluLnB5IG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW4ucHkNCi0tLSBtYWls bWFuLm9yaWcvTWFpbG1hbi9DZ2kvYWRtaW4ucHkJU2F0IEF1ZyAgOCAxNDox NzoyNiAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0NnaS9hZG1pbi5weQlN b24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0xMzAsNyArMTMwLDcgQEAN CiAgICAgICAgICAgICAgICAgJ2FkbWxvZ2luLnR4dCcsDQogICAgICAgICAg ICAgICAgIHsibGlzdG5hbWUiOiBsaXN0X25hbWUsDQogICAgICAgICAgICAg ICAgICAicGF0aCIgICAgOiBvcy5lbnZpcm9uLmdldCgiUkVRVUVTVF9VUkki LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi9tYWlsbWFuL2FkbWluLyIgKyBsaXN0X25hbWUpLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi9tYWlsbWFuLyIgKyBtbV9jZmcuQURN SU5fQ0dJICsgIi8iICsgbGlzdF9uYW1lICksDQogICAgICAgICAgICAgICAg ICAibWVzc2FnZSIgOiBtZXNzYWdlLA0KICAgICAgICAgICAgICAgICAgfSkN CiAgICAgICAgICAgICBwcmludCB0ZXh0DQpAQCAtMjI0LDcgKzIyNCw3IEBA DQogICAgICAgICAgICAgICAgICAgICAgICsNCiAgICAgICAgICAgICAgICAg ICAgICAgIiBHZW5lcmFsIGxpc3QgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5k IGF0ICIsDQogICAgICAgICAgICAgICAgICAgICAgIExpbmsob3MucGF0aC5q b2luKCcuLi8nKiBVdGlscy5HZXROZXN0aW5nTGV2ZWwoKSwgDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAibGlzdGluZm8vIiksICJ0aGUgbWFpbGlu ZyBsaXN0IG92ZXJ2aWV3IHBhZ2UiKSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgIG1tX2NmZy5MSVNUSU5GT19DR0kgKyAiLyIpLCAidGhlIG1haWxp bmcgbGlzdCBvdmVydmlldyBwYWdlIiksDQogICAgICAgICAgICAgICAgICAg ICAgICIuIg0KICAgICAgICAgICAgICAgICAgICAgICAiPHA+KFNlbmQgcXVl c3Rpb25zIGFuZCBjb21tZW50cyB0byAiLA0KICAgICAgICAgICAgICAgICAg ICAgIExpbmsoIm1haWx0bzolcyIgJSBtbV9jZmcuTUFJTE1BTl9PV05FUiwN CkBAIC0yMzksNyArMjM5LDcgQEANCiAgICAgaWYgYWR2ZXJ0aXNlZDoNCiAg ICAgICAgIHRhYmxlLkFkZFJvdyhbSXRhbGljKCJMaXN0IiksIEl0YWxpYygi RGVzY3JpcHRpb24iKV0pDQogICAgICAgICBmb3IgbCBpbiBhZHZlcnRpc2Vk Og0KLSAgICAgICAgICAgIHRhYmxlLkFkZFJvdyhbTGluayhsLkdldFJlbGF0 aXZlU2NyaXB0VVJMKCdhZG1pbicpLCANCisgICAgICAgICAgICB0YWJsZS5B ZGRSb3coW0xpbmsobC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURN SU5fQ0dJKSwgDQogCSAgICAgICAgICAgICAgICAgIEJvbGQobC5yZWFsX25h bWUpKSxsLmRlc2NyaXB0aW9uXSkNCiANCiAgICAgZG9jLkFkZEl0ZW0odGFi bGUpDQpAQCAtMjYxLDEzICsyNjEsMTMgQEANCiAgICAgbGlua3NfdGFibGUu QWRkUm93KFtDZW50ZXIoQm9sZCgiQ29uZmlndXJhdGlvbiBDYXRlZ29yaWVz IikpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIENlbnRlcihCb2xkKCJP dGhlciBBZG1pbmlzdHJhdGl2ZSBBY3Rpdml0aWVzIikpXSkNCiAgICAgb3Ro ZXJfbGlua3MgPSBVbm9yZGVyZWRMaXN0KCkNCi0gICAgbGluayA9IExpbmso bHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbmRiJyksIA0KKyAgICBs aW5rID0gTGluayhsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwobW1fY2ZnLkFE TUlOREJfQ0dJKSwgDQogICAgICAgICAgICAgICAgICdUZW5kIHRvIHBlbmRp bmcgYWRtaW5pc3RyYXRpdmUgcmVxdWVzdHMuJykNCiAgICAgb3RoZXJfbGlu a3MuQWRkSXRlbShsaW5rKQ0KLSAgICBsaW5rID0gTGluayhsc3QuR2V0UmVs YXRpdmVTY3JpcHRVUkwoJ2xpc3RpbmZvJyksDQorICAgIGxpbmsgPSBMaW5r KGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJ KSwNCiAgICAgICAgICAgICAgICAgJ0dvIHRvIHRoZSBnZW5lcmFsIGxpc3Qg aW5mb3JtYXRpb24gcGFnZS4nKQ0KICAgICBvdGhlcl9saW5rcy5BZGRJdGVt KGxpbmspDQotICAgIGxpbmsgPSBMaW5rKGxzdC5HZXRSZWxhdGl2ZVNjcmlw dFVSTCgnZWRpdGh0bWwnKSwNCisgICAgbGluayA9IExpbmsobHN0LkdldFJl bGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5FRElUSFRNTF9DR0kpLA0KICAgICAg ICAgICAgICAgICAnRWRpdCB0aGUgSFRNTCBmb3IgdGhlIHB1YmxpYyBsaXN0 IHBhZ2VzLicpDQogICAgIG90aGVyX2xpbmtzLkFkZEl0ZW0obGluaykNCiAN CkBAIC0yNzcsNyArMjc3LDcgQEANCiAgICAgICAgICAgICB0aGVzZV9saW5r cy5BZGRJdGVtKCI8Yj4gPSZndDsgIiArIHYgKyAiICZsdDs9IDwvYj4iKQ0K ICAgICAgICAgZWxzZToNCiAgICAgICAgICAgICB0aGVzZV9saW5rcy5BZGRJ dGVtKExpbmsoIiVzLyVzIiAlIA0KLQkgICAgICAgICAgICAgICAgIChsc3Qu R2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2FkbWluJyksayksdikpDQorCSAgICAg ICAgICAgICAgICAgKGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcu QURNSU5fQ0dJKSxrKSx2KSkNCiANCiAgICAgbGlua3NfdGFibGUuQWRkUm93 KFt0aGVzZV9saW5rcywgb3RoZXJfbGlua3NdKQ0KICAgICBsaW5rc190YWJs ZS5BZGRSb3dJbmZvKG1heChsaW5rc190YWJsZS5HZXRDdXJyZW50Um93SW5k ZXgoKSwgMCksDQpAQCAtMjg2LDEwICsyODYsMTAgQEANCiAgICAgZG9jLkFk ZEl0ZW0obGlua3NfdGFibGUpDQogICAgIGRvYy5BZGRJdGVtKCc8aHI+JykN CiAgICAgaWYgY2F0ZWdvcnlfc3VmZml4Og0KLSAgICAgICAgZm9ybSA9IEZv cm0oIiVzLyVzIiAlIChsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2FkbWlu JyksDQorICAgICAgICBmb3JtID0gRm9ybSgiJXMvJXMiICUgKGxzdC5HZXRS ZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfc3VmZml4KSkN CiAgICAgZWxzZToNCi0gICAgICAgIGZvcm0gPSBGb3JtKGxzdC5HZXRSZWxh dGl2ZVNjcmlwdFVSTCgnYWRtaW4nKSkNCisgICAgICAgIGZvcm0gPSBGb3Jt KGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSkN CiAgICAgZG9jLkFkZEl0ZW0oZm9ybSkNCiANCiAgICAgZm9ybS5BZGRJdGVt KCJNYWtlIHlvdXIgY2hhbmdlcywgYmVsb3csIGFuZCB0aGVuIHN1Ym1pdCBp dCBhbGwgYXQgdGhlIg0KQEAgLTQwNCw3ICs0MDQsNyBAQA0KICAgICBkb2Mu QWRkSXRlbSgiPGI+JXM8L2I+ICglcyk6ICVzPHA+IiAlICh2YXJuYW1lLCBj YXRlZ29yeSwgaXRlbVs0XSkpDQogICAgIGRvYy5BZGRJdGVtKCIlczxwPiIg JSBpdGVtWzVdKQ0KIA0KLSAgICBmb3JtID0gRm9ybShvcy5wYXRoLmpvaW4o bHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbicpLCBjYXRlZ29yeSkp DQorICAgIGZvcm0gPSBGb3JtKG9zLnBhdGguam9pbihsc3QuR2V0UmVsYXRp dmVTY3JpcHRVUkwobW1fY2ZnLkFETUlOX0NHSSksIGNhdGVnb3J5KSkNCiAg ICAgdmFsdGFiID0gVGFibGUoY2VsbHNwYWNpbmc9MywgY2VsbHBhZGRpbmc9 NCkNCiAgICAgQWRkT3B0aW9uc1RhYmxlSXRlbSh2YWx0YWIsIGl0ZW0sIGNh dGVnb3J5LCBsc3QsIG5vZGV0YWlscz0xKQ0KICAgICBmb3JtLkFkZEl0ZW0o dmFsdGFiKQ0KQEAgLTUwNCw4ICs1MDQsOCBAQA0KICAgICAgICAgcGkgPSBv cy5lbnZpcm9uWyJQQVRIX0lORk8iXQ0KICAgICAgICAgZm9yIGNpIGluIGNo dW5rX2luZGljZXM6DQogICAgICAgICAgICAgc3RhcnQsIGVuZCA9IGNodW5r c1tjaV1bMF0sIGNodW5rc1tjaV1bLTFdDQotICAgICAgICAgICAgYnV0dG9u cy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4vYWRtaW4lcz9jaHVuaz0lZD4g ZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAoIHBpLCBjaSwgc3RhcnQsIGVuZCkpDQorICAgICAgICAgICAg YnV0dG9ucy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4vJXMlcz9jaHVuaz0l ZD4gZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoIG1tX2NmZy5BRE1JTl9DR0ksIHBpLCBjaSwgc3RhcnQs IGVuZCkpDQogICAgICAgICBidXR0b25zID0gYXBwbHkoVW5vcmRlcmVkTGlz dCwgdHVwbGUoYnV0dG9ucykpDQogICAgICAgICBmb290ZXIgPSBmb290ZXIg KyBidXR0b25zLkZvcm1hdCgpICsgIjxwPiIgDQogICAgIGVsc2U6DQpkaWZm IC1icnVOIG1haWxtYW4ub3JpZy9NYWlsbWFuL0NnaS9hZG1pbmRiLnB5IG1h aWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW5kYi5weQ0KLS0tIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0NnaS9hZG1pbmRiLnB5CVNhdCBBdWcgIDggMTQ6MTc6Mjkg MTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW5kYi5weQlNb24g QXVnIDMxIDE0OjE2OjQzIDE5OTgNCkBAIC0xOTUsNiArMTk1LDggQEANCiAN CiAMDQogZGVmIFByaW50UmVxdWVzdHMoZG9jKToNCisgICAgZnJvbSBNYWls bWFuIGltcG9ydCBtbV9jZmcNCisNCiAgICAgIyBYWFg6IFl1aywgYmxlY2gs IGljaw0KICAgICBnbG9iYWwgbGlzdA0KICAgICBnbG9iYWwgZm9ybQ0KQEAg LTIwNywxNCArMjA5LDE0IEBADQogICAgIGRvYy5BZGRJdGVtKGh0bWxmb3Jt YXQuSGVhZGVyKDIsICJBZG1pbmlzdHJhdGl2ZSByZXF1ZXN0cyBmb3IgIg0K IAkJCQkgICInJXMnIG1haWxpbmcgbGlzdCIgJSBsaXN0LnJlYWxfbmFtZSkp DQogICAgIGRvYy5BZGRJdGVtKGh0bWxmb3JtYXQuRm9udFNpemUoIisxIiwg aHRtbGZvcm1hdC5MaW5rKA0KLQlsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJM KCdhZG1pbicpLCBodG1sZm9ybWF0Lkl0YWxpYygNCisJbGlzdC5HZXRSZWxh dGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSwgaHRtbGZvcm1hdC5J dGFsaWMoDQogCSAgICAnVmlldyBvciBlZGl0IHRoZSBsaXN0IGNvbmZpZ3Vy YXRpb24gaW5mb3JtYXRpb24nKSkpKQ0KICAgICBkb2MuQWRkSXRlbSgnPHA+ PGhyPicpDQogICAgIGlmIG5vdCBsaXN0Lk51bVJlcXVlc3RzUGVuZGluZygp Og0KIAlkb2MuQWRkSXRlbShodG1sZm9ybWF0LkhlYWRlcigzLCdUaGVyZSBh cmUgbm8gcGVuZGluZyByZXF1ZXN0cy4nKSkNCiAJZG9jLkFkZEl0ZW0obGlz dC5HZXRNYWlsbWFuRm9vdGVyKCkpDQogCXJldHVybg0KLSAgICBmb3JtID0g aHRtbGZvcm1hdC5Gb3JtKGxpc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2Fk bWluZGInKSkNCisgICAgZm9ybSA9IGh0bWxmb3JtYXQuRm9ybShsaXN0Lkdl dFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTkRCX0NHSSkpDQogICAg IGRvYy5BZGRJdGVtKGZvcm0pDQogICAgIGZvcm0uQWRkSXRlbSgnQWRtaW4g cGFzc3dvcmQ6ICcpDQogICAgIGZvcm0uQWRkSXRlbShodG1sZm9ybWF0LlBh c3N3b3JkQm94KCdhZG1pbnB3JykpDQpkaWZmIC1icnVOIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0NnaS9lZGl0aHRtbC5weSBtYWlsbWFuL01haWxtYW4vQ2dp L2VkaXRodG1sLnB5DQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vQ2dpL2Vk aXRodG1sLnB5CVNhdCBBdWcgIDggMTQ6MTc6MzIgMTk5OA0KKysrIG1haWxt YW4vTWFpbG1hbi9DZ2kvZWRpdGh0bWwucHkJTW9uIEF1ZyAzMSAxMzo1MDow NiAxOTk4DQpAQCAtODcsNyArODcsNyBAQA0KICAgICAgICAgZG9jLkFkZEl0 ZW0oaHRtbGZvcm1hdC5IZWFkZXIoMiwgJ1NlbGVjdCBwYWdlIHRvIGVkaXQ6 JykpDQogICAgICAgICB0ZW1wbGF0ZV9saXN0ID0gaHRtbGZvcm1hdC5Vbm9y ZGVyZWRMaXN0KCkNCiAgICAgICAgIGZvciAodGVtcGxhdGUsIGluZm8pIGlu IHRlbXBsYXRlX2RhdGE6DQotICAgICAgICAgICAgbCA9IGh0bWxmb3JtYXQu TGluayhvcy5wYXRoLmpvaW4obGlzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgn ZWRpdGh0bWwnKSwNCisgICAgICAgICAgICBsID0gaHRtbGZvcm1hdC5MaW5r KG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKG1tX2Nm Zy5FRElUSFRNTF9DR0kpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlKSwgaW5mbykNCiANCiAgICAg ICAgICAgICB0ZW1wbGF0ZV9saXN0LkFkZEl0ZW0obCkNCkBAIC0xNDYsMTQg KzE0NiwxNCBAQA0KIA0KICAgICBkb2MuQWRkSXRlbSgnPGhyPicpDQogDQot ICAgIGxpbmsgPSBodG1sZm9ybWF0LkxpbmsobGlzdC5HZXRSZWxhdGl2ZVNj cmlwdFVSTCgnYWRtaW4nKSwNCisgICAgbGluayA9IGh0bWxmb3JtYXQuTGlu ayhsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kp LA0KIAkJCSAgICdWaWV3IG9yIGVkaXQgdGhlIGxpc3QgY29uZmlndXJhdGlv biBpbmZvcm1hdGlvbi4nKQ0KICAgICBkb2MuQWRkSXRlbShodG1sZm9ybWF0 LkZvbnRTaXplKCIrMSIsIGxpbmspKQ0KICAgICBkb2MuQWRkSXRlbSgnPHA+ JykNCiANCiAgICAgZG9jLkFkZEl0ZW0oJzxocj4nKQ0KIA0KLSAgICBmb3Jt ID0gaHRtbGZvcm1hdC5Gb3JtKG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0 aXZlU2NyaXB0VVJMKCdlZGl0aHRtbCcpLA0KKyAgICBmb3JtID0gaHRtbGZv cm1hdC5Gb3JtKG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0aXZlU2NyaXB0 VVJMKG1tX2NmZy5FRElUSFRNTF9DR0kpLA0KIAkJCQkJdGVtcGxhdGVfbmFt ZSkpDQogICAgIGRvYy5BZGRJdGVtKGZvcm0pDQogDQpkaWZmIC1icnVOIG1h aWxtYW4ub3JpZy9NYWlsbWFuL0NnaS9saXN0aW5mby5weSBtYWlsbWFuL01h aWxtYW4vQ2dpL2xpc3RpbmZvLnB5DQotLS0gbWFpbG1hbi5vcmlnL01haWxt YW4vQ2dpL2xpc3RpbmZvLnB5CVNhdCBBdWcgIDggMTQ6MTc6NDMgMTk5OA0K KysrIG1haWxtYW4vTWFpbG1hbi9DZ2kvbGlzdGluZm8ucHkJTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtMTIyLDcgKzEyMiw3IEBADQogICAgICAg ICAgICAgICAgICAgICAgICsNCiAgICAgICAgICAgICAgICAgICAgICAgJzxw PiBMaXN0IGFkbWluaXN0cmF0b3JzLCB5b3UgY2FuIHZpc2l0ICcsDQogICAg ICAgICAgICAgICAgICAgICAgIExpbmsob3MucGF0aC5qb2luKCcuLi8nICog VXRpbHMuR2V0TmVzdGluZ0xldmVsKCksDQotCSAgICAgICAgICAgICAgICAg ICAnYWRtaW4vJyksICJ0aGUgbGlzdCBhZG1pbiBvdmVydmlldyBwYWdlIiks DQorCSAgICAgICAgICAgICAgICAgICBtbV9jZmcuQURNSU5fQ0dJICsgJy8n KSwgInRoZSBsaXN0IGFkbWluIG92ZXJ2aWV3IHBhZ2UiKSwNCiAgICAgICAg ICAgICAgICAgICAgICAgIiB0byBmaW5kIHRoZSBtYW5hZ2VtZW50IGludGVy ZmFjZSBmb3IgeW91ciBsaXN0LiINCiAgICAgICAgICAgICAgICAgICAgICAg IjxwPihTZW5kIHF1ZXN0aW9ucyBvciBjb21tZW50cyB0byAiLA0KICAgICAg ICAgICAgICAgICAgICAgICBMaW5rKCJtYWlsdG86JXMiICUgbW1fY2ZnLk1B SUxNQU5fT1dORVIsDQpAQCAtMTM1LDcgKzEzNSw3IEBADQogICAgIGlmIGFk dmVydGlzZWQ6DQogICAgICAgICB0YWJsZS5BZGRSb3coW0l0YWxpYygiTGlz dCIpLCBJdGFsaWMoIkRlc2NyaXB0aW9uIildKQ0KICAgICBmb3IgbCBpbiBh ZHZlcnRpc2VkOg0KLSAgICAgICAgdGFibGUuQWRkUm93KFtMaW5rKGwuR2V0 UmVsYXRpdmVTY3JpcHRVUkwoJ2xpc3RpbmZvJyksIA0KKyAgICAgICAgdGFi bGUuQWRkUm93KFtMaW5rKGwuR2V0UmVsYXRpdmVTY3JpcHRVUkwobW1fY2Zn LkxJU1RJTkZPX0NHSSksIA0KIAkgICAgICBCb2xkKGwucmVhbF9uYW1lKSks IGwuZGVzY3JpcHRpb25dKQ0KIA0KICAgICBkb2MuQWRkSXRlbSh0YWJsZSkN CkBAIC0xNjQsOCArMTY0LDggQEANCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0t bmV3LXBhc3N3b3JkLWJveD4nXSA9IGxpc3QuRm9ybWF0U2VjdXJlQm94KCdw dycpDQogICAgIHJlcGxhY2VtZW50c1snPG1tLWNvbmZpcm0tcGFzc3dvcmQ+ J10gPSBsaXN0LkZvcm1hdFNlY3VyZUJveCgncHctY29uZicpDQogICAgIHJl cGxhY2VtZW50c1snPG1tLXN1YnNjcmliZS1mb3JtLXN0YXJ0PiddID0gXA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaXN0LkZvcm1hdEZvcm1TdGFydCgnc3Vic2NyaWJlJykNCi0gICAgcmVw bGFjZW1lbnRzWyc8bW0tcm9zdGVyLWZvcm0tc3RhcnQ+J10gPSBsaXN0LkZv cm1hdEZvcm1TdGFydCgncm9zdGVyJykNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC5Gb3JtYXRGb3JtU3Rh cnQobW1fY2ZnLlNVQlNDUklCRV9DR0kpDQorICAgIHJlcGxhY2VtZW50c1sn PG1tLXJvc3Rlci1mb3JtLXN0YXJ0PiddID0gbGlzdC5Gb3JtYXRGb3JtU3Rh cnQobW1fY2ZnLlJPU1RFUl9DR0kpDQogICAgIHJlcGxhY2VtZW50c1snPG1t LWVkaXRpbmctb3B0aW9ucz4nXSA9IGxpc3QuRm9ybWF0RWRpdGluZ09wdGlv bigpDQogICAgIHJlcGxhY2VtZW50c1snPG1tLWluZm8tYnV0dG9uPiddID0g U3VibWl0QnV0dG9uKCdVc2VyT3B0aW9ucycsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFZGl0IE9w dGlvbnMnKS5Gb3JtYXQoKQ0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFp bG1hbi9DZ2kvb3B0aW9ucy5weSBtYWlsbWFuL01haWxtYW4vQ2dpL29wdGlv bnMucHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9DZ2kvb3B0aW9ucy5w eQlTYXQgQXVnICA4IDE0OjE3OjQ1IDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vQ2dpL29wdGlvbnMucHkJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpA QCAtMTE1LDcgKzExNSw3IEBADQogICAgIHJlcGxhY2VtZW50c1snPG1tLWNv bmZpcm0tcGFzcy1ib3g+J10gPSBsaXN0LkZvcm1hdFNlY3VyZUJveCgnY29u ZnB3JykNCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0tY2hhbmdlLXBhc3MtYnV0 dG9uPiddID0gbGlzdC5Gb3JtYXRCdXR0b24oJ2NoYW5nZXB3JywNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIkNoYW5nZSBNeSBQYXNzd29yZCIpDQotICAgIHJl cGxhY2VtZW50c1snPG1tLWZvcm0tc3RhcnQ+J10gPSBsaXN0LkZvcm1hdEZv cm1TdGFydCgnaGFuZGxlX29wdHMnLCB1c2VyKQ0KKyAgICByZXBsYWNlbWVu dHNbJzxtbS1mb3JtLXN0YXJ0PiddID0gbGlzdC5Gb3JtYXRGb3JtU3RhcnQo bW1fY2ZnLkhPUFRTX0NHSSwgdXNlcikNCiAgICAgcmVwbGFjZW1lbnRzWyc8 bW0tdXNlcj4nXSA9IHVzZXINCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0tcHJl c2VudGFibGUtdXNlcj4nXSA9IHByZXNlbnRhYmxlX3VzZXINCiAgICAgcmVw bGFjZW1lbnRzWyc8bW0tZW1haWwtbXktcHc+J10gPSBsaXN0LkZvcm1hdEJ1 dHRvbignZW1haWxwdycsDQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy9NYWls bWFuL0RlZmF1bHRzLnB5LmluIG1haWxtYW4vTWFpbG1hbi9EZWZhdWx0cy5w eS5pbg0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0RlZmF1bHRzLnB5Lmlu CVNhdCBBdWcgIDggMTQ6MTU6NDMgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1h bi9EZWZhdWx0cy5weS5pbglNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBA IC0yMTcsMyArMjE3LDE1IEBADQogDQogIyBEYXRhIGZpbGUgdmVyc2lvbiBu dW1iZXINCiBEQVRBX0ZJTEVfVkVSU0lPTiA9IDMNCisNCisjIENHSSBmaWxl IG5hbWVzDQorQURNSU5fQ0dJICAgICAgID0gImFkbWluQENHSUVYVEAiDQor QURNSU5EQl9DR0kgICAgID0gImFkbWluZGJAQ0dJRVhUQCINCitBUkNISVZF X0NHSSAgICAgPSAiYXJjaGl2ZUBDR0lFWFRAIg0KK0xJU1RJTkZPX0NHSSAg ICA9ICJsaXN0aW5mb0BDR0lFWFRAIg0KK09QVElPTlNfQ0dJICAgICA9ICJv cHRpb25zQENHSUVYVEAiDQorRURJVEhUTUxfQ0dJICAgID0gImVkaXRodG1s QENHSUVYVEAiDQorUk9TVEVSX0NHSSAgICAgID0gInJvc3RlckBDR0lFWFRA Ig0KK0hPUFRTX0NHSSAgICAgICA9ICJoYW5kbGVfb3B0c0BDR0lFWFRAIg0K K1NVQlNDUklCRV9DR0kgICA9ICJzdWJzY3JpYmVAQ0dJRVhUQCINCitQUklW QVRFX0NHSSAgICAgPSAicHJpdmF0ZUBDR0lFWFRAIg0KZGlmZiAtYnJ1TiBt YWlsbWFuLm9yaWcvTWFpbG1hbi9EZWxpdmVyZXIucHkgbWFpbG1hbi9NYWls bWFuL0RlbGl2ZXJlci5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0Rl bGl2ZXJlci5weQlTdW4gQXVnIDMwIDE1OjU1OjU0IDE5OTgNCisrKyBtYWls bWFuL01haWxtYW4vRGVsaXZlcmVyLnB5CU1vbiBBdWcgMzEgMTM6NTA6MDYg MTk5OA0KQEAgLTEwMCw3ICsxMDAsNyBAQA0KICAgICAgICAgICAgICdwb3N0 YWNrLnR4dCcsDQogICAgICAgICAgICAgeydzdWJqZWN0JyAgICAgOiBzdWJq ZWN0LA0KICAgICAgICAgICAgICAnbGlzdG5hbWUnICAgIDogc2VsZi5yZWFs X25hbWUsDQotICAgICAgICAgICAgICdsaXN0aW5mb191cmwnOiBzZWxmLkdl dEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAgICAgICAg ICAnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTCht bV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgfSkNCiAJc2Vs Zi5TZW5kVGV4dFRvVXNlcignJXMgcG9zdCBhY2tub3dsZWdlbWVudCcgJSBz ZWxmLnJlYWxfbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9keSwgc2VuZGVyKQ0KQEAgLTExOCw3ICsxMTgsNyBAQA0KICAgICAgICAg ICAgICAnaG9zdF9uYW1lJyAgIDogc2VsZi5ob3N0X25hbWUsDQogICAgICAg ICAgICAgICd3ZWxjb21lJyAgICAgOiB3ZWxjb21lLA0KICAgICAgICAgICAg ICAnZW1haWxhZGRyJyAgIDogc2VsZi5HZXRMaXN0RW1haWwoKSwNCi0gICAg ICAgICAgICAgJ2xpc3RpbmZvX3VybCc6IHNlbGYuR2V0QWJzb2x1dGVTY3Jp cHRVUkwoJ2xpc3RpbmZvJyksDQorICAgICAgICAgICAgICdsaXN0aW5mb191 cmwnOiBzZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5MSVNUSU5G T19DR0kpLA0KICAgICAgICAgICAgICAnb3B0aW9uc3VybCcgIDogc2VsZi5H ZXRBYnNvbHV0ZU9wdGlvbnNVUkwobmFtZSksDQogICAgICAgICAgICAgICdw YXNzd29yZCcgICAgOiBwYXNzd29yZCwNCiAgICAgICAgICAgICAgfSkNCmRp ZmYgLWJydU4gbWFpbG1hbi5vcmlnL01haWxtYW4vRGlnZXN0ZXIucHkgbWFp bG1hbi9NYWlsbWFuL0RpZ2VzdGVyLnB5DQotLS0gbWFpbG1hbi5vcmlnL01h aWxtYW4vRGlnZXN0ZXIucHkJU2F0IEF1ZyAgOCAxNDoxNTo0OCAxOTk4DQor KysgbWFpbG1hbi9NYWlsbWFuL0RpZ2VzdGVyLnB5CU1vbiBBdWcgMzEgMTM6 NTA6MDYgMTk5OA0KQEAgLTMzMCw3ICszMzAsNyBAQA0KICAgICAgICAgICAg IHN1YnN0cyA9IHt9DQogICAgICAgICAgICAgc3Vic3RzLnVwZGF0ZShsc3Qu X19kaWN0X18pDQogICAgICAgICAgICAgc3Vic3RzLnVwZGF0ZSh7J2dvdF9s aXN0aW5mb191cmwnOiANCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbHN0LkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5m bycpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsc3QuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1fY2ZnLkxJU1RJTkZPX0NH SSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dvdF9yZXF1ZXN0 X2VtYWlsJzogbHN0LkdldFJlcXVlc3RFbWFpbCgpLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdnb3RfbGlzdF9lbWFpbCc6IGxzdC5HZXRMaXN0 RW1haWwoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290X293 bmVyX2VtYWlsJzogbHN0LkdldEFkbWluRW1haWwoKSwNCmRpZmYgLWJydU4g bWFpbG1hbi5vcmlnL01haWxtYW4vSFRNTEZvcm1hdHRlci5weSBtYWlsbWFu L01haWxtYW4vSFRNTEZvcm1hdHRlci5weQ0KLS0tIG1haWxtYW4ub3JpZy9N YWlsbWFuL0hUTUxGb3JtYXR0ZXIucHkJU2F0IEF1ZyAgOCAxNDoxNTo1NCAx OTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0hUTUxGb3JtYXR0ZXIucHkJTW9u IEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAtOTMsNyArOTMsNyBAQA0KIAkJ c2hvd2luZyA9IE9ic2N1cmVFbWFpbChwZXJzb24sIGZvcl90ZXh0PTEpDQog CSAgICBlbHNlOg0KIAkJc2hvd2luZyA9IHBlcnNvbg0KLQkgICAgZ290ID0g TGluayhvcy5wYXRoLmpvaW4obWUuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ29w dGlvbnMnKSwNCisJICAgIGdvdCA9IExpbmsob3MucGF0aC5qb2luKG1lLkdl dFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5PUFRJT05TX0NHSSksDQogCQkJ CSAgICBpZCksIHNob3dpbmcpDQogICAgICAgICAgICAgaWYgbWUuR2V0VXNl ck9wdGlvbihwZXJzb24sIGRpc2RlbCk6DQogICAgICAgICAgICAgICAgIGdv dCA9IEl0YWxpYygiKCIsIGdvdCwgIikiKQ0KZGlmZiAtYnJ1TiBtYWlsbWFu Lm9yaWcvTWFpbG1hbi9MaXN0QWRtaW4ucHkgbWFpbG1hbi9NYWlsbWFuL0xp c3RBZG1pbi5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0xpc3RBZG1p bi5weQlTYXQgQXVnICA4IDE0OjE2OjEwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTGlzdEFkbWluLnB5CU1vbiBBdWcgMzEgMTQ6MzQ6NTggMTk5OA0K QEAgLTI3LDcgKzI3LDcgQEANCiBpbXBvcnQgRXJyb3JzDQogaW1wb3J0IE1l c3NhZ2UNCiBpbXBvcnQgVXRpbHMNCi0NCitmcm9tIE1haWxtYW4gaW1wb3J0 IG1tX2NmZw0KIA0KIGNsYXNzIExpc3RBZG1pbjoNCiAgICAgZGVmIEluaXRW YXJzKHNlbGYpOg0KQEAgLTU1LDcgKzU1LDcgQEANCiAgICAgICAgICAgICAg ICAgICAgIHsndXNlcm5hbWUnICAgOiB3aG8sDQogICAgICAgICAgICAgICAg ICAgICAgJ2xpc3RuYW1lJyAgIDogc2VsZi5yZWFsX25hbWUsDQogICAgICAg ICAgICAgICAgICAgICAgJ2hvc3RuYW1lJyAgIDogc2VsZi5ob3N0X25hbWUs DQotICAgICAgICAgICAgICAgICAgICAgJ2FkbWluZGJfdXJsJzogc2VsZi5H ZXRBYnNvbHV0ZVNjcmlwdFVSTCgnYWRtaW5kYicpLA0KKyAgICAgICAgICAg ICAgICAgICAgICdhZG1pbmRiX3VybCc6IHNlbGYuR2V0QWJzb2x1dGVTY3Jp cHRVUkwobW1fY2ZnLkFETUlOREJfQ0dJKSwNCiAgICAgICAgICAgICAgICAg ICAgICB9KQ0KIAkJc2VsZi5TZW5kVGV4dFRvVXNlcihzdWJqZWN0ID0gc3Vi aiwNCiAJCQkJICAgIHJlY2lwaWVudCA9IHNlbGYuR2V0QWRtaW5FbWFpbCgp LA0KQEAgLTc4LDcgKzc4LDcgQEANCiAgICAgICAgICAgICAgICAgICAgICAn cmVhc29uJyAgICAgOiByZWFzb24sDQogICAgICAgICAgICAgICAgICAgICAg J3NlbmRlcicgICAgIDogc2VuZGVyLA0KICAgICAgICAgICAgICAgICAgICAg ICdzdWJqZWN0JyAgICA6IHN1YmplY3QsDQotICAgICAgICAgICAgICAgICAg ICAgJ2FkbWluZGJfdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTCgn YWRtaW5kYicpLA0KKyAgICAgICAgICAgICAgICAgICAgICdhZG1pbmRiX3Vy bCc6IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1fY2ZnLkFETUlOREJf Q0dJKSwNCiAgICAgICAgICAgICAgICAgICAgICB9KQ0KIAkJc2VsZi5TZW5k VGV4dFRvVXNlcihzdWJqZWN0ID0gc3ViaiwNCiAJCQkJICAgIHJlY2lwaWVu dCA9IHNlbGYuR2V0QWRtaW5FbWFpbCgpLA0KZGlmZiAtYnJ1TiBtYWlsbWFu Lm9yaWcvTWFpbG1hbi9NYWlsTGlzdC5weSBtYWlsbWFuL01haWxtYW4vTWFp bExpc3QucHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsTGlzdC5w eQlTYXQgQXVnICA4IDE0OjE2OjM0IDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vTWFpbExpc3QucHkJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAt ODQsNyArODQsNyBAQA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5faW50ZXJuYWxfbmFtZSkpDQogDQog ICAgIGRlZiBHZXRBYnNvbHV0ZU9wdGlvbnNVUkwoc2VsZiwgYWRkciwgb2Jz Y3VyZWQ9MCwpOg0KLQlvcHRpb25zID0gc2VsZi5HZXRBYnNvbHV0ZVNjcmlw dFVSTCgnb3B0aW9ucycpDQorCW9wdGlvbnMgPSBzZWxmLkdldEFic29sdXRl U2NyaXB0VVJMKG1tX2NmZy5PUFRJT05TX0NHSSkNCiAgICAgICAgIGlmIG9i c2N1cmVkOg0KICAgICAgICAgICAgIHRyZWF0ZWQgPSBVdGlscy5PYnNjdXJl RW1haWwoYWRkciwgZm9yX3RleHQ9MCkNCiAgICAgICAgIGVsc2U6DQpAQCAt MzU5LDcgKzM1OSw3IEBADQogICAgICAgICAgICAgIiBjb3ZlcmluZyBtZW1i ZXJzIGFuZCBvdXRzaWRlcnMuIg0KICAgICAgICAgICAgICcgIChTZWUgYWxz byB0aGUgPGEgaHJlZj0iJXMiPkFyY2hpdmFsIE9wdGlvbnMgc2VjdGlvbjwv YT4gZm9yJw0KICAgICAgICAgICAgICcgc2VwYXJhdGUgYXJjaGl2ZS1wcml2 YWN5IHNldHRpbmdzLiknDQotICAgICAgICAgICAgJSBvcy5wYXRoLmpvaW4o c2VsZi5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgnYWRtaW4nKSwgJ2FyY2hpdmUn KSwNCisgICAgICAgICAgICAlIG9zLnBhdGguam9pbihzZWxmLkdldFJlbGF0 aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kpLCAnYXJjaGl2ZScpLA0K IA0KIAkgICAgIlN1YnNjcmliaW5nIiwNCiANCmRpZmYgLWJydU4gbWFpbG1h bi5vcmlnL01haWxtYW4vbW1fY2ZnLnB5LmluIG1haWxtYW4vTWFpbG1hbi9t bV9jZmcucHkuaW4NCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9tbV9jZmcu cHkuaW4JU2F0IEF1ZyAgOCAxNDoxNjo1NCAxOTk4DQorKysgbWFpbG1hbi9N YWlsbWFuL21tX2NmZy5weS5pbglNb24gQXVnIDMxIDEzOjU0OjM2IDE5OTgN CkBAIC01Myw3ICs1Myw3IEBADQogTUFJTE1BTl9PV05FUiAgICAgPSAnbWFp bG1hbi1vd25lckAlcycgJSBERUZBVUxUX0hPU1RfTkFNRQ0KIA0KIFBVQkxJ Q19BUkNISVZFX1VSTCA9ICcvcGlwZXJtYWlsJw0KLVBSSVZBVEVfQVJDSElW RV9VUkwgPSAnL21haWxtYW4vcHJpdmF0ZScNCitQUklWQVRFX0FSQ0hJVkVf VVJMID0gJy9tYWlsbWFuL3ByaXZhdGVAQ0dJRVhUQCcNCiANCiAjIE5vdGUg LSBpZiB5b3UncmUgbG9va2luZyBmb3Igc29tZXRoaW5nIHRoYXQgaXMgaW1w b3J0ZWQgZnJvbSBtbV9jZmcsIGJ1dCB5b3UNCiAjIGRpZG4ndCBmaW5kIGl0 IGFib3ZlLCBpdCdzIHByb2JhYmx5IGluIERlZmF1bHRzLnB5Lg0KZGlmZiAt YnJ1TiBtYWlsbWFuLm9yaWcvYmluL2NvbnZlcnRfbGlzdCBtYWlsbWFuL2Jp bi9jb252ZXJ0X2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL2NvbnZlcnRf bGlzdAlTdW4gQXVnIDMwIDE1OjU1OjU1IDE5OTgNCisrKyBtYWlsbWFuL2Jp bi9jb252ZXJ0X2xpc3QJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAt ODQsNyArODQsNyBAQA0KICAgICBkaWN0ID0geydsaXN0bmFtZScgICAgOiBt bC5yZWFsX25hbWUsDQogICAgICAgICAgICAgJ2xpc3Rob3N0JyAgICA6IG1s Lmhvc3RfbmFtZSwNCiAgICAgICAgICAgICAnbGlzdGFkZHInICAgIDogbWwu R2V0TGlzdEVtYWlsKCksDQotICAgICAgICAgICAgJ2xpc3RpbmZvX3VybCc6 IG1sLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAg ICAgICAgICdsaXN0aW5mb191cmwnOiBtbC5HZXRBYnNvbHV0ZVNjcmlwdFVS TChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAncmVxdWVz dGFkZHInIDogbWwuR2V0UmVxdWVzdEVtYWlsKCksDQogICAgICAgICAgICAg J2FkbWluYWRkcicgICA6IG1sLkdldEFkbWluRW1haWwoKSwNCiAgICAgICAg ICAgICAndmVyc2lvbicgICAgIDogTWFpbG1hbi5tbV9jZmcuVkVSU0lPTiwN CmRpZmYgLWJydU4gbWFpbG1hbi5vcmlnL2Jpbi9uZXdsaXN0IG1haWxtYW4v YmluL25ld2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL25ld2xpc3QJU2F0 IEF1ZyAgOCAxNDoxODo0OCAxOTk4DQorKysgbWFpbG1hbi9iaW4vbmV3bGlz dAlNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0xMjAsOCArMTIwLDgg QEANCiAgICAgICAgICduZXdsaXN0LnR4dCcsDQogICAgICAgICB7J2xpc3Ru YW1lJyAgICA6IGxpc3RfbmFtZSwNCiAgICAgICAgICAncGFzc3dvcmQnICAg IDogbGlzdF9wdywgDQotICAgICAgICAgJ2FkbWluX3VybCcgICA6IG5ld2xp c3QuR2V0QWJzb2x1dGVTY3JpcHRVUkwoJ2FkbWluJyksIA0KLSAgICAgICAg ICdsaXN0aW5mb191cmwnOiBuZXdsaXN0LkdldEFic29sdXRlU2NyaXB0VVJM KCdsaXN0aW5mbycpLA0KKyAgICAgICAgICdhZG1pbl91cmwnICAgOiBuZXds aXN0LkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kpLCAN CisgICAgICAgICAnbGlzdGluZm9fdXJsJzogbmV3bGlzdC5HZXRBYnNvbHV0 ZVNjcmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAn cmVxdWVzdGFkZHInIDogIiVzLXJlcXVlc3RAJXMiICUgKGxpc3RfbmFtZSwg bmV3bGlzdC5ob3N0X25hbWUpLA0KICAgICAgICAgICdob3N0bmFtZScgICAg OiBuZXdsaXN0Lmhvc3RfbmFtZSwNCiAgICAgICAgICB9KQ0KZGlmZiAtYnJ1 TiBtYWlsbWFuLm9yaWcvY29uZmlndXJlIG1haWxtYW4vY29uZmlndXJlDQot LS0gbWFpbG1hbi5vcmlnL2NvbmZpZ3VyZQlTYXQgQXVnICA4IDE0OjE1OjI1 IDE5OTgNCisrKyBtYWlsbWFuL2NvbmZpZ3VyZQlNb24gQXVnIDMxIDEzOjUw OjA2IDE5OTgNCkBAIC0xLDYgKzEsNiBAQA0KICMhIC9iaW4vc2gNCiANCi0j IEZyb20gY29uZmlndXJlLmluIFJldmlzaW9uOiAxLjIwIA0KKyMgRnJvbSBj b25maWd1cmUuaW4gUmV2aXNpb246IDEuMjEgDQogDQogIyBHdWVzcyB2YWx1 ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUg TWFrZWZpbGVzLg0KICMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgdXNpbmcg YXV0b2NvbmYgdmVyc2lvbiAyLjEyIA0KQEAgLTI1LDYgKzI1LDkgQEANCiBh Y19oZWxwPSIkYWNfaGVscA0KIA0KIAktLXdpdGgtY2dpLWdpZCAgCXNwZWNp ZnkgR0lEIENHSSBwcm9ncmFtcyBydW4gYXMiDQorYWNfaGVscD0iJGFjX2hl bHANCisNCisJLS13aXRoLWNnaS1leHQgICAgICAgIHNwZWNpZnkgZXh0ZW5z aW9ucyBvZiBDR0kgcHJvZ3JhbXMiDQogDQogIyBJbml0aWFsaXplIHNvbWUg dmFyaWFibGVzIHNldCBieSBvcHRpb25zLg0KICMgVGhlIHZhcmlhYmxlcyBo YXZlIHRoZSBzYW1lIG5hbWVzIGFzIHRoZSBvcHRpb25zLCB3aXRoDQpAQCAt NTQ1LDcgKzU0OCw3IEBADQogDQogIyBDaGVjayBmb3IgUHl0aG9uISAgQmV0 dGVyIGJlIGZvdW5kIG9uICRQQVRIDQogZWNobyAkYWNfbiAiY2hlY2tpbmcg Zm9yIC0td2l0aC1weXRob24iIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv bmZpZ3VyZTo1NDk6IGNoZWNraW5nIGZvciAtLXdpdGgtcHl0aG9uIiA+JjUN CitlY2hvICJjb25maWd1cmU6NTUyOiBjaGVja2luZyBmb3IgLS13aXRoLXB5 dGhvbiIgPiY1DQogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1weXRob24gb3Ig LS13aXRob3V0LXB5dGhvbiB3YXMgZ2l2ZW4uDQogaWYgdGVzdCAiJHt3aXRo X3B5dGhvbitzZXR9IiA9IHNldDsgdGhlbg0KICAgd2l0aHZhbD0iJHdpdGhf cHl0aG9uIg0KQEAgLTU1OSw3ICs1NjIsNyBAQA0KIAkjIEV4dHJhY3QgdGhl IGZpcnN0IHdvcmQgb2YgInB5dGhvbiIsIHNvIGl0IGNhbiBiZSBhIHByb2dy YW0gbmFtZSB3aXRoIGFyZ3MuDQogc2V0IGR1bW15IHB5dGhvbjsgYWNfd29y ZD0kMg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjU2MzogY2hlY2tpbmcg Zm9yICRhY193b3JkIiA+JjUNCitlY2hvICJjb25maWd1cmU6NTY2OiBjaGVj a2luZyBmb3IgJGFjX3dvcmQiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo byAnJCcneydhY19jdl9wYXRoX3dpdGhfcHl0aG9uJytzZXR9J2BcIiA9IHNl dCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2 DQogZWxzZQ0KQEAgLTU5MSw3ICs1OTQsNyBAQA0KIGZpDQogDQogZWNobyAk YWNfbiAiY2hlY2tpbmcgUHl0aG9uIGludGVycHJldGVyIiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6NTk1OiBjaGVja2luZyBQeXRob24g aW50ZXJwcmV0ZXIiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo1OTg6IGNoZWNr aW5nIFB5dGhvbiBpbnRlcnByZXRlciIgPiY1DQogaWYgdGVzdCAhIC14ICR3 aXRoX3B5dGhvbg0KIHRoZW4NCiAgICAgeyBlY2hvICJjb25maWd1cmU6IGVy cm9yOiANCkBAIC02MzUsNyArNjM4LDcgQEANCiAjIFNWUjQgL3Vzci91Y2Iv aW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNlIHRoZSBub25leGlzdGVudCBn cm91cCAic3RhZmYiDQogIyAuL2luc3RhbGwsIHdoaWNoIGNhbiBiZSBlcnJv bmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2guDQog ZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5z dGFsbCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjYzOTog Y2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbCIgPiY1DQor ZWNobyAiY29uZmlndXJlOjY0MjogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBh dGlibGUgaW5zdGFsbCIgPiY1DQogaWYgdGVzdCAteiAiJElOU1RBTEwiOyB0 aGVuDQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhf aW5zdGFsbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19u ICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KQEAgLTY4NSw3ICs2ODgsNyBAQA0K IHRlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElOU1RBTExfREFUQT0nJHtJ TlNUQUxMfSAtbSA2NDQnDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hl dGhlciAke01BS0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIiLi4uICRhY19jIiAx PiY2DQotZWNobyAiY29uZmlndXJlOjY4OTogY2hlY2tpbmcgd2hldGhlciAk e01BS0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIgPiY1DQorZWNobyAiY29uZmln dXJlOjY5MjogY2hlY2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBc JHtNQUtFfSIgPiY1DQogc2V0IGR1bW15ICR7TUFLRS1tYWtlfTsgYWNfbWFr ZT1gZWNobyAiJDIiIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwg InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX21ha2VfJHthY19tYWtl fV9zZXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAi KGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC03MTQsNyArNzE3LDcgQEANCiAN CiAjIEZpbmQgY29tcGlsZXIsIGFsbG93IGFsdGVybmF0aXZlcyB0byBnY2MN CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLS13aXRob3V0LWdjYyIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcxODogY2hlY2tpbmcg Zm9yIC0td2l0aG91dC1nY2MiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo3MjE6 IGNoZWNraW5nIGZvciAtLXdpdGhvdXQtZ2NjIiA+JjUNCiAjIENoZWNrIHdo ZXRoZXIgLS13aXRoLWdjYyBvciAtLXdpdGhvdXQtZ2NjIHdhcyBnaXZlbi4N CiBpZiB0ZXN0ICIke3dpdGhfZ2NjK3NldH0iID0gc2V0OyB0aGVuDQogICB3 aXRodmFsPSIkd2l0aF9nY2MiDQpAQCAtNzQzLDcgKzc0Niw3IEBADQogIyBF eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBzbyBpdCBjYW4gYmUg YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0KIHNldCBkdW1teSBnY2M7IGFj X3dvcmQ9JDINCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQi Ii4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo3NDc6IGNoZWNr aW5nIGZvciAkYWNfd29yZCIgPiY1DQorZWNobyAiY29uZmlndXJlOjc1MDog Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwi YGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0fSdgXCIgPSBzZXQiOyB0 aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs c2UNCkBAIC03NzIsNyArNzc1LDcgQEANCiAgICMgRXh0cmFjdCB0aGUgZmly c3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUg d2l0aCBhcmdzLg0KIHNldCBkdW1teSBjYzsgYWNfd29yZD0kMg0KIGVjaG8g JGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2 DQotZWNobyAiY29uZmlndXJlOjc3NjogY2hlY2tpbmcgZm9yICRhY193b3Jk IiA+JjUNCitlY2hvICJjb25maWd1cmU6Nzc5OiBjaGVja2luZyBmb3IgJGFj X3dvcmQiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19j dl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFj X24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KQEAgLTgyMCw3ICs4 MjMsNyBAQA0KIGZpDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIHdvcmtz IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODI0OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERG TEFHUykgd29ya3MiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo4Mjc6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZM QUdTKSB3b3JrcyIgPiY1DQogDQogYWNfZXh0PWMNCiAjIENGTEFHUyBpcyBu b3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFyZSBub3QgdmFs aWQgY3BwIG9wdGlvbnMuDQpAQCAtODMwLDExICs4MzMsMTEgQEANCiBjcm9z c19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MNCiANCiBjYXQgPiBj b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgODM0ICJjb25maWd1cmUi DQorI2xpbmUgODM3ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZz LmgiDQogbWFpbigpe3JldHVybigwKTt9DQogRU9GDQotaWYgeyAoZXZhbCBl Y2hvIGNvbmZpZ3VyZTo4Mzg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0K K2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODQxOiBcIiRhY19saW5rXCIp IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u ZnRlc3Q7IHRoZW4NCiAgIGFjX2N2X3Byb2dfY2Nfd29ya3M9eWVzDQogICAj IElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3JhbSwgd2UgYXJlIHBy b2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuDQogICBpZiAoLi9jb25m dGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4NCkBAIC04NTQsMTIgKzg1 NywxMiBAQA0KICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxs YXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9ibGVtOiBDIGNvbXBpbGVyIGNh bm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMuIiAxPiYyOyBleGl0IDE7IH0NCiBm aQ0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGls ZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSBpcyBhIGNyb3NzLWNvbXBpbGVy IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODU4OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERG TEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIgPiY1DQorZWNobyAiY29uZmln dXJlOjg2MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJEND ICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiID4mNQ0K IGVjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY19jcm9zcyIgMT4mNg0KIGNy b3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcw0KIA0KIGVjaG8g JGFjX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiIu Li4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODYzOiBjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQyIgPiY1DQorZWNobyAiY29u ZmlndXJlOjg2NjogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05V IEMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9w cm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19u ICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCkBAIC04NjgsNyArODcx LDcgQEANCiAgIHllczsNCiAjZW5kaWYNCiBFT0YNCi1pZiB7IGFjX3RyeT0n JHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2YWwgZWNobyBjb25maWd1 cmU6ODcyOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4m NTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCitp ZiB7IGFjX3RyeT0nJHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2YWwg ZWNobyBjb25maWd1cmU6ODc1OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwg JGFjX3RyeSkgMj4mNTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxsIDI+ JjE7IHRoZW4NCiAgIGFjX2N2X3Byb2dfZ2NjPXllcw0KIGVsc2UNCiAgIGFj X2N2X3Byb2dfZ2NjPW5vDQpAQCAtODgzLDcgKzg4Niw3IEBADQogICBhY19z YXZlX0NGTEFHUz0iJENGTEFHUyINCiAgIENGTEFHUz0NCiAgIGVjaG8gJGFj X24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtZyIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjg4NzogY2hlY2tpbmcg d2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+JjUNCitlY2hvICJjb25m aWd1cmU6ODkwOiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMg LWciID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9w cm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtOTMxLDcgKzkz NCw3IEBADQogIyBQdWxsIHRoZSBoYXNoIG1hcmsgb3V0IG9mIHRoZSBtYWNy byBjYWxsIHRvIGF2b2lkIG00IHByb2JsZW1zLg0KIGFjX21zZz0id2hldGhl ciAjISB3b3JrcyBpbiBzaGVsbCBzY3JpcHRzIg0KIGVjaG8gJGFjX24gImNo ZWNraW5nICRhY19tc2ciIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZTo5MzU6IGNoZWNraW5nICRhY19tc2ciID4mNQ0KK2VjaG8gImNvbmZp Z3VyZTo5Mzg6IGNoZWNraW5nICRhY19tc2ciID4mNQ0KIGlmIGV2YWwgInRl c3QgXCJgZWNobyAnJCcneydhY19jdl9zeXNfaW50ZXJwcmV0ZXInK3NldH0n YFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj X2MiIDE+JjYNCiBlbHNlDQpAQCAtOTY1LDcgKzk2OCw3IEBADQogDQogIyBH cm91cCBgbWFpbG1hbicgbXVzdCBleGlzdA0KIGVjaG8gJGFjX24gImNoZWNr aW5nIGZvciBtYWlsbWFuIEdJRCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi Y29uZmlndXJlOjk2OTogY2hlY2tpbmcgZm9yIG1haWxtYW4gR0lEIiA+JjUN CitlY2hvICJjb25maWd1cmU6OTcyOiBjaGVja2luZyBmb3IgbWFpbG1hbiBH SUQiID4mNQ0KIA0KICMgTUFJTE1BTl9HSUQgPT0gdmFyaWFibGUgbmFtZQ0K ICMgbWFpbG1hbiA9PSB1c2VyIGlkIHRvIGNoZWNrIGZvcg0KQEAgLTEwMTcs NyArMTAyMCw3IEBADQogZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBw ZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siIi4uLiAkYWNfYyIgMT4mNg0K LWVjaG8gImNvbmZpZ3VyZToxMDIxOiBjaGVja2luZyBwZXJtaXNzaW9ucyBv biAkcHJlZml4Y2hlY2siID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMDI0OiBj aGVja2luZyBwZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siID4mNQ0KIA0K IGNhdCA+IGNvbmZ0ZXN0LnB5IDw8RU9GDQogaW1wb3J0IG9zLCBncnAsIHN0 cmluZw0KQEAgLTEwNjMsNyArMTA2Niw3IEBADQogIyBOb3cgZmluZCB0aGUg VUlEcyBhbmQgR0lEcw0KICMgU3VwcG9ydCAtLXdpdGgtbWFpbC1naWQgYW5k IC0td2l0aC1jZ2ktZ2lkDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1h aWwgd3JhcHBlciBHSUQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxMDY3OiBjaGVja2luZyBmb3IgbWFpbCB3cmFwcGVyIEdJRCIgPiY1 DQorZWNobyAiY29uZmlndXJlOjEwNzA6IGNoZWNraW5nIGZvciBtYWlsIHdy YXBwZXIgR0lEIiA+JjUNCiAjIENoZWNrIHdoZXRoZXIgLS13aXRoLW1haWwt Z2lkIG9yIC0td2l0aG91dC1tYWlsLWdpZCB3YXMgZ2l2ZW4uDQogaWYgdGVz dCAiJHt3aXRoX21haWxfZ2lkK3NldH0iID0gc2V0OyB0aGVuDQogICB3aXRo dmFsPSIkd2l0aF9tYWlsX2dpZCINCkBAIC0xMTI0LDcgKzExMjcsNyBAQA0K IA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBDR0kgd3JhcHBlciBH SUQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMTI4OiBj aGVja2luZyBmb3IgQ0dJIHdyYXBwZXIgR0lEIiA+JjUNCitlY2hvICJjb25m aWd1cmU6MTEzMTogY2hlY2tpbmcgZm9yIENHSSB3cmFwcGVyIEdJRCIgPiY1 DQogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1jZ2ktZ2lkIG9yIC0td2l0aG91 dC1jZ2ktZ2lkIHdhcyBnaXZlbi4NCiBpZiB0ZXN0ICIke3dpdGhfY2dpX2dp ZCtzZXR9IiA9IHNldDsgdGhlbg0KICAgd2l0aHZhbD0iJHdpdGhfY2dpX2dp ZCINCkBAIC0xMTg3LDYgKzExOTAsMjUgQEANCiAjTU1fRklORF9VU0VSX0lE KEFMSUFTX1VJRCwgbWFpbG1hbiwgYWxpYXNfd3JhcHBlcikNCiAjTU1fRklO RF9HUk9VUF9JRChBTElBU19HSUQsIG1haWwsIGFsaWFzX3dyYXBwZXIpDQog DQorIyBDR0kgZXh0ZW5zaW9uIGNoZWNraW5nDQorDQorZWNobyAkYWNfbiAi Y2hlY2tpbmcgZm9yIENHSSBleHRlbnNpb24iIi4uLiAkYWNfYyIgMT4mNg0K K2VjaG8gImNvbmZpZ3VyZToxMTk3OiBjaGVja2luZyBmb3IgQ0dJIGV4dGVu c2lvbiIgPiY1DQorIyBDaGVjayB3aGV0aGVyIC0td2l0aC1jZ2ktZXh0IG9y IC0td2l0aG91dC1jZ2ktZXh0IHdhcyBnaXZlbi4NCitpZiB0ZXN0ICIke3dp dGhfY2dpX2V4dCtzZXR9IiA9IHNldDsgdGhlbg0KKyAgd2l0aHZhbD0iJHdp dGhfY2dpX2V4dCINCisgIDoNCitmaQ0KKw0KK2lmIHRlc3QgLXogIiR3aXRo X2NnaV9leHQiDQordGhlbg0KKyAgICBDR0lFWFQ9JycNCisgICAgd2l0aF9j Z2lfZXh0PSdubycNCitlbHNlDQorICAgIENHSUVYVD0kd2l0aF9jZ2lfZXh0 DQorZmkNCitlY2hvICIkYWNfdCIiJHdpdGhfY2dpX2V4dCIgMT4mNg0KKw0K ICMgZmlndXJlIG91dCB0aGUgREVGQVVMVF9IT1NUX05BTUUgYW5kIERFRkFV TFRfVVJMDQogDQogDQpAQCAtMTIxOSwxNCArMTI0MSwxNCBAQA0KICRQWVRI T04gY29uZnRlc3QucHkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBmb3Ig ZGVmYXVsdCBmdWxseSBxdWFsaWZpZWQgaG9zdCBuYW1lIiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTIyMzogY2hlY2tpbmcgZm9yIGRl ZmF1bHQgZnVsbHkgcXVhbGlmaWVkIGhvc3QgbmFtZSIgPiY1DQorZWNobyAi Y29uZmlndXJlOjEyNDU6IGNoZWNraW5nIGZvciBkZWZhdWx0IGZ1bGx5IHF1 YWxpZmllZCBob3N0IG5hbWUiID4mNQ0KIGlmIHRlc3QgLXogIiRGUUROIg0K IHRoZW4NCiAgICAgRlFETj1gaGVhZCAtMSBjb25mdGVzdC5vdXRgDQogZmkN CiBlY2hvICIkYWNfdCIiJEZRRE4iIDE+JjYNCiBlY2hvICRhY19uICJjaGVj a2luZyBmb3IgZGVmYXVsdCBVUkwgaG9zdCBjb21wb25lbnQiIi4uLiAkYWNf YyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMjMwOiBjaGVja2luZyBmb3Ig ZGVmYXVsdCBVUkwgaG9zdCBjb21wb25lbnQiID4mNQ0KK2VjaG8gImNvbmZp Z3VyZToxMjUyOiBjaGVja2luZyBmb3IgZGVmYXVsdCBVUkwgaG9zdCBjb21w b25lbnQiID4mNQ0KIGlmIHRlc3QgLXogIiRVUkwiDQogdGhlbg0KICAgICBV Ukw9YHRhaWwgLTEgY29uZnRlc3Qub3V0YA0KQEAgLTEyMzgsMTIgKzEyNjAs MTIgQEANCiBmb3IgYWNfZnVuYyBpbiBzdHJlcnJvcg0KIGRvDQogZWNobyAk YWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYN Ci1lY2hvICJjb25maWd1cmU6MTI0MjogY2hlY2tpbmcgZm9yICRhY19mdW5j IiA+JjUNCitlY2hvICJjb25maWd1cmU6MTI2NDogY2hlY2tpbmcgZm9yICRh Y19mdW5jIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNf Y3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBl Y2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNh dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMjQ3ICJjb25m aWd1cmUiDQorI2xpbmUgMTI2OSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJj b25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1 YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxv dy4gICovDQpAQCAtMTI2Niw3ICsxMjg4LDcgQEANCiANCiA7IHJldHVybiAw OyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjcwOiBc IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm IHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29u ZmlndXJlOjEyOTI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KICAgcm0g LXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15 ZXMiDQogZWxzZQ0KQEAgLTEyOTMsNyArMTMxNSw3IEBADQogDQogIyBDaGVj a3MgZm9yIGhlYWRlciBmaWxlcy4NCiBlY2hvICRhY19uICJjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIiLi4uICRhY19jIiAxPiY2 DQotZWNobyAiY29uZmlndXJlOjEyOTc6IGNoZWNraW5nIGhvdyB0byBydW4g dGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUNCitlY2hvICJjb25maWd1cmU6MTMx OTogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiID4m NQ0KICMgT24gU3Vucywgc29tZXRpbWVzICRDUFAgbmFtZXMgYSBkaXJlY3Rv cnkuDQogaWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRo ZW4NCiAgIENQUD0NCkBAIC0xMzA4LDEzICsxMzMwLDEzIEBADQogICAjIE9u IHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNv bXBpbGVyJ3MgcGFyc2VyLA0KICAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4N CiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMzEy ICJjb25maWd1cmUiDQorI2xpbmUgMTMzNCAiY29uZmlndXJlIg0KICNpbmNs dWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxhc3NlcnQuaD4NCiBTeW50 YXggRXJyb3INCiBFT0YNCiBhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFj X2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Ig0KLXsgKGV2YWwgZWNo byBjb25maWd1cmU6MTMxODogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRh Y190cnkpIDI+JjU7IH0NCit7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNDA6 IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQog YWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXRgDQogaWYgdGVz dCAteiAiJGFjX2VyciI7IHRoZW4NCiAgIDoNCkBAIC0xMzI1LDEzICsxMzQ3 LDEzIEBADQogICBybSAtcmYgY29uZnRlc3QqDQogICBDUFA9IiR7Q0MtY2N9 IC1FIC10cmFkaXRpb25hbC1jcHAiDQogICBjYXQgPiBjb25mdGVzdC4kYWNf ZXh0IDw8RU9GDQotI2xpbmUgMTMyOSAiY29uZmlndXJlIg0KKyNsaW5lIDEz NTEgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAjaW5j bHVkZSA8YXNzZXJ0Lmg+DQogU3ludGF4IEVycm9yDQogRU9GDQogYWNfdHJ5 PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0 ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29uZmlndXJlOjEzMzU6IFwiJGFj X3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZh bCBlY2hvIGNvbmZpZ3VyZToxMzU3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2 YWwgJGFjX3RyeSkgMj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycg Y29uZnRlc3Qub3V0YA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQog ICA6DQpAQCAtMTM1NCwxMiArMTM3NiwxMiBAQA0KIGVjaG8gIiRhY190IiIk Q1BQIiAxPiY2DQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIEFOU0kg QyBoZWFkZXIgZmlsZXMiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxMzU4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIg PiY1DQorZWNobyAiY29uZmlndXJlOjEzODA6IGNoZWNraW5nIGZvciBBTlNJ IEMgaGVhZGVyIGZpbGVzIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8g JyQnJ3snYWNfY3ZfaGVhZGVyX3N0ZGMnK3NldH0nYFwiID0gc2V0IjsgdGhl bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTM2 MyAiY29uZmlndXJlIg0KKyNsaW5lIDEzODUgImNvbmZpZ3VyZSINCiAjaW5j bHVkZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogI2lu Y2x1ZGUgPHN0ZGFyZy5oPg0KQEAgLTEzNjcsNyArMTM4OSw3IEBADQogI2lu Y2x1ZGUgPGZsb2F0Lmg+DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0 ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17IChl dmFsIGVjaG8gY29uZmlndXJlOjEzNzE6IFwiJGFjX3RyeVwiKSAxPiY1OyAo ZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZpZ3Vy ZToxMzkzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4m NTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0YA0K IGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAtcmYgY29uZnRl c3QqDQpAQCAtMTM4NCw3ICsxNDA2LDcgQEANCiBpZiB0ZXN0ICRhY19jdl9o ZWFkZXJfc3RkYyA9IHllczsgdGhlbg0KICAgIyBTdW5PUyA0Lnggc3RyaW5n LmggZG9lcyBub3QgZGVjbGFyZSBtZW0qLCBjb250cmFyeSB0byBBTlNJLg0K IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMzg4ICJj b25maWd1cmUiDQorI2xpbmUgMTQxMCAiY29uZmlndXJlIg0KICNpbmNsdWRl ICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzdHJpbmcuaD4NCiBFT0YNCkBA IC0xNDAyLDcgKzE0MjQsNyBAQA0KIGlmIHRlc3QgJGFjX2N2X2hlYWRlcl9z dGRjID0geWVzOyB0aGVuDQogICAjIElTQyAyLjAuMiBzdGRsaWIuaCBkb2Vz IG5vdCBkZWNsYXJlIGZyZWUsIGNvbnRyYXJ5IHRvIEFOU0kuDQogY2F0ID4g Y29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0MDYgImNvbmZpZ3Vy ZSINCisjbGluZSAxNDI4ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZk ZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KIEVPRg0KQEAgLTE0MjMs NyArMTQ0NSw3IEBADQogICA6DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3Qu JGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0MjcgImNvbmZpZ3VyZSINCisjbGlu ZSAxNDQ5ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQog I2luY2x1ZGUgPGN0eXBlLmg+DQogI2RlZmluZSBJU0xPV0VSKGMpICgnYScg PD0gKGMpICYmIChjKSA8PSAneicpDQpAQCAtMTQzNCw3ICsxNDU2LDcgQEAN CiBleGl0ICgwKTsgfQ0KIA0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25m aWd1cmU6MTQzODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0 OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1 cmU6MTQ2MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykg Mj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBl eGl0KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAgIDoNCiBlbHNlDQpAQCAtMTQ2 MSwxNyArMTQ4MywxNyBAQA0KIGRvDQogYWNfc2FmZT1gZWNobyAiJGFjX2hk ciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgDQogZWNobyAkYWNfbiAiY2hlY2tp bmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxNDY1OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1DQorZWNobyAi Y29uZmlndXJlOjE0ODc6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUNCiBp ZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19z YWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihj YWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3Qu JGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0NzAgImNvbmZpZ3VyZSINCisjbGlu ZSAxNDkyICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQog I2luY2x1ZGUgPCRhY19oZHI+DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNv bmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17 IChldmFsIGVjaG8gY29uZmlndXJlOjE0NzU6IFwiJGFjX3RyeVwiKSAxPiY1 OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZp Z3VyZToxNDk3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkg Mj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0 YA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAtcmYgY29u ZnRlc3QqDQpAQCAtMTUwMCwxMiArMTUyMiwxMiBAQA0KIA0KICMgQ2hlY2tz IGZvciB0eXBlZGVmcywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJh Y3RlcmlzdGljcy4NCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdWlkX3Qg aW4gc3lzL3R5cGVzLmgiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxNTA0OiBjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVzLmgi ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNTI2OiBjaGVja2luZyBmb3IgdWlk X3QgaW4gc3lzL3R5cGVzLmgiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo byAnJCcneydhY19jdl90eXBlX3VpZF90JytzZXR9J2BcIiA9IHNldCI7IHRo ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz ZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE1 MDkgImNvbmZpZ3VyZSINCisjbGluZSAxNTMxICJjb25maWd1cmUiDQogI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0K IEVPRg0KQEAgLTE1MzQsNyArMTU1Niw3IEBADQogZmkNCiANCiBlY2hvICRh Y19uICJjaGVja2luZyB0eXBlIG9mIGFycmF5IGFyZ3VtZW50IHRvIGdldGdy b3VwcyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjE1Mzg6 IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3JvdXBz IiA+JjUNCitlY2hvICJjb25maWd1cmU6MTU2MDogY2hlY2tpbmcgdHlwZSBv ZiBhcnJheSBhcmd1bWVudCB0byBnZXRncm91cHMiID4mNQ0KIGlmIGV2YWwg InRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX2dldGdyb3Vwcycrc2V0 fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAk YWNfYyIgMT4mNg0KIGVsc2UNCkBAIC0xNTQyLDcgKzE1NjQsNyBAQA0KICAg YWNfY3ZfdHlwZV9nZXRncm91cHM9Y3Jvc3MNCiBlbHNlDQogICBjYXQgPiBj b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTU0NiAiY29uZmlndXJl Ig0KKyNsaW5lIDE1NjggImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRl ZnMuaCINCiANCiAvKiBUaGFua3MgdG8gTWlrZSBSZW5kZWxsIGZvciB0aGlz IHRlc3QuICAqLw0KQEAgLTE1NjcsNyArMTU4OSw3IEBADQogfQ0KIA0KIEVP Rg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTU3MTogXCIkYWNfbGlu a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z IGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0K K2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTU5MzogXCIkYWNfbGlua1wi KSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv bmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRo ZW4NCiAgICAgYWNfY3ZfdHlwZV9nZXRncm91cHM9Z2lkX3QNCiBlbHNlDQpA QCAtMTU4MSw3ICsxNjAzLDcgQEANCiANCiBpZiB0ZXN0ICRhY19jdl90eXBl X2dldGdyb3VwcyA9IGNyb3NzOyB0aGVuDQogICAgICAgICBjYXQgPiBjb25m dGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTU4NSAiY29uZmlndXJlIg0K KyNsaW5lIDE2MDcgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMu aCINCiAjaW5jbHVkZSA8dW5pc3RkLmg+DQogRU9GDQpAQCAtMTYwNywxMiAr MTYyOSwxMiBAQA0KIA0KICMgQ2hlY2tzIGZvciBsaWJyYXJ5IGZ1bmN0aW9u cy4NCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdnByaW50ZiIiLi4uICRh Y19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjE2MTE6IGNoZWNraW5nIGZv ciB2cHJpbnRmIiA+JjUNCitlY2hvICJjb25maWd1cmU6MTYzMzogY2hlY2tp bmcgZm9yIHZwcmludGYiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAn JCcneydhY19jdl9mdW5jX3ZwcmludGYnK3NldH0nYFwiID0gc2V0IjsgdGhl bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTYx NiAiY29uZmlndXJlIg0KKyNsaW5lIDE2MzggImNvbmZpZ3VyZSINCiAjaW5j bHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs DQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdnByaW50Zigp OyBiZWxvdy4gICovDQpAQCAtMTYzNSw3ICsxNjU3LDcgQEANCiANCiA7IHJl dHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTox NjM5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1 OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCitpZiB7IChldmFsIGVj aG8gY29uZmlndXJlOjE2NjE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0K ICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY192cHJp bnRmPXllcyINCiBlbHNlDQpAQCAtMTY1OSwxMiArMTY4MSwxMiBAQA0KIA0K IGlmIHRlc3QgIiRhY19jdl9mdW5jX3ZwcmludGYiICE9IHllczsgdGhlbg0K IGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfZG9wcm50IiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTY2MzogY2hlY2tpbmcgZm9yIF9k b3BybnQiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNjg1OiBjaGVja2luZyBm b3IgX2RvcHJudCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7 J2FjX2N2X2Z1bmNfX2RvcHJudCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAg IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxNjY4ICJj b25maWd1cmUiDQorI2xpbmUgMTY5MCAiY29uZmlndXJlIg0KICNpbmNsdWRl ICJjb25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfZG9wcm50KCk7IGJl bG93LiAgKi8NCkBAIC0xNjg3LDcgKzE3MDksNyBAQA0KIA0KIDsgcmV0dXJu IDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE2OTE6 IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g JiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBj b25maWd1cmU6MTcxMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuDQogICBy bSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9mdW5jX19kb3BybnQ9 eWVzIg0KIGVsc2UNCkBAIC0xODcxLDYgKzE4OTMsNyBAQA0KIHMlQE1BSUxN QU5fR0lEQCUkTUFJTE1BTl9HSUQlZw0KIHMlQE1BSUxfR0lEQCUkTUFJTF9H SUQlZw0KIHMlQENHSV9HSURAJSRDR0lfR0lEJWcNCitzJUBDR0lFWFRAJSRD R0lFWFQlZw0KIHMlQEZRRE5AJSRGUUROJWcNCiBzJUBVUkxAJSRVUkwlZw0K IHMlQENQUEAlJENQUCVnDQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy9jb25m aWd1cmUuaW4gbWFpbG1hbi9jb25maWd1cmUuaW4NCi0tLSBtYWlsbWFuLm9y aWcvY29uZmlndXJlLmluCVNhdCBBdWcgIDggMTQ6MTU6MjggMTk5OA0KKysr IG1haWxtYW4vY29uZmlndXJlLmluCU1vbiBBdWcgMzEgMTM6NTA6MDYgMTk5 OA0KQEAgLTI1NSw2ICsyNTUsMjAgQEANCiANCiAjTU1fRklORF9VU0VSX0lE KEFMSUFTX1VJRCwgbWFpbG1hbiwgYWxpYXNfd3JhcHBlcikNCiAjTU1fRklO RF9HUk9VUF9JRChBTElBU19HSUQsIG1haWwsIGFsaWFzX3dyYXBwZXIpDQor DQorIyBDR0kgZXh0ZW5zaW9uIGNoZWNraW5nDQorQUNfU1VCU1QoQ0dJRVhU KQ0KK0FDX01TR19DSEVDS0lORyhmb3IgQ0dJIGV4dGVuc2lvbikNCitBQ19B UkdfV0lUSChjZ2ktZXh0LCBbDQorCS0td2l0aC1jZ2ktZXh0ICAgICAgICBz cGVjaWZ5IGV4dGVuc2lvbnMgb2YgQ0dJIHByb2dyYW1zXSkNCitpZiB0ZXN0 IC16ICIkd2l0aF9jZ2lfZXh0Ig0KK3RoZW4NCisgICAgQ0dJRVhUPScnDQor ICAgIHdpdGhfY2dpX2V4dD0nbm8nDQorZWxzZQ0KKyAgICBDR0lFWFQ9JHdp dGhfY2dpX2V4dA0KK2ZpDQorQUNfTVNHX1JFU1VMVCgkd2l0aF9jZ2lfZXh0 KQ0KIA0KICMgZmlndXJlIG91dCB0aGUgREVGQVVMVF9IT1NUX05BTUUgYW5k IERFRkFVTFRfVVJMDQogQUNfU1VCU1QoRlFETikNCmRpZmYgLWJydU4gbWFp bG1hbi5vcmlnL3NjcmlwdHMvTWFrZWZpbGUuaW4gbWFpbG1hbi9zY3JpcHRz L01ha2VmaWxlLmluDQotLS0gbWFpbG1hbi5vcmlnL3NjcmlwdHMvTWFrZWZp bGUuaW4JU2F0IEF1ZyAgOCAxNDoxOTo1NCAxOTk4DQorKysgbWFpbG1hbi9z Y3JpcHRzL01ha2VmaWxlLmluCU1vbiBBdWcgMzEgMTM6NTA6MDYgMTk5OA0K QEAgLTMxLDYgKzMxLDcgQEANCiBDQz0JCUBDQ0ANCiBDSE1PRD0gIAlAQ0hN T0RADQogSU5TVEFMTD0JQElOU1RBTExADQorQ0dJRVhUPQkJQENHSUVYVEAN CiANCiBERUZTPSAgIAlAREVGU0ANCiANCmRpZmYgLWJydU4gbWFpbG1hbi5v cmlnL3NyYy9NYWtlZmlsZS5pbiBtYWlsbWFuL3NyYy9NYWtlZmlsZS5pbg0K LS0tIG1haWxtYW4ub3JpZy9zcmMvTWFrZWZpbGUuaW4JU2F0IEF1ZyAgOCAx NDoyMDoxNiAxOTk4DQorKysgbWFpbG1hbi9zcmMvTWFrZWZpbGUuaW4JTW9u IEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAtNDUsNyArNDUsNyBAQA0KIE9Q VD0JCUBPUFRADQogQ0ZMQUdTPQkJJChPUFQpICQoREVGUykNCiBDR0lESVI9 IAkkKGV4ZWNfcHJlZml4KS9jZ2ktYmluDQotQ0dJRVhUPQkJDQorQ0dJRVhU PQkJQENHSUVYVEANCiBNQUlMRElSPQkkKGV4ZWNfcHJlZml4KS9tYWlsDQog DQogU0hFTEw9CQkvYmluL3NoDQo= ---456965764-1528156929-905469768=:8757-- From julian7@kva.hu Fri Sep 11 00:29:31 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:29:31 +0200 (CEST) Subject: [Mailman-Developers] qmail patch [add-on] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1258604244-905470171=:8880 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch sets everything for the usage with qmail. It can be turned off (default). To be switched on you have to edit mm_cfg's QMAIL variable. This is a temp. hack, it can be generalized for sendmail or such other MDAs. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1258604244-905470171=:8880 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-qmail.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-qmail.patch Content-Disposition: attachment; filename="mailman-qmail.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9PdXRnb2luZ1F1ZXVl LnB5IG1haWxtYW4vTWFpbG1hbi9PdXRnb2luZ1F1ZXVlLnB5DQotLS0gbWFp bG1hbi5vcmlnL01haWxtYW4vT3V0Z29pbmdRdWV1ZS5weQlTYXQgQXVnICA4 IDE0OjE2OjM5IDE5OTgNCisrKyBtYWlsbWFuL01haWxtYW4vT3V0Z29pbmdR dWV1ZS5weQlNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0yMCw3ICsy MCwxNCBAQA0KIA0KIFRFTVBMQVRFID0gIm1tX3EuIg0KIA0KK3RyeToNCisg ICAgaXNRbWFpbCA9IG1tX2NmZy5RTUFJTA0KK2V4Y2VwdDoNCisgICAgaXNR bWFpbCA9IDANCisNCiBkZWYgZGVxdWV1ZU1lc3NhZ2UobXNnKToNCisgICAg aWYgaXNRbWFpbDoNCisJcmV0dXJuDQogICAgIGltcG9ydCBvcw0KICAgICBv cy51bmxpbmsobXNnKQ0KIA0KQEAgLTM5LDYgKzQ2LDggQEANCiAgICAgICAg IA0KICAgICAgICAgICAgIA0KIGRlZiBlbnF1ZXVlTWVzc2FnZSh0aGVfc2Vu ZGVyLCByZWNpcCwgdGV4dCk6DQorICAgIGlmIGlzUW1haWw6DQorCXJldHVy biAiIg0KICAgICB0ZW1wZmlsZS50ZW1wZGlyID0gbW1fY2ZnLkRBVEFfRElS DQogICAgIHRlbXBmaWxlLnRlbXBsYXRlID0gVEVNUExBVEUNCiAgICAgZm5h bWUgPSB0ZW1wZmlsZS5ta3RlbXAoKQ0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9y aWcvTWFpbG1hbi9VdGlscy5weSBtYWlsbWFuL01haWxtYW4vVXRpbHMucHkN Ci0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9VdGlscy5weQlTYXQgQXVnICA4 IDE0OjE2OjQ2IDE5OTgNCisrKyBtYWlsbWFuL01haWxtYW4vVXRpbHMucHkJ TW9uIEF1ZyAzMSAxNDo1Mzo0NyAxOTk4DQpAQCAtMTk0LDYgKzE5NCwyMSBA QA0KICAgICAgICAgb3MuX2V4aXQoMCkNCiANCiBkZWYgVHJ5U01UUERlbGl2 ZXJ5KHJlY2lwaWVudCwgc2VuZGVyLCB0ZXh0LCBxdWV1ZV9lbnRyeSk6DQor ICAgIGZyb20gdHlwZXMgaW1wb3J0ICoNCisgICAgaW1wb3J0IE91dGdvaW5n UXVldWUNCisgICAgaWYgdHlwZShtbV9jZmcuUU1BSUwpOg0KKwlpZiB0eXBl KHJlY2lwaWVudCkgPT0gU3RyaW5nVHlwZToNCisJICAgIHRvYyA9IHJlY2lw aWVudA0KKwllbHNlOg0KKwkgICAgdG9jID0gc3RyaW5nLmpvaW4ocmVjaXBp ZW50LCAnICcpDQorCXRyeToNCisJICAgIHBpcGUgPSBvcy5wb3BlbigiL3Zh ci9xbWFpbC9iaW4vcW1haWwtaW5qZWN0IC1mICVzICVzIiAlIChzZW5kZXIs dG9jKSwgInciKQ0KKwkgICAgcGlwZS53cml0ZSh0ZXh0KQ0KKwkgICAgcGlw ZS5jbG9zZSgpDQorCSAgICBPdXRnb2luZ1F1ZXVlLmRlcXVldWVNZXNzYWdl KHF1ZXVlX2VudHJ5KQ0KKwlmaW5hbGx5Og0KKwkgICAgcGFzcw0KKwlyZXR1 cm4NCiAgICAgaW1wb3J0IHN5cywgc29ja2V0DQogICAgIGltcG9ydCBzbXRw bGliDQogICAgIGltcG9ydCBPdXRnb2luZ1F1ZXVlDQpkaWZmIC1icnVOIG1h aWxtYW4ub3JpZy9NYWlsbWFuL21tX2NmZy5weS5pbiBtYWlsbWFuL01haWxt YW4vbW1fY2ZnLnB5LmluDQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vbW1f Y2ZnLnB5LmluCVNhdCBBdWcgIDggMTQ6MTY6NTQgMTk5OA0KKysrIG1haWxt YW4vTWFpbG1hbi9tbV9jZmcucHkuaW4JTW9uIEF1ZyAzMSAxMzo1NDozNiAx OTk4DQpAQCAtNTMsNyArNTMsOSBAQA0KIE1BSUxNQU5fT1dORVIgICAgID0g J21haWxtYW4tb3duZXJAJXMnICUgREVGQVVMVF9IT1NUX05BTUUNCiANCiBQ VUJMSUNfQVJDSElWRV9VUkwgPSAnL3BpcGVybWFpbCcNCiBQUklWQVRFX0FS Q0hJVkVfVVJMID0gJy9tYWlsbWFuL3ByaXZhdGVAQ0dJRVhUQCcNCisNCitR TUFJTCAgICAgICAgICAgICAgPSAwDQogDQogIyBOb3RlIC0gaWYgeW91J3Jl IGxvb2tpbmcgZm9yIHNvbWV0aGluZyB0aGF0IGlzIGltcG9ydGVkIGZyb20g bW1fY2ZnLCBidXQgeW91DQogIyBkaWRuJ3QgZmluZCBpdCBhYm92ZSwgaXQn cyBwcm9iYWJseSBpbiBEZWZhdWx0cy5weS4NCmRpZmYgLWJydU4gbWFpbG1h bi5vcmlnL2NvbmZpZ3VyZSBtYWlsbWFuL2NvbmZpZ3VyZQ0KLS0tIG1haWxt YW4ub3JpZy9jb25maWd1cmUJU2F0IEF1ZyAgOCAxNDoxNToyNSAxOTk4DQor KysgbWFpbG1hbi9jb25maWd1cmUJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4 DQpAQCAtMTA3OCw3ICsxMDc4LDcgQEANCiAgICAgaWYgZXZhbCAidGVzdCBc ImBlY2hvICckJyd7J2FjX2N2X2dyb3VwX21haWwnK3NldH0nYFwiID0gc2V0 IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYN CiBlbHNlDQotICAgICAgYWNfY3ZfZ3JvdXBfbWFpbD0ib3RoZXIgbWFpbCBk YWVtb24iDQorICAgICAgYWNfY3ZfZ3JvdXBfbWFpbD0ibm9maWxlcyBvdGhl ciBtYWlsIGRhZW1vbiINCiBmaQ0KIA0KIGVsc2UNCmRpZmYgLWJydU4gbWFp bG1hbi5vcmlnL2NvbmZpZ3VyZS5pbiBtYWlsbWFuL2NvbmZpZ3VyZS5pbg0K LS0tIG1haWxtYW4ub3JpZy9jb25maWd1cmUuaW4JU2F0IEF1ZyAgOCAxNDox NToyOCAxOTk4DQorKysgbWFpbG1hbi9jb25maWd1cmUuaW4JTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtMjEzLDcgKzIxMyw3IEBADQogaWYgdGVz dCAteiAiJHdpdGhfbWFpbF9naWQiDQogdGhlbg0KICAgICBBQ19DQUNIRV9W QUwoYWNfY3ZfZ3JvdXBfbWFpbCwgW2RubA0KLSAgICBhY19jdl9ncm91cF9t YWlsPSJvdGhlciBtYWlsIGRhZW1vbiJdKQ0KKyAgICBhY19jdl9ncm91cF9t YWlsPSJub2ZpbGVzIG90aGVyIG1haWwgZGFlbW9uIl0pDQogZWxzZQ0KICAg ICBhY19jdl9ncm91cF9tYWlsPSR3aXRoX21haWxfZ2lkDQogZmkNCg== ---456965764-1258604244-905470171=:8880-- From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 11 00:52:55 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 10 Sep 1998 19:52:55 -0400 (EDT) Subject: [Mailman-Developers] cgi extensions [add-on] References: Message-ID: <13816.26199.912453.441364@anthem.cnri.reston.va.us> Guys, Quick note to thank y'all for all the patches. I've been burning the midnight oil trying to finish up our Mailman paper, and John and Ken have also been busy with various things. I think after this is all done we're going to make a concerted push to address the patches and issues, get another release out, and strive for stability. Stay tuned! -Barry From cklempay@acm.jhu.edu Sat Sep 12 22:00:43 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Sat, 12 Sep 1998 17:00:43 -0400 (EDT) Subject: [Mailman-Developers] run_queue problems... Message-ID: Seen this before? -- Date: Sat, 12 Sep 1998 16:42:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/run_queue Traceback (innermost last): File "/home/mailman/cron/run_queue", line 31, in ? OutgoingQueue.processQueue() File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue Utils.TrySMTPDelivery(recip,sender,text,full_fname) File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery con.send(to=recipient,frm=sender,text=text) File "/home/mailman/Mailman/smtplib.py", line 101, in send self.getresp() File "/home/mailman/Mailman/smtplib.py", line 146, in getresp raise bad, resp smtplib.error_proto: 503 Need RCPT (recipient) From cklempay@acm.jhu.edu Sun Sep 13 06:13:16 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Sun, 13 Sep 1998 01:13:16 -0400 (EDT) Subject: [Mailman-Developers] Eeek! Message-ID: I'm getting this run_queue problem emailed to me _every half hour_...yipes! ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "Outside of every thin woman is a fat man trying to get in." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Sun, 13 Sep 1998 01:12:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/run_queue Traceback (innermost last): File "/home/mailman/cron/run_queue", line 31, in ? OutgoingQueue.processQueue() File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue Utils.TrySMTPDelivery(recip,sender,text,full_fname) File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery con.send(to=recipient,frm=sender,text=text) File "/home/mailman/Mailman/smtplib.py", line 101, in send self.getresp() File "/home/mailman/Mailman/smtplib.py", line 146, in getresp raise bad, resp smtplib.error_proto: 503 Need RCPT (recipient) From dragondm@delta.integral.org Sun Sep 13 20:24:11 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Sun, 13 Sep 1998 14:24:11 -0500 (CDT) Subject: [Mailman-Developers] Eeek! In-Reply-To: Message-ID: On Sun, 13 Sep 1998, Corbett J. Klempay wrote: > I'm getting this run_queue problem emailed to me _every half > hour_...yipes! There is a message with no recipients, or all bad local recipients stuck in the outgoing queue. look for a mm_q file in the data directory, and remove it. (the next thing will be to figure out how this happened) > ---------- Forwarded message ---------- > Date: Sun, 13 Sep 1998 01:12:01 -0400 > From: Cron Daemon > To: mailman@chimera.acm.jhu.edu > Subject: Cron /usr/local/bin/python > /home/mailman/cron/run_queue > > Traceback (innermost last): > File "/home/mailman/cron/run_queue", line 31, in ? > OutgoingQueue.processQueue() > File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue > Utils.TrySMTPDelivery(recip,sender,text,full_fname) > File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery > con.send(to=recipient,frm=sender,text=text) > File "/home/mailman/Mailman/smtplib.py", line 101, in send > self.getresp() > File "/home/mailman/Mailman/smtplib.py", line 146, in getresp > raise bad, resp > smtplib.error_proto: 503 Need RCPT (recipient) > > > _______________________________________________ > Mailman-Developers maillist - Mailman-Developers@python.org > http://www.python.org/mailman/listinfo/mailman-developers > -The Dragon De Monsyne From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Mon Sep 14 22:54:16 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Mon, 14 Sep 1998 17:54:16 -0400 (EDT) Subject: [Mailman-Developers] CVS account and password Message-ID: <13821.37000.770741.233829@anthem.cnri.reston.va.us> There will be a small change in anonymous CVS access to the Mailman stuff. The new username is `mailmancvs' and the new password is `dogbyte'. The old username and password will continue to work for a little while, but it will eventually be disabled. Please change your setup accordingly (you may need to re-login). Let me know if you have any problems. Thanks, -Barry From scott@chronis.icgroup.com Fri Sep 18 20:35:56 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 15:35:56 -0400 Subject: [Mailman-Developers] -admin mail loop Message-ID: <19980918153556.41267@chronis.icgroup.com> I set up mailman recently (v.1.0b5) with python v1.5.1 and administor the site. There is a list run on the site with 3 list administrtors. One administrators mailbox filled up, and error messages went back to the -admin address, causing a mailloop. What's the status on -admin address bounce control? Anything I can do to help further it along? scott From scott@chronis.icgroup.com Fri Sep 18 21:29:01 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 16:29:01 -0400 Subject: [Mailman-Developers] -admin mail loop In-Reply-To: <19980918153556.41267@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 03:35:56PM -0400 References: <19980918153556.41267@chronis.icgroup.com> Message-ID: <19980918162901.19894@chronis.icgroup.com> Should this be happening? Sep 16 11:29:19 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 91470 secs Sep 16 11:50:15 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 90214 secs Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs Sep 16 13:10:57 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 85372 secs Sep 16 13:23:55 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84594 secs Sep 16 13:29:52 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84237 secs Sep 16 13:30:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84198 secs Sep 16 13:59:00 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 82489 secs . [many more entries] . . Sep 17 13:22:38 1998 Forpigssake: pigtrnr@aol.com - exceeded limits Sep 17 13:22:39 1998 Forpigssake: disabled pigtrnr@aol.com scott On Fri, Sep 18, 1998 at 03:35:56PM -0400, Scott wrote: | | I set up mailman recently (v.1.0b5) with python v1.5.1 and administor | the site. There is a list run on the site with 3 list | administrtors. One administrators mailbox filled up, and error | messages went back to the -admin address, causing a mailloop. | | What's the status on -admin address bounce control? Anything I can do | to help further it along? | | scott | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From scott@chronis.icgroup.com Fri Sep 18 22:56:38 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 17:56:38 -0400 Subject: [Mailman-Developers] -admin mail loop In-Reply-To: <19980918162901.19894@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 04:29:01PM -0400 References: <19980918153556.41267@chronis.icgroup.com> <19980918162901.19894@chronis.icgroup.com> Message-ID: <19980918175638.14912@chronis.icgroup.com> Wouldn't it make sense to have the -admin address NOT set the envelope sender to -admin, but to pass the original envelope sender through? If this change was made, any person who mailed a -admin address that was down would receive the error message (rather than the defunct -admin address receiving its own error messages ). If a subscriber address were to become defunct and bounce, then the error message directed to the -admin address would have <> or mailer daemon or some such as the envelope sender. If the -admin address is defunct and preserved the original envelope sender, then the doubly bounced message would bounced back to the mailer daemon of the original error reporting MTA, which again wouldn't cause a loop or present any unusual problems. The question then is how would it effect messages automatically sent to the -admin address by mailman itself? Messages to approve or deny questionable post requests, and/or sending the passwords to the -admin address (if the option is set) would have to have an envelope sender set to something other than the -admin address. here we have a few options: 1) set the envelope sender to mailman-owner: this is intuitive, since it is mailman itself generating these messages. It is also a much safer bet that the mailman-owner address is functional than that all the -admin addresses are functional. 2) set the envelope sender to -request. This is also sortof intuitive since this class of messages are requests regarding the list. However, when messages to a -admin address bounce, the error message would be directed back to the -request address, which I believe would in turn respond to the mailer daemon of the MTA reporting the error with the -admin address. Confusing, but still no nasty mail loops like some of us have experienced. 3) set the envelope sender to a (new) system-wide -admin delivery error collecting address. something like mailman-owner-admin-errors. This would gracefully collect all the error messages in one place for examining. I don't like the look of "mailman-owner-admin-delivery-error-collector" or anything else I can think of with this functionality as an alias though. If we settle on a solution, I'll volunteer to do the coding. IMO the best of the above 3 options is #1. scott On Fri, Sep 18, 1998 at 04:29:01PM -0400, Scott wrote: | | Should this be happening? | | Sep 16 11:29:19 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 91470 secs | Sep 16 11:50:15 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 90214 secs | Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs | Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs | Sep 16 13:10:57 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 85372 secs | Sep 16 13:23:55 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84594 secs | Sep 16 13:29:52 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84237 secs | Sep 16 13:30:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84198 secs | Sep 16 13:59:00 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 82489 secs | . | [many more entries] | . | . | Sep 17 13:22:38 1998 Forpigssake: pigtrnr@aol.com - exceeded limits | Sep 17 13:22:39 1998 Forpigssake: disabled pigtrnr@aol.com | | | scott | | On Fri, Sep 18, 1998 at 03:35:56PM -0400, Scott wrote: | | | | I set up mailman recently (v.1.0b5) with python v1.5.1 and administor | | the site. There is a list run on the site with 3 list | | administrtors. One administrators mailbox filled up, and error | | messages went back to the -admin address, causing a mailloop. | | | | What's the status on -admin address bounce control? Anything I can do | | to help further it along? | | | | scott | | | | _______________________________________________ | | Mailman-Developers maillist - Mailman-Developers@python.org | | http://www.python.org/mailman/listinfo/mailman-developers | | | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From scott@chronis.icgroup.com Sun Sep 20 15:32:31 1998 From: scott@chronis.icgroup.com (Scott) Date: Sun, 20 Sep 1998 10:32:31 -0400 Subject: [Mailman-Developers] Re: -admin looping In-Reply-To: <19980918195210.48996@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 07:52:10PM -0400 References: <19980918195210.48996@chronis.icgroup.com> Message-ID: <19980920103231.02506@chronis.icgroup.com> Hmm. I seem to have problems sending these messages. Below is a response I accidentally addressed to the -admin address. And here is yet another followup: The patch below will not function properly for lists whose subscriber list are identical to the owner address list. I don't think this is a normal situation, but it's probably best to make the change apply only to messages directed at the -admin address exclusively 100% of the time rather than 99.9+% of the time. At any rate, since I'm no longer in danger of getting into another -admin mail loop, I'll hold off until I hear something from one of the other subscribers on the list. I really hope this idea takes hold because as a mail administrator of an email forwarding service, I *know* it's a really bad idea to set the envelope sender of messages to a forwarding address (the -admin address) to the address itself. The envelope sender should be passed through. To leave the envelope sender the same is just inviting nasty mailloops... scott On Fri, Sep 18, 1998 at 07:52:10PM -0400, Scott wrote: | Sorry 'bout the headers on this guy, that's what happens when you mess | up in mutt have and 'edit_hdrs' set... | | | Anyway: | | On Fri, Sep 18, 1998 at 10:58:57PM +0000, Scott wrote: | | Wouldn't it make sense to have the -admin address NOT set the envelope | | sender to -admin, but to pass the original envelope sender through? | | | | If this change was made, any person who mailed a -admin address that | | was down would receive the error message (rather than the defunct | | -admin address receiving its own error messages ). | | | | If a subscriber address were to become defunct and bounce, then the | | error message directed to the -admin address would have <> or mailer | | daemon or some such as the envelope sender. If the -admin address is | | defunct and preserved the original envelope sender, then the doubly | | bounced message would bounced back to the mailer daemon of the | | original error reporting MTA, which again wouldn't cause a loop or | | present any unusual problems. | | | | The question then is how would it effect messages automatically sent | | to the -admin address by mailman itself? Messages to approve or deny | | questionable post requests, and/or sending the passwords to the | | -admin address (if the option is set) would have to have an envelope | | sender set to something other than the -admin address. here we have a | | few options: | | On second thought: with the idea of passing through the envelope | sender, I don't belive that messages generated by mailman need to be | altered at all, because any bounced message to a list owner address | will return to the -admin address only once, at which point the | envelope sender would no longer be "", but the mailer | daemon of the machine that bounced the message, so subsequent errors | would go to that postmaster. | | passing through the envelope senders may also cause errors with | mailers set up to disallow relaying, even in the event the connection | making the request is local. I think most mailers will allow this | *because* the connection *is* local, but some mailers or some | configurations may not. In this case, it makes sense to set the | envelope sender to mailman-owner. | | Below is a patch which sets the envelope sender to the sender of the | message being delivered to the -admin address. This will prevent | -admin bounces from causing a loop. If anyone wants to use this, and | they want to have the sender set to mailman-owner instead of the | original message sender, just replace "sender = msg.GetSender()" below | with "sender = "mailman-owner" and apply the patch. | | It is very bad to have -admin mail loops. | | scott | | -------------------------------------------------------------------------------- | patch -set envelope sender of messages to -admin to sender of those messages | -------------------------------------------------------------------------------- | *** Mailman/Deliverer.py Fri Sep 18 19:25:28 1998 | --- /share/src/mailman-1.0b5/Mailman/Deliverer.py Mon Jul 27 18:48:31 1998 | *************** | *** 58,71 **** | del msg['reply-to'] | msg.headers.append('Reply-To: %s\n' % self.GetListEmail()) | msg.headers.append('Sender: %s\n' % self.GetAdminEmail()) | ! # | ! # only add errors to -admin if the recipients aren't the | ! # list owners. we also set the envelope sender differently | ! # in this case below. avoidance of mail loops to -admin | ! # addresses must be strictly enforced. | ! # | ! if self.owner != recipients: | ! msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail()) | msg.headers.append('X-BeenThere: %s\n' % self.GetListEmail()) | | cmd = "%s %s" % (mm_cfg.PYTHON, | --- 58,64 ---- | del msg['reply-to'] | msg.headers.append('Reply-To: %s\n' % self.GetListEmail()) | msg.headers.append('Sender: %s\n' % self.GetAdminEmail()) | ! msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail()) | msg.headers.append('X-BeenThere: %s\n' % self.GetListEmail()) | | cmd = "%s %s" % (mm_cfg.PYTHON, | *************** | *** 73,92 **** | cmdproc = os.popen(cmd, 'w') | | cmdproc.write("%d\n" % self.num_spawns) | ! # | ! # mailowner script calls this method and lists recipients as the | ! # owner addresses of the list. When a -admin address forwards | ! # to a defunct address, this causes the resulting bounced | ! # messages to go back to the -admin address, and there's a mail | ! # loop. So we work around this by passing the | ! # envelope sender of the original message through in this case | ! # instead of setting it to the -admin address. | ! # | ! if self.owner == recipients: | ! sender = msg.GetSender() | ! else: | ! sender = self.GetAdminEmail() | ! cmdproc.write("%s\n" % sender) | for r in recipients: | # Mustn't send blank lines before end of recipients: | if not r: continue | --- 66,72 ---- | cmdproc = os.popen(cmd, 'w') | | cmdproc.write("%d\n" % self.num_spawns) | ! cmdproc.write("%s\n" % self.GetAdminEmail()) | for r in recipients: | # Mustn't send blank lines before end of recipients: | if not r: continue | | | | | | | From klm@python.org Sun Sep 20 19:05:03 1998 From: klm@python.org (Ken Manheimer) Date: Sun, 20 Sep 1998 14:05:03 -0400 (EDT) Subject: [Mailman-Developers] Mailman BOF at IPC 7? Message-ID: <13829.17038.33860.322036@glyph.cnri.reston.va.us> What would people think about having a birds-of-feather session for mailman developers (and users, etc) at the python conference, coming up in november? (See http://www.foretec.com/python/workshops/1998-11 for conference details.) I think it'd be worthwhile to get face to face with folks, and discuss the development process and handling contributions, futures, etc... ken manheimer klm@python.org From scott@chronis.icgroup.com Mon Sep 21 00:46:11 1998 From: scott@chronis.icgroup.com (Scott) Date: Sun, 20 Sep 1998 19:46:11 -0400 Subject: [Mailman-Developers] Mailman BOF at IPC 7? In-Reply-To: <13829.17038.33860.322036@glyph.cnri.reston.va.us>; from Ken Manheimer on Sun, Sep 20, 1998 at 02:05:03PM -0400 References: <13829.17038.33860.322036@glyph.cnri.reston.va.us> Message-ID: <19980920194611.35116@chronis.icgroup.com> What's that url?!? scott On Sun, Sep 20, 1998 at 02:05:03PM -0400, Ken Manheimer wrote: | What would people think about having a birds-of-feather session for | mailman developers (and users, etc) at the python conference, coming | up in november? (See http://www.foretec.com/python/workshops/1998-11 | for conference details.) I think it'd be worthwhile to get face to | face with folks, and discuss the development process and handling | contributions, futures, etc... | | ken manheimer | klm@python.org | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From cklempay@acm.jhu.edu Tue Sep 22 17:02:50 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Tue, 22 Sep 1998 12:02:50 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests Message-ID: I seem to be getting daily messages from senddigests...it normally barfs with a little more info, but today's was this sparse...any file I can check/delete to cure this? ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "The only difference between a rut and a grave are the dimensions." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Tue, 22 Sep 1998 12:00:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/senddigests deliver: parent uid 514, gid 100, egid 100 deliver child: uid 514, gid 100, egid 100 ContactTransport in... ContactTransport out... From klm@python.org Tue Sep 22 17:43:38 1998 From: klm@python.org (Ken Manheimer) Date: Tue, 22 Sep 1998 12:43:38 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests In-Reply-To: Message-ID: On Tue, 22 Sep 1998, Corbett J. Klempay wrote: > I seem to be getting daily messages from senddigests...it normally barfs > with a little more info, but today's was this sparse...any file I can > check/delete to cure this? > [...] > ---------- Forwarded message ---------- > Date: Tue, 22 Sep 1998 12:00:01 -0400 > From: Cron Daemon > To: mailman@chimera.acm.jhu.edu > Subject: Cron /usr/local/bin/python > /home/mailman/cron/senddigests > > deliver: parent uid 514, gid 100, egid 100 > deliver child: uid 514, gid 100, egid 100 > ContactTransport in... > ContactTransport out... Whoops - corbett, this is from some residual debugging flags i put into your version of mailman, when i was trying to track down the linux permission problems (and, i gather, workaround for them - sounds like things are working for you now, for the most part). You should search in scripts/deliver for "deliver: parent uid" and for "deliver child: uid" for the prints and remove them, and search in scripts/contact_transport for "ContactTransport in..." and "ContactTransport out..." for the debugging prints, there. Sorry about the cruft! Also, sounds like there might be more - be on the lookout for it. In general i try to flag my debugging prints with "# DEBUG" at the end of the line, so you might try a grep for "DEBUG" through all the scripts to see if there's any more to remove. Let me know if you have troubles tracking it down, or questions... Ken From julian7@kva.hu Thu Sep 24 07:56:58 1998 From: julian7@kva.hu (Balazs Nagy) Date: Thu, 24 Sep 1998 08:56:58 +0200 (CEST) Subject: [Mailman-Developers] What about my patches? Message-ID: Hiyas, See $SUBJ. By the way I think Iam ready with administration email commands but the admin help isn't up to date. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 From John@list.org Thu Sep 24 14:28:00 1998 From: John@list.org (John Viega) Date: Thu, 24 Sep 1998 06:28:00 -0700 Subject: [Mailman-Developers] What about my patches? In-Reply-To: ; from Balazs Nagy on Thu, Sep 24, 1998 at 08:56:58AM +0200 References: Message-ID: <19980924062800.F10397@viega.org> Nagy, They'll definitely be going in. Unfortunately, I'm still trying to make time to do it myself, and other people seem to be just as busy. *Please* hang in there, we definitely don't want you to bail out on us because we have so little time on our end... John On Thu, Sep 24, 1998 at 08:56:58AM +0200, Balazs Nagy wrote: > Hiyas, > > See $SUBJ. By the way I think Iam ready with administration email commands > but the admin help isn't up to date. > -- > hacker: /n./ One who enjoys the intellectual challenge of creatively > overcoming or circumventing limitations. > PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 > > > > _______________________________________________ > Mailman-Developers maillist - Mailman-Developers@python.org > http://www.python.org/mailman/listinfo/mailman-developers From Dan@feld.cvut.cz Fri Sep 25 19:38:49 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Fri, 25 Sep 1998 20:38:49 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion Message-ID: <199809251837.UAA06624@poli.feld.cvut.cz> I become sometimes irriting error messages cannot unlink....... by queue processing. So I sugest this modification of dequeue function def dequeueMessage(msg): import os try: os.unlink(msg) except: from Logging.StampedLogger import StampedLogger l = StampedLogger("queue", "DequeueMessage", immediate=1) l.write("Cannot remove:\t %s\n" % msg) l.flush() I currently dont know why this error happens, I still searching. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pocitac se od televizniho divaka lisi tim, ze ma vlastni program. From dragondm@delta.integral.org Fri Sep 25 22:16:47 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Fri, 25 Sep 1998 16:16:47 -0500 (CDT) Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <199809251837.UAA06624@poli.feld.cvut.cz> Message-ID: On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: > I become sometimes irriting error messages cannot unlink....... by > queue processing. So I sugest this modification of dequeue > function > > def dequeueMessage(msg): > import os > try: > os.unlink(msg) > except: > from Logging.StampedLogger import StampedLogger > l = StampedLogger("queue", "DequeueMessage", immediate=1) > l.write("Cannot remove:\t %s\n" % msg) > l.flush() > > I currently dont know why this error happens, I still searching. Oh, I know why this happens. It's related to the duplicate delivery problem. Another proccess has delivered the queued message out from under the first one. (and deleted the queue file, which is why the first process cannot delete the message. ) I've actually fixed this problem, by the simple expediant of making all of the Mailman programs simply queue, and not try to deliver, outgoing messages. Then I have a modified run_queue program that runs continuously, de-queueing and delivering messages. Works great, sofar. If anyone's interested in the diffs. let me know. (I mentioned this whence I first did this, bout a month ago, but noone seemed interested then. ) -The Dragon De Monsyne From Dan@feld.cvut.cz Sat Sep 26 20:38:30 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Sat, 26 Sep 1998 21:38:30 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: References: <199809251837.UAA06624@poli.feld.cvut.cz> Message-ID: <199809261937.VAA12660@poli.feld.cvut.cz> On 25 Sep 98, at 16:16, The Dragon De Monsyne wrote: > On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: > > > I become sometimes irriting error messages cannot unlink....... by > > queue processing. So I sugest this modification of dequeue > > function > > > > def dequeueMessage(msg): > > import os > > try: > > os.unlink(msg) > > except: > > from Logging.StampedLogger import StampedLogger > > l = StampedLogger("queue", "DequeueMessage", immediate=1) > > l.write("Cannot remove:\t %s\n" % msg) > > l.flush() > > > > I currently dont know why this error happens, I still searching. > > Oh, I know why this happens. It's related to the duplicate > delivery problem. Another proccess has delivered the queued message out > from under the first one. (and deleted the queue file, which is why the > first process cannot delete the message. ) Yes so it is probably done, but I think some messages, which are afected with this error aren't send duplicate. > > I've actually fixed this problem, by the simple expediant of > making all of the Mailman programs simply queue, and not try to deliver, > outgoing messages. Then I have a modified run_queue program that runs > continuously, de-queueing and delivering messages. Works great, sofar. > If anyone's interested in the diffs. let me know. (I mentioned > this whence I first did this, bout a month ago, but noone seemed > interested then. ) Send me this, please, but I am working on another sugestion. I will made this: when one process begins with delivery, it makes lock file mm_l.1 and so on. Locked files are skipped by another processes. Sucessfull delivery removes both lock and data files, unsuccesfull only lock file. Danger on my solution is, that when mailman dies, the file is locked forever (or probalby I can delete lock files older than X from crond). Some opinion to this? cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pesimista vidi v ementalskem syru jen ty diry. From scott@chronis.icgroup.com Sat Sep 26 23:02:53 1998 From: scott@chronis.icgroup.com (Scott) Date: Sat, 26 Sep 1998 18:02:53 -0400 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <199809261937.VAA12660@poli.feld.cvut.cz>; from Dan Ohnesorg, admin of POWER on Sat, Sep 26, 1998 at 09:38:30PM +0200 References: <199809251837.UAA06624@poli.feld.cvut.cz> <199809261937.VAA12660@poli.feld.cvut.cz> Message-ID: <19980926180253.15995@chronis.icgroup.com> I personally like the idea of locking the files more than I like the idea of a daemon delivering queued mail because there will always be the worry that something accidentally kills the daemon process while no admin is around. Lock timeouts sound like a good solution and are already available in the file locking module. scott On Sat, Sep 26, 1998 at 09:38:30PM +0200, Dan Ohnesorg, admin of POWER wrote: | On 25 Sep 98, at 16:16, The Dragon De Monsyne wrote: | | > On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: | > | > > I become sometimes irriting error messages cannot unlink....... by | > > queue processing. So I sugest this modification of dequeue | > > function | > > | > > def dequeueMessage(msg): | > > import os | > > try: | > > os.unlink(msg) | > > except: | > > from Logging.StampedLogger import StampedLogger | > > l = StampedLogger("queue", "DequeueMessage", immediate=1) | > > l.write("Cannot remove:\t %s\n" % msg) | > > l.flush() | > > | > > I currently dont know why this error happens, I still searching. | > | > Oh, I know why this happens. It's related to the duplicate | > delivery problem. Another proccess has delivered the queued message out | > from under the first one. (and deleted the queue file, which is why the | > first process cannot delete the message. ) | | Yes so it is probably done, but I think some messages, which are | afected with this error aren't send duplicate. | | | > | > I've actually fixed this problem, by the simple expediant of | > making all of the Mailman programs simply queue, and not try to deliver, | > outgoing messages. Then I have a modified run_queue program that runs | > continuously, de-queueing and delivering messages. Works great, sofar. | > If anyone's interested in the diffs. let me know. (I mentioned | > this whence I first did this, bout a month ago, but noone seemed | > interested then. ) | | Send me this, please, but I am working on another sugestion. I | will made this: when one process begins with delivery, it makes | lock file mm_l.1 and so on. Locked files are skipped by another | processes. Sucessfull delivery removes both lock and data files, | unsuccesfull only lock file. | Danger on my solution is, that when mailman dies, the file is | locked forever (or probalby I can delete lock files older than X | from crond). | | Some opinion to this? | | cheers | dan | | ________________________________________ | DDDDDD | DD DD Dan Ohnesorg, supervisor on POWER | DD OOOO Dan@feld.cvut.cz | DD OODDOO Dep. of Power Engineering | DDDDDD OO CTU FEL Prague, Bohemia | OO OO work: +420 2 24352785;+420 2 24972109 | OOOO home: +420 311 679679;+420 311 679311 | ________________________________________ | Pesimista vidi v ementalskem syru jen ty diry. | | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From dragondm@delta.integral.org Sun Sep 27 01:05:16 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Sat, 26 Sep 1998 19:05:16 -0500 (CDT) Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <19980926180253.15995@chronis.icgroup.com> Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1395546950-1194357546-906854716=:17704 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sat, 26 Sep 1998, Scott wrote: > I personally like the idea of locking the files more than I like the > idea of a daemon delivering queued mail because there will always be > the worry that something accidentally kills the daemon process while > no admin is around. This is why I have the daemon check to see if an instance of itself is already running before starting. If it's already running it dosen't start another copy of itself. That way you just run the daemon program from cron periodicaly and it automatically restarts itself if it gets killed. (I haven't had to worry about it since I installed it a month ago. ) I'm including the daemon version of run_queue attatched to this message. (to use it you just eliminate the delivery attempts (i.e. any calls to OutgoingQueue.processQueue) elsewhere in the mailman code (my own mods to do this are a bit of a hack. If I have time to fix them up to be presentable I'll post a diff) -The Dragon De Monsyne ---1395546950-1194357546-906854716=:17704 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=run_queue Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: run_queue IyEgL3Vzci9iaW4vZW52IHB5dGhvbg0KIyANCiMgQ29weXJpZ2h0IChDKSAx OTk4IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiMN CiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcg0KIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMg0KIyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMgDQojIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQojIA0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZSANCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl IC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4NCiMN Cg0KaW1wb3J0IHN5cyxvcyxzdGF0LHN0cmluZyx0aW1lDQppbXBvcnQgcGF0 aHMNCmZyb20gTWFpbG1hbiBpbXBvcnQgT3V0Z29pbmdRdWV1ZQ0KZnJvbSBN YWlsbWFuIGltcG9ydCBtbV9jZmcNCg0KDQpQSURGSUxFPW9zLnBhdGguam9p bihtbV9jZmcuREFUQV9ESVIsInEucnVubmluZyIpDQpTVEFMTF9USU1FID0g KDYwKjE1KQ0KU0xFRVBfVElNRSA9IDE1DQoNCmRlZiBDaGVja0xvY2soKTog ICAgDQogICAgIiIiTWFrZXMgc3VyZSBvbmx5IG9uZSBvZiB0aGVzZSBydW5z IGF0IGEgdGltZS4iIiINCiAgICBwaWQ9Tm9uZQ0KICAgIHRyeToNCiAgICAg ICAgcGlkPXN0cmluZy5hdG9pKHN0cmluZy5zdHJpcChvcGVuKFBJREZJTEUs J3InKS5yZWFkKCkpKQ0KICAgIGV4Y2VwdCAoSU9FcnJvcixWYWx1ZUVycm9y KToNCiAgICAgICAgcGFzcw0KICAgIGlmIHBpZDoNCiAgICAgICAgI2xldCdz IHNlZSBpZiBpdCdzIHJlYWxseSBvdXQgdGhlcmUuIC1kZG0NCiAgICAgICAg dHJ5Og0KICAgICAgICAgICAgb3Mua2lsbChwaWQsMCkNCiAgICAgICAgICAg IGFnZSA9IHRpbWUudGltZSgpIC0gb3Muc3RhdChQSURGSUxFKVtzdGF0LlNU X01USU1FXQ0KICAgICAgICAgICAgaWYgYWdlID4gU1RBTExfVElNRToNCiAg ICAgICAgICAgICAgICAjaXQncyBoYW5naW5nLi4uIFphcCBpdC4gLWRkbQ0K ICAgICAgICAgICAgICAgIG9zLmtpbGwocGlkLDkpDQogICAgICAgICAgICBl bHNlOg0KICAgICAgICAgICAgICAgICNpdCdzIHJlYWxseSBydW5uaW5nLi4g LWRkbQ0KICAgICAgICAgICAgICAgIHJldHVybiAwDQogICAgICAgIGV4Y2Vw dCBvcy5lcnJvcjoNCiAgICAgICAgICAgICMgTm9wZSBpdCBhaW50LiAtZGRt DQogICAgICAgICAgICBwYXNzDQogICAgcmV0dXJuIDENCiAgICAgICAgICAg DQpkZWYgVG91Y2hMb2NrKCk6DQogICAgInR3ZWFrIHRoZSBwaWQgZmlsZSIN CiAgICBvcGVuKFBJREZJTEUsJ3cnKS53cml0ZSgiJWkiICUgb3MuZ2V0cGlk KCkpDQoNCg0KI2RlZiBEb19EZVEoKToNCiMgICAgcHJpbnQgImZvbyINCiMg ICAgI091dGdvaW5nUXVldWUucHJvY2Vzc1F1ZXVlKCkNCg0KZGVmIG1haW4o KToNCiAgICBpZiBub3QgQ2hlY2tMb2NrKCk6DQojICAgICAgICBwcmludCAi YWxyZWFkeSBydW5uaW5nIg0KICAgICAgICBzeXMuZXhpdCgpDQoNCiAgICBU b3VjaExvY2soKQ0KDQogICAgd2hpbGUgMToNCiAgICAgICAgcT1PdXRnb2lu Z1F1ZXVlLnByb2Nlc3NRdWV1ZSgpDQogICAgICAgIGlmIG5vdCBxOg0KICAg ICAgICAgICAgdGltZS5zbGVlcChTTEVFUF9USU1FKQ0KICAgICAgICBUb3Vj aExvY2soKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1h aW4oKQ0KDQoNCg0K ---1395546950-1194357546-906854716=:17704-- From Dan@feld.cvut.cz Sun Sep 27 21:08:43 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Sun, 27 Sep 1998 22:08:43 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <19980926180253.15995@chronis.icgroup.com> References: <199809261937.VAA12660@poli.feld.cvut.cz>; from Dan Ohnesorg, admin of POWER on Sat, Sep 26, 1998 at 09:38:30PM +0200 Message-ID: <199809272007.WAA18931@poli.feld.cvut.cz> On 26 Sep 98, at 18:02, Scott wrote: > I personally like the idea of locking the files more than I like the > idea of a daemon delivering queued mail because there will always be > the worry that something accidentally kills the daemon process while > no admin is around. > > Lock timeouts sound like a good solution and are already available in > the file locking module. So I have made it as follows. I haven't used flock module, becouse I think it is not good for this situacion. We can use it when there is reorganized code in Utis and OutgoinQueue, so it is too distributed. I haven't made backup before modifing my copy, so I cannot send diffs. My mailman is very different from oficial becouse it containst features like DSN, administrativ via filter, character set conversion .... and so I cannot made diff to clean distribution. Modification is very short. First in Utils.py in def TrySMTPDelivery(recipient, sender, text, queue_entry): is on end added if failure: from Logging.StampedLogger import StampedLogger l = StampedLogger("smtp-failures", "TrySMTPDelivery", immediate=1) l.write("To %s:\n" % recipient) l.write("\t %s / %s\n" % (failure[0], failure[1])) l.flush() + import os, re + lock = re.sub('mm_q\.','mm_l\.',queue_entry) + os.unlink(lock) And in OutgoingQueue def dequeueMessage(msg): + import os, re + lock = re.sub('mm_q\.','mm_l\.',msg) try: os.unlink(msg) + os.unlink(lock) except: from Logging.StampedLogger import StampedLogger l = StampedLogger("queue", "DequeueMessage", immediate=1) l.write("Cannot remove:\t %s\n" % msg) l.flush() def processQueue(): + import os, re files = os.listdir(mm_cfg.DATA_DIR) for file in files: if TEMPLATE <> file[:len(TEMPLATE)]: continue full_fname = os.path.join(mm_cfg.DATA_DIR, file) + lock = re.sub('mm_q\.','mm_l\.',full_fname) + existence = os.stat(lock) + if not(S_ISREG(existence)): + continue + l = open(lock,"a+") + l.write(os.getpid()) + l.close() f = open(full_fname,"r") recip,sender,text = marshal.load(f) f.close() import Utils Utils.TrySMTPDelivery(recip,sender,text,full_fname) ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Neodkladej na zitrek, co dnes mohou udelat jini. From Dan@feld.cvut.cz Mon Sep 28 20:24:55 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Mon, 28 Sep 1998 21:24:55 +0200 Subject: [Mailman-Developers] Outgoin queue II. Message-ID: <199809281923.VAA26979@poli.feld.cvut.cz> My last code was not good. It worked fine in testlist with 2 persons, but when I setuped this in list with 500 members, it hated problems. First prosessing was slower than before, so there are more queue conflicts and there are also problems with synchronization of locks, where I have marged, that two processes had delivered the some message. I will try to find better solution. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Komunista je clovek, ktery ztratil veskere nadeje stat se kapitalistou From julian7@kva.hu Tue Sep 29 10:56:15 1998 From: julian7@kva.hu (Balazs Nagy) Date: Tue, 29 Sep 1998 11:56:15 +0200 (CEST) Subject: [Mailman-Developers] command handler patch (required) Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-757754089-907062975=:3222 Content-Type: TEXT/PLAIN; charset=US-ASCII Hiyas, This patch obsoletes my earlier digest patch. This diff fixes the digest problem and adds five new email commands: enable, disable, edit, put, setattr. With this patch you get access for all of the admin settings in www. Please apply it. It have to be the last required patch you're applying. -- Linux Supporting Center -- Red Hat Qmail packages -- http://lsc.kva.hu PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-757754089-907062975=:3222 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cmdhandler.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="mailman-cmdhandler.patch" LS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQlNb24gU2VwICA3IDE2OjA0OjUzIDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CVR1ZSBTZXAgMjkgMTA6NDY6Mzgg MTk5OA0KQEAgLTQ5LDcgKzQ5LDcgQEANCiAJCSAnaGlkZScgICA6DQogCQkg ICAgJ0NvbmNlYWxzIHlvdXIgZW1haWwgZnJvbSB0aGUgbGlzdCBvZiBzdWJz Y3JpYmVycycNCiAJICAgICAgIH0NCi1vcHRpb25faW5mbyA9IHsgJ2RpZ2Vz dCcgOiAwLA0KK29wdGlvbl9pbmZvID0gew0KIAkJJ25vbWFpbCcgOiBtbV9j ZmcuRGlzYWJsZURlbGl2ZXJ5LA0KIAkJJ25vcmN2JyAgOiBtbV9jZmcuRG9u dFJlY2VpdmVPd25Qb3N0cywNCiAJCSdhY2snICAgIDogbW1fY2ZnLkFja25v d2xlZ2VQb3N0cywNCkBAIC01OCw3ICs1OCwxMCBAQA0KIAkJfQ0KIA0KIGNs YXNzIE1haWxDb21tYW5kSGFuZGxlcjoNCisNCiAgICAgZGVmIF9faW5pdF9f KHNlbGYpOg0KKwlpbXBvcnQgdHlwZXMNCisJc2VsZi5lbmFibGVkID0gMA0K IAlzZWxmLl9yZXNwb25zZV9idWZmZXIgPSAnJw0KIAlzZWxmLl9jbWRfZGlz cGF0Y2ggPSB7DQogCSAgICAnc3Vic2NyaWJlJyA6IHNlbGYuUHJvY2Vzc1N1 YnNjcmliZUNtZCwNCkBAIC03MSw4ICs3NCwyNiBAQA0KIAkgICAgJ3NldCcg OiBzZWxmLlByb2Nlc3NTZXRDbWQsDQogCSAgICAnb3B0aW9ucycgOiBzZWxm LlByb2Nlc3NPcHRpb25zQ21kLA0KIAkgICAgJ3Bhc3N3b3JkJyA6IHNlbGYu UHJvY2Vzc1Bhc3N3b3JkQ21kLA0KKwkgICAgJ2VuYWJsZScgOiBzZWxmLlBy b2Nlc3NFbmFibGVDbWQsDQorCSAgICAnZGlzYWJsZScgOiBzZWxmLlByb2Nl c3NEaXNhYmxlQ21kLA0KKwkgICAgJ2VkaXQnIDogc2VsZi5Qcm9jZXNzRWRp dENtZCwNCisJICAgICdwdXQnIDogc2VsZi5Qcm9jZXNzUHV0Q21kLA0KKwkg ICAgJ3NldGF0dHInOiBzZWxmLlByb2Nlc3NTZXRhdHRyQ21kLA0KIAkgICAg fQ0KKwlzZWxmLl9jbWRfcG9vbGVkX2Rpc3BhdGNoID0gKA0KKwkgICAgJ3B1 dCcsDQorCSAgICApDQogICAgICAgICBzZWxmLl9fTm9NYWlsQ21kUmVzcG9u c2UgPSAwDQorCXNlbGYuX0VkaXRGaWxlcyA9IHt9DQorCXNlbGYuX2NvbmZp Z19pbmZvID0gc2VsZi5HZXRDb25maWdJbmZvKCkNCisJZm9yIGkgaW4gc2Vs Zi5fY29uZmlnX2luZm8ua2V5cygpOg0KKwkgICAgZm9yIG8gaW4gc2VsZi5f Y29uZmlnX2luZm9baV06DQorCQlpZiB0eXBlKG8pICE9IHR5cGVzLlN0cmlu Z1R5cGU6DQorCQkgICAgaWYgbGVuKG8pID4gNToNCisJCQlhbGwgPSBvWzVd DQorCQkgICAgZWxzZToNCisJCQlhbGwgPSAiIg0KKwkJICAgIHNlbGYuX0Vk aXRGaWxlc1tvWzBdXSA9IFtvWzFdLCBpLCBvWzRdLCBhbGxdDQogDQogICAg IGRlZiBBZGRUb1Jlc3BvbnNlKHNlbGYsIHRleHQpOg0KIAlzZWxmLl9yZXNw b25zZV9idWZmZXIgPSBzZWxmLl9yZXNwb25zZV9idWZmZXIgKyB0ZXh0ICsg IlxuIg0KQEAgLTEyMCwyMyArMTQxLDM2IEBADQogCQllbHNlOg0KIAkJICAg IHNlbGYuQWRkRXJyb3IoIlN1YmplY3QgbGluZSBpZ25vcmVkOiAlcyIgJSBz dWJqZWN0KQ0KICAgICAgICAgcHJvY2Vzc2VkID0ge30gICAgICAgICAgICAg ICAgICAgICAgIyBGb3IgYXZvaWRpbmcgcmVkdW5kYW5jaWVzLg0KLSAgICAg ICAgbWF4bGluZXMgPSBtbV9jZmcuREVGQVVMVF9NQUlMX0NPTU1BTkRTX01B WF9MSU5FUw0KKyAgICAgICAgbWF4Y21kcyA9IG1tX2NmZy5ERUZBVUxUX01B SUxfQ09NTUFORFNfTUFYX0xJTkVTDQorCWNtZGxpbmVzID0gMA0KKwljbWRt b2RlID0gMA0KKwlwb29sID0gJycNCiAJZm9yIGxpbmVjb3VudCBpbiByYW5n ZShsZW4obGluZXMpKToNCiAJICAgIGxpbmUgPSBzdHJpbmcuc3RyaXAobGlu ZXNbbGluZWNvdW50XSkNCi0JICAgIGlmIG5vdCBsaW5lOg0KKwkgICAgaWYg bm90IGxpbmUgYW5kIG5vdCBjbWRtb2RlOg0KIAkJY29udGludWUNCi0gICAg ICAgICAgICBpZiBsaW5lY291bnQgPiBtYXhsaW5lczoNCisgICAgICAgICAg ICBpZiBjbWRsaW5lcyA+IG1heGNtZHM6DQogICAgICAgICAgICAgICAgIHNl bGYuQWRkVG9SZXNwb25zZSgiXG4iKQ0KICAgICAgICAgICAgICAgICBzZWxm LkFkZEVycm9yKCJNYXhpbXVtIGNvbW1hbmQgbGluZXMgKCVkKSBlbmNvdW50 ZXJlZCwiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpZ25v cmluZyB0aGUgcmVzdC4uLiIgJSBtYXhsaW5lcykNCiAgICAgICAgICAgICAg ICAgc2VsZi5BZGRUb1Jlc3BvbnNlKCI8PDwgIiArIHN0cmluZy5qb2luKGxp bmVzW2xpbmVjb3VudDpdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbjw8PCAiKSkNCiAgICAg ICAgICAgICAgICAgYnJlYWsNCisJICAgIGlmIGNtZG1vZGU6DQorCQlpZiBs aW5lIGluIFsnLUVORC0nLCAnLWVuZC0nXToNCisJCSAgICBzZWxmLl9jbWRf ZGlzcGF0Y2hbcG9vbGVkX2NtZF0ocG9vbGVkX2FyZ3MsIHBvb2wsIG1haWwp DQorCQkgICAgcG9vbCA9ICcnDQorCQkgICAgY21kbW9kZSA9IDANCisJCSAg ICBjb250aW51ZQ0KKwkJZWxzZToNCisJCSAgICBwb29sID0gcG9vbCArIGxp bmVzW2xpbmVjb3VudF0gKyAiXG4iDQorCQkgICAgY29udGludWUNCisJICAg IGNtZGxpbmVzID0gY21kbGluZXMgKyAxDQogCSAgICBzZWxmLkFkZFRvUmVz cG9uc2UoIlxuPj4+PiAlcyIgJSBsaW5lKQ0KIAkgICAgYXJncyA9IHN0cmlu Zy5zcGxpdChsaW5lKQ0KIAkgICAgY21kID0gc3RyaW5nLmxvd2VyKGFyZ3Nb MF0pDQogCSAgICBhcmdzID0gYXJnc1sxOl0NCi0JICAgIGlmIGNtZCA9PSAn ZW5kJzoNCisJICAgIGlmIGNtZCBpbiBbJ2VuZCcsICctLSddOg0KIAkJc2Vs Zi5BZGRFcnJvcigiRW5kIG9mIGNvbW1hbmRzLiIpDQogCQlicmVhaw0KIAkg ICAgaWYgbm90IHNlbGYuX2NtZF9kaXNwYXRjaC5oYXNfa2V5KGNtZCk6DQpA QCAtMTU1LDkgKzE4OSwxOCBAQA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBicmVhaw0KICAgICAgICAgICAgICAgICBpZiBub3QgaXNkdXA6DQog ICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRbY21kXS5hcHBlbmQoYXJn cykNCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2NtZF9kaXNwYXRjaFtj bWRdKGFyZ3MsIGxpbmUsIG1haWwpDQorCQkgICAgaWYgY21kIGluIHNlbGYu X2NtZF9wb29sZWRfZGlzcGF0Y2g6DQorCQkJcG9vbGVkX2NtZCA9IGNtZA0K KwkJCXBvb2xlZF9hcmdzID0gYXJncw0KKwkJCXBvb2xlZF9saW5lID0gbGlu ZQ0KKwkJCWNtZG1vZGUgPSAxDQorCQkgICAgZWxzZToNCisgICAgICAgICAg ICAgICAgCXNlbGYuX2NtZF9kaXNwYXRjaFtjbWRdKGFyZ3MsIGxpbmUsIG1h aWwpDQorCWlmIGNtZG1vZGU6DQorCSAgICBzZWxmLl9jbWRfZGlzcGF0Y2hb cG9vbGVkX2NtZF0ocG9vbGVkX2FyZ3MsIHBvb2wsIG1haWwpDQogICAgICAg ICBpZiBub3Qgc2VsZi5fX05vTWFpbENtZFJlc3BvbnNlOg0KICAgICAgICAg ICAgIHNlbGYuU2VuZE1haWxDbWRSZXNwb25zZShtYWlsKQ0KKwlzeXMuZXhp dCgwKQ0KIA0KICAgICBkZWYgU2VuZE1haWxDbWRSZXNwb25zZShzZWxmLCBt YWlsKToNCiAJc2VsZi5TZW5kVGV4dFRvVXNlcihzdWJqZWN0ID0gJ01haWxt YW4gcmVzdWx0cyBmb3IgJXMnICUgDQpAQCAtMTY3LDYgKzIxMCwxMzQgQEAN CiAJCQkgICAgdGV4dCA9IHNlbGYuX3Jlc3BvbnNlX2J1ZmZlcikNCiAJc2Vs Zi5fcmVzcG9uc2VfYnVmZmVyID0gJycNCiANCisgICAgZGVmIFByb2Nlc3NF bmFibGVDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFpbCk6DQorCWlmIGxl bihhcmdzKSA8PiAxOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiVXNhZ2U6IGVu YWJsZSA8YWRtaW4gcGFzc3dvcmQ+IikNCisJICAgIHNlbGYuZW5hYmxlZCA9 IDANCisJICAgIHJldHVybg0KKwl0cnk6DQorCSAgICBzZWxmLkNvbmZpcm1B ZG1pblBhc3N3b3JkKGFyZ3NbMF0pDQorCWV4Y2VwdCBFcnJvcnMuTU1CYWRQ YXNzd29yZEVycm9yOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiSW5jb3JyZWN0 IGFkbWluIHBhc3N3b3JkIikNCisJICAgIHNlbGYuZW5hYmxlZCA9IDANCisJ ICAgIHJldHVybg0KKwlzZWxmLmVuYWJsZWQgPSAxDQorCXNlbGYuQWRkVG9S ZXNwb25zZSgiQWRtaW4gY29tbWFuZHMgZW5hYmxlZC4iKQ0KKw0KKyAgICBk ZWYgUHJvY2Vzc0Rpc2FibGVDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFp bCk6DQorCXNlbGYuZW5hYmxlZCA9IDANCisJc2VsZi5BZGRUb1Jlc3BvbnNl KCJBZG1pbiBjb21tYW5kcyBkaXNhYmxlZC4iKQ0KKw0KKyAgICBkZWYgZW5h YmxlQ2hlY2soc2VsZik6DQorCWlmIG5vdCBzZWxmLmVuYWJsZWQ6DQorCSAg ICBzZWxmLkFkZEVycm9yKCJFbmFibGUgYWRtaW4gY29tbWFuZHMgZmlyc3Qu IikNCisJICAgIHJldHVybiAwDQorCXJldHVybiAxDQorDQorICAgIGRlZiBf RWRpdEZpbGUoc2VsZiwgZm5hbWUpOg0KKwlpZiBzZWxmLl9FZGl0RmlsZXNb Zm5hbWVdWzBdIGluIFttbV9jZmcuUmFkaW8sIG1tX2NmZy5Ub2dnbGVdOg0K KwkgICAgaWYgZ2V0YXR0cihzZWxmLCBmbmFtZSk6DQorCQl0eHQgPSAib24i DQorCSAgICBlbHNlOg0KKwkJdHh0ID0gIm9mZiINCisJICAgIHRleHQgPSAi c2V0YXR0ciAlcyAlcyIgJSAoZm5hbWUsIHR4dCkNCisJZWxpZiBzZWxmLl9F ZGl0RmlsZXNbZm5hbWVdWzBdID09IG1tX2NmZy5FbWFpbExpc3Q6DQorCSAg ICB0ZXh0ID0gInB1dCAlc1xuJXNcbi1lbmQtIiAlIChmbmFtZSwgc3RyaW5n LmpvaW4oZ2V0YXR0cihzZWxmLCBmbmFtZSksIlxuIikpDQorCWVsaWYgc2Vs Zi5fRWRpdEZpbGVzW2ZuYW1lXVswXSBpbiBbbW1fY2ZnLkVtYWlsLCBtbV9j ZmcuSG9zdF06DQorCSAgICB0ZXh0ID0gInNldGF0dHIgJXMgJXMiICUgKGZu YW1lLCBnZXRhdHRyKHNlbGYsIGZuYW1lKSkNCisJZWxpZiBzZWxmLl9FZGl0 RmlsZXNbZm5hbWVdWzBdID09IG1tX2NmZy5TdHJpbmc6DQorCSAgICB0ZXh0 ID0gInNldGF0dHIgJXMgXCIlc1wiIiAlIChmbmFtZSwgZ2V0YXR0cihzZWxm LCBmbmFtZSkpDQorCWVsaWYgc2VsZi5fRWRpdEZpbGVzW2ZuYW1lXVswXSA9 PSBtbV9jZmcuTnVtYmVyOg0KKwkgICAgdGV4dCA9ICJzZXRhdHRyICVzICVk IiAlIChmbmFtZSwgZ2V0YXR0cihzZWxmLCBmbmFtZSkpDQorCWVsc2U6DQor CSAgICB0ZXh0ID0gInB1dCAlc1xuJXMtZW5kLSIgJSAoZm5hbWUsIGdldGF0 dHIoc2VsZiwgZm5hbWUpKQ0KKwlyZXR1cm4gdGV4dA0KKw0KKyAgICBkZWYg UHJvY2Vzc0VkaXRDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFpbCk6DQor CWlmIG5vdCBzZWxmLmVuYWJsZUNoZWNrKCk6DQorCSAgICBzZWxmLkFkZEVy cm9yKCJBZG1pbiBjb21tYW5kcyBkaXNhYmxlZC4iKQ0KKwkgICAgcmV0dXJu DQorCWlmIGxlbihhcmdzKSA8PiAxOg0KKwkgICAgc2VsZi5BZGRFcnJvcigi VXNhZ2U6IGVkaXQgPHNldHRpbmc+fGFsbCIpDQorCSAgICByZXR1cm4NCisJ aWYgc2VsZi5fRWRpdEZpbGVzLmhhc19rZXkoYXJnc1swXSk6DQorCSAgICBz ZWxmLkFkZFRvUmVzcG9uc2Uoc2VsZi5fRWRpdEZpbGUoYXJnc1swXSkpDQor CWVsaWYgYXJnc1swXSA9PSAnYWxsJzoNCisJICAgIGt5cyA9IHNlbGYuX0Vk aXRGaWxlcy5rZXlzKCkNCisJICAgIGt5cy5zb3J0KCkNCisJICAgIGZvciBp IGluIGt5czoNCisJCXNlbGYuQWRkVG9SZXNwb25zZShzZWxmLl9FZGl0Rmls ZShpKSkNCisJZWxzZToNCisJICAgIHNlbGYuQWRkRXJyb3IoJ05vIHN1Y2gg ZmlsZS4gIFlvdSBjYW4gY2hvb3NlIGZyb20nKQ0KKwkgICAgc2VsZi5BZGRF cnJvcigiJXMiICUgc2VsZi5fRWRpdEZpbGVzLmtleXMoKSkNCisJICAgIA0K KyAgICBkZWYgRW1haWxDaGVjayhhZGRyKToNCisJdHJ5Og0KKwkgICAgdmFs aWQgPSBVdGlscy5WYWxpZEVtYWlsKGFkZHIpDQorCSAgICBpZiB2YWxpZDoN CisJCXJldHVybiAxDQorCSAgICBlbHNlOg0KKwkJcmV0dXJuIDANCisJZXhj ZXB0Og0KKwkgICAgcmV0dXJuIDANCisNCisgICAgZGVmIFByb2Nlc3NQdXRD bWQoc2VsZiwgYXJncywgcG9vbCwgbWFpbCk6DQorCWlmIG5vdCBzZWxmLmVu YWJsZUNoZWNrKCk6DQorCSAgICBzZWxmLkFkZEVycm9yKCJBZG1pbiBjb21t YW5kcyBkaXNhYmxlZC4iKQ0KKwkgICAgcmV0dXJuDQorCWlmIGxlbihhcmdz KSA8PiAxOg0KKwkgICAgc2VsZi5BZGRyRXJyb3IoIlVzYWdlOiBwdXQgPHNl dHRpbmc+IikNCisJICAgIHJldHVybg0KKwlpZiBzZWxmLl9FZGl0RmlsZXMu aGFzX2tleShhcmdzWzBdKToNCisJICAgIHR5cGUgPSBzZWxmLl9FZGl0Rmls ZXNbYXJnc1swXV1bMF0NCisJICAgIGlmIHR5cGUgPT0gbW1fY2ZnLkVtYWls TGlzdDoNCisJCXBvb2wgPSBmaWx0ZXIoRW1haWxDaGVjaywNCisJCQkgICAg ICBtYXAoc3RyaW5nLnN0cmlwLCBzdHJpbmcuc3BsaXQocG9vbCwgJ1xuJykp KQ0KKwkgICAgZWxpZiB0eXBlICE9IG1tX2NmZy5UZXh0Og0KKwkJc2VsZi5B ZGRFcnJvcigiSW52YWxpZCB0eXBlIGZvciAlcy4iICUgYXJnc1swXSkNCisJ CXJldHVybg0KKwkgICAgc2V0YXR0cihzZWxmLCBhcmdzWzBdLCBwb29sKQ0K KwkgICAgc2VsZi5TYXZlKCkNCisJc2VsZi5BZGRUb1Jlc3BvbnNlKCdTdWNj ZWVlZGVkLicpDQorDQorDQorICAgIGRlZiBQcm9jZXNzU2V0YXR0ckNtZChz ZWxmLCBhcmdzLCBjbWRsaW5lLCBtYWlsKToNCisJaWYgbm90IHNlbGYuZW5h YmxlQ2hlY2soKToNCisJICAgIHNlbGYuQWRkRXJyb3IoIkFkbWluIGNvbW1h bmRzIGRpc2FibGVkLiIpDQorCSAgICByZXR1cm4NCisJaWYgbGVuKGFyZ3Mp IDwgMToNCisJICAgIHNlbGYuQWRkRXJyb3IoIlVzYWdlOiBzZXRhdHRyIDxm aWxlPiA8YXR0cmlidXRlPiIpDQorCSAgICByZXR1cm4NCisJaWYgc2VsZi5f RWRpdEZpbGVzLmhhc19rZXkoYXJnc1swXSk6DQorCSAgICB0eXBlID0gc2Vs Zi5fRWRpdEZpbGVzW2FyZ3NbMF1dWzBdDQorCSAgICB0cnk6DQorCQlyZXR2 ID0gcmUubWF0Y2goIl5ccypcUytccytcUytccytcIiguKlteXCJdKVwiPyQi LA0KKwkJICAgIGNtZGxpbmUpLmdyb3VwKDEpDQorCSAgICBleGNlcHQgQXR0 cmlidXRlRXJyb3I6DQorCQlzZWxmLkFkZEVycm9yKCJJbnZhbGlkIHN0cmlu ZyAlcy4iICUgY21kbGluZSkNCisJCXJldHVybg0KKwkgICAgaWYgdHlwZSAh PSBtbV9jZmcuVGV4dDoNCisJCWlmIHR5cGUgaW4gW21tX2NmZy5SYWRpbywg bW1fY2ZnLlRvZ2dsZV06DQorCQkgICAgaWYgcmV0diBpbiBbIm9uIiwgInll cyIsICJ0cnVlIiwgIjEiLCAieWVwIl06DQorCQkJcmV0diA9IDENCisJCSAg ICBlbHNlOg0KKwkJCXJldHYgPSAwDQorCQllbGlmIHR5cGUgPT0gbW1fY2Zn LkVtYWlsOg0KKwkJICAgIHJldHYgPSBzdHJpbmcuc3RyaXAocmV0dikNCisJ CSAgICBpZiBub3QgRW1haWxDaGVjayhyZXR2KToNCisJCQlzZWxmLkFkZEVy cm9yKCJJbnZhbGlkIGVtYWlsIGFkZHJlc3MgJXMiICUgcmV0dikNCisJCQly ZXR1cm4NCisJCWVsaWYgdHlwZSA9PSBtbV9jZmcuTnVtYmVyOg0KKwkJICAg IHJldHYgPSBldmFsKHJldHYpDQorCQkgICAgaWYgY21kbGluZSA8IDA6DQor CQkJc2VsZi5BZGRFcnJvcigiSW52YWxpZCBudW1iZXIgJWQiICUgcmV0dikN CisJCQlyZXR1cm4NCisJICAgIHNldGF0dHIoc2VsZiwgYXJnc1swXSwgcmV0 dikNCisJICAgIHNlbGYuU2F2ZSgpDQorCSAgICBzZWxmLkFkZFRvUmVzcG9u c2UoJyVzIHNldCB0byAlcy4nJShhcmdzWzBdLCByZXR2KSkNCisJZWxzZToN CisJICAgIHNlbGYuQWRkRXJyb3IoIk5vIHN1Y2ggZmlsZTogJXMiICUgYXJn c1swXSkNCisNCiAgICAgZGVmIFByb2Nlc3NQYXNzd29yZENtZChzZWxmLCBh cmdzLCBjbWQsIG1haWwpOg0KIAlpZiBsZW4oYXJncykgPD4gMjoNCiAJICAg IHNlbGYuQWRkRXJyb3IoIlVzYWdlOiBwYXNzd29yZCA8b2xkcHc+IDxuZXdw dz4iKQ0KQEAgLTIyMSw2ICszOTIsMTIgQEANCiAJICAgIHMuQWRkRXJyb3Io IlZhbGlkIG9wdGlvbnMgYXJlOiIpDQogCSAgICBmb3Igb3B0aW9uIGluIG9w dGlvbnM6DQogCQlzLkFkZEVycm9yKCIlczogICVzIiAlIChvcHRpb24sIG9k W29wdGlvbl0pKQ0KKw0KKwlzZW5kZXIgPSBzZWxmLkZpbmRVc2VyKG1haWwu R2V0U2VuZGVyKCkpDQorCWlmIG5vdCBzZW5kZXI6DQorCSAgICBzZWxmLkFk ZEVycm9yKCJZb3UgYXJlbid0IHN1YnNjcmliZWQuIikNCisJICAgIHJldHVy bg0KKw0KIAlpZiBsZW4oYXJncykgPD4gMzoNCiAJICAgIFNob3dTZXRVc2Fn ZSgpDQogCSAgICByZXR1cm4NCkBAIC0yMzMsMTAgKzQxMCw2IEBADQogCSAg ICByZXR1cm4NCiAJaWYgb3B0aW9uX2luZm8uaGFzX2tleShhcmdzWzBdKToN CiAJICAgIHRyeToNCi0JCXNlbmRlciA9IHNlbGYuRmluZFVzZXIobWFpbC5H ZXRTZW5kZXIoKSkNCi0JCWlmIG5vdCBzZW5kZXI6DQotCQkgICAgc2VsZi5B ZGRFcnJvcigiWW91IGFyZW4ndCBzdWJzY3JpYmVkLiIpDQotCQkgICAgcmV0 dXJuDQogCQlzZWxmLkNvbmZpcm1Vc2VyUGFzc3dvcmQoc2VuZGVyLCBhcmdz WzJdKQ0KIAkJc2VsZi5TZXRVc2VyT3B0aW9uKHNlbmRlciwgb3B0aW9uX2lu Zm9bYXJnc1swXV0sIHZhbHVlKQ0KIAkJc2VsZi5BZGRUb1Jlc3BvbnNlKCJT dWNjZWVkZWQuIikNCkBAIC0yNDksNyArNDIyLDggQEANCiAJCXNlbGYuQWRk RXJyb3IoIiVzIiAlIHN5cy5leGNfdHlwZSkNCiAJZWxpZiBhcmdzWzBdID09 ICdkaWdlc3QnOg0KIAkgICAgdHJ5Og0KLQkJc2VsZi5TZXRVc2VyRGlnZXN0 KG1haWwuR2V0U2VuZGVyKCksIGFyZ3NbMl0sIHZhbHVlKQ0KKwkJc2VsZi5D b25maXJtVXNlclBhc3N3b3JkKHNlbmRlciwgYXJnc1syXSkNCisJCXNlbGYu U2V0VXNlckRpZ2VzdChtYWlsLkdldFNlbmRlcigpLCB2YWx1ZSkNCiAJCXNl bGYuQWRkVG9SZXNwb25zZSgiU3VjY2VlZGVkLiIpDQogCSAgICBleGNlcHQg RXJyb3JzLk1NQWxyZWFkeURpZ2VzdGVkOg0KIAkJc2VsZi5BZGRFcnJvcigi WW91IGFyZSBhbHJlYWR5IHJlY2VpdmluZyBkaWdlc3RzLiIpDQpAQCAtNTU3 LDExICs3MzEsNDUgQEANCiAgICAgICAgIHNlbGYuQWRkRXJyb3IodGV4dCkN CiANCiAgICAgZGVmIFByb2Nlc3NIZWxwQ21kKHNlbGYsIGFyZ3MsIGNtZCwg bWFpbCk6DQorCWlmIGxlbihhcmdzKSA+PSAxOg0KKwkgICAgaWYgYXJnc1sw XSBpbiBbImVkaXQiLCAicHV0IiwgInNldGF0dHIiXToNCisJCXNlbGYuVHlw ZXMgPSB7DQorCQkgICAgbW1fY2ZnLlJhZGlvOiAic2V0YXR0cjsgeWVzIG9y IG5vIiwNCisJCSAgICBtbV9jZmcuVG9nZ2xlOiAic2V0YXR0cjsgeWVzIG9y IG5vIiwNCisJCSAgICBtbV9jZmcuRW1haWw6ICJzZXRhdHRyOyBlbWFpbCIs DQorCQkgICAgbW1fY2ZnLlN0cmluZzogInNldGF0dHI7IHN0cmluZyBsaW5l IiwNCisJCSAgICBtbV9jZmcuSG9zdDogInNldGF0dHI7IGhvc3QgbmFtZSIs DQorCQkgICAgbW1fY2ZnLk51bWJlcjogInNldGF0dHI7IG51bWJlciIsDQor CQkgICAgbW1fY2ZnLlRleHQ6ICJwdXQ7IHN0cmluZyBsaW5lcyIsDQorCQkg ICAgbW1fY2ZnLkVtYWlsTGlzdDogInB1dDsgbGlzdCBvZiBlbWFpbHMgKG9u ZSBpbiBhIGxpbmUpIg0KKwkJICAgIH0NCisJCWlmIGxlbihhcmdzKSA+IDEg YW5kIGFyZ3NbMV0gPT0gImFsbCI6DQorCQkgICAgYWxsID0gMQ0KKwkJZWxz ZToNCisJCSAgICBhbGwgPSAwDQorCQl0ZXh0ID0gIkZpbGVzIGluICVzOiIg JSBhcmdzWzBdDQorCQlreXMgPSBzZWxmLl9FZGl0RmlsZXMua2V5cygpDQor CQlreXMuc29ydCgpDQorCQlmb3IgaSBpbiBreXM6DQorCQkgICAgdHlwZSA9 IHNlbGYuVHlwZXNbc2VsZi5fRWRpdEZpbGVzW2ldWzBdXQ0KKwkJICAgIHR4 dCA9IFV0aWxzLndyYXAoc2VsZi5fRWRpdEZpbGVzW2ldWzJdKQ0KKwkJICAg IGlmIGFsbCBhbmQgc2VsZi5fRWRpdEZpbGVzW2ldWzNdICE9ICIiOg0KKwkJ CXR4dCA9IHR4dCArICJcbiIgKyBVdGlscy53cmFwKHNlbGYuX0VkaXRGaWxl c1tpXVszXSkNCisJCSAgICB0ZXh0ID0gdGV4dCArICJcblxuJXMgKGZyb20g JXMpOlxuICBbJXNdXG4gICIgJSAoaSwNCisJCQkgICAgc2VsZi5fRWRpdEZp bGVzW2ldWzFdLCB0eXBlKSArIHN0cmluZy5qb2luKA0KKwkJCSAgICBzdHJp bmcuc3BsaXQodHh0LCAiXG4iKSwgIlxuICAiKQ0KKwkJc2VsZi5BZGRUb1Jl c3BvbnNlKHRleHQpDQorCQlyZXR1cm4NCisJICAgIGlmIGFyZ3NbMF0gPT0g J2FkbWluJzoNCisJCXR4dCA9ICdhZG1pbmhlbHAudHh0Jw0KKwkgICAgZWxz ZToNCisJCXR4dCA9ICdoZWxwLnR4dCcNCiAgICAgICAgIHRleHQgPSBVdGls cy5tYWtldGV4dCgNCi0gICAgICAgICAgICAnaGVscC50eHQnLA0KKyAgICAg ICAgICAgIHR4dCwNCiAgICAgICAgICAgICB7J2xpc3RuYW1lJyAgICA6IHNl bGYucmVhbF9uYW1lLA0KICAgICAgICAgICAgICAndmVyc2lvbicgICAgIDog bW1fY2ZnLlZFUlNJT04sDQotICAgICAgICAgICAgICdsaXN0aW5mb191cmwn OiBzZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAg ICAgICAgICAgICAnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNj cmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCisgICAgICAgICAgICAg J2FkbWluX3VybCcgICA6IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1f Y2ZnLkFETUlOX0NHSSksDQogICAgICAgICAgICAgICdyZXF1ZXN0YWRkcicg OiBzZWxmLkdldFJlcXVlc3RFbWFpbCgpLA0KICAgICAgICAgICAgICAnYWRt aW5hZGRyJyAgIDogc2VsZi5HZXRBZG1pbkVtYWlsKCksDQogICAgICAgICAg ICAgIH0pDQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vTWFpbExpc3QucHkg ICAgVHVlIFNlcCAyOSAxMTo1MjozOCAxOTk4DQorKysgbWFpbG1hbi9NYWls bWFuL01haWxMaXN0LnB5IFR1ZSBTZXAgMjkgMTE6NTI6NDkgMTk5OA0KQEAg LTUzLDggKzUzLDggQEANCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWU9 Tm9uZSwgbG9jaz0xKToNCiAgICAgICAgIGlmIG5hbWUgYW5kIG5hbWUgbm90 IGluIFV0aWxzLmxpc3RfbmFtZXMoKToNCiAgICAgICAgICAgICAgICByYWlz ZSBFcnJvcnMuTU1Vbmtub3duTGlzdEVycm9yLCAnbGlzdCBub3QgZm91bmQ6 ICVzJyAlIG5hbWUNCi0gICAgICAgTWFpbENvbW1hbmRIYW5kbGVyLl9faW5p dF9fKHNlbGYpDQogICAgICAgICBzZWxmLkluaXRUZW1wVmFycyhuYW1lLCBs b2NrKQ0KKyAgICAgICBNYWlsQ29tbWFuZEhhbmRsZXIuX19pbml0X18oc2Vs ZikNCiAgICAgICAgaWYgbmFtZToNCiAgICAgICAgICAgIHNlbGYuX2Z1bGxf cGF0aCA9IG9zLnBhdGguam9pbihtbV9jZmcuTElTVF9EQVRBX0RJUiwgbmFt ZSkNCiAgICAgICAgICAgIHNlbGYuTG9hZCgpDQotLS0gbWFpbG1hbi5vcmln L3RlbXBsYXRlcy9hZG1pbmhlbHAudHh0CVR1ZSBTZXAgMjIgMTQ6NTI6NTMg MTk5OA0KKysrIG1haWxtYW4vdGVtcGxhdGVzL2FkbWluaGVscC50eHQJVHVl IFNlcCAyOSAxMDo0ODoxNCAxOTk4DQpAQCAtMCwwICsxLDYyIEBADQorQWRt aW4gaGVscCBmb3IgJShsaXN0bmFtZSlzIG1haWxpbmcgbGlzdDoNCisNCitU aGlzIGlzIGFkbWluaXN0cmF0aW9uIGVtYWlsIGNvbW1hbmQgaGVscCBmb3Ig dmVyc2lvbiAlKHZlcnNpb24pcyBvZiB0aGUNCisiTWFpbG1hbiIgbGlzdCBt YW5hZ2VyLiAgVGhlIGZvbGxvd2luZyBkZXNjcmliZXMgY29tbWFuZHMgeW91 IGNhbiBzZW5kIHRvDQorZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFuZCBjb250 cm9sIHlvdXIgTWFpbG1hbiBsaXN0LiAgQSBjb21tYW5kIGNhbiBiZSBpbg0K K3RoZSBzdWJqZWN0IGxpbmUgb3IgaW4gdGhlIGJvZHkgb2YgdGhlIG1lc3Nh Z2UuDQorDQorVGhlIGJhc2ljcyBvZiBlbWFpbCBjb21tYW5kcyBhcmUgZGVz Y3JpYmVkIGluIHRoZSBvcmRpbmFyeSBoZWxwLiAgWW91IGNhbg0KK3JldHJp ZXZlIGl0IHdpdGggJ2hlbHAnIGNvbW1hbmQgd2l0aG91dCBhcmd1bWVudHMu DQorDQorTm90ZSB0aGF0IG11Y2ggb2YgdGhlIGZvbGxvd2luZyBjYW4gYWxz byBiZSBhY2NvbXBsaXNoZWQgdmlhIHRoZSB3ZWIsDQorYXQ6DQorDQorICAg ICUoYWRtaW5fdXJsKXMNCisgICAgDQorQWRtaW5pc3RyYXRpb24gY29tbWFu ZHMgc2hvdWxkIGJlIHNlbnQgdG8gdGhlICotcmVxdWVzdCBhZGRyZXNzIG9m IHRoZQ0KK3BhcnRpY3VsYXIgbGlzdCwgZWcuIGZvciB0aGUgJ21haWxtYW4n IGxpc3QsIHVzZSAnbWFpbG1hbi1yZXF1ZXN0QC4uLicuDQorDQorQWJvdXQg dGhlIGRlc2NyaXB0aW9ucyAtIHdvcmRzIGluICI8PiJzIHNpZ25pZnkgUkVR VUlSRUQgaXRlbXMgYW5kDQord29yZHMgaW4gIltdIiBkZW5vdGUgT1BUSU9O QUwgaXRlbXMuICBEbyBub3QgaW5jbHVkZSB0aGUgIjw+InMgb3INCisiW10i cyB3aGVuIHlvdSB1c2UgdGhlIGNvbW1hbmRzLg0KKw0KK1RoZSBmb2xsb3dp bmcgY29tbWFuZHMgYXJlIGF2YWlsYWJsZSBmb3IgYWRtaW5pc3RyYXRpb246 DQorDQorICAgIGVuYWJsZSA8YWRtaW4gcGFzc3dvcmQ+DQorICAgICAgICBF bmFibGUgdGhlIGFkbWluaXN0cmF0aW9uIGNvbW1hbmQgc2V0LiAgSXQgc2hv dWxkIGJlIHRoZQ0KKyAgICAgICAgZmlyc3QgY29tbWFuZCB5b3UgZ2l2ZS4N CisNCisgICAgZGlzYWJsZQ0KKyAgICAgICAgRGlzYWJsZSB0aGUgYWRtaW5p c3RyYXRpb24gY29tbWFuZCBzZXQuICBJdCdzIGF1dG9tYXRpYyB3aGVuDQor ICAgICAgICB0aGUgcGFyc2luZyBpcyBmaW5pc2hlZC4NCisNCisgICAgZWRp dCA8c2V0dGluZz4NCisgICAgICAgICBvcg0KKyAgICBlZGl0IGFsbA0KKyAg ICAgICAgUmV0cmlldmUgPHNldHRpbmc+IGZvciBlZGl0aW5nIG9yIHZpZXcg dGhlIGNvbnRlbnRzLiAgWW91J2xsIGdldA0KKyAgICAgICAgdGhlIHN1aXRh YmxlICdwdXQnIGNvbW1hbmQgd2l0aCBhIHRyYWlsaW5nICctZW5kLScgbGlu ZSBvciBhDQorICAgICAgICAnc2V0YXR0cicgY29tbWFuZC4gICdlZGl0IGFs bCcgd2lsbCBzZW5kIHlvdSBhbGwgb2Ygc2V0dGluZ3MuDQorICAgICAgICBT ZWUgYWxzbyAnaGVscCA8Y21kPicuDQorDQorICAgIHB1dCA8c2V0dGluZz4N CisgICAgICAgIFJlZnJlc2hlcyA8c2V0dGluZz4uICBUaGlzIGlzIGEgcG9v bCBjb21tYW5kLiAgVGhpcyBtZWFucyB5b3UNCisgICAgICAgIGhhdmUgdG8g d3JpdGUgdGhlIGNvbnRlbnRzIGFmdGVyICdwdXQnLiBUaGUgc2V0dGluZyBs YXN0cyBhdCB0aGUNCisgICAgICAgIGZpcnN0ICctZW5kLScgbGluZS4gIFNl ZSBhbHNvICdoZWxwIDxjbWQ+Jy4NCisNCisgICAgc2V0YXR0ciA8c2V0dGlu Zz4gPGF0dHJpYnV0ZT4NCisgICAgICAgIFRoaXMgaXMgdGhlIHNhbWUgYXMg J3B1dCcsIGJ1dCBmb3IgdGhlIHNpbmdsZSBsaW5lIHNldHRpbmdzLg0KKyAg ICAgICAgWW91IGNhbiB1c2UgZG91YmxlIHF1b3RlcyAoIikgdG8gZW5jbG9z ZSA8YXR0cmlidXRlPiwgYnV0IHlvdQ0KKyAgICAgICAgZG9uJ3QgaGF2ZSB0 byBlc2NhcGUgZG91YmxlIHF1b3RlcyB3aXRoaW4gPGF0dHJpYnV0ZT4uDQor DQorICAgICAgICBGb3IgZXhhbXBsZToNCisgICAgICAgICAgICBzZXRhdHRy IHN1YmplY3RfcHJlZml4ICJbTWFpbE1hbl0gIg0KKw0KKyAgICBoZWxwIDxj bWQ+IFthbGxdDQorICAgICAgICBZb3UgY2FuIGdldCBoZWxwIG9uICdlZGl0 JywgJ3B1dCcgb3IgJ3NldGF0dHInIGNvbW1hbmRzLiAgSWYgeW91DQorICAg ICAgICB3YW50IHRvIGdldCBpdCBpbiBkZXRhaWxzLCB1c2UgdGhlICdhbGwn IG9wdGlvbi4gIFRoaXMgaGVscA0KKyAgICAgICAgc2hvd3MgeW91IHRoZSBh Y2NlcHRhYmxlIGNvbnRlbnRzIG9mIGFuIG9wdGlvbiB0b28uDQorDQorICAg IC1lbmQtDQorICAgICAgICBTdG9wIHByb2Nlc3NpbmcgcG9vbCBhbmQgcnVu IHRoZSBwb29sIGNvbW1hbmQuDQorDQorQ29tbWFuZHMgc2hvdWxkIGJlIHNl bnQgdG8gJShyZXF1ZXN0YWRkcilzLg0K ---456965764-757754089-907062975=:3222-- From scott@chronis.icgroup.com Tue Sep 29 15:59:02 1998 From: scott@chronis.icgroup.com (Scott) Date: Tue, 29 Sep 1998 10:59:02 -0400 Subject: [Mailman-Developers] command handler patch (required) In-Reply-To: ; from Balazs Nagy on Tue, Sep 29, 1998 at 11:56:15AM +0200 References: Message-ID: <19980929105902.55279@chronis.icgroup.com> On Tue, Sep 29, 1998 at 11:56:15AM +0200, Balazs Nagy wrote: | Hiyas, | | This patch obsoletes my earlier digest patch. This diff fixes the digest | problem which digest problem? | and adds five new email commands: enable, disable, edit, put, | setattr. With this patch you get access for all of the admin settings in | www. Wow! Just what I've been waiting for... I'll give'm a try and see what they can do for me. scott From scott@chronis.icgroup.com Tue Sep 29 18:00:56 1998 From: scott@chronis.icgroup.com (Scott) Date: Tue, 29 Sep 1998 13:00:56 -0400 Subject: [Mailman-Developers] vmailer and mailman Message-ID: <19980929130056.15828@chronis.icgroup.com> I've been running mailman with vmailer for a number of relatively small lists for a while now. In general, everything works fine between the two. However, On installation, I also had to wrestle with the parent UID and GID checks on the mail-wrapper since vmailer sets those values to various things depending on where the sender originates and, more recently, on the ownership of the aliases file. vmailer has decided to deal with mailling lists wrappers by handling the problem itself: the delivery process sets the UID and GID of the process to the owner of the aliases file when it delivers to programs or users in that file. This way, there should be no need for wrapper programs to run checks on processes started by mail. One way this can be approached is to set the parent UID and GID in the mail wrapper to the UID and GID of the owner of the relevant aliases file. Another way would be to eliminate the wrapper altogether for these processes using vmailer. For those of you unfamiliar with vmailer, it's an MTA by Wietse Venema that's under the late stages of alpha testing. It should go into public beta testing very soon (within a week?), and it's likely that it will be widely accepted as a sendmail replacement, judging from Wietse's past projects and talk in the newsgroups. I just thought it'd be a good idea to report about this combo should anyone else be curious, and see what people thought about trying to make mailman work out of the box a little more easily with vmailer. Is it worth checking for in configure to decide whether or not the mail-wrapper is necessary? scott From julian7@kva.hu Wed Sep 30 13:38:02 1998 From: julian7@kva.hu (Balazs Nagy) Date: Wed, 30 Sep 1998 14:38:02 +0200 (CEST) Subject: [Mailman-Developers] command handler patch (required) In-Reply-To: <19980929105902.55279@chronis.icgroup.com> Message-ID: On Tue, 29 Sep 1998, Scott wrote: > On Tue, Sep 29, 1998 at 11:56:15AM +0200, Balazs Nagy wrote: > | Hiyas, > | > | This patch obsoletes my earlier digest patch. This diff fixes the digest > | problem > > which digest problem? try if set digest changes your digest status now. > | and adds five new email commands: enable, disable, edit, put, setattr. > | With this patch you get access for all of the admin settings in www. > > Wow! Just what I've been waiting for... I'll give'm a try and see > what they can do for me. This is in the incremental patches of mine. You have to apply those (ie. the 'required' series) first. -- Linux Supporting Center -- Red Hat Qmail packages -- http://lsc.kva.hu PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 From Dan@feld.cvut.cz Tue Sep 1 13:15:44 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Tue, 1 Sep 1998 14:15:44 +0200 Subject: [Mailman-Developers] Localization of mailman Message-ID: <6ADF90C12B6@power.feld.cvut.cz> I have made Czech translations of "templates" directory. But I have some problems, which I will consult with You. First of them is, that Czech uses ISO-8859-2 character set. It is not problem with www, becouse my server automaticaly recodes documets in clients character set. But in mail message I need append header Mime-version: 1.0 Content-Type: text-plain; charset=iso-8859-2 Content-Transfer-Encoding: 8Bit Currently used method of message generation doesn't allow header modification. There are two posibilities, include some headers to append, configurable in Defaults.py, or make templates including headers and change other function. In Bounce.py is hardcoded header with US-ASCII character set, it is unusable. I can made both and submit patch, but I will know, what You will prefer. Second problem. I think it will be nice, to switch language versions in responses by detecting top level domain in user adress, how will You find this? I am interested in any sugestions. cheers dan P.S.: For Ken, You are interested in my Delivery status notification patch. I have made new version which works with "The Dragon De Monsyne" stadard smtplib patch. I am currently testing ob it works fine. I will submit the patch in end of this week. ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Zeme je placata, deti nosi cap, a windows 95 jsou stabilni operacni system. From tismer@appliedbiometrics.com Wed Sep 2 02:05:51 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Wed, 02 Sep 1998 03:05:51 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! Message-ID: <35EC99EF.728ECAB7@appliedbiometrics.com> Today I spent a couple of hours trying to get Mailman b5 running on the starship. Starship has Python 1.5 at the moment (for whatever reason), and the INSTALL file claims """ You must have the Python interpreter installed somewhere on your system. Currently Python 1.5 or later is required. For information about obtaining Python source code, or pre-compiled binaries please see the Python Web site at """ This is not true. This version will not even run with a standard 1.5.1 Python. Killer#1: The parameter-less "raise" statement is no 1.5.1 feature. Killer#2: The __stdin__ and other underscored system file names are no Python 1.5 features. This together makes the "scripts/driver" file die very early, with a confusing error message. In the driver script, I inserted this before any code: try: import sys sys.__stdin__ except: sys.__stdin__=sys.stdin sys.__stdout__=sys.stdout sys.__stderr__=sys.stderr ... Uhm, I'm hacking since 6 hours now, but don't get the list admin running under Linux. I fear I will turn back to 0.95 which worked. tired - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Wed Sep 2 22:36:41 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Wed, 2 Sep 1998 17:36:41 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> Message-ID: <13805.47721.524951.825965@anthem.cnri.reston.va.us> >>>>> "CT" == Christian Tismer writes: CT> This is not true. This version will not even run with a CT> standard 1.5.1 Python. CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 CT> feature. CT> Killer#2: The __stdin__ and other underscored system CT> file names are no Python 1.5 features. Chris, I tried both of these under our vanilla 1.5.1 release: -------------------- snip snip -------------------- Python 1.5.1 (#21, Apr 23 1998, 18:08:12) [GCC 2.8.1] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import sys >>> sys.__stdin__ ', mode 'r' at bb878> >>> try: 1/0 ... except ZeroDivisionError: raise ... Traceback (innermost last): File "", line 1, in ? ZeroDivisionError: integer division or modulo >>> This together makes the "scripts/driver" file die very early, with a confusing error message. In the driver script, I inserted this before any code: try: import sys sys.__stdin__ except: sys.__stdin__=sys.stdin sys.__stdout__=sys.stdout sys.__stderr__=sys.stderr .. Uhm, I'm hacking since 6 hours now, but don't get the list admin running under Linux. I fear I will turn back to 0.95 which worked. tired - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home _______________________________________________ Mailman-Developers maillist - Mailman-Developers@python.org http://www.python.org/mailman/listinfo/mailman-developers From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Wed Sep 2 22:44:19 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Wed, 2 Sep 1998 17:44:19 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> Message-ID: <13805.48179.53909.779126@anthem.cnri.reston.va.us> [Damn! Sorry for the premature response. Let's try that again] >>>>> "CT" == Christian Tismer writes: CT> This is not true. This version will not even run with a CT> standard 1.5.1 Python. CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 CT> feature. CT> Killer#2: The __stdin__ and other underscored system CT> file names are no Python 1.5 features. Chris, I tried both of these under our vanilla 1.5.1 release: -------------------- snip snip -------------------- Python 1.5.1 (#21, Apr 23 1998, 18:08:12) [GCC 2.8.1] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam >>> import sys >>> sys.__stdin__ ', mode 'r' at bb878> >>> try: 1/0 ... except ZeroDivisionError: raise ... Traceback (innermost last): File "", line 1, in ? ZeroDivisionError: integer division or modulo >>> -------------------- snip snip -------------------- I don't have 1.5 handy but I think you're probably right that neither will work in a 1.5 release. In any event, the current version of the driver tries to do sain things with sys.__stdout__ and sys.__stderr__ (I don't think sys.__stdin__ is actually referenced anywhere, but my grep could be missing it). -------------------- snip snip -------------------- # Python 1.5 doesn't have these by default. Let's make our lives easy if not hasattr(sys, '__stderr__'): sys.__stderr__ = sys.stderr if not hasattr(sys, '__stdout__'): sys.__stdout__ = sys.stdout -------------------- snip snip -------------------- I also thought that I had commented all the bare raises out of the code (leaving them for a time when we can better rely on its existance). I'm pretty sure all instances of re-raising do it the old-fashion way, but again, I might be missing something. Have you checked the current CVS snapshot? I include our latest driver script below. See if that helps you out. -Barry [ATTACHMENT ~/projects/mailman/scripts/driver, application/octet-stream] From tismer@appliedbiometrics.com Thu Sep 3 18:27:01 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Thu, 03 Sep 1998 19:27:01 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> <13805.48179.53909.779126@anthem.cnri.reston.va.us> Message-ID: <35EED165.7D2217D9@appliedbiometrics.com> Barry A. Warsaw wrote: > > [Damn! Sorry for the premature response. Let's try that again] > > >>>>> "CT" == Christian Tismer writes: > > CT> This is not true. This version will not even run with a > CT> standard 1.5.1 Python. Yes I was wrong here. > CT> Killer#1: The parameter-less "raise" statement is no 1.5.1 > CT> feature. It is of course, my testing was wrong. > CT> Killer#2: The __stdin__ and other underscored system > CT> file names are no Python 1.5 features. > > Chris, I tried both of these under our vanilla 1.5.1 release: Yes, right, my claim is true for 1.5, 1.5.1 does it. > I don't have 1.5 handy but I think you're probably right that neither > will work in a 1.5 release. In any event, the current version of the > driver tries to do sain things with sys.__stdout__ and sys.__stderr__ > (I don't think sys.__stdin__ is actually referenced anywhere, but my > grep could be missing it). > > -------------------- snip snip -------------------- > # Python 1.5 doesn't have these by default. Let's make our lives easy > if not hasattr(sys, '__stderr__'): > sys.__stderr__ = sys.stderr > if not hasattr(sys, '__stdout__'): > sys.__stdout__ = sys.stdout > -------------------- snip snip -------------------- > > I also thought that I had commented all the bare raises out of the > code (leaving them for a time when we can better rely on its > existance). I'm pretty sure all instances of re-raising do it the > old-fashion way, but again, I might be missing something. > > Have you checked the current CVS snapshot? I include our latest > driver script below. See if that helps you out. > > -Barry > > [ATTACHMENT ~/projects/mailman/scripts/driver, application/octet-stream] I could not find an attachment, just the line above. Meanwhile I thought had all the __ things and raise statements out and got it running so far. Perhaps I missed something, since I never got the admin pages to work. I could not edit any list, and I gave up. Probably my fault, although - who did it get to run under Redhat Linux? Can someone give me a working Linux version for the Starship? I'm afraid to re-invent the wheel. How do I get at the CVS tree? thanks&cheers - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgpkeys.mit.edu we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Thu Sep 3 21:26:38 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 3 Sep 1998 16:26:38 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <35EC99EF.728ECAB7@appliedbiometrics.com> <13805.48179.53909.779126@anthem.cnri.reston.va.us> <35EED165.7D2217D9@appliedbiometrics.com> Message-ID: <13806.64382.58268.605475@anthem.cnri.reston.va.us> --6QK9bPyZ8q Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit >>>>> "CT" == Christian Tismer writes: CT> I could not find an attachment, just the line above. I'll try again below as plaintext. CT> How do I get at the CVS tree? -Barry --6QK9bPyZ8q Content-Type: text/plain Content-Disposition: inline; filename="driver" Content-Transfer-Encoding: 7bit #! /usr/bin/env python # # Copyright (C) 1998 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # This better succeed. If this fails, Python is royally screwed so we might # as well let the Web server give us a fatal and obtrusive error. import sys # From here on we are as bulletproof as possible! # This function is useful for debugging. When an error occurs, this attaches # the file name to the exception string and re-raises. This will be # unnecessary in Python 1.5.2, which also does sensible things to most os # module functions. realopen = open def open(filename, mode='r', bufsize=-1, realopen=realopen): try: return realopen(filename, mode, bufsize) except IOError, e: strerror = e.strerror + ': ' + filename e.strerror = strerror e.filename = filename e.args = (e.args[0], strerror) # Python 1.5 raise e, None, sys.exc_info()[2] # Python 1.5.1 #raise import __builtin__ __builtin__.__dict__['open'] = open # This standard driver script is used to run CGI programs, wrapped in code # that catches errors, and displays them as HTML. This guarantees that # (almost) any problems in the Mailman software doesn't result in a Web server # error. It is much more helpful to generate and show a traceback, which the # user could send to the administrator, than to display a server error and # have to trudge through server logs. # Note: this isn't 100% perfect! Here are some things that can go wrong that # are not caught and reported as traceback-containing HTML: # # - This file could contain a syntax error. In that case, you would indeed # get a Web server error since this file wouldn't even compile, and there's # no way to catch that. # # - The sys module could be royally screwed, probably we couldn't import it. # Both those would indicate serious problems in the Python installation. # These won't generate Web server errors, but neither will they give # meaningful tracebacks. # # I consider these pretty unlikely. def run_main(): try: # These will ensure that even if something between now and the # creation of the real logger below fails, we can still get # *something* meaningful logger = None # insert the relative path to the parent of the Mailman package # directory, so we can pick up the Utils module import os # sys gets imported at module level below sys.path.insert(0, os.pardir) # map stderr to a logger, if possible from Mailman.Logging.StampedLogger import StampedLogger logger = StampedLogger('error', label='admin', manual_reprime=1, nofail=0, immediate=1) # The name of the module to run is passed in argv[1]. What we # actually do is import the module named by argv[1] that lives in the # Mailman.Cgi package. That module must have a main() function, which # we dig out and call. # scriptname = sys.argv[1] # See the reference manual for why we have to do things this way. # Note that importing should have no side-effects! pkg = __import__('Mailman.Cgi', globals(), locals(), [scriptname]) module = getattr(pkg, scriptname) main = getattr(module, 'main') try: main() except SystemExit: # this is a valid way for the function to exit pass except: print_traceback(logger) print_environment(logger) # We are printing error reporting to two places. One will always be stdout # and the other will always be the log file. It is assumed that stdout is an # HTML sink and the log file is a plain text sink. def print_traceback(logfp=None): if logfp is None: logfp = sys.__stderr__ try: import traceback except ImportError: traceback = None # write to the log file first logfp.write('[----- Traceback ------]\n') if traceback: traceback.print_exc(file=logfp) else: logfp.write('[failed to import module traceback]\n') logfp.write('[exc: %s, var: %s]\n' % sys.exc_info()[0:2]) # print to the HTML sink print """\ Content-type: text/html

We're sorry, we hit a bug!

If you would like to help us identify the problem, please email a copy of this page to the webmaster for this site with a description of what happened. Thanks!

Traceback:

"""
    if traceback:
        traceback.print_exc(file=sys.stdout)
    else:
        print '[failed to import module traceback]'
        print '[exc: %s, var: %s]' % sys.exc_info()[0:2]
    print '\n\n
' def print_environment(logfp=None): if logfp is None: logfp = sys.__stderr__ try: import os except ImportError: os = None # write to the log file first logfp.write('[----- Environment Variables -----]\n') if os: for k, v in os.environ.items(): logfp.write('\t%s: %s\n' % (k, v)) else: logfp.write('[failed to import module os]\n') # write to the HTML sink if os: print '''\


Environment variables:

''' for k, v in os.environ.items(): print '' print '
Variable Value
', k, '', v, '
' else: print '


[failed to import module os]' try: # Python 1.5 doesn't have these by default. Let's make our lives easy if not hasattr(sys, '__stderr__'): sys.__stderr__ = sys.stderr if not hasattr(sys, '__stdout__'): sys.__stdout__ = sys.stdout run_main() except: # Some exception percolated all the way back up to the top. This # generally shouldn't happen because the run_main() call is similarly # wrapped, but just in case, we'll give it one last ditch effort to report # problems to *somebody*. Most likely this will end up in the Web server # log file. try: print_traceback() print_environment() except: # Nope, we're quite screwed print """\ Content-type: text/html

We're sorry, we hit a bug!

Mailman experienced a very low level failure and could not even generate a useful traceback for you. Please report this to the Mailman administrator at this site. """ sys.__stderr__.write('[Mailman: low level unrecoverable exception]\n') --6QK9bPyZ8q-- From klm@python.org Fri Sep 4 03:51:23 1998 From: klm@python.org (Ken Manheimer) Date: Thu, 3 Sep 1998 22:51:23 -0400 (EDT) Subject: [Mailman-Developers] fix for private archives mechanism Message-ID: <13807.21571.613572.45480@glyph.cnri.reston.va.us> Someone noticed that invalid passwords were being accepted for access to private archives. I tracked down the problem, and see that this problem applies to 1.0b4 and also 1.0b5 (we're still at 1.0b4 on python.org). Any of you running those versions of mailman with a private archive should apply this patch to private.py (in Mailman/Cgi/private.py in 1.0b5, and in scripts/private.py in 1.0b4). You may have to apply it by hand in 1.0b4 - it shouldn't be hard, just look for the exception line. Ken Manheimer klm@python.org 703 620-8990 x268 (orporation for National Research |nitiatives # If you appreciate Python, consider joining the PSA! # # . # Index: private.py =================================================================== RCS file: /projects/cvsroot/mailman/Mailman/Cgi/private.py,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** private.py 1998/07/11 23:19:08 1.4 --- private.py 1998/09/04 02:44:44 1.5 *************** *** 148,154 **** try: listobj.ConfirmUserPassword( username, password) except (Errors.MMBadUserError, Errors.MMBadPasswordError): ! return 1 import base64, md5 token = md5.new(SECRET + list_name + SECRET).digest() --- 148,154 ---- try: listobj.ConfirmUserPassword( username, password) except (Errors.MMBadUserError, Errors.MMBadPasswordError): ! return 0 import base64, md5 token = md5.new(SECRET + list_name + SECRET).digest() From tomas@euronetics.se Fri Sep 4 04:11:58 1998 From: tomas@euronetics.se (Tomas Fasth) Date: Fri, 4 Sep 1998 05:11:58 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! Message-ID: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> >Probably my fault, although - who did it get to run under Redhat >Linux? Can someone give me a working Linux version for the Starship? >I'm afraid to re-invent the wheel. I'm running Redhat 5.0, python 1.5.1 and a CVS snapshot of still in work Mailman 1.0b6. The overall function is satisfying for my current needs. I am still evaluating, not in production. Checking out the latest sources from CVS over network is a pretty cool thing although it takes a while of course. But I'm not sure it's a good thing to do for a live installation. Unless the active developers affirm it's safe and stable to do so. Tomas From tomas@euronetics.se Fri Sep 4 05:03:12 1998 From: tomas@euronetics.se (Tomas Fasth) Date: Fri, 4 Sep 1998 06:03:12 +0200 Subject: [Mailman-Developers] Possible re-design for the cause of internationalization Message-ID: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> This is a multi-part message in MIME format. ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I'm the guy trying to translate Mailman to Swedish. Currently the task of doing a translation is managable but very time = consuming. Further, since it involves editing code files it sure makes = you feel insecure about it. It also complicates the task of having the = code up to date with the main (american english) trunk although CVS can = do a good job to make that task less painful. Anyway, in order to avoid chaos in localized installations, there seem = to be a need to change the scheme of how to incorporate language = specific text in user presentations. There has already been some = postings about that. Unfortunately, using the "patch" approach will probably make the code = look "messy" and less readable. Therefore it might be a good idea to do = a re-design of the current text generation part of the code in Mailman. The question is, what is the proper procedure to achieve this? Is there currently an "architect" for Mailman? Is that person willing to coordinate such an efford? If a CVS branch is created for this purpose, how do you earn check-in = permission for that branch? Is there anybody out there who cares about this matter part from me (if = not, why bother)? Tomas ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi, I'm the guy trying to translate = Mailman to=20 Swedish.
Currently the task of doing a translation is managable but very = time=20 consuming. Further, since it involves editing code files it sure makes = you feel=20 insecure about it. It also complicates the task of having the code up to = date=20 with the main (american english) trunk although CVS can do a good job to = make=20 that task less painful.
Anyway, in order to avoid chaos in localized installations, = there seem to=20 be a need to change the scheme of how to incorporate language specific = text in=20 user presentations. There has already been some postings about=20 that.
Unfortunately, using the = "patch"=20 approach will probably make the code look "messy" and less = readable.=20 Therefore it might be a good idea to do a re-design of the current text=20 generation part of the code in Mailman.
The question is, what is the proper procedure to = achieve=20 this?
Is there currently an "architect" for=20 Mailman?
Is that person willing to coordinate such an=20 efford?
If a CVS branch is created for this purpose, = how do you earn check-in permission for that = branch?
 
Is there anybody out there who cares about this = matter part=20 from me (if not, why bother)?
 
Tomas
 
------=_NextPart_000_0147_01BDD7C9.B3155540-- From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 4 15:51:57 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Fri, 4 Sep 1998 10:51:57 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> Message-ID: <13807.65165.345200.114038@anthem.cnri.reston.va.us> >>>>> "TF" == Tomas Fasth writes: TF> Checking out the latest sources from CVS over TF> network is a pretty cool thing although it takes a while of TF> course. But I'm not sure it's a good thing to do for a live TF> installation. Unless the active developers affirm it's safe TF> and stable to do so. I would never recommend using the CVS snapshot for a production installation. That's most definitely not its purpose. When we do a labeled release, we're in effect saying we believe we've reached a stable milestone. Glad you like the CVS access though -- I think it's pretty cool too! -Barry From klm@python.org Fri Sep 4 16:40:37 1998 From: klm@python.org (Ken Manheimer) Date: Fri, 4 Sep 1998 11:40:37 -0400 (EDT) Subject: [Mailman-Developers] Possible re-design for the cause of internationalization In-Reply-To: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ------=_NextPart_000_0147_01BDD7C9.B3155540 Content-Type: TEXT/PLAIN; CHARSET=iso-8859-1 Content-ID: On Fri, 4 Sep 1998, Tomas Fasth wrote: > Hi, I'm the guy trying to translate Mailman to Swedish. > Currently the task of doing a translation is managable but very time consuming. Further, since it involves editing code files it sure makes you feel insecure about it. It also complicates the task of having the code up to date with the main (american english) trunk although CVS can do a good job to make that task less painful. > Anyway, in order to avoid chaos in localized installations, there seem to be a need to change the scheme of how to incorporate language specific text in user presentations. There has already been some postings about that. > Unfortunately, using the "patch" approach will probably make the code look "messy" and less readable. Therefore it might be a good idea to do a re-design of the current text generation part of the code in Mailman. > The question is, what is the proper procedure to achieve this? > Is there currently an "architect" for Mailman? > Is that person willing to coordinate such an efford? > If a CVS branch is created for this purpose, how do you earn check-in permission for that branch? > > Is there anybody out there who cares about this matter part from me (if not, why bother)? These are good questions. I would say that there is interest in general for localization, and in fact we had started to think about that independently of your efforts. But i should stress "started" - i'd say we're currently in an early stage of mailman's release to the world, and concentrating as much as we can on getting a stable release with the current feature set. As it stands, the three of us who have been at the center (john, barry and i) are having less time than we hoped, for various and diverse reasons, to get to the first full release. And until we get there we will be trying to maintain a feature freeze, to avoid getting *further* away from our goal of a stable release. This does not mean that your efforts for internationalization will be for nought, but we probably will be quite slow and reluctant to adopt most structural changes until we get over the hump of 1.0final. So i'd say the upshot is that you're going to need to be patient - we've just gotten together a lot of the infrastructure (with stuff like the mailing lists, the public CVS tree, and the web site) for collaborative development, but that sort of stuff is less than half the picture - the substantial stuff will be procedures and policies for coordinating a larger effort, and we're only starting to look at that. Ken Manheimer klm@python.org 703 620-8990 x268 (orporation for National Research |nitiatives # If you appreciate Python, consider joining the PSA! # # . # ------=_NextPart_000_0147_01BDD7C9.B3155540-- From tismer@appliedbiometrics.com Fri Sep 4 16:52:11 1998 From: tismer@appliedbiometrics.com (Christian Tismer) Date: Fri, 04 Sep 1998 17:52:11 +0200 Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> Message-ID: <35F00CAB.BBD36366@appliedbiometrics.com> Tomas Fasth wrote: > > >Probably my fault, although - who did it get to run under Redhat > >Linux? Can someone give me a working Linux version for the Starship? > >I'm afraid to re-invent the wheel. > > I'm running Redhat 5.0, python 1.5.1 and a CVS snapshot of still in work > Mailman 1.0b6. > The overall function is satisfying for my current needs. I am still > evaluating, not in production. > Checking out the latest sources from CVS over network is a pretty cool thing > although it takes a while of course. But I'm not sure it's a good thing to > do for a live installation. Unless the active developers affirm it's safe > and stable to do so. My problem is that I have to install a production release. But I upgraded the Machine to Python 1.5, not 1.5.1, and got into trouble after following the instructions. (Which claimed Py1.5 would do). Of course I can upgrade to Py 1.5.1, but if it's not necessary, this is a good compatibility check. Funny thing - in order to keep an installed system, I have to use a non-released beta of some other system. Somehow this is upside down, isn't it? cheers - pirx -- Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.skyport.net 10553 Berlin : PGP key -> http://pgp.ai.mit.edu/ we're tired of banana software - shipped green, ripens at home From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 4 20:50:11 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Fri, 4 Sep 1998 15:50:11 -0400 (EDT) Subject: [Mailman-Developers] Python 1.5 compatible ? no! References: <014201bdd7b1$c7a144a0$f6d52dc1@bishop.twinspot.net> <35F00CAB.BBD36366@appliedbiometrics.com> Message-ID: <13808.17523.481401.725155@anthem.cnri.reston.va.us> I am going to try to find some time to verify that the next Mailman snapshot works with Python 1.5. I've got to dig that up and install it, then run 1.0b6 against it. -Barry From Dan@feld.cvut.cz Fri Sep 4 22:54:52 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Fri, 4 Sep 1998 23:54:52 +0200 Subject: [Mailman-Developers] Possible re-design for the cause of internationalization In-Reply-To: References: <014a01bdd7b8$efda5720$f6d52dc1@bishop.twinspot.net> Message-ID: <6FFCE7039C3@power.feld.cvut.cz> On 4 Sep 98, at 11:40, Ken Manheimer wrote: > I would say that there is interest in general for localization, and in > fact we had started to think about that independently of your efforts. > But i should stress "started" - i'd say we're currently in an early > stage of mailman's release to the world, and concentrating as much as we > can on getting a stable release with the current feature set. I am also interested in localization too. I thik, it is OK to made stable version, but it is not so big change. I think it will be possible to made next version after this with localization support. The templates are very good start and next what we need is some function like def get_localized(text) return text We can suply this function on all positions and after this we can think about realization of this function. Standart distribution can have this function and our localized can have some other. I will post patches, where will be solved header problems of templates, but it is difficult, becouse when they will be included in further version, they can be unusable, becouse the source code can be another. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pokrok je realizace utopii. From cklempay@acm.jhu.edu Thu Sep 10 19:35:50 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Thu, 10 Sep 1998 14:35:50 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests death Message-ID: Anyone seen this before? ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "Outside of every thin woman is a fat man trying to get in." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Thu, 10 Sep 1998 12:00:02 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/senddigests deliver: parent uid 514, gid 100, egid 100 deliver child: uid 514, gid 100, egid 100 Traceback (innermost last): File "/home/mailman/cron/senddigests", line 37, in ? main() File "/home/mailman/cron/senddigests", line 34, in main list.SendDigestIfAny() File "/home/mailman/Mailman/Digester.py", line 194, in SendDigestIfAny self.SendDigestOnSize(0) File "/home/mailman/Mailman/Digester.py", line 206, in SendDigestOnSize self.SendDigest() File "/home/mailman/Mailman/Digester.py", line 291, in SendDigest self.DeliverToList(d.Present(mime=1), File "/home/mailman/Mailman/Deliverer.py", line 82, in DeliverToList status = cmdproc.close() IOError: (10, 'No child processes') ContactTransport in... ContactTransport out... From julian7@kva.hu Fri Sep 11 00:15:24 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:15:24 +0200 (CEST) Subject: [Mailman-Developers] Post ack patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-750986000-905469324=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the annoying bug in acknowledge mail (the first character of subject was dropped). Please apply this patch. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-750986000-905469324=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-ack.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-ack.patch Content-Disposition: attachment; filename="mailman-ack.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9EZWxpdmVyZXIucHkg bWFpbG1hbi9NYWlsbWFuL0RlbGl2ZXJlci5weQ0KLS0tIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0RlbGl2ZXJlci5weQlTdW4gQXVnIDMwIDE1OjU1OjU0IDE5 OTgNCisrKyBtYWlsbWFuL01haWxtYW4vRGVsaXZlcmVyLnB5CU1vbiBBdWcg MzEgMTM6NTA6MDYgMTk5OA0KQEAgLTk0LDcgKzk0LDcgQEANCiAgICAgICAg ICAgICBpZiAobGVuKHN1YmplY3QpID4gbGVuKHNwKQ0KICAgICAgICAgICAg ICAgICBhbmQgc3ViamVjdFswOmxlbihzcCldID09IHNwKToNCiAgICAgICAg ICAgICAgICAgIyBUcmltIG9mZiBzdWJqZWN0IHByZWZpeA0KLSAgICAgICAg ICAgICAgICBzdWJqZWN0ID0gc3ViamVjdFtsZW4oc3ApICsgMTpdDQorICAg ICAgICAgICAgICAgIHN1YmplY3QgPSBzdWJqZWN0W2xlbihzcCk6XQ0KICAg ICAgICAgIyBnZXQgdGhlIHRleHQgZnJvbSB0aGUgdGVtcGxhdGUNCiAgICAg ICAgIGJvZHkgPSBVdGlscy5tYWtldGV4dCgNCiAgICAgICAgICAgICAncG9z dGFjay50eHQnLA0K ---456965764-750986000-905469324=:8757-- From julian7@kva.hu Fri Sep 11 00:17:07 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:17:07 +0200 (CEST) Subject: [Mailman-Developers] set digest patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1071877117-905469427=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the bug in "set digest (on|off) " mail comand. Please apply. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1071877117-905469427=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-digest.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-digest.patch Content-Disposition: attachment; filename="mailman-digest.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsQ29tbWFuZEhh bmRsZXIucHkgbWFpbG1hbi9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxl ci5weQlTYXQgQXVnICA4IDE0OjE2OjIwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CU1vbiBTZXAgIDcgMTY6MTA6 MjEgMTk5OA0KQEAgLTQ5LDcgKzQ5LDggQEANCiAJCSAnaGlkZScgICA6DQog CQkgICAgJ0NvbmNlYWxzIHlvdXIgZW1haWwgZnJvbSB0aGUgbGlzdCBvZiBz dWJzY3JpYmVycycNCiAJICAgICAgIH0NCi1vcHRpb25faW5mbyA9IHsgJ2Rp Z2VzdCcgOiAwLA0KK29wdGlvbl9pbmZvID0geyANCisjJ2RpZ2VzdCcgOiAw LA0KIAkJJ25vbWFpbCcgOiBtbV9jZmcuRGlzYWJsZURlbGl2ZXJ5LA0KIAkJ J25vcmN2JyAgOiBtbV9jZmcuRG9udFJlY2VpdmVPd25Qb3N0cywNCiAJCSdh Y2snICAgIDogbW1fY2ZnLkFja25vd2xlZ2VQb3N0cywNCkBAIC0yMTYsNiAr MjE3LDEyIEBADQogCSAgICBzLkFkZEVycm9yKCJWYWxpZCBvcHRpb25zIGFy ZToiKQ0KIAkgICAgZm9yIG9wdGlvbiBpbiBvcHRpb25zOg0KIAkJcy5BZGRF cnJvcigiJXM6ICAlcyIgJSAob3B0aW9uLCBvZFtvcHRpb25dKSkNCisNCisJ c2VuZGVyID0gc2VsZi5GaW5kVXNlcihtYWlsLkdldFNlbmRlcigpKQ0KKwlp ZiBub3Qgc2VuZGVyOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiWW91IGFyZW4n dCBzdWJzY3JpYmVkLiIpDQorCSAgICByZXR1cm4NCisNCiAJaWYgbGVuKGFy Z3MpIDw+IDM6DQogCSAgICBTaG93U2V0VXNhZ2UoKQ0KIAkgICAgcmV0dXJu DQpAQCAtMjI4LDEwICsyMzUsNiBAQA0KIAkgICAgcmV0dXJuDQogCWlmIG9w dGlvbl9pbmZvLmhhc19rZXkoYXJnc1swXSk6DQogCSAgICB0cnk6DQotCQlz ZW5kZXIgPSBzZWxmLkZpbmRVc2VyKG1haWwuR2V0U2VuZGVyKCkpDQotCQlp ZiBub3Qgc2VuZGVyOg0KLQkJICAgIHNlbGYuQWRkRXJyb3IoIllvdSBhcmVu J3Qgc3Vic2NyaWJlZC4iKQ0KLQkJICAgIHJldHVybg0KIAkJc2VsZi5Db25m aXJtVXNlclBhc3N3b3JkKHNlbmRlciwgYXJnc1syXSkNCiAJCXNlbGYuU2V0 VXNlck9wdGlvbihzZW5kZXIsIG9wdGlvbl9pbmZvW2FyZ3NbMF1dLCB2YWx1 ZSkNCiAJCXNlbGYuQWRkVG9SZXNwb25zZSgiU3VjY2VlZGVkLiIpDQpAQCAt MjQ0LDcgKzI0Nyw4IEBADQogCQlzZWxmLkFkZEVycm9yKCIlcyIgJSBzeXMu ZXhjX3R5cGUpDQogCWVsaWYgYXJnc1swXSA9PSAnZGlnZXN0JzoNCiAJICAg IHRyeToNCi0JCXNlbGYuU2V0VXNlckRpZ2VzdChtYWlsLkdldFNlbmRlcigp LCBhcmdzWzJdLCB2YWx1ZSkNCisJCXNlbGYuQ29uZmlybVVzZXJQYXNzd29y ZChzZW5kZXIsIGFyZ3NbMl0pDQorCQlzZWxmLlNldFVzZXJEaWdlc3QobWFp bC5HZXRTZW5kZXIoKSwgdmFsdWUpDQogCQlzZWxmLkFkZFRvUmVzcG9uc2Uo IlN1Y2NlZWRlZC4iKQ0KIAkgICAgZXhjZXB0IEVycm9ycy5NTUFscmVhZHlE aWdlc3RlZDoNCiAJCXNlbGYuQWRkRXJyb3IoIllvdSBhcmUgYWxyZWFkeSBy ZWNlaXZpbmcgZGlnZXN0cy4iKQ0K ---456965764-1071877117-905469427=:8757-- From julian7@kva.hu Fri Sep 11 00:18:46 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:18:46 +0200 (CEST) Subject: [Mailman-Developers] Distclean patch [required] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-933902433-905469526=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch fixes the bug in make distclean. Please apply. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-933902433-905469526=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-distclean.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-distclean.patch Content-Disposition: attachment; filename="mailman-distclean.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWtlZmlsZS5pbiBt YWlsbWFuL01haWxtYW4vTWFrZWZpbGUuaW4NCi0tLSBtYWlsbWFuLm9yaWcv TWFpbG1hbi9NYWtlZmlsZS5pbglTYXQgQXVnICA4IDE0OjE2OjM2IDE5OTgN CisrKyBtYWlsbWFuL01haWxtYW4vTWFrZWZpbGUuaW4JTW9uIEF1ZyAzMSAx Mzo1MDowNiAxOTk4DQpAQCAtODMsNyArODMsNyBAQA0KIAlkb25lDQogDQog ZGlzdGNsZWFuOg0KLQktcm0gTWFrZWZpbGUgRGVmYXVsdHMucHkNCisJLXJt IE1ha2VmaWxlIERlZmF1bHRzLnB5IG1tX2NmZy5weQ0KIAlmb3IgZCBpbiAk KFNVQkRJUlMpOyBcDQogCWRvIFwNCiAJICAgIChjZCAkJGQ7ICQoTUFLRSkg ZGlzdGNsZWFuKTsgXA0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvY3Jvbi9N YWtlZmlsZS5pbiBtYWlsbWFuL2Nyb24vTWFrZWZpbGUuaW4NCi0tLSBtYWls bWFuLm9yaWcvY3Jvbi9NYWtlZmlsZS5pbglTYXQgQXVnICA4IDE0OjE4OjUz IDE5OTgNCisrKyBtYWlsbWFuL2Nyb24vTWFrZWZpbGUuaW4JTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtNjcsNCArNjcsNCBAQA0KIGNsZWFuOg0K IA0KIGRpc3RjbGVhbjoNCi0JLXJtIE1ha2VmaWxlDQorCS1ybSBNYWtlZmls ZSBjcm9udGFiLmluDQo= ---456965764-933902433-905469526=:8757-- From julian7@kva.hu Fri Sep 11 00:21:16 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:21:16 +0200 (CEST) Subject: [Mailman-Developers] cmdend patch [recommended] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-70825359-905469676=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch enables -- as the end of commands (like end). Most maillist programs support this. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-70825359-905469676=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cmdend.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-cmdend.patch Content-Disposition: attachment; filename="mailman-cmdend.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsQ29tbWFuZEhh bmRsZXIucHkgbWFpbG1hbi9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxl ci5weQlTYXQgQXVnICA4IDE0OjE2OjIwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CU1vbiBTZXAgIDcgMTY6MTA6 MjEgMTk5OA0KQEAgLTEzMSw3ICsxMzEsNyBAQA0KIAkgICAgYXJncyA9IHN0 cmluZy5zcGxpdChsaW5lKQ0KIAkgICAgY21kID0gc3RyaW5nLmxvd2VyKGFy Z3NbMF0pDQogCSAgICBhcmdzID0gYXJnc1sxOl0NCi0JICAgIGlmIGNtZCA9 PSAnZW5kJzoNCisJICAgIGlmIGNtZCA9PSBbJ2VuZCcsICctLSddOg0KIAkJ c2VsZi5BZGRFcnJvcigiRW5kIG9mIGNvbW1hbmRzLiIpDQogCQlicmVhaw0K IAkgICAgaWYgbm90IHNlbGYuX2NtZF9kaXNwYXRjaC5oYXNfa2V5KGNtZCk6 DQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy90ZW1wbGF0ZXMvaGVscC50eHQg bWFpbG1hbi90ZW1wbGF0ZXMvaGVscC50eHQNCi0tLSBtYWlsbWFuLm9yaWcv dGVtcGxhdGVzL2hlbHAudHh0CVNhdCBBdWcgIDggMTQ6MjA6MzIgMTk5OA0K KysrIG1haWxtYW4vdGVtcGxhdGVzL2hlbHAudHh0CU1vbiBBdWcgMzEgMTU6 MDc6NDggMTk5OA0KQEAgLTg2LDcgKzg2LDcgQEANCiAgICAgcGFzc3dvcmQg PG9sZHBhc3N3b3JkPiA8bmV3cGFzc3dvcmQ+IA0KICAgICAgICAgQ2hhbmdl IHlvdXIgbGlzdCBwYXNzd29yZC4NCiAgICAgDQotICAgIGVuZA0KKyAgICBl bmQgb3IgLS0NCiAgICAgICAgU3RvcCBwcm9jZXNzaW5nIGNvbW1hbmRzIChn b29kIHRvIGRvIGlmIHlvdXIgbWFpbGVyIGF1dG9tYXRpY2FsbHkNCiAgICAg ICAgYWRkcyBhIHNpZ25hdHVyZSBmaWxlIC0gaXQnbGwgc2F2ZSB5b3UgZnJv bSBhIGxvdCBvZiBjcnVmdCkuDQogDQo= ---456965764-70825359-905469676=:8757-- From julian7@kva.hu Fri Sep 11 00:22:48 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:22:48 +0200 (CEST) Subject: [Mailman-Developers] cgi extensions [add-on] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1528156929-905469768=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch implements CGI extensions in the program. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1528156929-905469768=:8757 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cgiext.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-cgiext.patch Content-Disposition: attachment; filename="mailman-cgiext.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9Cb3VuY2VyLnB5IG1h aWxtYW4vTWFpbG1hbi9Cb3VuY2VyLnB5DQotLS0gbWFpbG1hbi5vcmlnL01h aWxtYW4vQm91bmNlci5weQlTYXQgQXVnICA4IDE0OjE1OjQwIDE5OTgNCisr KyBtYWlsbWFuL01haWxtYW4vQm91bmNlci5weQlNb24gQXVnIDMxIDEzOjUw OjA2IDE5OTgNCkBAIC0xNzgsNyArMTc4LDcgQEANCiAgICAgICAgICAgICBp ZiBkaWQgPT0gJ2Rpc2FibGVkJyBhbmQgc3VjY2VlZGVkID09IDE6DQogICAg ICAgICAgICAgICAgIHJlZW5hYmxlID0gVXRpbHMubWFrZXRleHQoDQogICAg ICAgICAgICAgICAgICAgICAncmVlbmFibGUudHh0JywNCi0gICAgICAgICAg ICAgICAgICAgIHsnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNj cmlwdFVSTCgnbGlzdGluZm8nKSwNCisgICAgICAgICAgICAgICAgICAgIHsn bGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTChtbV9j ZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgICAgICAgICB9KQ0K ICAgICAgICAgICAgIGVsc2U6DQogICAgICAgICAgICAgICAgIHJlZW5hYmxl ID0gJycNCmRpZmYgLWJydU4gbWFpbG1hbi5vcmlnL01haWxtYW4vQ2dpL2Fk bWluLnB5IG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW4ucHkNCi0tLSBtYWls bWFuLm9yaWcvTWFpbG1hbi9DZ2kvYWRtaW4ucHkJU2F0IEF1ZyAgOCAxNDox NzoyNiAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0NnaS9hZG1pbi5weQlN b24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0xMzAsNyArMTMwLDcgQEAN CiAgICAgICAgICAgICAgICAgJ2FkbWxvZ2luLnR4dCcsDQogICAgICAgICAg ICAgICAgIHsibGlzdG5hbWUiOiBsaXN0X25hbWUsDQogICAgICAgICAgICAg ICAgICAicGF0aCIgICAgOiBvcy5lbnZpcm9uLmdldCgiUkVRVUVTVF9VUkki LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi9tYWlsbWFuL2FkbWluLyIgKyBsaXN0X25hbWUpLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi9tYWlsbWFuLyIgKyBtbV9jZmcuQURN SU5fQ0dJICsgIi8iICsgbGlzdF9uYW1lICksDQogICAgICAgICAgICAgICAg ICAibWVzc2FnZSIgOiBtZXNzYWdlLA0KICAgICAgICAgICAgICAgICAgfSkN CiAgICAgICAgICAgICBwcmludCB0ZXh0DQpAQCAtMjI0LDcgKzIyNCw3IEBA DQogICAgICAgICAgICAgICAgICAgICAgICsNCiAgICAgICAgICAgICAgICAg ICAgICAgIiBHZW5lcmFsIGxpc3QgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5k IGF0ICIsDQogICAgICAgICAgICAgICAgICAgICAgIExpbmsob3MucGF0aC5q b2luKCcuLi8nKiBVdGlscy5HZXROZXN0aW5nTGV2ZWwoKSwgDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAibGlzdGluZm8vIiksICJ0aGUgbWFpbGlu ZyBsaXN0IG92ZXJ2aWV3IHBhZ2UiKSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgIG1tX2NmZy5MSVNUSU5GT19DR0kgKyAiLyIpLCAidGhlIG1haWxp bmcgbGlzdCBvdmVydmlldyBwYWdlIiksDQogICAgICAgICAgICAgICAgICAg ICAgICIuIg0KICAgICAgICAgICAgICAgICAgICAgICAiPHA+KFNlbmQgcXVl c3Rpb25zIGFuZCBjb21tZW50cyB0byAiLA0KICAgICAgICAgICAgICAgICAg ICAgIExpbmsoIm1haWx0bzolcyIgJSBtbV9jZmcuTUFJTE1BTl9PV05FUiwN CkBAIC0yMzksNyArMjM5LDcgQEANCiAgICAgaWYgYWR2ZXJ0aXNlZDoNCiAg ICAgICAgIHRhYmxlLkFkZFJvdyhbSXRhbGljKCJMaXN0IiksIEl0YWxpYygi RGVzY3JpcHRpb24iKV0pDQogICAgICAgICBmb3IgbCBpbiBhZHZlcnRpc2Vk Og0KLSAgICAgICAgICAgIHRhYmxlLkFkZFJvdyhbTGluayhsLkdldFJlbGF0 aXZlU2NyaXB0VVJMKCdhZG1pbicpLCANCisgICAgICAgICAgICB0YWJsZS5B ZGRSb3coW0xpbmsobC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURN SU5fQ0dJKSwgDQogCSAgICAgICAgICAgICAgICAgIEJvbGQobC5yZWFsX25h bWUpKSxsLmRlc2NyaXB0aW9uXSkNCiANCiAgICAgZG9jLkFkZEl0ZW0odGFi bGUpDQpAQCAtMjYxLDEzICsyNjEsMTMgQEANCiAgICAgbGlua3NfdGFibGUu QWRkUm93KFtDZW50ZXIoQm9sZCgiQ29uZmlndXJhdGlvbiBDYXRlZ29yaWVz IikpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIENlbnRlcihCb2xkKCJP dGhlciBBZG1pbmlzdHJhdGl2ZSBBY3Rpdml0aWVzIikpXSkNCiAgICAgb3Ro ZXJfbGlua3MgPSBVbm9yZGVyZWRMaXN0KCkNCi0gICAgbGluayA9IExpbmso bHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbmRiJyksIA0KKyAgICBs aW5rID0gTGluayhsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwobW1fY2ZnLkFE TUlOREJfQ0dJKSwgDQogICAgICAgICAgICAgICAgICdUZW5kIHRvIHBlbmRp bmcgYWRtaW5pc3RyYXRpdmUgcmVxdWVzdHMuJykNCiAgICAgb3RoZXJfbGlu a3MuQWRkSXRlbShsaW5rKQ0KLSAgICBsaW5rID0gTGluayhsc3QuR2V0UmVs YXRpdmVTY3JpcHRVUkwoJ2xpc3RpbmZvJyksDQorICAgIGxpbmsgPSBMaW5r KGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJ KSwNCiAgICAgICAgICAgICAgICAgJ0dvIHRvIHRoZSBnZW5lcmFsIGxpc3Qg aW5mb3JtYXRpb24gcGFnZS4nKQ0KICAgICBvdGhlcl9saW5rcy5BZGRJdGVt KGxpbmspDQotICAgIGxpbmsgPSBMaW5rKGxzdC5HZXRSZWxhdGl2ZVNjcmlw dFVSTCgnZWRpdGh0bWwnKSwNCisgICAgbGluayA9IExpbmsobHN0LkdldFJl bGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5FRElUSFRNTF9DR0kpLA0KICAgICAg ICAgICAgICAgICAnRWRpdCB0aGUgSFRNTCBmb3IgdGhlIHB1YmxpYyBsaXN0 IHBhZ2VzLicpDQogICAgIG90aGVyX2xpbmtzLkFkZEl0ZW0obGluaykNCiAN CkBAIC0yNzcsNyArMjc3LDcgQEANCiAgICAgICAgICAgICB0aGVzZV9saW5r cy5BZGRJdGVtKCI8Yj4gPSZndDsgIiArIHYgKyAiICZsdDs9IDwvYj4iKQ0K ICAgICAgICAgZWxzZToNCiAgICAgICAgICAgICB0aGVzZV9saW5rcy5BZGRJ dGVtKExpbmsoIiVzLyVzIiAlIA0KLQkgICAgICAgICAgICAgICAgIChsc3Qu R2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2FkbWluJyksayksdikpDQorCSAgICAg ICAgICAgICAgICAgKGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcu QURNSU5fQ0dJKSxrKSx2KSkNCiANCiAgICAgbGlua3NfdGFibGUuQWRkUm93 KFt0aGVzZV9saW5rcywgb3RoZXJfbGlua3NdKQ0KICAgICBsaW5rc190YWJs ZS5BZGRSb3dJbmZvKG1heChsaW5rc190YWJsZS5HZXRDdXJyZW50Um93SW5k ZXgoKSwgMCksDQpAQCAtMjg2LDEwICsyODYsMTAgQEANCiAgICAgZG9jLkFk ZEl0ZW0obGlua3NfdGFibGUpDQogICAgIGRvYy5BZGRJdGVtKCc8aHI+JykN CiAgICAgaWYgY2F0ZWdvcnlfc3VmZml4Og0KLSAgICAgICAgZm9ybSA9IEZv cm0oIiVzLyVzIiAlIChsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2FkbWlu JyksDQorICAgICAgICBmb3JtID0gRm9ybSgiJXMvJXMiICUgKGxzdC5HZXRS ZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfc3VmZml4KSkN CiAgICAgZWxzZToNCi0gICAgICAgIGZvcm0gPSBGb3JtKGxzdC5HZXRSZWxh dGl2ZVNjcmlwdFVSTCgnYWRtaW4nKSkNCisgICAgICAgIGZvcm0gPSBGb3Jt KGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSkN CiAgICAgZG9jLkFkZEl0ZW0oZm9ybSkNCiANCiAgICAgZm9ybS5BZGRJdGVt KCJNYWtlIHlvdXIgY2hhbmdlcywgYmVsb3csIGFuZCB0aGVuIHN1Ym1pdCBp dCBhbGwgYXQgdGhlIg0KQEAgLTQwNCw3ICs0MDQsNyBAQA0KICAgICBkb2Mu QWRkSXRlbSgiPGI+JXM8L2I+ICglcyk6ICVzPHA+IiAlICh2YXJuYW1lLCBj YXRlZ29yeSwgaXRlbVs0XSkpDQogICAgIGRvYy5BZGRJdGVtKCIlczxwPiIg JSBpdGVtWzVdKQ0KIA0KLSAgICBmb3JtID0gRm9ybShvcy5wYXRoLmpvaW4o bHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbicpLCBjYXRlZ29yeSkp DQorICAgIGZvcm0gPSBGb3JtKG9zLnBhdGguam9pbihsc3QuR2V0UmVsYXRp dmVTY3JpcHRVUkwobW1fY2ZnLkFETUlOX0NHSSksIGNhdGVnb3J5KSkNCiAg ICAgdmFsdGFiID0gVGFibGUoY2VsbHNwYWNpbmc9MywgY2VsbHBhZGRpbmc9 NCkNCiAgICAgQWRkT3B0aW9uc1RhYmxlSXRlbSh2YWx0YWIsIGl0ZW0sIGNh dGVnb3J5LCBsc3QsIG5vZGV0YWlscz0xKQ0KICAgICBmb3JtLkFkZEl0ZW0o dmFsdGFiKQ0KQEAgLTUwNCw4ICs1MDQsOCBAQA0KICAgICAgICAgcGkgPSBv cy5lbnZpcm9uWyJQQVRIX0lORk8iXQ0KICAgICAgICAgZm9yIGNpIGluIGNo dW5rX2luZGljZXM6DQogICAgICAgICAgICAgc3RhcnQsIGVuZCA9IGNodW5r c1tjaV1bMF0sIGNodW5rc1tjaV1bLTFdDQotICAgICAgICAgICAgYnV0dG9u cy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4vYWRtaW4lcz9jaHVuaz0lZD4g ZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAoIHBpLCBjaSwgc3RhcnQsIGVuZCkpDQorICAgICAgICAgICAg YnV0dG9ucy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4vJXMlcz9jaHVuaz0l ZD4gZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoIG1tX2NmZy5BRE1JTl9DR0ksIHBpLCBjaSwgc3RhcnQs IGVuZCkpDQogICAgICAgICBidXR0b25zID0gYXBwbHkoVW5vcmRlcmVkTGlz dCwgdHVwbGUoYnV0dG9ucykpDQogICAgICAgICBmb290ZXIgPSBmb290ZXIg KyBidXR0b25zLkZvcm1hdCgpICsgIjxwPiIgDQogICAgIGVsc2U6DQpkaWZm IC1icnVOIG1haWxtYW4ub3JpZy9NYWlsbWFuL0NnaS9hZG1pbmRiLnB5IG1h aWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW5kYi5weQ0KLS0tIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0NnaS9hZG1pbmRiLnB5CVNhdCBBdWcgIDggMTQ6MTc6Mjkg MTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW5kYi5weQlNb24g QXVnIDMxIDE0OjE2OjQzIDE5OTgNCkBAIC0xOTUsNiArMTk1LDggQEANCiAN CiAMDQogZGVmIFByaW50UmVxdWVzdHMoZG9jKToNCisgICAgZnJvbSBNYWls bWFuIGltcG9ydCBtbV9jZmcNCisNCiAgICAgIyBYWFg6IFl1aywgYmxlY2gs IGljaw0KICAgICBnbG9iYWwgbGlzdA0KICAgICBnbG9iYWwgZm9ybQ0KQEAg LTIwNywxNCArMjA5LDE0IEBADQogICAgIGRvYy5BZGRJdGVtKGh0bWxmb3Jt YXQuSGVhZGVyKDIsICJBZG1pbmlzdHJhdGl2ZSByZXF1ZXN0cyBmb3IgIg0K IAkJCQkgICInJXMnIG1haWxpbmcgbGlzdCIgJSBsaXN0LnJlYWxfbmFtZSkp DQogICAgIGRvYy5BZGRJdGVtKGh0bWxmb3JtYXQuRm9udFNpemUoIisxIiwg aHRtbGZvcm1hdC5MaW5rKA0KLQlsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJM KCdhZG1pbicpLCBodG1sZm9ybWF0Lkl0YWxpYygNCisJbGlzdC5HZXRSZWxh dGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJKSwgaHRtbGZvcm1hdC5J dGFsaWMoDQogCSAgICAnVmlldyBvciBlZGl0IHRoZSBsaXN0IGNvbmZpZ3Vy YXRpb24gaW5mb3JtYXRpb24nKSkpKQ0KICAgICBkb2MuQWRkSXRlbSgnPHA+ PGhyPicpDQogICAgIGlmIG5vdCBsaXN0Lk51bVJlcXVlc3RzUGVuZGluZygp Og0KIAlkb2MuQWRkSXRlbShodG1sZm9ybWF0LkhlYWRlcigzLCdUaGVyZSBh cmUgbm8gcGVuZGluZyByZXF1ZXN0cy4nKSkNCiAJZG9jLkFkZEl0ZW0obGlz dC5HZXRNYWlsbWFuRm9vdGVyKCkpDQogCXJldHVybg0KLSAgICBmb3JtID0g aHRtbGZvcm1hdC5Gb3JtKGxpc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2Fk bWluZGInKSkNCisgICAgZm9ybSA9IGh0bWxmb3JtYXQuRm9ybShsaXN0Lkdl dFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTkRCX0NHSSkpDQogICAg IGRvYy5BZGRJdGVtKGZvcm0pDQogICAgIGZvcm0uQWRkSXRlbSgnQWRtaW4g cGFzc3dvcmQ6ICcpDQogICAgIGZvcm0uQWRkSXRlbShodG1sZm9ybWF0LlBh c3N3b3JkQm94KCdhZG1pbnB3JykpDQpkaWZmIC1icnVOIG1haWxtYW4ub3Jp Zy9NYWlsbWFuL0NnaS9lZGl0aHRtbC5weSBtYWlsbWFuL01haWxtYW4vQ2dp L2VkaXRodG1sLnB5DQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vQ2dpL2Vk aXRodG1sLnB5CVNhdCBBdWcgIDggMTQ6MTc6MzIgMTk5OA0KKysrIG1haWxt YW4vTWFpbG1hbi9DZ2kvZWRpdGh0bWwucHkJTW9uIEF1ZyAzMSAxMzo1MDow NiAxOTk4DQpAQCAtODcsNyArODcsNyBAQA0KICAgICAgICAgZG9jLkFkZEl0 ZW0oaHRtbGZvcm1hdC5IZWFkZXIoMiwgJ1NlbGVjdCBwYWdlIHRvIGVkaXQ6 JykpDQogICAgICAgICB0ZW1wbGF0ZV9saXN0ID0gaHRtbGZvcm1hdC5Vbm9y ZGVyZWRMaXN0KCkNCiAgICAgICAgIGZvciAodGVtcGxhdGUsIGluZm8pIGlu IHRlbXBsYXRlX2RhdGE6DQotICAgICAgICAgICAgbCA9IGh0bWxmb3JtYXQu TGluayhvcy5wYXRoLmpvaW4obGlzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgn ZWRpdGh0bWwnKSwNCisgICAgICAgICAgICBsID0gaHRtbGZvcm1hdC5MaW5r KG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKG1tX2Nm Zy5FRElUSFRNTF9DR0kpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlKSwgaW5mbykNCiANCiAgICAg ICAgICAgICB0ZW1wbGF0ZV9saXN0LkFkZEl0ZW0obCkNCkBAIC0xNDYsMTQg KzE0NiwxNCBAQA0KIA0KICAgICBkb2MuQWRkSXRlbSgnPGhyPicpDQogDQot ICAgIGxpbmsgPSBodG1sZm9ybWF0LkxpbmsobGlzdC5HZXRSZWxhdGl2ZVNj cmlwdFVSTCgnYWRtaW4nKSwNCisgICAgbGluayA9IGh0bWxmb3JtYXQuTGlu ayhsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kp LA0KIAkJCSAgICdWaWV3IG9yIGVkaXQgdGhlIGxpc3QgY29uZmlndXJhdGlv biBpbmZvcm1hdGlvbi4nKQ0KICAgICBkb2MuQWRkSXRlbShodG1sZm9ybWF0 LkZvbnRTaXplKCIrMSIsIGxpbmspKQ0KICAgICBkb2MuQWRkSXRlbSgnPHA+ JykNCiANCiAgICAgZG9jLkFkZEl0ZW0oJzxocj4nKQ0KIA0KLSAgICBmb3Jt ID0gaHRtbGZvcm1hdC5Gb3JtKG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0 aXZlU2NyaXB0VVJMKCdlZGl0aHRtbCcpLA0KKyAgICBmb3JtID0gaHRtbGZv cm1hdC5Gb3JtKG9zLnBhdGguam9pbihsaXN0LkdldFJlbGF0aXZlU2NyaXB0 VVJMKG1tX2NmZy5FRElUSFRNTF9DR0kpLA0KIAkJCQkJdGVtcGxhdGVfbmFt ZSkpDQogICAgIGRvYy5BZGRJdGVtKGZvcm0pDQogDQpkaWZmIC1icnVOIG1h aWxtYW4ub3JpZy9NYWlsbWFuL0NnaS9saXN0aW5mby5weSBtYWlsbWFuL01h aWxtYW4vQ2dpL2xpc3RpbmZvLnB5DQotLS0gbWFpbG1hbi5vcmlnL01haWxt YW4vQ2dpL2xpc3RpbmZvLnB5CVNhdCBBdWcgIDggMTQ6MTc6NDMgMTk5OA0K KysrIG1haWxtYW4vTWFpbG1hbi9DZ2kvbGlzdGluZm8ucHkJTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtMTIyLDcgKzEyMiw3IEBADQogICAgICAg ICAgICAgICAgICAgICAgICsNCiAgICAgICAgICAgICAgICAgICAgICAgJzxw PiBMaXN0IGFkbWluaXN0cmF0b3JzLCB5b3UgY2FuIHZpc2l0ICcsDQogICAg ICAgICAgICAgICAgICAgICAgIExpbmsob3MucGF0aC5qb2luKCcuLi8nICog VXRpbHMuR2V0TmVzdGluZ0xldmVsKCksDQotCSAgICAgICAgICAgICAgICAg ICAnYWRtaW4vJyksICJ0aGUgbGlzdCBhZG1pbiBvdmVydmlldyBwYWdlIiks DQorCSAgICAgICAgICAgICAgICAgICBtbV9jZmcuQURNSU5fQ0dJICsgJy8n KSwgInRoZSBsaXN0IGFkbWluIG92ZXJ2aWV3IHBhZ2UiKSwNCiAgICAgICAg ICAgICAgICAgICAgICAgIiB0byBmaW5kIHRoZSBtYW5hZ2VtZW50IGludGVy ZmFjZSBmb3IgeW91ciBsaXN0LiINCiAgICAgICAgICAgICAgICAgICAgICAg IjxwPihTZW5kIHF1ZXN0aW9ucyBvciBjb21tZW50cyB0byAiLA0KICAgICAg ICAgICAgICAgICAgICAgICBMaW5rKCJtYWlsdG86JXMiICUgbW1fY2ZnLk1B SUxNQU5fT1dORVIsDQpAQCAtMTM1LDcgKzEzNSw3IEBADQogICAgIGlmIGFk dmVydGlzZWQ6DQogICAgICAgICB0YWJsZS5BZGRSb3coW0l0YWxpYygiTGlz dCIpLCBJdGFsaWMoIkRlc2NyaXB0aW9uIildKQ0KICAgICBmb3IgbCBpbiBh ZHZlcnRpc2VkOg0KLSAgICAgICAgdGFibGUuQWRkUm93KFtMaW5rKGwuR2V0 UmVsYXRpdmVTY3JpcHRVUkwoJ2xpc3RpbmZvJyksIA0KKyAgICAgICAgdGFi bGUuQWRkUm93KFtMaW5rKGwuR2V0UmVsYXRpdmVTY3JpcHRVUkwobW1fY2Zn LkxJU1RJTkZPX0NHSSksIA0KIAkgICAgICBCb2xkKGwucmVhbF9uYW1lKSks IGwuZGVzY3JpcHRpb25dKQ0KIA0KICAgICBkb2MuQWRkSXRlbSh0YWJsZSkN CkBAIC0xNjQsOCArMTY0LDggQEANCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0t bmV3LXBhc3N3b3JkLWJveD4nXSA9IGxpc3QuRm9ybWF0U2VjdXJlQm94KCdw dycpDQogICAgIHJlcGxhY2VtZW50c1snPG1tLWNvbmZpcm0tcGFzc3dvcmQ+ J10gPSBsaXN0LkZvcm1hdFNlY3VyZUJveCgncHctY29uZicpDQogICAgIHJl cGxhY2VtZW50c1snPG1tLXN1YnNjcmliZS1mb3JtLXN0YXJ0PiddID0gXA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaXN0LkZvcm1hdEZvcm1TdGFydCgnc3Vic2NyaWJlJykNCi0gICAgcmVw bGFjZW1lbnRzWyc8bW0tcm9zdGVyLWZvcm0tc3RhcnQ+J10gPSBsaXN0LkZv cm1hdEZvcm1TdGFydCgncm9zdGVyJykNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC5Gb3JtYXRGb3JtU3Rh cnQobW1fY2ZnLlNVQlNDUklCRV9DR0kpDQorICAgIHJlcGxhY2VtZW50c1sn PG1tLXJvc3Rlci1mb3JtLXN0YXJ0PiddID0gbGlzdC5Gb3JtYXRGb3JtU3Rh cnQobW1fY2ZnLlJPU1RFUl9DR0kpDQogICAgIHJlcGxhY2VtZW50c1snPG1t LWVkaXRpbmctb3B0aW9ucz4nXSA9IGxpc3QuRm9ybWF0RWRpdGluZ09wdGlv bigpDQogICAgIHJlcGxhY2VtZW50c1snPG1tLWluZm8tYnV0dG9uPiddID0g U3VibWl0QnV0dG9uKCdVc2VyT3B0aW9ucycsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFZGl0IE9w dGlvbnMnKS5Gb3JtYXQoKQ0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFp bG1hbi9DZ2kvb3B0aW9ucy5weSBtYWlsbWFuL01haWxtYW4vQ2dpL29wdGlv bnMucHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9DZ2kvb3B0aW9ucy5w eQlTYXQgQXVnICA4IDE0OjE3OjQ1IDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vQ2dpL29wdGlvbnMucHkJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpA QCAtMTE1LDcgKzExNSw3IEBADQogICAgIHJlcGxhY2VtZW50c1snPG1tLWNv bmZpcm0tcGFzcy1ib3g+J10gPSBsaXN0LkZvcm1hdFNlY3VyZUJveCgnY29u ZnB3JykNCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0tY2hhbmdlLXBhc3MtYnV0 dG9uPiddID0gbGlzdC5Gb3JtYXRCdXR0b24oJ2NoYW5nZXB3JywNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIkNoYW5nZSBNeSBQYXNzd29yZCIpDQotICAgIHJl cGxhY2VtZW50c1snPG1tLWZvcm0tc3RhcnQ+J10gPSBsaXN0LkZvcm1hdEZv cm1TdGFydCgnaGFuZGxlX29wdHMnLCB1c2VyKQ0KKyAgICByZXBsYWNlbWVu dHNbJzxtbS1mb3JtLXN0YXJ0PiddID0gbGlzdC5Gb3JtYXRGb3JtU3RhcnQo bW1fY2ZnLkhPUFRTX0NHSSwgdXNlcikNCiAgICAgcmVwbGFjZW1lbnRzWyc8 bW0tdXNlcj4nXSA9IHVzZXINCiAgICAgcmVwbGFjZW1lbnRzWyc8bW0tcHJl c2VudGFibGUtdXNlcj4nXSA9IHByZXNlbnRhYmxlX3VzZXINCiAgICAgcmVw bGFjZW1lbnRzWyc8bW0tZW1haWwtbXktcHc+J10gPSBsaXN0LkZvcm1hdEJ1 dHRvbignZW1haWxwdycsDQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy9NYWls bWFuL0RlZmF1bHRzLnB5LmluIG1haWxtYW4vTWFpbG1hbi9EZWZhdWx0cy5w eS5pbg0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0RlZmF1bHRzLnB5Lmlu CVNhdCBBdWcgIDggMTQ6MTU6NDMgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1h bi9EZWZhdWx0cy5weS5pbglNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBA IC0yMTcsMyArMjE3LDE1IEBADQogDQogIyBEYXRhIGZpbGUgdmVyc2lvbiBu dW1iZXINCiBEQVRBX0ZJTEVfVkVSU0lPTiA9IDMNCisNCisjIENHSSBmaWxl IG5hbWVzDQorQURNSU5fQ0dJICAgICAgID0gImFkbWluQENHSUVYVEAiDQor QURNSU5EQl9DR0kgICAgID0gImFkbWluZGJAQ0dJRVhUQCINCitBUkNISVZF X0NHSSAgICAgPSAiYXJjaGl2ZUBDR0lFWFRAIg0KK0xJU1RJTkZPX0NHSSAg ICA9ICJsaXN0aW5mb0BDR0lFWFRAIg0KK09QVElPTlNfQ0dJICAgICA9ICJv cHRpb25zQENHSUVYVEAiDQorRURJVEhUTUxfQ0dJICAgID0gImVkaXRodG1s QENHSUVYVEAiDQorUk9TVEVSX0NHSSAgICAgID0gInJvc3RlckBDR0lFWFRA Ig0KK0hPUFRTX0NHSSAgICAgICA9ICJoYW5kbGVfb3B0c0BDR0lFWFRAIg0K K1NVQlNDUklCRV9DR0kgICA9ICJzdWJzY3JpYmVAQ0dJRVhUQCINCitQUklW QVRFX0NHSSAgICAgPSAicHJpdmF0ZUBDR0lFWFRAIg0KZGlmZiAtYnJ1TiBt YWlsbWFuLm9yaWcvTWFpbG1hbi9EZWxpdmVyZXIucHkgbWFpbG1hbi9NYWls bWFuL0RlbGl2ZXJlci5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0Rl bGl2ZXJlci5weQlTdW4gQXVnIDMwIDE1OjU1OjU0IDE5OTgNCisrKyBtYWls bWFuL01haWxtYW4vRGVsaXZlcmVyLnB5CU1vbiBBdWcgMzEgMTM6NTA6MDYg MTk5OA0KQEAgLTEwMCw3ICsxMDAsNyBAQA0KICAgICAgICAgICAgICdwb3N0 YWNrLnR4dCcsDQogICAgICAgICAgICAgeydzdWJqZWN0JyAgICAgOiBzdWJq ZWN0LA0KICAgICAgICAgICAgICAnbGlzdG5hbWUnICAgIDogc2VsZi5yZWFs X25hbWUsDQotICAgICAgICAgICAgICdsaXN0aW5mb191cmwnOiBzZWxmLkdl dEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAgICAgICAg ICAnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTCht bV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgfSkNCiAJc2Vs Zi5TZW5kVGV4dFRvVXNlcignJXMgcG9zdCBhY2tub3dsZWdlbWVudCcgJSBz ZWxmLnJlYWxfbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9keSwgc2VuZGVyKQ0KQEAgLTExOCw3ICsxMTgsNyBAQA0KICAgICAgICAg ICAgICAnaG9zdF9uYW1lJyAgIDogc2VsZi5ob3N0X25hbWUsDQogICAgICAg ICAgICAgICd3ZWxjb21lJyAgICAgOiB3ZWxjb21lLA0KICAgICAgICAgICAg ICAnZW1haWxhZGRyJyAgIDogc2VsZi5HZXRMaXN0RW1haWwoKSwNCi0gICAg ICAgICAgICAgJ2xpc3RpbmZvX3VybCc6IHNlbGYuR2V0QWJzb2x1dGVTY3Jp cHRVUkwoJ2xpc3RpbmZvJyksDQorICAgICAgICAgICAgICdsaXN0aW5mb191 cmwnOiBzZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5MSVNUSU5G T19DR0kpLA0KICAgICAgICAgICAgICAnb3B0aW9uc3VybCcgIDogc2VsZi5H ZXRBYnNvbHV0ZU9wdGlvbnNVUkwobmFtZSksDQogICAgICAgICAgICAgICdw YXNzd29yZCcgICAgOiBwYXNzd29yZCwNCiAgICAgICAgICAgICAgfSkNCmRp ZmYgLWJydU4gbWFpbG1hbi5vcmlnL01haWxtYW4vRGlnZXN0ZXIucHkgbWFp bG1hbi9NYWlsbWFuL0RpZ2VzdGVyLnB5DQotLS0gbWFpbG1hbi5vcmlnL01h aWxtYW4vRGlnZXN0ZXIucHkJU2F0IEF1ZyAgOCAxNDoxNTo0OCAxOTk4DQor KysgbWFpbG1hbi9NYWlsbWFuL0RpZ2VzdGVyLnB5CU1vbiBBdWcgMzEgMTM6 NTA6MDYgMTk5OA0KQEAgLTMzMCw3ICszMzAsNyBAQA0KICAgICAgICAgICAg IHN1YnN0cyA9IHt9DQogICAgICAgICAgICAgc3Vic3RzLnVwZGF0ZShsc3Qu X19kaWN0X18pDQogICAgICAgICAgICAgc3Vic3RzLnVwZGF0ZSh7J2dvdF9s aXN0aW5mb191cmwnOiANCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbHN0LkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5m bycpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsc3QuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1fY2ZnLkxJU1RJTkZPX0NH SSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dvdF9yZXF1ZXN0 X2VtYWlsJzogbHN0LkdldFJlcXVlc3RFbWFpbCgpLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdnb3RfbGlzdF9lbWFpbCc6IGxzdC5HZXRMaXN0 RW1haWwoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290X293 bmVyX2VtYWlsJzogbHN0LkdldEFkbWluRW1haWwoKSwNCmRpZmYgLWJydU4g bWFpbG1hbi5vcmlnL01haWxtYW4vSFRNTEZvcm1hdHRlci5weSBtYWlsbWFu L01haWxtYW4vSFRNTEZvcm1hdHRlci5weQ0KLS0tIG1haWxtYW4ub3JpZy9N YWlsbWFuL0hUTUxGb3JtYXR0ZXIucHkJU2F0IEF1ZyAgOCAxNDoxNTo1NCAx OTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0hUTUxGb3JtYXR0ZXIucHkJTW9u IEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAtOTMsNyArOTMsNyBAQA0KIAkJ c2hvd2luZyA9IE9ic2N1cmVFbWFpbChwZXJzb24sIGZvcl90ZXh0PTEpDQog CSAgICBlbHNlOg0KIAkJc2hvd2luZyA9IHBlcnNvbg0KLQkgICAgZ290ID0g TGluayhvcy5wYXRoLmpvaW4obWUuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ29w dGlvbnMnKSwNCisJICAgIGdvdCA9IExpbmsob3MucGF0aC5qb2luKG1lLkdl dFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5PUFRJT05TX0NHSSksDQogCQkJ CSAgICBpZCksIHNob3dpbmcpDQogICAgICAgICAgICAgaWYgbWUuR2V0VXNl ck9wdGlvbihwZXJzb24sIGRpc2RlbCk6DQogICAgICAgICAgICAgICAgIGdv dCA9IEl0YWxpYygiKCIsIGdvdCwgIikiKQ0KZGlmZiAtYnJ1TiBtYWlsbWFu Lm9yaWcvTWFpbG1hbi9MaXN0QWRtaW4ucHkgbWFpbG1hbi9NYWlsbWFuL0xp c3RBZG1pbi5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0xpc3RBZG1p bi5weQlTYXQgQXVnICA4IDE0OjE2OjEwIDE5OTgNCisrKyBtYWlsbWFuL01h aWxtYW4vTGlzdEFkbWluLnB5CU1vbiBBdWcgMzEgMTQ6MzQ6NTggMTk5OA0K QEAgLTI3LDcgKzI3LDcgQEANCiBpbXBvcnQgRXJyb3JzDQogaW1wb3J0IE1l c3NhZ2UNCiBpbXBvcnQgVXRpbHMNCi0NCitmcm9tIE1haWxtYW4gaW1wb3J0 IG1tX2NmZw0KIA0KIGNsYXNzIExpc3RBZG1pbjoNCiAgICAgZGVmIEluaXRW YXJzKHNlbGYpOg0KQEAgLTU1LDcgKzU1LDcgQEANCiAgICAgICAgICAgICAg ICAgICAgIHsndXNlcm5hbWUnICAgOiB3aG8sDQogICAgICAgICAgICAgICAg ICAgICAgJ2xpc3RuYW1lJyAgIDogc2VsZi5yZWFsX25hbWUsDQogICAgICAg ICAgICAgICAgICAgICAgJ2hvc3RuYW1lJyAgIDogc2VsZi5ob3N0X25hbWUs DQotICAgICAgICAgICAgICAgICAgICAgJ2FkbWluZGJfdXJsJzogc2VsZi5H ZXRBYnNvbHV0ZVNjcmlwdFVSTCgnYWRtaW5kYicpLA0KKyAgICAgICAgICAg ICAgICAgICAgICdhZG1pbmRiX3VybCc6IHNlbGYuR2V0QWJzb2x1dGVTY3Jp cHRVUkwobW1fY2ZnLkFETUlOREJfQ0dJKSwNCiAgICAgICAgICAgICAgICAg ICAgICB9KQ0KIAkJc2VsZi5TZW5kVGV4dFRvVXNlcihzdWJqZWN0ID0gc3Vi aiwNCiAJCQkJICAgIHJlY2lwaWVudCA9IHNlbGYuR2V0QWRtaW5FbWFpbCgp LA0KQEAgLTc4LDcgKzc4LDcgQEANCiAgICAgICAgICAgICAgICAgICAgICAn cmVhc29uJyAgICAgOiByZWFzb24sDQogICAgICAgICAgICAgICAgICAgICAg J3NlbmRlcicgICAgIDogc2VuZGVyLA0KICAgICAgICAgICAgICAgICAgICAg ICdzdWJqZWN0JyAgICA6IHN1YmplY3QsDQotICAgICAgICAgICAgICAgICAg ICAgJ2FkbWluZGJfdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTCgn YWRtaW5kYicpLA0KKyAgICAgICAgICAgICAgICAgICAgICdhZG1pbmRiX3Vy bCc6IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1fY2ZnLkFETUlOREJf Q0dJKSwNCiAgICAgICAgICAgICAgICAgICAgICB9KQ0KIAkJc2VsZi5TZW5k VGV4dFRvVXNlcihzdWJqZWN0ID0gc3ViaiwNCiAJCQkJICAgIHJlY2lwaWVu dCA9IHNlbGYuR2V0QWRtaW5FbWFpbCgpLA0KZGlmZiAtYnJ1TiBtYWlsbWFu Lm9yaWcvTWFpbG1hbi9NYWlsTGlzdC5weSBtYWlsbWFuL01haWxtYW4vTWFp bExpc3QucHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9NYWlsTGlzdC5w eQlTYXQgQXVnICA4IDE0OjE2OjM0IDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vTWFpbExpc3QucHkJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAt ODQsNyArODQsNyBAQA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5faW50ZXJuYWxfbmFtZSkpDQogDQog ICAgIGRlZiBHZXRBYnNvbHV0ZU9wdGlvbnNVUkwoc2VsZiwgYWRkciwgb2Jz Y3VyZWQ9MCwpOg0KLQlvcHRpb25zID0gc2VsZi5HZXRBYnNvbHV0ZVNjcmlw dFVSTCgnb3B0aW9ucycpDQorCW9wdGlvbnMgPSBzZWxmLkdldEFic29sdXRl U2NyaXB0VVJMKG1tX2NmZy5PUFRJT05TX0NHSSkNCiAgICAgICAgIGlmIG9i c2N1cmVkOg0KICAgICAgICAgICAgIHRyZWF0ZWQgPSBVdGlscy5PYnNjdXJl RW1haWwoYWRkciwgZm9yX3RleHQ9MCkNCiAgICAgICAgIGVsc2U6DQpAQCAt MzU5LDcgKzM1OSw3IEBADQogICAgICAgICAgICAgIiBjb3ZlcmluZyBtZW1i ZXJzIGFuZCBvdXRzaWRlcnMuIg0KICAgICAgICAgICAgICcgIChTZWUgYWxz byB0aGUgPGEgaHJlZj0iJXMiPkFyY2hpdmFsIE9wdGlvbnMgc2VjdGlvbjwv YT4gZm9yJw0KICAgICAgICAgICAgICcgc2VwYXJhdGUgYXJjaGl2ZS1wcml2 YWN5IHNldHRpbmdzLiknDQotICAgICAgICAgICAgJSBvcy5wYXRoLmpvaW4o c2VsZi5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgnYWRtaW4nKSwgJ2FyY2hpdmUn KSwNCisgICAgICAgICAgICAlIG9zLnBhdGguam9pbihzZWxmLkdldFJlbGF0 aXZlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kpLCAnYXJjaGl2ZScpLA0K IA0KIAkgICAgIlN1YnNjcmliaW5nIiwNCiANCmRpZmYgLWJydU4gbWFpbG1h bi5vcmlnL01haWxtYW4vbW1fY2ZnLnB5LmluIG1haWxtYW4vTWFpbG1hbi9t bV9jZmcucHkuaW4NCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9tbV9jZmcu cHkuaW4JU2F0IEF1ZyAgOCAxNDoxNjo1NCAxOTk4DQorKysgbWFpbG1hbi9N YWlsbWFuL21tX2NmZy5weS5pbglNb24gQXVnIDMxIDEzOjU0OjM2IDE5OTgN CkBAIC01Myw3ICs1Myw3IEBADQogTUFJTE1BTl9PV05FUiAgICAgPSAnbWFp bG1hbi1vd25lckAlcycgJSBERUZBVUxUX0hPU1RfTkFNRQ0KIA0KIFBVQkxJ Q19BUkNISVZFX1VSTCA9ICcvcGlwZXJtYWlsJw0KLVBSSVZBVEVfQVJDSElW RV9VUkwgPSAnL21haWxtYW4vcHJpdmF0ZScNCitQUklWQVRFX0FSQ0hJVkVf VVJMID0gJy9tYWlsbWFuL3ByaXZhdGVAQ0dJRVhUQCcNCiANCiAjIE5vdGUg LSBpZiB5b3UncmUgbG9va2luZyBmb3Igc29tZXRoaW5nIHRoYXQgaXMgaW1w b3J0ZWQgZnJvbSBtbV9jZmcsIGJ1dCB5b3UNCiAjIGRpZG4ndCBmaW5kIGl0 IGFib3ZlLCBpdCdzIHByb2JhYmx5IGluIERlZmF1bHRzLnB5Lg0KZGlmZiAt YnJ1TiBtYWlsbWFuLm9yaWcvYmluL2NvbnZlcnRfbGlzdCBtYWlsbWFuL2Jp bi9jb252ZXJ0X2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL2NvbnZlcnRf bGlzdAlTdW4gQXVnIDMwIDE1OjU1OjU1IDE5OTgNCisrKyBtYWlsbWFuL2Jp bi9jb252ZXJ0X2xpc3QJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAt ODQsNyArODQsNyBAQA0KICAgICBkaWN0ID0geydsaXN0bmFtZScgICAgOiBt bC5yZWFsX25hbWUsDQogICAgICAgICAgICAgJ2xpc3Rob3N0JyAgICA6IG1s Lmhvc3RfbmFtZSwNCiAgICAgICAgICAgICAnbGlzdGFkZHInICAgIDogbWwu R2V0TGlzdEVtYWlsKCksDQotICAgICAgICAgICAgJ2xpc3RpbmZvX3VybCc6 IG1sLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAg ICAgICAgICdsaXN0aW5mb191cmwnOiBtbC5HZXRBYnNvbHV0ZVNjcmlwdFVS TChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAncmVxdWVz dGFkZHInIDogbWwuR2V0UmVxdWVzdEVtYWlsKCksDQogICAgICAgICAgICAg J2FkbWluYWRkcicgICA6IG1sLkdldEFkbWluRW1haWwoKSwNCiAgICAgICAg ICAgICAndmVyc2lvbicgICAgIDogTWFpbG1hbi5tbV9jZmcuVkVSU0lPTiwN CmRpZmYgLWJydU4gbWFpbG1hbi5vcmlnL2Jpbi9uZXdsaXN0IG1haWxtYW4v YmluL25ld2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL25ld2xpc3QJU2F0 IEF1ZyAgOCAxNDoxODo0OCAxOTk4DQorKysgbWFpbG1hbi9iaW4vbmV3bGlz dAlNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0xMjAsOCArMTIwLDgg QEANCiAgICAgICAgICduZXdsaXN0LnR4dCcsDQogICAgICAgICB7J2xpc3Ru YW1lJyAgICA6IGxpc3RfbmFtZSwNCiAgICAgICAgICAncGFzc3dvcmQnICAg IDogbGlzdF9wdywgDQotICAgICAgICAgJ2FkbWluX3VybCcgICA6IG5ld2xp c3QuR2V0QWJzb2x1dGVTY3JpcHRVUkwoJ2FkbWluJyksIA0KLSAgICAgICAg ICdsaXN0aW5mb191cmwnOiBuZXdsaXN0LkdldEFic29sdXRlU2NyaXB0VVJM KCdsaXN0aW5mbycpLA0KKyAgICAgICAgICdhZG1pbl91cmwnICAgOiBuZXds aXN0LkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTl9DR0kpLCAN CisgICAgICAgICAnbGlzdGluZm9fdXJsJzogbmV3bGlzdC5HZXRBYnNvbHV0 ZVNjcmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAn cmVxdWVzdGFkZHInIDogIiVzLXJlcXVlc3RAJXMiICUgKGxpc3RfbmFtZSwg bmV3bGlzdC5ob3N0X25hbWUpLA0KICAgICAgICAgICdob3N0bmFtZScgICAg OiBuZXdsaXN0Lmhvc3RfbmFtZSwNCiAgICAgICAgICB9KQ0KZGlmZiAtYnJ1 TiBtYWlsbWFuLm9yaWcvY29uZmlndXJlIG1haWxtYW4vY29uZmlndXJlDQot LS0gbWFpbG1hbi5vcmlnL2NvbmZpZ3VyZQlTYXQgQXVnICA4IDE0OjE1OjI1 IDE5OTgNCisrKyBtYWlsbWFuL2NvbmZpZ3VyZQlNb24gQXVnIDMxIDEzOjUw OjA2IDE5OTgNCkBAIC0xLDYgKzEsNiBAQA0KICMhIC9iaW4vc2gNCiANCi0j IEZyb20gY29uZmlndXJlLmluIFJldmlzaW9uOiAxLjIwIA0KKyMgRnJvbSBj b25maWd1cmUuaW4gUmV2aXNpb246IDEuMjEgDQogDQogIyBHdWVzcyB2YWx1 ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUg TWFrZWZpbGVzLg0KICMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgdXNpbmcg YXV0b2NvbmYgdmVyc2lvbiAyLjEyIA0KQEAgLTI1LDYgKzI1LDkgQEANCiBh Y19oZWxwPSIkYWNfaGVscA0KIA0KIAktLXdpdGgtY2dpLWdpZCAgCXNwZWNp ZnkgR0lEIENHSSBwcm9ncmFtcyBydW4gYXMiDQorYWNfaGVscD0iJGFjX2hl bHANCisNCisJLS13aXRoLWNnaS1leHQgICAgICAgIHNwZWNpZnkgZXh0ZW5z aW9ucyBvZiBDR0kgcHJvZ3JhbXMiDQogDQogIyBJbml0aWFsaXplIHNvbWUg dmFyaWFibGVzIHNldCBieSBvcHRpb25zLg0KICMgVGhlIHZhcmlhYmxlcyBo YXZlIHRoZSBzYW1lIG5hbWVzIGFzIHRoZSBvcHRpb25zLCB3aXRoDQpAQCAt NTQ1LDcgKzU0OCw3IEBADQogDQogIyBDaGVjayBmb3IgUHl0aG9uISAgQmV0 dGVyIGJlIGZvdW5kIG9uICRQQVRIDQogZWNobyAkYWNfbiAiY2hlY2tpbmcg Zm9yIC0td2l0aC1weXRob24iIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv bmZpZ3VyZTo1NDk6IGNoZWNraW5nIGZvciAtLXdpdGgtcHl0aG9uIiA+JjUN CitlY2hvICJjb25maWd1cmU6NTUyOiBjaGVja2luZyBmb3IgLS13aXRoLXB5 dGhvbiIgPiY1DQogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1weXRob24gb3Ig LS13aXRob3V0LXB5dGhvbiB3YXMgZ2l2ZW4uDQogaWYgdGVzdCAiJHt3aXRo X3B5dGhvbitzZXR9IiA9IHNldDsgdGhlbg0KICAgd2l0aHZhbD0iJHdpdGhf cHl0aG9uIg0KQEAgLTU1OSw3ICs1NjIsNyBAQA0KIAkjIEV4dHJhY3QgdGhl IGZpcnN0IHdvcmQgb2YgInB5dGhvbiIsIHNvIGl0IGNhbiBiZSBhIHByb2dy YW0gbmFtZSB3aXRoIGFyZ3MuDQogc2V0IGR1bW15IHB5dGhvbjsgYWNfd29y ZD0kMg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjU2MzogY2hlY2tpbmcg Zm9yICRhY193b3JkIiA+JjUNCitlY2hvICJjb25maWd1cmU6NTY2OiBjaGVj a2luZyBmb3IgJGFjX3dvcmQiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo byAnJCcneydhY19jdl9wYXRoX3dpdGhfcHl0aG9uJytzZXR9J2BcIiA9IHNl dCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2 DQogZWxzZQ0KQEAgLTU5MSw3ICs1OTQsNyBAQA0KIGZpDQogDQogZWNobyAk YWNfbiAiY2hlY2tpbmcgUHl0aG9uIGludGVycHJldGVyIiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6NTk1OiBjaGVja2luZyBQeXRob24g aW50ZXJwcmV0ZXIiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo1OTg6IGNoZWNr aW5nIFB5dGhvbiBpbnRlcnByZXRlciIgPiY1DQogaWYgdGVzdCAhIC14ICR3 aXRoX3B5dGhvbg0KIHRoZW4NCiAgICAgeyBlY2hvICJjb25maWd1cmU6IGVy cm9yOiANCkBAIC02MzUsNyArNjM4LDcgQEANCiAjIFNWUjQgL3Vzci91Y2Iv aW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNlIHRoZSBub25leGlzdGVudCBn cm91cCAic3RhZmYiDQogIyAuL2luc3RhbGwsIHdoaWNoIGNhbiBiZSBlcnJv bmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwuc2guDQog ZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5z dGFsbCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjYzOTog Y2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbCIgPiY1DQor ZWNobyAiY29uZmlndXJlOjY0MjogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBh dGlibGUgaW5zdGFsbCIgPiY1DQogaWYgdGVzdCAteiAiJElOU1RBTEwiOyB0 aGVuDQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhf aW5zdGFsbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19u ICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KQEAgLTY4NSw3ICs2ODgsNyBAQA0K IHRlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElOU1RBTExfREFUQT0nJHtJ TlNUQUxMfSAtbSA2NDQnDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hl dGhlciAke01BS0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIiLi4uICRhY19jIiAx PiY2DQotZWNobyAiY29uZmlndXJlOjY4OTogY2hlY2tpbmcgd2hldGhlciAk e01BS0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIgPiY1DQorZWNobyAiY29uZmln dXJlOjY5MjogY2hlY2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBc JHtNQUtFfSIgPiY1DQogc2V0IGR1bW15ICR7TUFLRS1tYWtlfTsgYWNfbWFr ZT1gZWNobyAiJDIiIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwg InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX21ha2VfJHthY19tYWtl fV9zZXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAi KGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC03MTQsNyArNzE3LDcgQEANCiAN CiAjIEZpbmQgY29tcGlsZXIsIGFsbG93IGFsdGVybmF0aXZlcyB0byBnY2MN CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLS13aXRob3V0LWdjYyIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcxODogY2hlY2tpbmcg Zm9yIC0td2l0aG91dC1nY2MiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo3MjE6 IGNoZWNraW5nIGZvciAtLXdpdGhvdXQtZ2NjIiA+JjUNCiAjIENoZWNrIHdo ZXRoZXIgLS13aXRoLWdjYyBvciAtLXdpdGhvdXQtZ2NjIHdhcyBnaXZlbi4N CiBpZiB0ZXN0ICIke3dpdGhfZ2NjK3NldH0iID0gc2V0OyB0aGVuDQogICB3 aXRodmFsPSIkd2l0aF9nY2MiDQpAQCAtNzQzLDcgKzc0Niw3IEBADQogIyBF eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBzbyBpdCBjYW4gYmUg YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0KIHNldCBkdW1teSBnY2M7IGFj X3dvcmQ9JDINCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQi Ii4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo3NDc6IGNoZWNr aW5nIGZvciAkYWNfd29yZCIgPiY1DQorZWNobyAiY29uZmlndXJlOjc1MDog Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwi YGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0fSdgXCIgPSBzZXQiOyB0 aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs c2UNCkBAIC03NzIsNyArNzc1LDcgQEANCiAgICMgRXh0cmFjdCB0aGUgZmly c3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUg d2l0aCBhcmdzLg0KIHNldCBkdW1teSBjYzsgYWNfd29yZD0kMg0KIGVjaG8g JGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2 DQotZWNobyAiY29uZmlndXJlOjc3NjogY2hlY2tpbmcgZm9yICRhY193b3Jk IiA+JjUNCitlY2hvICJjb25maWd1cmU6Nzc5OiBjaGVja2luZyBmb3IgJGFj X3dvcmQiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19j dl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFj X24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KQEAgLTgyMCw3ICs4 MjMsNyBAQA0KIGZpDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIHdvcmtz IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODI0OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERG TEFHUykgd29ya3MiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo4Mjc6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZM QUdTKSB3b3JrcyIgPiY1DQogDQogYWNfZXh0PWMNCiAjIENGTEFHUyBpcyBu b3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFyZSBub3QgdmFs aWQgY3BwIG9wdGlvbnMuDQpAQCAtODMwLDExICs4MzMsMTEgQEANCiBjcm9z c19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MNCiANCiBjYXQgPiBj b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgODM0ICJjb25maWd1cmUi DQorI2xpbmUgODM3ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZz LmgiDQogbWFpbigpe3JldHVybigwKTt9DQogRU9GDQotaWYgeyAoZXZhbCBl Y2hvIGNvbmZpZ3VyZTo4Mzg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0K K2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODQxOiBcIiRhY19saW5rXCIp IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u ZnRlc3Q7IHRoZW4NCiAgIGFjX2N2X3Byb2dfY2Nfd29ya3M9eWVzDQogICAj IElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3JhbSwgd2UgYXJlIHBy b2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuDQogICBpZiAoLi9jb25m dGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4NCkBAIC04NTQsMTIgKzg1 NywxMiBAQA0KICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxs YXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9ibGVtOiBDIGNvbXBpbGVyIGNh bm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMuIiAxPiYyOyBleGl0IDE7IH0NCiBm aQ0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGls ZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSBpcyBhIGNyb3NzLWNvbXBpbGVy IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODU4OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERG TEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIgPiY1DQorZWNobyAiY29uZmln dXJlOjg2MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJEND ICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiID4mNQ0K IGVjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY19jcm9zcyIgMT4mNg0KIGNy b3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcw0KIA0KIGVjaG8g JGFjX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiIu Li4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODYzOiBjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQyIgPiY1DQorZWNobyAiY29u ZmlndXJlOjg2NjogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05V IEMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9w cm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19u ICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCkBAIC04NjgsNyArODcx LDcgQEANCiAgIHllczsNCiAjZW5kaWYNCiBFT0YNCi1pZiB7IGFjX3RyeT0n JHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2YWwgZWNobyBjb25maWd1 cmU6ODcyOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4m NTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCitp ZiB7IGFjX3RyeT0nJHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2YWwg ZWNobyBjb25maWd1cmU6ODc1OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwg JGFjX3RyeSkgMj4mNTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxsIDI+ JjE7IHRoZW4NCiAgIGFjX2N2X3Byb2dfZ2NjPXllcw0KIGVsc2UNCiAgIGFj X2N2X3Byb2dfZ2NjPW5vDQpAQCAtODgzLDcgKzg4Niw3IEBADQogICBhY19z YXZlX0NGTEFHUz0iJENGTEFHUyINCiAgIENGTEFHUz0NCiAgIGVjaG8gJGFj X24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtZyIiLi4u ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjg4NzogY2hlY2tpbmcg d2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+JjUNCitlY2hvICJjb25m aWd1cmU6ODkwOiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMg LWciID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9w cm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtOTMxLDcgKzkz NCw3IEBADQogIyBQdWxsIHRoZSBoYXNoIG1hcmsgb3V0IG9mIHRoZSBtYWNy byBjYWxsIHRvIGF2b2lkIG00IHByb2JsZW1zLg0KIGFjX21zZz0id2hldGhl ciAjISB3b3JrcyBpbiBzaGVsbCBzY3JpcHRzIg0KIGVjaG8gJGFjX24gImNo ZWNraW5nICRhY19tc2ciIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZTo5MzU6IGNoZWNraW5nICRhY19tc2ciID4mNQ0KK2VjaG8gImNvbmZp Z3VyZTo5Mzg6IGNoZWNraW5nICRhY19tc2ciID4mNQ0KIGlmIGV2YWwgInRl c3QgXCJgZWNobyAnJCcneydhY19jdl9zeXNfaW50ZXJwcmV0ZXInK3NldH0n YFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj X2MiIDE+JjYNCiBlbHNlDQpAQCAtOTY1LDcgKzk2OCw3IEBADQogDQogIyBH cm91cCBgbWFpbG1hbicgbXVzdCBleGlzdA0KIGVjaG8gJGFjX24gImNoZWNr aW5nIGZvciBtYWlsbWFuIEdJRCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi Y29uZmlndXJlOjk2OTogY2hlY2tpbmcgZm9yIG1haWxtYW4gR0lEIiA+JjUN CitlY2hvICJjb25maWd1cmU6OTcyOiBjaGVja2luZyBmb3IgbWFpbG1hbiBH SUQiID4mNQ0KIA0KICMgTUFJTE1BTl9HSUQgPT0gdmFyaWFibGUgbmFtZQ0K ICMgbWFpbG1hbiA9PSB1c2VyIGlkIHRvIGNoZWNrIGZvcg0KQEAgLTEwMTcs NyArMTAyMCw3IEBADQogZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBw ZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siIi4uLiAkYWNfYyIgMT4mNg0K LWVjaG8gImNvbmZpZ3VyZToxMDIxOiBjaGVja2luZyBwZXJtaXNzaW9ucyBv biAkcHJlZml4Y2hlY2siID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMDI0OiBj aGVja2luZyBwZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siID4mNQ0KIA0K IGNhdCA+IGNvbmZ0ZXN0LnB5IDw8RU9GDQogaW1wb3J0IG9zLCBncnAsIHN0 cmluZw0KQEAgLTEwNjMsNyArMTA2Niw3IEBADQogIyBOb3cgZmluZCB0aGUg VUlEcyBhbmQgR0lEcw0KICMgU3VwcG9ydCAtLXdpdGgtbWFpbC1naWQgYW5k IC0td2l0aC1jZ2ktZ2lkDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1h aWwgd3JhcHBlciBHSUQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxMDY3OiBjaGVja2luZyBmb3IgbWFpbCB3cmFwcGVyIEdJRCIgPiY1 DQorZWNobyAiY29uZmlndXJlOjEwNzA6IGNoZWNraW5nIGZvciBtYWlsIHdy YXBwZXIgR0lEIiA+JjUNCiAjIENoZWNrIHdoZXRoZXIgLS13aXRoLW1haWwt Z2lkIG9yIC0td2l0aG91dC1tYWlsLWdpZCB3YXMgZ2l2ZW4uDQogaWYgdGVz dCAiJHt3aXRoX21haWxfZ2lkK3NldH0iID0gc2V0OyB0aGVuDQogICB3aXRo dmFsPSIkd2l0aF9tYWlsX2dpZCINCkBAIC0xMTI0LDcgKzExMjcsNyBAQA0K IA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBDR0kgd3JhcHBlciBH SUQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMTI4OiBj aGVja2luZyBmb3IgQ0dJIHdyYXBwZXIgR0lEIiA+JjUNCitlY2hvICJjb25m aWd1cmU6MTEzMTogY2hlY2tpbmcgZm9yIENHSSB3cmFwcGVyIEdJRCIgPiY1 DQogIyBDaGVjayB3aGV0aGVyIC0td2l0aC1jZ2ktZ2lkIG9yIC0td2l0aG91 dC1jZ2ktZ2lkIHdhcyBnaXZlbi4NCiBpZiB0ZXN0ICIke3dpdGhfY2dpX2dp ZCtzZXR9IiA9IHNldDsgdGhlbg0KICAgd2l0aHZhbD0iJHdpdGhfY2dpX2dp ZCINCkBAIC0xMTg3LDYgKzExOTAsMjUgQEANCiAjTU1fRklORF9VU0VSX0lE KEFMSUFTX1VJRCwgbWFpbG1hbiwgYWxpYXNfd3JhcHBlcikNCiAjTU1fRklO RF9HUk9VUF9JRChBTElBU19HSUQsIG1haWwsIGFsaWFzX3dyYXBwZXIpDQog DQorIyBDR0kgZXh0ZW5zaW9uIGNoZWNraW5nDQorDQorZWNobyAkYWNfbiAi Y2hlY2tpbmcgZm9yIENHSSBleHRlbnNpb24iIi4uLiAkYWNfYyIgMT4mNg0K K2VjaG8gImNvbmZpZ3VyZToxMTk3OiBjaGVja2luZyBmb3IgQ0dJIGV4dGVu c2lvbiIgPiY1DQorIyBDaGVjayB3aGV0aGVyIC0td2l0aC1jZ2ktZXh0IG9y IC0td2l0aG91dC1jZ2ktZXh0IHdhcyBnaXZlbi4NCitpZiB0ZXN0ICIke3dp dGhfY2dpX2V4dCtzZXR9IiA9IHNldDsgdGhlbg0KKyAgd2l0aHZhbD0iJHdp dGhfY2dpX2V4dCINCisgIDoNCitmaQ0KKw0KK2lmIHRlc3QgLXogIiR3aXRo X2NnaV9leHQiDQordGhlbg0KKyAgICBDR0lFWFQ9JycNCisgICAgd2l0aF9j Z2lfZXh0PSdubycNCitlbHNlDQorICAgIENHSUVYVD0kd2l0aF9jZ2lfZXh0 DQorZmkNCitlY2hvICIkYWNfdCIiJHdpdGhfY2dpX2V4dCIgMT4mNg0KKw0K ICMgZmlndXJlIG91dCB0aGUgREVGQVVMVF9IT1NUX05BTUUgYW5kIERFRkFV TFRfVVJMDQogDQogDQpAQCAtMTIxOSwxNCArMTI0MSwxNCBAQA0KICRQWVRI T04gY29uZnRlc3QucHkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBmb3Ig ZGVmYXVsdCBmdWxseSBxdWFsaWZpZWQgaG9zdCBuYW1lIiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTIyMzogY2hlY2tpbmcgZm9yIGRl ZmF1bHQgZnVsbHkgcXVhbGlmaWVkIGhvc3QgbmFtZSIgPiY1DQorZWNobyAi Y29uZmlndXJlOjEyNDU6IGNoZWNraW5nIGZvciBkZWZhdWx0IGZ1bGx5IHF1 YWxpZmllZCBob3N0IG5hbWUiID4mNQ0KIGlmIHRlc3QgLXogIiRGUUROIg0K IHRoZW4NCiAgICAgRlFETj1gaGVhZCAtMSBjb25mdGVzdC5vdXRgDQogZmkN CiBlY2hvICIkYWNfdCIiJEZRRE4iIDE+JjYNCiBlY2hvICRhY19uICJjaGVj a2luZyBmb3IgZGVmYXVsdCBVUkwgaG9zdCBjb21wb25lbnQiIi4uLiAkYWNf YyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMjMwOiBjaGVja2luZyBmb3Ig ZGVmYXVsdCBVUkwgaG9zdCBjb21wb25lbnQiID4mNQ0KK2VjaG8gImNvbmZp Z3VyZToxMjUyOiBjaGVja2luZyBmb3IgZGVmYXVsdCBVUkwgaG9zdCBjb21w b25lbnQiID4mNQ0KIGlmIHRlc3QgLXogIiRVUkwiDQogdGhlbg0KICAgICBV Ukw9YHRhaWwgLTEgY29uZnRlc3Qub3V0YA0KQEAgLTEyMzgsMTIgKzEyNjAs MTIgQEANCiBmb3IgYWNfZnVuYyBpbiBzdHJlcnJvcg0KIGRvDQogZWNobyAk YWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYN Ci1lY2hvICJjb25maWd1cmU6MTI0MjogY2hlY2tpbmcgZm9yICRhY19mdW5j IiA+JjUNCitlY2hvICJjb25maWd1cmU6MTI2NDogY2hlY2tpbmcgZm9yICRh Y19mdW5jIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNf Y3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBl Y2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNh dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMjQ3ICJjb25m aWd1cmUiDQorI2xpbmUgMTI2OSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJj b25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1 YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxv dy4gICovDQpAQCAtMTI2Niw3ICsxMjg4LDcgQEANCiANCiA7IHJldHVybiAw OyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjcwOiBc IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm IHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29u ZmlndXJlOjEyOTI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KICAgcm0g LXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15 ZXMiDQogZWxzZQ0KQEAgLTEyOTMsNyArMTMxNSw3IEBADQogDQogIyBDaGVj a3MgZm9yIGhlYWRlciBmaWxlcy4NCiBlY2hvICRhY19uICJjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIiLi4uICRhY19jIiAxPiY2 DQotZWNobyAiY29uZmlndXJlOjEyOTc6IGNoZWNraW5nIGhvdyB0byBydW4g dGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUNCitlY2hvICJjb25maWd1cmU6MTMx OTogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiID4m NQ0KICMgT24gU3Vucywgc29tZXRpbWVzICRDUFAgbmFtZXMgYSBkaXJlY3Rv cnkuDQogaWYgdGVzdCAtbiAiJENQUCIgJiYgdGVzdCAtZCAiJENQUCI7IHRo ZW4NCiAgIENQUD0NCkBAIC0xMzA4LDEzICsxMzMwLDEzIEBADQogICAjIE9u IHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNv bXBpbGVyJ3MgcGFyc2VyLA0KICAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4N CiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMzEy ICJjb25maWd1cmUiDQorI2xpbmUgMTMzNCAiY29uZmlndXJlIg0KICNpbmNs dWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxhc3NlcnQuaD4NCiBTeW50 YXggRXJyb3INCiBFT0YNCiBhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFj X2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Ig0KLXsgKGV2YWwgZWNo byBjb25maWd1cmU6MTMxODogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRh Y190cnkpIDI+JjU7IH0NCit7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNDA6 IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQog YWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXRgDQogaWYgdGVz dCAteiAiJGFjX2VyciI7IHRoZW4NCiAgIDoNCkBAIC0xMzI1LDEzICsxMzQ3 LDEzIEBADQogICBybSAtcmYgY29uZnRlc3QqDQogICBDUFA9IiR7Q0MtY2N9 IC1FIC10cmFkaXRpb25hbC1jcHAiDQogICBjYXQgPiBjb25mdGVzdC4kYWNf ZXh0IDw8RU9GDQotI2xpbmUgMTMyOSAiY29uZmlndXJlIg0KKyNsaW5lIDEz NTEgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAjaW5j bHVkZSA8YXNzZXJ0Lmg+DQogU3ludGF4IEVycm9yDQogRU9GDQogYWNfdHJ5 PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0 ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29uZmlndXJlOjEzMzU6IFwiJGFj X3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZh bCBlY2hvIGNvbmZpZ3VyZToxMzU3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2 YWwgJGFjX3RyeSkgMj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycg Y29uZnRlc3Qub3V0YA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQog ICA6DQpAQCAtMTM1NCwxMiArMTM3NiwxMiBAQA0KIGVjaG8gIiRhY190IiIk Q1BQIiAxPiY2DQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIEFOU0kg QyBoZWFkZXIgZmlsZXMiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxMzU4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIg PiY1DQorZWNobyAiY29uZmlndXJlOjEzODA6IGNoZWNraW5nIGZvciBBTlNJ IEMgaGVhZGVyIGZpbGVzIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8g JyQnJ3snYWNfY3ZfaGVhZGVyX3N0ZGMnK3NldH0nYFwiID0gc2V0IjsgdGhl bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTM2 MyAiY29uZmlndXJlIg0KKyNsaW5lIDEzODUgImNvbmZpZ3VyZSINCiAjaW5j bHVkZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogI2lu Y2x1ZGUgPHN0ZGFyZy5oPg0KQEAgLTEzNjcsNyArMTM4OSw3IEBADQogI2lu Y2x1ZGUgPGZsb2F0Lmg+DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0 ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17IChl dmFsIGVjaG8gY29uZmlndXJlOjEzNzE6IFwiJGFjX3RyeVwiKSAxPiY1OyAo ZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZpZ3Vy ZToxMzkzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4m NTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0YA0K IGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAtcmYgY29uZnRl c3QqDQpAQCAtMTM4NCw3ICsxNDA2LDcgQEANCiBpZiB0ZXN0ICRhY19jdl9o ZWFkZXJfc3RkYyA9IHllczsgdGhlbg0KICAgIyBTdW5PUyA0Lnggc3RyaW5n LmggZG9lcyBub3QgZGVjbGFyZSBtZW0qLCBjb250cmFyeSB0byBBTlNJLg0K IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMzg4ICJj b25maWd1cmUiDQorI2xpbmUgMTQxMCAiY29uZmlndXJlIg0KICNpbmNsdWRl ICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzdHJpbmcuaD4NCiBFT0YNCkBA IC0xNDAyLDcgKzE0MjQsNyBAQA0KIGlmIHRlc3QgJGFjX2N2X2hlYWRlcl9z dGRjID0geWVzOyB0aGVuDQogICAjIElTQyAyLjAuMiBzdGRsaWIuaCBkb2Vz IG5vdCBkZWNsYXJlIGZyZWUsIGNvbnRyYXJ5IHRvIEFOU0kuDQogY2F0ID4g Y29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0MDYgImNvbmZpZ3Vy ZSINCisjbGluZSAxNDI4ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZk ZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KIEVPRg0KQEAgLTE0MjMs NyArMTQ0NSw3IEBADQogICA6DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3Qu JGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0MjcgImNvbmZpZ3VyZSINCisjbGlu ZSAxNDQ5ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQog I2luY2x1ZGUgPGN0eXBlLmg+DQogI2RlZmluZSBJU0xPV0VSKGMpICgnYScg PD0gKGMpICYmIChjKSA8PSAneicpDQpAQCAtMTQzNCw3ICsxNDU2LDcgQEAN CiBleGl0ICgwKTsgfQ0KIA0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25m aWd1cmU6MTQzODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0 OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1 cmU6MTQ2MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykg Mj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBl eGl0KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAgIDoNCiBlbHNlDQpAQCAtMTQ2 MSwxNyArMTQ4MywxNyBAQA0KIGRvDQogYWNfc2FmZT1gZWNobyAiJGFjX2hk ciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgDQogZWNobyAkYWNfbiAiY2hlY2tp bmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxNDY1OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1DQorZWNobyAi Y29uZmlndXJlOjE0ODc6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUNCiBp ZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19z YWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihj YWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3Qu JGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE0NzAgImNvbmZpZ3VyZSINCisjbGlu ZSAxNDkyICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQog I2luY2x1ZGUgPCRhY19oZHI+DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNv bmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17 IChldmFsIGVjaG8gY29uZmlndXJlOjE0NzU6IFwiJGFjX3RyeVwiKSAxPiY1 OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZp Z3VyZToxNDk3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkg Mj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0 YA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAtcmYgY29u ZnRlc3QqDQpAQCAtMTUwMCwxMiArMTUyMiwxMiBAQA0KIA0KICMgQ2hlY2tz IGZvciB0eXBlZGVmcywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJh Y3RlcmlzdGljcy4NCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdWlkX3Qg aW4gc3lzL3R5cGVzLmgiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp Z3VyZToxNTA0OiBjaGVja2luZyBmb3IgdWlkX3QgaW4gc3lzL3R5cGVzLmgi ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNTI2OiBjaGVja2luZyBmb3IgdWlk X3QgaW4gc3lzL3R5cGVzLmgiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo byAnJCcneydhY19jdl90eXBlX3VpZF90JytzZXR9J2BcIiA9IHNldCI7IHRo ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz ZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE1 MDkgImNvbmZpZ3VyZSINCisjbGluZSAxNTMxICJjb25maWd1cmUiDQogI2lu Y2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0K IEVPRg0KQEAgLTE1MzQsNyArMTU1Niw3IEBADQogZmkNCiANCiBlY2hvICRh Y19uICJjaGVja2luZyB0eXBlIG9mIGFycmF5IGFyZ3VtZW50IHRvIGdldGdy b3VwcyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjE1Mzg6 IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3JvdXBz IiA+JjUNCitlY2hvICJjb25maWd1cmU6MTU2MDogY2hlY2tpbmcgdHlwZSBv ZiBhcnJheSBhcmd1bWVudCB0byBnZXRncm91cHMiID4mNQ0KIGlmIGV2YWwg InRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX2dldGdyb3Vwcycrc2V0 fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAk YWNfYyIgMT4mNg0KIGVsc2UNCkBAIC0xNTQyLDcgKzE1NjQsNyBAQA0KICAg YWNfY3ZfdHlwZV9nZXRncm91cHM9Y3Jvc3MNCiBlbHNlDQogICBjYXQgPiBj b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTU0NiAiY29uZmlndXJl Ig0KKyNsaW5lIDE1NjggImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRl ZnMuaCINCiANCiAvKiBUaGFua3MgdG8gTWlrZSBSZW5kZWxsIGZvciB0aGlz IHRlc3QuICAqLw0KQEAgLTE1NjcsNyArMTU4OSw3IEBADQogfQ0KIA0KIEVP Rg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTU3MTogXCIkYWNfbGlu a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z IGNvbmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0K K2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTU5MzogXCIkYWNfbGlua1wi KSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv bmZ0ZXN0ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRo ZW4NCiAgICAgYWNfY3ZfdHlwZV9nZXRncm91cHM9Z2lkX3QNCiBlbHNlDQpA QCAtMTU4MSw3ICsxNjAzLDcgQEANCiANCiBpZiB0ZXN0ICRhY19jdl90eXBl X2dldGdyb3VwcyA9IGNyb3NzOyB0aGVuDQogICAgICAgICBjYXQgPiBjb25m dGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTU4NSAiY29uZmlndXJlIg0K KyNsaW5lIDE2MDcgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMu aCINCiAjaW5jbHVkZSA8dW5pc3RkLmg+DQogRU9GDQpAQCAtMTYwNywxMiAr MTYyOSwxMiBAQA0KIA0KICMgQ2hlY2tzIGZvciBsaWJyYXJ5IGZ1bmN0aW9u cy4NCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdnByaW50ZiIiLi4uICRh Y19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjE2MTE6IGNoZWNraW5nIGZv ciB2cHJpbnRmIiA+JjUNCitlY2hvICJjb25maWd1cmU6MTYzMzogY2hlY2tp bmcgZm9yIHZwcmludGYiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAn JCcneydhY19jdl9mdW5jX3ZwcmludGYnK3NldH0nYFwiID0gc2V0IjsgdGhl bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTYx NiAiY29uZmlndXJlIg0KKyNsaW5lIDE2MzggImNvbmZpZ3VyZSINCiAjaW5j bHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs DQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdnByaW50Zigp OyBiZWxvdy4gICovDQpAQCAtMTYzNSw3ICsxNjU3LDcgQEANCiANCiA7IHJl dHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTox NjM5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1 OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCitpZiB7IChldmFsIGVj aG8gY29uZmlndXJlOjE2NjE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0K ICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY192cHJp bnRmPXllcyINCiBlbHNlDQpAQCAtMTY1OSwxMiArMTY4MSwxMiBAQA0KIA0K IGlmIHRlc3QgIiRhY19jdl9mdW5jX3ZwcmludGYiICE9IHllczsgdGhlbg0K IGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfZG9wcm50IiIuLi4gJGFjX2Mi IDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTY2MzogY2hlY2tpbmcgZm9yIF9k b3BybnQiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNjg1OiBjaGVja2luZyBm b3IgX2RvcHJudCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7 J2FjX2N2X2Z1bmNfX2RvcHJudCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAg IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxNjY4ICJj b25maWd1cmUiDQorI2xpbmUgMTY5MCAiY29uZmlndXJlIg0KICNpbmNsdWRl ICJjb25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfZG9wcm50KCk7IGJl bG93LiAgKi8NCkBAIC0xNjg3LDcgKzE3MDksNyBAQA0KIA0KIDsgcmV0dXJu IDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE2OTE6 IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g JiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBj b25maWd1cmU6MTcxMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuDQogICBy bSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9mdW5jX19kb3BybnQ9 eWVzIg0KIGVsc2UNCkBAIC0xODcxLDYgKzE4OTMsNyBAQA0KIHMlQE1BSUxN QU5fR0lEQCUkTUFJTE1BTl9HSUQlZw0KIHMlQE1BSUxfR0lEQCUkTUFJTF9H SUQlZw0KIHMlQENHSV9HSURAJSRDR0lfR0lEJWcNCitzJUBDR0lFWFRAJSRD R0lFWFQlZw0KIHMlQEZRRE5AJSRGUUROJWcNCiBzJUBVUkxAJSRVUkwlZw0K IHMlQENQUEAlJENQUCVnDQpkaWZmIC1icnVOIG1haWxtYW4ub3JpZy9jb25m aWd1cmUuaW4gbWFpbG1hbi9jb25maWd1cmUuaW4NCi0tLSBtYWlsbWFuLm9y aWcvY29uZmlndXJlLmluCVNhdCBBdWcgIDggMTQ6MTU6MjggMTk5OA0KKysr IG1haWxtYW4vY29uZmlndXJlLmluCU1vbiBBdWcgMzEgMTM6NTA6MDYgMTk5 OA0KQEAgLTI1NSw2ICsyNTUsMjAgQEANCiANCiAjTU1fRklORF9VU0VSX0lE KEFMSUFTX1VJRCwgbWFpbG1hbiwgYWxpYXNfd3JhcHBlcikNCiAjTU1fRklO RF9HUk9VUF9JRChBTElBU19HSUQsIG1haWwsIGFsaWFzX3dyYXBwZXIpDQor DQorIyBDR0kgZXh0ZW5zaW9uIGNoZWNraW5nDQorQUNfU1VCU1QoQ0dJRVhU KQ0KK0FDX01TR19DSEVDS0lORyhmb3IgQ0dJIGV4dGVuc2lvbikNCitBQ19B UkdfV0lUSChjZ2ktZXh0LCBbDQorCS0td2l0aC1jZ2ktZXh0ICAgICAgICBz cGVjaWZ5IGV4dGVuc2lvbnMgb2YgQ0dJIHByb2dyYW1zXSkNCitpZiB0ZXN0 IC16ICIkd2l0aF9jZ2lfZXh0Ig0KK3RoZW4NCisgICAgQ0dJRVhUPScnDQor ICAgIHdpdGhfY2dpX2V4dD0nbm8nDQorZWxzZQ0KKyAgICBDR0lFWFQ9JHdp dGhfY2dpX2V4dA0KK2ZpDQorQUNfTVNHX1JFU1VMVCgkd2l0aF9jZ2lfZXh0 KQ0KIA0KICMgZmlndXJlIG91dCB0aGUgREVGQVVMVF9IT1NUX05BTUUgYW5k IERFRkFVTFRfVVJMDQogQUNfU1VCU1QoRlFETikNCmRpZmYgLWJydU4gbWFp bG1hbi5vcmlnL3NjcmlwdHMvTWFrZWZpbGUuaW4gbWFpbG1hbi9zY3JpcHRz L01ha2VmaWxlLmluDQotLS0gbWFpbG1hbi5vcmlnL3NjcmlwdHMvTWFrZWZp bGUuaW4JU2F0IEF1ZyAgOCAxNDoxOTo1NCAxOTk4DQorKysgbWFpbG1hbi9z Y3JpcHRzL01ha2VmaWxlLmluCU1vbiBBdWcgMzEgMTM6NTA6MDYgMTk5OA0K QEAgLTMxLDYgKzMxLDcgQEANCiBDQz0JCUBDQ0ANCiBDSE1PRD0gIAlAQ0hN T0RADQogSU5TVEFMTD0JQElOU1RBTExADQorQ0dJRVhUPQkJQENHSUVYVEAN CiANCiBERUZTPSAgIAlAREVGU0ANCiANCmRpZmYgLWJydU4gbWFpbG1hbi5v cmlnL3NyYy9NYWtlZmlsZS5pbiBtYWlsbWFuL3NyYy9NYWtlZmlsZS5pbg0K LS0tIG1haWxtYW4ub3JpZy9zcmMvTWFrZWZpbGUuaW4JU2F0IEF1ZyAgOCAx NDoyMDoxNiAxOTk4DQorKysgbWFpbG1hbi9zcmMvTWFrZWZpbGUuaW4JTW9u IEF1ZyAzMSAxMzo1MDowNiAxOTk4DQpAQCAtNDUsNyArNDUsNyBAQA0KIE9Q VD0JCUBPUFRADQogQ0ZMQUdTPQkJJChPUFQpICQoREVGUykNCiBDR0lESVI9 IAkkKGV4ZWNfcHJlZml4KS9jZ2ktYmluDQotQ0dJRVhUPQkJDQorQ0dJRVhU PQkJQENHSUVYVEANCiBNQUlMRElSPQkkKGV4ZWNfcHJlZml4KS9tYWlsDQog DQogU0hFTEw9CQkvYmluL3NoDQo= ---456965764-1528156929-905469768=:8757-- From julian7@kva.hu Fri Sep 11 00:29:31 1998 From: julian7@kva.hu (Nagy Balazs) Date: Fri, 11 Sep 1998 01:29:31 +0200 (CEST) Subject: [Mailman-Developers] qmail patch [add-on] Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-1258604244-905470171=:8880 Content-Type: TEXT/PLAIN; charset=US-ASCII This patch sets everything for the usage with qmail. It can be turned off (default). To be switched on you have to edit mm_cfg's QMAIL variable. This is a temp. hack, it can be generalized for sendmail or such other MDAs. Please apply it. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-1258604244-905470171=:8880 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-qmail.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mailman-qmail.patch Content-Disposition: attachment; filename="mailman-qmail.patch" ZGlmZiAtYnJ1TiBtYWlsbWFuLm9yaWcvTWFpbG1hbi9PdXRnb2luZ1F1ZXVl LnB5IG1haWxtYW4vTWFpbG1hbi9PdXRnb2luZ1F1ZXVlLnB5DQotLS0gbWFp bG1hbi5vcmlnL01haWxtYW4vT3V0Z29pbmdRdWV1ZS5weQlTYXQgQXVnICA4 IDE0OjE2OjM5IDE5OTgNCisrKyBtYWlsbWFuL01haWxtYW4vT3V0Z29pbmdR dWV1ZS5weQlNb24gQXVnIDMxIDEzOjUwOjA2IDE5OTgNCkBAIC0yMCw3ICsy MCwxNCBAQA0KIA0KIFRFTVBMQVRFID0gIm1tX3EuIg0KIA0KK3RyeToNCisg ICAgaXNRbWFpbCA9IG1tX2NmZy5RTUFJTA0KK2V4Y2VwdDoNCisgICAgaXNR bWFpbCA9IDANCisNCiBkZWYgZGVxdWV1ZU1lc3NhZ2UobXNnKToNCisgICAg aWYgaXNRbWFpbDoNCisJcmV0dXJuDQogICAgIGltcG9ydCBvcw0KICAgICBv cy51bmxpbmsobXNnKQ0KIA0KQEAgLTM5LDYgKzQ2LDggQEANCiAgICAgICAg IA0KICAgICAgICAgICAgIA0KIGRlZiBlbnF1ZXVlTWVzc2FnZSh0aGVfc2Vu ZGVyLCByZWNpcCwgdGV4dCk6DQorICAgIGlmIGlzUW1haWw6DQorCXJldHVy biAiIg0KICAgICB0ZW1wZmlsZS50ZW1wZGlyID0gbW1fY2ZnLkRBVEFfRElS DQogICAgIHRlbXBmaWxlLnRlbXBsYXRlID0gVEVNUExBVEUNCiAgICAgZm5h bWUgPSB0ZW1wZmlsZS5ta3RlbXAoKQ0KZGlmZiAtYnJ1TiBtYWlsbWFuLm9y aWcvTWFpbG1hbi9VdGlscy5weSBtYWlsbWFuL01haWxtYW4vVXRpbHMucHkN Ci0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9VdGlscy5weQlTYXQgQXVnICA4 IDE0OjE2OjQ2IDE5OTgNCisrKyBtYWlsbWFuL01haWxtYW4vVXRpbHMucHkJ TW9uIEF1ZyAzMSAxNDo1Mzo0NyAxOTk4DQpAQCAtMTk0LDYgKzE5NCwyMSBA QA0KICAgICAgICAgb3MuX2V4aXQoMCkNCiANCiBkZWYgVHJ5U01UUERlbGl2 ZXJ5KHJlY2lwaWVudCwgc2VuZGVyLCB0ZXh0LCBxdWV1ZV9lbnRyeSk6DQor ICAgIGZyb20gdHlwZXMgaW1wb3J0ICoNCisgICAgaW1wb3J0IE91dGdvaW5n UXVldWUNCisgICAgaWYgdHlwZShtbV9jZmcuUU1BSUwpOg0KKwlpZiB0eXBl KHJlY2lwaWVudCkgPT0gU3RyaW5nVHlwZToNCisJICAgIHRvYyA9IHJlY2lw aWVudA0KKwllbHNlOg0KKwkgICAgdG9jID0gc3RyaW5nLmpvaW4ocmVjaXBp ZW50LCAnICcpDQorCXRyeToNCisJICAgIHBpcGUgPSBvcy5wb3BlbigiL3Zh ci9xbWFpbC9iaW4vcW1haWwtaW5qZWN0IC1mICVzICVzIiAlIChzZW5kZXIs dG9jKSwgInciKQ0KKwkgICAgcGlwZS53cml0ZSh0ZXh0KQ0KKwkgICAgcGlw ZS5jbG9zZSgpDQorCSAgICBPdXRnb2luZ1F1ZXVlLmRlcXVldWVNZXNzYWdl KHF1ZXVlX2VudHJ5KQ0KKwlmaW5hbGx5Og0KKwkgICAgcGFzcw0KKwlyZXR1 cm4NCiAgICAgaW1wb3J0IHN5cywgc29ja2V0DQogICAgIGltcG9ydCBzbXRw bGliDQogICAgIGltcG9ydCBPdXRnb2luZ1F1ZXVlDQpkaWZmIC1icnVOIG1h aWxtYW4ub3JpZy9NYWlsbWFuL21tX2NmZy5weS5pbiBtYWlsbWFuL01haWxt YW4vbW1fY2ZnLnB5LmluDQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vbW1f Y2ZnLnB5LmluCVNhdCBBdWcgIDggMTQ6MTY6NTQgMTk5OA0KKysrIG1haWxt YW4vTWFpbG1hbi9tbV9jZmcucHkuaW4JTW9uIEF1ZyAzMSAxMzo1NDozNiAx OTk4DQpAQCAtNTMsNyArNTMsOSBAQA0KIE1BSUxNQU5fT1dORVIgICAgID0g J21haWxtYW4tb3duZXJAJXMnICUgREVGQVVMVF9IT1NUX05BTUUNCiANCiBQ VUJMSUNfQVJDSElWRV9VUkwgPSAnL3BpcGVybWFpbCcNCiBQUklWQVRFX0FS Q0hJVkVfVVJMID0gJy9tYWlsbWFuL3ByaXZhdGVAQ0dJRVhUQCcNCisNCitR TUFJTCAgICAgICAgICAgICAgPSAwDQogDQogIyBOb3RlIC0gaWYgeW91J3Jl IGxvb2tpbmcgZm9yIHNvbWV0aGluZyB0aGF0IGlzIGltcG9ydGVkIGZyb20g bW1fY2ZnLCBidXQgeW91DQogIyBkaWRuJ3QgZmluZCBpdCBhYm92ZSwgaXQn cyBwcm9iYWJseSBpbiBEZWZhdWx0cy5weS4NCmRpZmYgLWJydU4gbWFpbG1h bi5vcmlnL2NvbmZpZ3VyZSBtYWlsbWFuL2NvbmZpZ3VyZQ0KLS0tIG1haWxt YW4ub3JpZy9jb25maWd1cmUJU2F0IEF1ZyAgOCAxNDoxNToyNSAxOTk4DQor KysgbWFpbG1hbi9jb25maWd1cmUJTW9uIEF1ZyAzMSAxMzo1MDowNiAxOTk4 DQpAQCAtMTA3OCw3ICsxMDc4LDcgQEANCiAgICAgaWYgZXZhbCAidGVzdCBc ImBlY2hvICckJyd7J2FjX2N2X2dyb3VwX21haWwnK3NldH0nYFwiID0gc2V0 IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYN CiBlbHNlDQotICAgICAgYWNfY3ZfZ3JvdXBfbWFpbD0ib3RoZXIgbWFpbCBk YWVtb24iDQorICAgICAgYWNfY3ZfZ3JvdXBfbWFpbD0ibm9maWxlcyBvdGhl ciBtYWlsIGRhZW1vbiINCiBmaQ0KIA0KIGVsc2UNCmRpZmYgLWJydU4gbWFp bG1hbi5vcmlnL2NvbmZpZ3VyZS5pbiBtYWlsbWFuL2NvbmZpZ3VyZS5pbg0K LS0tIG1haWxtYW4ub3JpZy9jb25maWd1cmUuaW4JU2F0IEF1ZyAgOCAxNDox NToyOCAxOTk4DQorKysgbWFpbG1hbi9jb25maWd1cmUuaW4JTW9uIEF1ZyAz MSAxMzo1MDowNiAxOTk4DQpAQCAtMjEzLDcgKzIxMyw3IEBADQogaWYgdGVz dCAteiAiJHdpdGhfbWFpbF9naWQiDQogdGhlbg0KICAgICBBQ19DQUNIRV9W QUwoYWNfY3ZfZ3JvdXBfbWFpbCwgW2RubA0KLSAgICBhY19jdl9ncm91cF9t YWlsPSJvdGhlciBtYWlsIGRhZW1vbiJdKQ0KKyAgICBhY19jdl9ncm91cF9t YWlsPSJub2ZpbGVzIG90aGVyIG1haWwgZGFlbW9uIl0pDQogZWxzZQ0KICAg ICBhY19jdl9ncm91cF9tYWlsPSR3aXRoX21haWxfZ2lkDQogZmkNCg== ---456965764-1258604244-905470171=:8880-- From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Fri Sep 11 00:52:55 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 10 Sep 1998 19:52:55 -0400 (EDT) Subject: [Mailman-Developers] cgi extensions [add-on] References: Message-ID: <13816.26199.912453.441364@anthem.cnri.reston.va.us> Guys, Quick note to thank y'all for all the patches. I've been burning the midnight oil trying to finish up our Mailman paper, and John and Ken have also been busy with various things. I think after this is all done we're going to make a concerted push to address the patches and issues, get another release out, and strive for stability. Stay tuned! -Barry From cklempay@acm.jhu.edu Sat Sep 12 22:00:43 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Sat, 12 Sep 1998 17:00:43 -0400 (EDT) Subject: [Mailman-Developers] run_queue problems... Message-ID: Seen this before? -- Date: Sat, 12 Sep 1998 16:42:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/run_queue Traceback (innermost last): File "/home/mailman/cron/run_queue", line 31, in ? OutgoingQueue.processQueue() File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue Utils.TrySMTPDelivery(recip,sender,text,full_fname) File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery con.send(to=recipient,frm=sender,text=text) File "/home/mailman/Mailman/smtplib.py", line 101, in send self.getresp() File "/home/mailman/Mailman/smtplib.py", line 146, in getresp raise bad, resp smtplib.error_proto: 503 Need RCPT (recipient) From cklempay@acm.jhu.edu Sun Sep 13 06:13:16 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Sun, 13 Sep 1998 01:13:16 -0400 (EDT) Subject: [Mailman-Developers] Eeek! Message-ID: I'm getting this run_queue problem emailed to me _every half hour_...yipes! ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "Outside of every thin woman is a fat man trying to get in." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Sun, 13 Sep 1998 01:12:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/run_queue Traceback (innermost last): File "/home/mailman/cron/run_queue", line 31, in ? OutgoingQueue.processQueue() File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue Utils.TrySMTPDelivery(recip,sender,text,full_fname) File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery con.send(to=recipient,frm=sender,text=text) File "/home/mailman/Mailman/smtplib.py", line 101, in send self.getresp() File "/home/mailman/Mailman/smtplib.py", line 146, in getresp raise bad, resp smtplib.error_proto: 503 Need RCPT (recipient) From dragondm@delta.integral.org Sun Sep 13 20:24:11 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Sun, 13 Sep 1998 14:24:11 -0500 (CDT) Subject: [Mailman-Developers] Eeek! In-Reply-To: Message-ID: On Sun, 13 Sep 1998, Corbett J. Klempay wrote: > I'm getting this run_queue problem emailed to me _every half > hour_...yipes! There is a message with no recipients, or all bad local recipients stuck in the outgoing queue. look for a mm_q file in the data directory, and remove it. (the next thing will be to figure out how this happened) > ---------- Forwarded message ---------- > Date: Sun, 13 Sep 1998 01:12:01 -0400 > From: Cron Daemon > To: mailman@chimera.acm.jhu.edu > Subject: Cron /usr/local/bin/python > /home/mailman/cron/run_queue > > Traceback (innermost last): > File "/home/mailman/cron/run_queue", line 31, in ? > OutgoingQueue.processQueue() > File "/home/mailman/Mailman/OutgoingQueue.py", line 38, in processQueue > Utils.TrySMTPDelivery(recip,sender,text,full_fname) > File "/home/mailman/Mailman/Utils.py", line 201, in TrySMTPDelivery > con.send(to=recipient,frm=sender,text=text) > File "/home/mailman/Mailman/smtplib.py", line 101, in send > self.getresp() > File "/home/mailman/Mailman/smtplib.py", line 146, in getresp > raise bad, resp > smtplib.error_proto: 503 Need RCPT (recipient) > > > _______________________________________________ > Mailman-Developers maillist - Mailman-Developers@python.org > http://www.python.org/mailman/listinfo/mailman-developers > -The Dragon De Monsyne From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Mon Sep 14 22:54:16 1998 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Mon, 14 Sep 1998 17:54:16 -0400 (EDT) Subject: [Mailman-Developers] CVS account and password Message-ID: <13821.37000.770741.233829@anthem.cnri.reston.va.us> There will be a small change in anonymous CVS access to the Mailman stuff. The new username is `mailmancvs' and the new password is `dogbyte'. The old username and password will continue to work for a little while, but it will eventually be disabled. Please change your setup accordingly (you may need to re-login). Let me know if you have any problems. Thanks, -Barry From scott@chronis.icgroup.com Fri Sep 18 20:35:56 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 15:35:56 -0400 Subject: [Mailman-Developers] -admin mail loop Message-ID: <19980918153556.41267@chronis.icgroup.com> I set up mailman recently (v.1.0b5) with python v1.5.1 and administor the site. There is a list run on the site with 3 list administrtors. One administrators mailbox filled up, and error messages went back to the -admin address, causing a mailloop. What's the status on -admin address bounce control? Anything I can do to help further it along? scott From scott@chronis.icgroup.com Fri Sep 18 21:29:01 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 16:29:01 -0400 Subject: [Mailman-Developers] -admin mail loop In-Reply-To: <19980918153556.41267@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 03:35:56PM -0400 References: <19980918153556.41267@chronis.icgroup.com> Message-ID: <19980918162901.19894@chronis.icgroup.com> Should this be happening? Sep 16 11:29:19 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 91470 secs Sep 16 11:50:15 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 90214 secs Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs Sep 16 13:10:57 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 85372 secs Sep 16 13:23:55 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84594 secs Sep 16 13:29:52 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84237 secs Sep 16 13:30:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84198 secs Sep 16 13:59:00 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 82489 secs . [many more entries] . . Sep 17 13:22:38 1998 Forpigssake: pigtrnr@aol.com - exceeded limits Sep 17 13:22:39 1998 Forpigssake: disabled pigtrnr@aol.com scott On Fri, Sep 18, 1998 at 03:35:56PM -0400, Scott wrote: | | I set up mailman recently (v.1.0b5) with python v1.5.1 and administor | the site. There is a list run on the site with 3 list | administrtors. One administrators mailbox filled up, and error | messages went back to the -admin address, causing a mailloop. | | What's the status on -admin address bounce control? Anything I can do | to help further it along? | | scott | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From scott@chronis.icgroup.com Fri Sep 18 22:56:38 1998 From: scott@chronis.icgroup.com (Scott) Date: Fri, 18 Sep 1998 17:56:38 -0400 Subject: [Mailman-Developers] -admin mail loop In-Reply-To: <19980918162901.19894@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 04:29:01PM -0400 References: <19980918153556.41267@chronis.icgroup.com> <19980918162901.19894@chronis.icgroup.com> Message-ID: <19980918175638.14912@chronis.icgroup.com> Wouldn't it make sense to have the -admin address NOT set the envelope sender to -admin, but to pass the original envelope sender through? If this change was made, any person who mailed a -admin address that was down would receive the error message (rather than the defunct -admin address receiving its own error messages ). If a subscriber address were to become defunct and bounce, then the error message directed to the -admin address would have <> or mailer daemon or some such as the envelope sender. If the -admin address is defunct and preserved the original envelope sender, then the doubly bounced message would bounced back to the mailer daemon of the original error reporting MTA, which again wouldn't cause a loop or present any unusual problems. The question then is how would it effect messages automatically sent to the -admin address by mailman itself? Messages to approve or deny questionable post requests, and/or sending the passwords to the -admin address (if the option is set) would have to have an envelope sender set to something other than the -admin address. here we have a few options: 1) set the envelope sender to mailman-owner: this is intuitive, since it is mailman itself generating these messages. It is also a much safer bet that the mailman-owner address is functional than that all the -admin addresses are functional. 2) set the envelope sender to -request. This is also sortof intuitive since this class of messages are requests regarding the list. However, when messages to a -admin address bounce, the error message would be directed back to the -request address, which I believe would in turn respond to the mailer daemon of the MTA reporting the error with the -admin address. Confusing, but still no nasty mail loops like some of us have experienced. 3) set the envelope sender to a (new) system-wide -admin delivery error collecting address. something like mailman-owner-admin-errors. This would gracefully collect all the error messages in one place for examining. I don't like the look of "mailman-owner-admin-delivery-error-collector" or anything else I can think of with this functionality as an alias though. If we settle on a solution, I'll volunteer to do the coding. IMO the best of the above 3 options is #1. scott On Fri, Sep 18, 1998 at 04:29:01PM -0400, Scott wrote: | | Should this be happening? | | Sep 16 11:29:19 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 91470 secs | Sep 16 11:50:15 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 90214 secs | Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs | Sep 16 12:39:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 87259 secs | Sep 16 13:10:57 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 85372 secs | Sep 16 13:23:55 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84594 secs | Sep 16 13:29:52 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84237 secs | Sep 16 13:30:31 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 84198 secs | Sep 16 13:59:00 1998 Forpigssake: pigtrnr@aol.com - 0 more allowed over 82489 secs | . | [many more entries] | . | . | Sep 17 13:22:38 1998 Forpigssake: pigtrnr@aol.com - exceeded limits | Sep 17 13:22:39 1998 Forpigssake: disabled pigtrnr@aol.com | | | scott | | On Fri, Sep 18, 1998 at 03:35:56PM -0400, Scott wrote: | | | | I set up mailman recently (v.1.0b5) with python v1.5.1 and administor | | the site. There is a list run on the site with 3 list | | administrtors. One administrators mailbox filled up, and error | | messages went back to the -admin address, causing a mailloop. | | | | What's the status on -admin address bounce control? Anything I can do | | to help further it along? | | | | scott | | | | _______________________________________________ | | Mailman-Developers maillist - Mailman-Developers@python.org | | http://www.python.org/mailman/listinfo/mailman-developers | | | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From scott@chronis.icgroup.com Sun Sep 20 15:32:31 1998 From: scott@chronis.icgroup.com (Scott) Date: Sun, 20 Sep 1998 10:32:31 -0400 Subject: [Mailman-Developers] Re: -admin looping In-Reply-To: <19980918195210.48996@chronis.icgroup.com>; from Scott on Fri, Sep 18, 1998 at 07:52:10PM -0400 References: <19980918195210.48996@chronis.icgroup.com> Message-ID: <19980920103231.02506@chronis.icgroup.com> Hmm. I seem to have problems sending these messages. Below is a response I accidentally addressed to the -admin address. And here is yet another followup: The patch below will not function properly for lists whose subscriber list are identical to the owner address list. I don't think this is a normal situation, but it's probably best to make the change apply only to messages directed at the -admin address exclusively 100% of the time rather than 99.9+% of the time. At any rate, since I'm no longer in danger of getting into another -admin mail loop, I'll hold off until I hear something from one of the other subscribers on the list. I really hope this idea takes hold because as a mail administrator of an email forwarding service, I *know* it's a really bad idea to set the envelope sender of messages to a forwarding address (the -admin address) to the address itself. The envelope sender should be passed through. To leave the envelope sender the same is just inviting nasty mailloops... scott On Fri, Sep 18, 1998 at 07:52:10PM -0400, Scott wrote: | Sorry 'bout the headers on this guy, that's what happens when you mess | up in mutt have and 'edit_hdrs' set... | | | Anyway: | | On Fri, Sep 18, 1998 at 10:58:57PM +0000, Scott wrote: | | Wouldn't it make sense to have the -admin address NOT set the envelope | | sender to -admin, but to pass the original envelope sender through? | | | | If this change was made, any person who mailed a -admin address that | | was down would receive the error message (rather than the defunct | | -admin address receiving its own error messages ). | | | | If a subscriber address were to become defunct and bounce, then the | | error message directed to the -admin address would have <> or mailer | | daemon or some such as the envelope sender. If the -admin address is | | defunct and preserved the original envelope sender, then the doubly | | bounced message would bounced back to the mailer daemon of the | | original error reporting MTA, which again wouldn't cause a loop or | | present any unusual problems. | | | | The question then is how would it effect messages automatically sent | | to the -admin address by mailman itself? Messages to approve or deny | | questionable post requests, and/or sending the passwords to the | | -admin address (if the option is set) would have to have an envelope | | sender set to something other than the -admin address. here we have a | | few options: | | On second thought: with the idea of passing through the envelope | sender, I don't belive that messages generated by mailman need to be | altered at all, because any bounced message to a list owner address | will return to the -admin address only once, at which point the | envelope sender would no longer be "", but the mailer | daemon of the machine that bounced the message, so subsequent errors | would go to that postmaster. | | passing through the envelope senders may also cause errors with | mailers set up to disallow relaying, even in the event the connection | making the request is local. I think most mailers will allow this | *because* the connection *is* local, but some mailers or some | configurations may not. In this case, it makes sense to set the | envelope sender to mailman-owner. | | Below is a patch which sets the envelope sender to the sender of the | message being delivered to the -admin address. This will prevent | -admin bounces from causing a loop. If anyone wants to use this, and | they want to have the sender set to mailman-owner instead of the | original message sender, just replace "sender = msg.GetSender()" below | with "sender = "mailman-owner" and apply the patch. | | It is very bad to have -admin mail loops. | | scott | | -------------------------------------------------------------------------------- | patch -set envelope sender of messages to -admin to sender of those messages | -------------------------------------------------------------------------------- | *** Mailman/Deliverer.py Fri Sep 18 19:25:28 1998 | --- /share/src/mailman-1.0b5/Mailman/Deliverer.py Mon Jul 27 18:48:31 1998 | *************** | *** 58,71 **** | del msg['reply-to'] | msg.headers.append('Reply-To: %s\n' % self.GetListEmail()) | msg.headers.append('Sender: %s\n' % self.GetAdminEmail()) | ! # | ! # only add errors to -admin if the recipients aren't the | ! # list owners. we also set the envelope sender differently | ! # in this case below. avoidance of mail loops to -admin | ! # addresses must be strictly enforced. | ! # | ! if self.owner != recipients: | ! msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail()) | msg.headers.append('X-BeenThere: %s\n' % self.GetListEmail()) | | cmd = "%s %s" % (mm_cfg.PYTHON, | --- 58,64 ---- | del msg['reply-to'] | msg.headers.append('Reply-To: %s\n' % self.GetListEmail()) | msg.headers.append('Sender: %s\n' % self.GetAdminEmail()) | ! msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail()) | msg.headers.append('X-BeenThere: %s\n' % self.GetListEmail()) | | cmd = "%s %s" % (mm_cfg.PYTHON, | *************** | *** 73,92 **** | cmdproc = os.popen(cmd, 'w') | | cmdproc.write("%d\n" % self.num_spawns) | ! # | ! # mailowner script calls this method and lists recipients as the | ! # owner addresses of the list. When a -admin address forwards | ! # to a defunct address, this causes the resulting bounced | ! # messages to go back to the -admin address, and there's a mail | ! # loop. So we work around this by passing the | ! # envelope sender of the original message through in this case | ! # instead of setting it to the -admin address. | ! # | ! if self.owner == recipients: | ! sender = msg.GetSender() | ! else: | ! sender = self.GetAdminEmail() | ! cmdproc.write("%s\n" % sender) | for r in recipients: | # Mustn't send blank lines before end of recipients: | if not r: continue | --- 66,72 ---- | cmdproc = os.popen(cmd, 'w') | | cmdproc.write("%d\n" % self.num_spawns) | ! cmdproc.write("%s\n" % self.GetAdminEmail()) | for r in recipients: | # Mustn't send blank lines before end of recipients: | if not r: continue | | | | | | | From klm@python.org Sun Sep 20 19:05:03 1998 From: klm@python.org (Ken Manheimer) Date: Sun, 20 Sep 1998 14:05:03 -0400 (EDT) Subject: [Mailman-Developers] Mailman BOF at IPC 7? Message-ID: <13829.17038.33860.322036@glyph.cnri.reston.va.us> What would people think about having a birds-of-feather session for mailman developers (and users, etc) at the python conference, coming up in november? (See http://www.foretec.com/python/workshops/1998-11 for conference details.) I think it'd be worthwhile to get face to face with folks, and discuss the development process and handling contributions, futures, etc... ken manheimer klm@python.org From scott@chronis.icgroup.com Mon Sep 21 00:46:11 1998 From: scott@chronis.icgroup.com (Scott) Date: Sun, 20 Sep 1998 19:46:11 -0400 Subject: [Mailman-Developers] Mailman BOF at IPC 7? In-Reply-To: <13829.17038.33860.322036@glyph.cnri.reston.va.us>; from Ken Manheimer on Sun, Sep 20, 1998 at 02:05:03PM -0400 References: <13829.17038.33860.322036@glyph.cnri.reston.va.us> Message-ID: <19980920194611.35116@chronis.icgroup.com> What's that url?!? scott On Sun, Sep 20, 1998 at 02:05:03PM -0400, Ken Manheimer wrote: | What would people think about having a birds-of-feather session for | mailman developers (and users, etc) at the python conference, coming | up in november? (See http://www.foretec.com/python/workshops/1998-11 | for conference details.) I think it'd be worthwhile to get face to | face with folks, and discuss the development process and handling | contributions, futures, etc... | | ken manheimer | klm@python.org | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From cklempay@acm.jhu.edu Tue Sep 22 17:02:50 1998 From: cklempay@acm.jhu.edu (Corbett J. Klempay) Date: Tue, 22 Sep 1998 12:02:50 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests Message-ID: I seem to be getting daily messages from senddigests...it normally barfs with a little more info, but today's was this sparse...any file I can check/delete to cure this? ------------------------------------------------------------------------------- Corbett J. Klempay Quote of the Week: http://www2.acm.jhu.edu/~cklempay "The only difference between a rut and a grave are the dimensions." PGP Fingerprint: 7DA2 DB6E 7F5E 8973 A8E7 347B 2429 7728 76C2 BEA1 ------------------------------------------------------------------------------- ---------- Forwarded message ---------- Date: Tue, 22 Sep 1998 12:00:01 -0400 From: Cron Daemon To: mailman@chimera.acm.jhu.edu Subject: Cron /usr/local/bin/python /home/mailman/cron/senddigests deliver: parent uid 514, gid 100, egid 100 deliver child: uid 514, gid 100, egid 100 ContactTransport in... ContactTransport out... From klm@python.org Tue Sep 22 17:43:38 1998 From: klm@python.org (Ken Manheimer) Date: Tue, 22 Sep 1998 12:43:38 -0400 (EDT) Subject: [Mailman-Developers] /home/mailman/cron/senddigests In-Reply-To: Message-ID: On Tue, 22 Sep 1998, Corbett J. Klempay wrote: > I seem to be getting daily messages from senddigests...it normally barfs > with a little more info, but today's was this sparse...any file I can > check/delete to cure this? > [...] > ---------- Forwarded message ---------- > Date: Tue, 22 Sep 1998 12:00:01 -0400 > From: Cron Daemon > To: mailman@chimera.acm.jhu.edu > Subject: Cron /usr/local/bin/python > /home/mailman/cron/senddigests > > deliver: parent uid 514, gid 100, egid 100 > deliver child: uid 514, gid 100, egid 100 > ContactTransport in... > ContactTransport out... Whoops - corbett, this is from some residual debugging flags i put into your version of mailman, when i was trying to track down the linux permission problems (and, i gather, workaround for them - sounds like things are working for you now, for the most part). You should search in scripts/deliver for "deliver: parent uid" and for "deliver child: uid" for the prints and remove them, and search in scripts/contact_transport for "ContactTransport in..." and "ContactTransport out..." for the debugging prints, there. Sorry about the cruft! Also, sounds like there might be more - be on the lookout for it. In general i try to flag my debugging prints with "# DEBUG" at the end of the line, so you might try a grep for "DEBUG" through all the scripts to see if there's any more to remove. Let me know if you have troubles tracking it down, or questions... Ken From julian7@kva.hu Thu Sep 24 07:56:58 1998 From: julian7@kva.hu (Balazs Nagy) Date: Thu, 24 Sep 1998 08:56:58 +0200 (CEST) Subject: [Mailman-Developers] What about my patches? Message-ID: Hiyas, See $SUBJ. By the way I think Iam ready with administration email commands but the admin help isn't up to date. -- hacker: /n./ One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 From John@list.org Thu Sep 24 14:28:00 1998 From: John@list.org (John Viega) Date: Thu, 24 Sep 1998 06:28:00 -0700 Subject: [Mailman-Developers] What about my patches? In-Reply-To: ; from Balazs Nagy on Thu, Sep 24, 1998 at 08:56:58AM +0200 References: Message-ID: <19980924062800.F10397@viega.org> Nagy, They'll definitely be going in. Unfortunately, I'm still trying to make time to do it myself, and other people seem to be just as busy. *Please* hang in there, we definitely don't want you to bail out on us because we have so little time on our end... John On Thu, Sep 24, 1998 at 08:56:58AM +0200, Balazs Nagy wrote: > Hiyas, > > See $SUBJ. By the way I think Iam ready with administration email commands > but the admin help isn't up to date. > -- > hacker: /n./ One who enjoys the intellectual challenge of creatively > overcoming or circumventing limitations. > PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 > > > > _______________________________________________ > Mailman-Developers maillist - Mailman-Developers@python.org > http://www.python.org/mailman/listinfo/mailman-developers From Dan@feld.cvut.cz Fri Sep 25 19:38:49 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Fri, 25 Sep 1998 20:38:49 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion Message-ID: <199809251837.UAA06624@poli.feld.cvut.cz> I become sometimes irriting error messages cannot unlink....... by queue processing. So I sugest this modification of dequeue function def dequeueMessage(msg): import os try: os.unlink(msg) except: from Logging.StampedLogger import StampedLogger l = StampedLogger("queue", "DequeueMessage", immediate=1) l.write("Cannot remove:\t %s\n" % msg) l.flush() I currently dont know why this error happens, I still searching. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pocitac se od televizniho divaka lisi tim, ze ma vlastni program. From dragondm@delta.integral.org Fri Sep 25 22:16:47 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Fri, 25 Sep 1998 16:16:47 -0500 (CDT) Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <199809251837.UAA06624@poli.feld.cvut.cz> Message-ID: On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: > I become sometimes irriting error messages cannot unlink....... by > queue processing. So I sugest this modification of dequeue > function > > def dequeueMessage(msg): > import os > try: > os.unlink(msg) > except: > from Logging.StampedLogger import StampedLogger > l = StampedLogger("queue", "DequeueMessage", immediate=1) > l.write("Cannot remove:\t %s\n" % msg) > l.flush() > > I currently dont know why this error happens, I still searching. Oh, I know why this happens. It's related to the duplicate delivery problem. Another proccess has delivered the queued message out from under the first one. (and deleted the queue file, which is why the first process cannot delete the message. ) I've actually fixed this problem, by the simple expediant of making all of the Mailman programs simply queue, and not try to deliver, outgoing messages. Then I have a modified run_queue program that runs continuously, de-queueing and delivering messages. Works great, sofar. If anyone's interested in the diffs. let me know. (I mentioned this whence I first did this, bout a month ago, but noone seemed interested then. ) -The Dragon De Monsyne From Dan@feld.cvut.cz Sat Sep 26 20:38:30 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Sat, 26 Sep 1998 21:38:30 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: References: <199809251837.UAA06624@poli.feld.cvut.cz> Message-ID: <199809261937.VAA12660@poli.feld.cvut.cz> On 25 Sep 98, at 16:16, The Dragon De Monsyne wrote: > On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: > > > I become sometimes irriting error messages cannot unlink....... by > > queue processing. So I sugest this modification of dequeue > > function > > > > def dequeueMessage(msg): > > import os > > try: > > os.unlink(msg) > > except: > > from Logging.StampedLogger import StampedLogger > > l = StampedLogger("queue", "DequeueMessage", immediate=1) > > l.write("Cannot remove:\t %s\n" % msg) > > l.flush() > > > > I currently dont know why this error happens, I still searching. > > Oh, I know why this happens. It's related to the duplicate > delivery problem. Another proccess has delivered the queued message out > from under the first one. (and deleted the queue file, which is why the > first process cannot delete the message. ) Yes so it is probably done, but I think some messages, which are afected with this error aren't send duplicate. > > I've actually fixed this problem, by the simple expediant of > making all of the Mailman programs simply queue, and not try to deliver, > outgoing messages. Then I have a modified run_queue program that runs > continuously, de-queueing and delivering messages. Works great, sofar. > If anyone's interested in the diffs. let me know. (I mentioned > this whence I first did this, bout a month ago, but noone seemed > interested then. ) Send me this, please, but I am working on another sugestion. I will made this: when one process begins with delivery, it makes lock file mm_l.1 and so on. Locked files are skipped by another processes. Sucessfull delivery removes both lock and data files, unsuccesfull only lock file. Danger on my solution is, that when mailman dies, the file is locked forever (or probalby I can delete lock files older than X from crond). Some opinion to this? cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Pesimista vidi v ementalskem syru jen ty diry. From scott@chronis.icgroup.com Sat Sep 26 23:02:53 1998 From: scott@chronis.icgroup.com (Scott) Date: Sat, 26 Sep 1998 18:02:53 -0400 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <199809261937.VAA12660@poli.feld.cvut.cz>; from Dan Ohnesorg, admin of POWER on Sat, Sep 26, 1998 at 09:38:30PM +0200 References: <199809251837.UAA06624@poli.feld.cvut.cz> <199809261937.VAA12660@poli.feld.cvut.cz> Message-ID: <19980926180253.15995@chronis.icgroup.com> I personally like the idea of locking the files more than I like the idea of a daemon delivering queued mail because there will always be the worry that something accidentally kills the daemon process while no admin is around. Lock timeouts sound like a good solution and are already available in the file locking module. scott On Sat, Sep 26, 1998 at 09:38:30PM +0200, Dan Ohnesorg, admin of POWER wrote: | On 25 Sep 98, at 16:16, The Dragon De Monsyne wrote: | | > On Fri, 25 Sep 1998, Dan Ohnesorg, admin of POWER wrote: | > | > > I become sometimes irriting error messages cannot unlink....... by | > > queue processing. So I sugest this modification of dequeue | > > function | > > | > > def dequeueMessage(msg): | > > import os | > > try: | > > os.unlink(msg) | > > except: | > > from Logging.StampedLogger import StampedLogger | > > l = StampedLogger("queue", "DequeueMessage", immediate=1) | > > l.write("Cannot remove:\t %s\n" % msg) | > > l.flush() | > > | > > I currently dont know why this error happens, I still searching. | > | > Oh, I know why this happens. It's related to the duplicate | > delivery problem. Another proccess has delivered the queued message out | > from under the first one. (and deleted the queue file, which is why the | > first process cannot delete the message. ) | | Yes so it is probably done, but I think some messages, which are | afected with this error aren't send duplicate. | | | > | > I've actually fixed this problem, by the simple expediant of | > making all of the Mailman programs simply queue, and not try to deliver, | > outgoing messages. Then I have a modified run_queue program that runs | > continuously, de-queueing and delivering messages. Works great, sofar. | > If anyone's interested in the diffs. let me know. (I mentioned | > this whence I first did this, bout a month ago, but noone seemed | > interested then. ) | | Send me this, please, but I am working on another sugestion. I | will made this: when one process begins with delivery, it makes | lock file mm_l.1 and so on. Locked files are skipped by another | processes. Sucessfull delivery removes both lock and data files, | unsuccesfull only lock file. | Danger on my solution is, that when mailman dies, the file is | locked forever (or probalby I can delete lock files older than X | from crond). | | Some opinion to this? | | cheers | dan | | ________________________________________ | DDDDDD | DD DD Dan Ohnesorg, supervisor on POWER | DD OOOO Dan@feld.cvut.cz | DD OODDOO Dep. of Power Engineering | DDDDDD OO CTU FEL Prague, Bohemia | OO OO work: +420 2 24352785;+420 2 24972109 | OOOO home: +420 311 679679;+420 311 679311 | ________________________________________ | Pesimista vidi v ementalskem syru jen ty diry. | | | _______________________________________________ | Mailman-Developers maillist - Mailman-Developers@python.org | http://www.python.org/mailman/listinfo/mailman-developers | From dragondm@delta.integral.org Sun Sep 27 01:05:16 1998 From: dragondm@delta.integral.org (The Dragon De Monsyne) Date: Sat, 26 Sep 1998 19:05:16 -0500 (CDT) Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <19980926180253.15995@chronis.icgroup.com> Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1395546950-1194357546-906854716=:17704 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sat, 26 Sep 1998, Scott wrote: > I personally like the idea of locking the files more than I like the > idea of a daemon delivering queued mail because there will always be > the worry that something accidentally kills the daemon process while > no admin is around. This is why I have the daemon check to see if an instance of itself is already running before starting. If it's already running it dosen't start another copy of itself. That way you just run the daemon program from cron periodicaly and it automatically restarts itself if it gets killed. (I haven't had to worry about it since I installed it a month ago. ) I'm including the daemon version of run_queue attatched to this message. (to use it you just eliminate the delivery attempts (i.e. any calls to OutgoingQueue.processQueue) elsewhere in the mailman code (my own mods to do this are a bit of a hack. If I have time to fix them up to be presentable I'll post a diff) -The Dragon De Monsyne ---1395546950-1194357546-906854716=:17704 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=run_queue Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: run_queue IyEgL3Vzci9iaW4vZW52IHB5dGhvbg0KIyANCiMgQ29weXJpZ2h0IChDKSAx OTk4IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiMN CiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcg0KIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMg0KIyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMgDQojIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQojIA0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZSANCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl IC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4NCiMN Cg0KaW1wb3J0IHN5cyxvcyxzdGF0LHN0cmluZyx0aW1lDQppbXBvcnQgcGF0 aHMNCmZyb20gTWFpbG1hbiBpbXBvcnQgT3V0Z29pbmdRdWV1ZQ0KZnJvbSBN YWlsbWFuIGltcG9ydCBtbV9jZmcNCg0KDQpQSURGSUxFPW9zLnBhdGguam9p bihtbV9jZmcuREFUQV9ESVIsInEucnVubmluZyIpDQpTVEFMTF9USU1FID0g KDYwKjE1KQ0KU0xFRVBfVElNRSA9IDE1DQoNCmRlZiBDaGVja0xvY2soKTog ICAgDQogICAgIiIiTWFrZXMgc3VyZSBvbmx5IG9uZSBvZiB0aGVzZSBydW5z IGF0IGEgdGltZS4iIiINCiAgICBwaWQ9Tm9uZQ0KICAgIHRyeToNCiAgICAg ICAgcGlkPXN0cmluZy5hdG9pKHN0cmluZy5zdHJpcChvcGVuKFBJREZJTEUs J3InKS5yZWFkKCkpKQ0KICAgIGV4Y2VwdCAoSU9FcnJvcixWYWx1ZUVycm9y KToNCiAgICAgICAgcGFzcw0KICAgIGlmIHBpZDoNCiAgICAgICAgI2xldCdz IHNlZSBpZiBpdCdzIHJlYWxseSBvdXQgdGhlcmUuIC1kZG0NCiAgICAgICAg dHJ5Og0KICAgICAgICAgICAgb3Mua2lsbChwaWQsMCkNCiAgICAgICAgICAg IGFnZSA9IHRpbWUudGltZSgpIC0gb3Muc3RhdChQSURGSUxFKVtzdGF0LlNU X01USU1FXQ0KICAgICAgICAgICAgaWYgYWdlID4gU1RBTExfVElNRToNCiAg ICAgICAgICAgICAgICAjaXQncyBoYW5naW5nLi4uIFphcCBpdC4gLWRkbQ0K ICAgICAgICAgICAgICAgIG9zLmtpbGwocGlkLDkpDQogICAgICAgICAgICBl bHNlOg0KICAgICAgICAgICAgICAgICNpdCdzIHJlYWxseSBydW5uaW5nLi4g LWRkbQ0KICAgICAgICAgICAgICAgIHJldHVybiAwDQogICAgICAgIGV4Y2Vw dCBvcy5lcnJvcjoNCiAgICAgICAgICAgICMgTm9wZSBpdCBhaW50LiAtZGRt DQogICAgICAgICAgICBwYXNzDQogICAgcmV0dXJuIDENCiAgICAgICAgICAg DQpkZWYgVG91Y2hMb2NrKCk6DQogICAgInR3ZWFrIHRoZSBwaWQgZmlsZSIN CiAgICBvcGVuKFBJREZJTEUsJ3cnKS53cml0ZSgiJWkiICUgb3MuZ2V0cGlk KCkpDQoNCg0KI2RlZiBEb19EZVEoKToNCiMgICAgcHJpbnQgImZvbyINCiMg ICAgI091dGdvaW5nUXVldWUucHJvY2Vzc1F1ZXVlKCkNCg0KZGVmIG1haW4o KToNCiAgICBpZiBub3QgQ2hlY2tMb2NrKCk6DQojICAgICAgICBwcmludCAi YWxyZWFkeSBydW5uaW5nIg0KICAgICAgICBzeXMuZXhpdCgpDQoNCiAgICBU b3VjaExvY2soKQ0KDQogICAgd2hpbGUgMToNCiAgICAgICAgcT1PdXRnb2lu Z1F1ZXVlLnByb2Nlc3NRdWV1ZSgpDQogICAgICAgIGlmIG5vdCBxOg0KICAg ICAgICAgICAgdGltZS5zbGVlcChTTEVFUF9USU1FKQ0KICAgICAgICBUb3Vj aExvY2soKQ0KDQppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOg0KICAgIG1h aW4oKQ0KDQoNCg0K ---1395546950-1194357546-906854716=:17704-- From Dan@feld.cvut.cz Sun Sep 27 21:08:43 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Sun, 27 Sep 1998 22:08:43 +0200 Subject: [Mailman-Developers] Outgoin queue sugestion In-Reply-To: <19980926180253.15995@chronis.icgroup.com> References: <199809261937.VAA12660@poli.feld.cvut.cz>; from Dan Ohnesorg, admin of POWER on Sat, Sep 26, 1998 at 09:38:30PM +0200 Message-ID: <199809272007.WAA18931@poli.feld.cvut.cz> On 26 Sep 98, at 18:02, Scott wrote: > I personally like the idea of locking the files more than I like the > idea of a daemon delivering queued mail because there will always be > the worry that something accidentally kills the daemon process while > no admin is around. > > Lock timeouts sound like a good solution and are already available in > the file locking module. So I have made it as follows. I haven't used flock module, becouse I think it is not good for this situacion. We can use it when there is reorganized code in Utis and OutgoinQueue, so it is too distributed. I haven't made backup before modifing my copy, so I cannot send diffs. My mailman is very different from oficial becouse it containst features like DSN, administrativ via filter, character set conversion .... and so I cannot made diff to clean distribution. Modification is very short. First in Utils.py in def TrySMTPDelivery(recipient, sender, text, queue_entry): is on end added if failure: from Logging.StampedLogger import StampedLogger l = StampedLogger("smtp-failures", "TrySMTPDelivery", immediate=1) l.write("To %s:\n" % recipient) l.write("\t %s / %s\n" % (failure[0], failure[1])) l.flush() + import os, re + lock = re.sub('mm_q\.','mm_l\.',queue_entry) + os.unlink(lock) And in OutgoingQueue def dequeueMessage(msg): + import os, re + lock = re.sub('mm_q\.','mm_l\.',msg) try: os.unlink(msg) + os.unlink(lock) except: from Logging.StampedLogger import StampedLogger l = StampedLogger("queue", "DequeueMessage", immediate=1) l.write("Cannot remove:\t %s\n" % msg) l.flush() def processQueue(): + import os, re files = os.listdir(mm_cfg.DATA_DIR) for file in files: if TEMPLATE <> file[:len(TEMPLATE)]: continue full_fname = os.path.join(mm_cfg.DATA_DIR, file) + lock = re.sub('mm_q\.','mm_l\.',full_fname) + existence = os.stat(lock) + if not(S_ISREG(existence)): + continue + l = open(lock,"a+") + l.write(os.getpid()) + l.close() f = open(full_fname,"r") recip,sender,text = marshal.load(f) f.close() import Utils Utils.TrySMTPDelivery(recip,sender,text,full_fname) ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Neodkladej na zitrek, co dnes mohou udelat jini. From Dan@feld.cvut.cz Mon Sep 28 20:24:55 1998 From: Dan@feld.cvut.cz (Dan Ohnesorg, admin of POWER) Date: Mon, 28 Sep 1998 21:24:55 +0200 Subject: [Mailman-Developers] Outgoin queue II. Message-ID: <199809281923.VAA26979@poli.feld.cvut.cz> My last code was not good. It worked fine in testlist with 2 persons, but when I setuped this in list with 500 members, it hated problems. First prosessing was slower than before, so there are more queue conflicts and there are also problems with synchronization of locks, where I have marged, that two processes had delivered the some message. I will try to find better solution. cheers dan ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Komunista je clovek, ktery ztratil veskere nadeje stat se kapitalistou From julian7@kva.hu Tue Sep 29 10:56:15 1998 From: julian7@kva.hu (Balazs Nagy) Date: Tue, 29 Sep 1998 11:56:15 +0200 (CEST) Subject: [Mailman-Developers] command handler patch (required) Message-ID: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---456965764-757754089-907062975=:3222 Content-Type: TEXT/PLAIN; charset=US-ASCII Hiyas, This patch obsoletes my earlier digest patch. This diff fixes the digest problem and adds five new email commands: enable, disable, edit, put, setattr. With this patch you get access for all of the admin settings in www. Please apply it. It have to be the last required patch you're applying. -- Linux Supporting Center -- Red Hat Qmail packages -- http://lsc.kva.hu PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8 ---456965764-757754089-907062975=:3222 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman-cmdhandler.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="mailman-cmdhandler.patch" LS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01haWxDb21tYW5kSGFuZGxlci5w eQlNb24gU2VwICA3IDE2OjA0OjUzIDE5OTgNCisrKyBtYWlsbWFuL01haWxt YW4vTWFpbENvbW1hbmRIYW5kbGVyLnB5CVR1ZSBTZXAgMjkgMTA6NDY6Mzgg MTk5OA0KQEAgLTQ5LDcgKzQ5LDcgQEANCiAJCSAnaGlkZScgICA6DQogCQkg ICAgJ0NvbmNlYWxzIHlvdXIgZW1haWwgZnJvbSB0aGUgbGlzdCBvZiBzdWJz Y3JpYmVycycNCiAJICAgICAgIH0NCi1vcHRpb25faW5mbyA9IHsgJ2RpZ2Vz dCcgOiAwLA0KK29wdGlvbl9pbmZvID0gew0KIAkJJ25vbWFpbCcgOiBtbV9j ZmcuRGlzYWJsZURlbGl2ZXJ5LA0KIAkJJ25vcmN2JyAgOiBtbV9jZmcuRG9u dFJlY2VpdmVPd25Qb3N0cywNCiAJCSdhY2snICAgIDogbW1fY2ZnLkFja25v d2xlZ2VQb3N0cywNCkBAIC01OCw3ICs1OCwxMCBAQA0KIAkJfQ0KIA0KIGNs YXNzIE1haWxDb21tYW5kSGFuZGxlcjoNCisNCiAgICAgZGVmIF9faW5pdF9f KHNlbGYpOg0KKwlpbXBvcnQgdHlwZXMNCisJc2VsZi5lbmFibGVkID0gMA0K IAlzZWxmLl9yZXNwb25zZV9idWZmZXIgPSAnJw0KIAlzZWxmLl9jbWRfZGlz cGF0Y2ggPSB7DQogCSAgICAnc3Vic2NyaWJlJyA6IHNlbGYuUHJvY2Vzc1N1 YnNjcmliZUNtZCwNCkBAIC03MSw4ICs3NCwyNiBAQA0KIAkgICAgJ3NldCcg OiBzZWxmLlByb2Nlc3NTZXRDbWQsDQogCSAgICAnb3B0aW9ucycgOiBzZWxm LlByb2Nlc3NPcHRpb25zQ21kLA0KIAkgICAgJ3Bhc3N3b3JkJyA6IHNlbGYu UHJvY2Vzc1Bhc3N3b3JkQ21kLA0KKwkgICAgJ2VuYWJsZScgOiBzZWxmLlBy b2Nlc3NFbmFibGVDbWQsDQorCSAgICAnZGlzYWJsZScgOiBzZWxmLlByb2Nl c3NEaXNhYmxlQ21kLA0KKwkgICAgJ2VkaXQnIDogc2VsZi5Qcm9jZXNzRWRp dENtZCwNCisJICAgICdwdXQnIDogc2VsZi5Qcm9jZXNzUHV0Q21kLA0KKwkg ICAgJ3NldGF0dHInOiBzZWxmLlByb2Nlc3NTZXRhdHRyQ21kLA0KIAkgICAg fQ0KKwlzZWxmLl9jbWRfcG9vbGVkX2Rpc3BhdGNoID0gKA0KKwkgICAgJ3B1 dCcsDQorCSAgICApDQogICAgICAgICBzZWxmLl9fTm9NYWlsQ21kUmVzcG9u c2UgPSAwDQorCXNlbGYuX0VkaXRGaWxlcyA9IHt9DQorCXNlbGYuX2NvbmZp Z19pbmZvID0gc2VsZi5HZXRDb25maWdJbmZvKCkNCisJZm9yIGkgaW4gc2Vs Zi5fY29uZmlnX2luZm8ua2V5cygpOg0KKwkgICAgZm9yIG8gaW4gc2VsZi5f Y29uZmlnX2luZm9baV06DQorCQlpZiB0eXBlKG8pICE9IHR5cGVzLlN0cmlu Z1R5cGU6DQorCQkgICAgaWYgbGVuKG8pID4gNToNCisJCQlhbGwgPSBvWzVd DQorCQkgICAgZWxzZToNCisJCQlhbGwgPSAiIg0KKwkJICAgIHNlbGYuX0Vk aXRGaWxlc1tvWzBdXSA9IFtvWzFdLCBpLCBvWzRdLCBhbGxdDQogDQogICAg IGRlZiBBZGRUb1Jlc3BvbnNlKHNlbGYsIHRleHQpOg0KIAlzZWxmLl9yZXNw b25zZV9idWZmZXIgPSBzZWxmLl9yZXNwb25zZV9idWZmZXIgKyB0ZXh0ICsg IlxuIg0KQEAgLTEyMCwyMyArMTQxLDM2IEBADQogCQllbHNlOg0KIAkJICAg IHNlbGYuQWRkRXJyb3IoIlN1YmplY3QgbGluZSBpZ25vcmVkOiAlcyIgJSBz dWJqZWN0KQ0KICAgICAgICAgcHJvY2Vzc2VkID0ge30gICAgICAgICAgICAg ICAgICAgICAgIyBGb3IgYXZvaWRpbmcgcmVkdW5kYW5jaWVzLg0KLSAgICAg ICAgbWF4bGluZXMgPSBtbV9jZmcuREVGQVVMVF9NQUlMX0NPTU1BTkRTX01B WF9MSU5FUw0KKyAgICAgICAgbWF4Y21kcyA9IG1tX2NmZy5ERUZBVUxUX01B SUxfQ09NTUFORFNfTUFYX0xJTkVTDQorCWNtZGxpbmVzID0gMA0KKwljbWRt b2RlID0gMA0KKwlwb29sID0gJycNCiAJZm9yIGxpbmVjb3VudCBpbiByYW5n ZShsZW4obGluZXMpKToNCiAJICAgIGxpbmUgPSBzdHJpbmcuc3RyaXAobGlu ZXNbbGluZWNvdW50XSkNCi0JICAgIGlmIG5vdCBsaW5lOg0KKwkgICAgaWYg bm90IGxpbmUgYW5kIG5vdCBjbWRtb2RlOg0KIAkJY29udGludWUNCi0gICAg ICAgICAgICBpZiBsaW5lY291bnQgPiBtYXhsaW5lczoNCisgICAgICAgICAg ICBpZiBjbWRsaW5lcyA+IG1heGNtZHM6DQogICAgICAgICAgICAgICAgIHNl bGYuQWRkVG9SZXNwb25zZSgiXG4iKQ0KICAgICAgICAgICAgICAgICBzZWxm LkFkZEVycm9yKCJNYXhpbXVtIGNvbW1hbmQgbGluZXMgKCVkKSBlbmNvdW50 ZXJlZCwiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpZ25v cmluZyB0aGUgcmVzdC4uLiIgJSBtYXhsaW5lcykNCiAgICAgICAgICAgICAg ICAgc2VsZi5BZGRUb1Jlc3BvbnNlKCI8PDwgIiArIHN0cmluZy5qb2luKGxp bmVzW2xpbmVjb3VudDpdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbjw8PCAiKSkNCiAgICAg ICAgICAgICAgICAgYnJlYWsNCisJICAgIGlmIGNtZG1vZGU6DQorCQlpZiBs aW5lIGluIFsnLUVORC0nLCAnLWVuZC0nXToNCisJCSAgICBzZWxmLl9jbWRf ZGlzcGF0Y2hbcG9vbGVkX2NtZF0ocG9vbGVkX2FyZ3MsIHBvb2wsIG1haWwp DQorCQkgICAgcG9vbCA9ICcnDQorCQkgICAgY21kbW9kZSA9IDANCisJCSAg ICBjb250aW51ZQ0KKwkJZWxzZToNCisJCSAgICBwb29sID0gcG9vbCArIGxp bmVzW2xpbmVjb3VudF0gKyAiXG4iDQorCQkgICAgY29udGludWUNCisJICAg IGNtZGxpbmVzID0gY21kbGluZXMgKyAxDQogCSAgICBzZWxmLkFkZFRvUmVz cG9uc2UoIlxuPj4+PiAlcyIgJSBsaW5lKQ0KIAkgICAgYXJncyA9IHN0cmlu Zy5zcGxpdChsaW5lKQ0KIAkgICAgY21kID0gc3RyaW5nLmxvd2VyKGFyZ3Nb MF0pDQogCSAgICBhcmdzID0gYXJnc1sxOl0NCi0JICAgIGlmIGNtZCA9PSAn ZW5kJzoNCisJICAgIGlmIGNtZCBpbiBbJ2VuZCcsICctLSddOg0KIAkJc2Vs Zi5BZGRFcnJvcigiRW5kIG9mIGNvbW1hbmRzLiIpDQogCQlicmVhaw0KIAkg ICAgaWYgbm90IHNlbGYuX2NtZF9kaXNwYXRjaC5oYXNfa2V5KGNtZCk6DQpA QCAtMTU1LDkgKzE4OSwxOCBAQA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBicmVhaw0KICAgICAgICAgICAgICAgICBpZiBub3QgaXNkdXA6DQog ICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRbY21kXS5hcHBlbmQoYXJn cykNCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2NtZF9kaXNwYXRjaFtj bWRdKGFyZ3MsIGxpbmUsIG1haWwpDQorCQkgICAgaWYgY21kIGluIHNlbGYu X2NtZF9wb29sZWRfZGlzcGF0Y2g6DQorCQkJcG9vbGVkX2NtZCA9IGNtZA0K KwkJCXBvb2xlZF9hcmdzID0gYXJncw0KKwkJCXBvb2xlZF9saW5lID0gbGlu ZQ0KKwkJCWNtZG1vZGUgPSAxDQorCQkgICAgZWxzZToNCisgICAgICAgICAg ICAgICAgCXNlbGYuX2NtZF9kaXNwYXRjaFtjbWRdKGFyZ3MsIGxpbmUsIG1h aWwpDQorCWlmIGNtZG1vZGU6DQorCSAgICBzZWxmLl9jbWRfZGlzcGF0Y2hb cG9vbGVkX2NtZF0ocG9vbGVkX2FyZ3MsIHBvb2wsIG1haWwpDQogICAgICAg ICBpZiBub3Qgc2VsZi5fX05vTWFpbENtZFJlc3BvbnNlOg0KICAgICAgICAg ICAgIHNlbGYuU2VuZE1haWxDbWRSZXNwb25zZShtYWlsKQ0KKwlzeXMuZXhp dCgwKQ0KIA0KICAgICBkZWYgU2VuZE1haWxDbWRSZXNwb25zZShzZWxmLCBt YWlsKToNCiAJc2VsZi5TZW5kVGV4dFRvVXNlcihzdWJqZWN0ID0gJ01haWxt YW4gcmVzdWx0cyBmb3IgJXMnICUgDQpAQCAtMTY3LDYgKzIxMCwxMzQgQEAN CiAJCQkgICAgdGV4dCA9IHNlbGYuX3Jlc3BvbnNlX2J1ZmZlcikNCiAJc2Vs Zi5fcmVzcG9uc2VfYnVmZmVyID0gJycNCiANCisgICAgZGVmIFByb2Nlc3NF bmFibGVDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFpbCk6DQorCWlmIGxl bihhcmdzKSA8PiAxOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiVXNhZ2U6IGVu YWJsZSA8YWRtaW4gcGFzc3dvcmQ+IikNCisJICAgIHNlbGYuZW5hYmxlZCA9 IDANCisJICAgIHJldHVybg0KKwl0cnk6DQorCSAgICBzZWxmLkNvbmZpcm1B ZG1pblBhc3N3b3JkKGFyZ3NbMF0pDQorCWV4Y2VwdCBFcnJvcnMuTU1CYWRQ YXNzd29yZEVycm9yOg0KKwkgICAgc2VsZi5BZGRFcnJvcigiSW5jb3JyZWN0 IGFkbWluIHBhc3N3b3JkIikNCisJICAgIHNlbGYuZW5hYmxlZCA9IDANCisJ ICAgIHJldHVybg0KKwlzZWxmLmVuYWJsZWQgPSAxDQorCXNlbGYuQWRkVG9S ZXNwb25zZSgiQWRtaW4gY29tbWFuZHMgZW5hYmxlZC4iKQ0KKw0KKyAgICBk ZWYgUHJvY2Vzc0Rpc2FibGVDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFp bCk6DQorCXNlbGYuZW5hYmxlZCA9IDANCisJc2VsZi5BZGRUb1Jlc3BvbnNl KCJBZG1pbiBjb21tYW5kcyBkaXNhYmxlZC4iKQ0KKw0KKyAgICBkZWYgZW5h YmxlQ2hlY2soc2VsZik6DQorCWlmIG5vdCBzZWxmLmVuYWJsZWQ6DQorCSAg ICBzZWxmLkFkZEVycm9yKCJFbmFibGUgYWRtaW4gY29tbWFuZHMgZmlyc3Qu IikNCisJICAgIHJldHVybiAwDQorCXJldHVybiAxDQorDQorICAgIGRlZiBf RWRpdEZpbGUoc2VsZiwgZm5hbWUpOg0KKwlpZiBzZWxmLl9FZGl0RmlsZXNb Zm5hbWVdWzBdIGluIFttbV9jZmcuUmFkaW8sIG1tX2NmZy5Ub2dnbGVdOg0K KwkgICAgaWYgZ2V0YXR0cihzZWxmLCBmbmFtZSk6DQorCQl0eHQgPSAib24i DQorCSAgICBlbHNlOg0KKwkJdHh0ID0gIm9mZiINCisJICAgIHRleHQgPSAi c2V0YXR0ciAlcyAlcyIgJSAoZm5hbWUsIHR4dCkNCisJZWxpZiBzZWxmLl9F ZGl0RmlsZXNbZm5hbWVdWzBdID09IG1tX2NmZy5FbWFpbExpc3Q6DQorCSAg ICB0ZXh0ID0gInB1dCAlc1xuJXNcbi1lbmQtIiAlIChmbmFtZSwgc3RyaW5n LmpvaW4oZ2V0YXR0cihzZWxmLCBmbmFtZSksIlxuIikpDQorCWVsaWYgc2Vs Zi5fRWRpdEZpbGVzW2ZuYW1lXVswXSBpbiBbbW1fY2ZnLkVtYWlsLCBtbV9j ZmcuSG9zdF06DQorCSAgICB0ZXh0ID0gInNldGF0dHIgJXMgJXMiICUgKGZu YW1lLCBnZXRhdHRyKHNlbGYsIGZuYW1lKSkNCisJZWxpZiBzZWxmLl9FZGl0 RmlsZXNbZm5hbWVdWzBdID09IG1tX2NmZy5TdHJpbmc6DQorCSAgICB0ZXh0 ID0gInNldGF0dHIgJXMgXCIlc1wiIiAlIChmbmFtZSwgZ2V0YXR0cihzZWxm LCBmbmFtZSkpDQorCWVsaWYgc2VsZi5fRWRpdEZpbGVzW2ZuYW1lXVswXSA9 PSBtbV9jZmcuTnVtYmVyOg0KKwkgICAgdGV4dCA9ICJzZXRhdHRyICVzICVk IiAlIChmbmFtZSwgZ2V0YXR0cihzZWxmLCBmbmFtZSkpDQorCWVsc2U6DQor CSAgICB0ZXh0ID0gInB1dCAlc1xuJXMtZW5kLSIgJSAoZm5hbWUsIGdldGF0 dHIoc2VsZiwgZm5hbWUpKQ0KKwlyZXR1cm4gdGV4dA0KKw0KKyAgICBkZWYg UHJvY2Vzc0VkaXRDbWQoc2VsZiwgYXJncywgY21kbGluZSwgbWFpbCk6DQor CWlmIG5vdCBzZWxmLmVuYWJsZUNoZWNrKCk6DQorCSAgICBzZWxmLkFkZEVy cm9yKCJBZG1pbiBjb21tYW5kcyBkaXNhYmxlZC4iKQ0KKwkgICAgcmV0dXJu DQorCWlmIGxlbihhcmdzKSA8PiAxOg0KKwkgICAgc2VsZi5BZGRFcnJvcigi VXNhZ2U6IGVkaXQgPHNldHRpbmc+fGFsbCIpDQorCSAgICByZXR1cm4NCisJ aWYgc2VsZi5fRWRpdEZpbGVzLmhhc19rZXkoYXJnc1swXSk6DQorCSAgICBz ZWxmLkFkZFRvUmVzcG9uc2Uoc2VsZi5fRWRpdEZpbGUoYXJnc1swXSkpDQor CWVsaWYgYXJnc1swXSA9PSAnYWxsJzoNCisJICAgIGt5cyA9IHNlbGYuX0Vk aXRGaWxlcy5rZXlzKCkNCisJICAgIGt5cy5zb3J0KCkNCisJICAgIGZvciBp IGluIGt5czoNCisJCXNlbGYuQWRkVG9SZXNwb25zZShzZWxmLl9FZGl0Rmls ZShpKSkNCisJZWxzZToNCisJICAgIHNlbGYuQWRkRXJyb3IoJ05vIHN1Y2gg ZmlsZS4gIFlvdSBjYW4gY2hvb3NlIGZyb20nKQ0KKwkgICAgc2VsZi5BZGRF cnJvcigiJXMiICUgc2VsZi5fRWRpdEZpbGVzLmtleXMoKSkNCisJICAgIA0K KyAgICBkZWYgRW1haWxDaGVjayhhZGRyKToNCisJdHJ5Og0KKwkgICAgdmFs aWQgPSBVdGlscy5WYWxpZEVtYWlsKGFkZHIpDQorCSAgICBpZiB2YWxpZDoN CisJCXJldHVybiAxDQorCSAgICBlbHNlOg0KKwkJcmV0dXJuIDANCisJZXhj ZXB0Og0KKwkgICAgcmV0dXJuIDANCisNCisgICAgZGVmIFByb2Nlc3NQdXRD bWQoc2VsZiwgYXJncywgcG9vbCwgbWFpbCk6DQorCWlmIG5vdCBzZWxmLmVu YWJsZUNoZWNrKCk6DQorCSAgICBzZWxmLkFkZEVycm9yKCJBZG1pbiBjb21t YW5kcyBkaXNhYmxlZC4iKQ0KKwkgICAgcmV0dXJuDQorCWlmIGxlbihhcmdz KSA8PiAxOg0KKwkgICAgc2VsZi5BZGRyRXJyb3IoIlVzYWdlOiBwdXQgPHNl dHRpbmc+IikNCisJICAgIHJldHVybg0KKwlpZiBzZWxmLl9FZGl0RmlsZXMu aGFzX2tleShhcmdzWzBdKToNCisJICAgIHR5cGUgPSBzZWxmLl9FZGl0Rmls ZXNbYXJnc1swXV1bMF0NCisJICAgIGlmIHR5cGUgPT0gbW1fY2ZnLkVtYWls TGlzdDoNCisJCXBvb2wgPSBmaWx0ZXIoRW1haWxDaGVjaywNCisJCQkgICAg ICBtYXAoc3RyaW5nLnN0cmlwLCBzdHJpbmcuc3BsaXQocG9vbCwgJ1xuJykp KQ0KKwkgICAgZWxpZiB0eXBlICE9IG1tX2NmZy5UZXh0Og0KKwkJc2VsZi5B ZGRFcnJvcigiSW52YWxpZCB0eXBlIGZvciAlcy4iICUgYXJnc1swXSkNCisJ CXJldHVybg0KKwkgICAgc2V0YXR0cihzZWxmLCBhcmdzWzBdLCBwb29sKQ0K KwkgICAgc2VsZi5TYXZlKCkNCisJc2VsZi5BZGRUb1Jlc3BvbnNlKCdTdWNj ZWVlZGVkLicpDQorDQorDQorICAgIGRlZiBQcm9jZXNzU2V0YXR0ckNtZChz ZWxmLCBhcmdzLCBjbWRsaW5lLCBtYWlsKToNCisJaWYgbm90IHNlbGYuZW5h YmxlQ2hlY2soKToNCisJICAgIHNlbGYuQWRkRXJyb3IoIkFkbWluIGNvbW1h bmRzIGRpc2FibGVkLiIpDQorCSAgICByZXR1cm4NCisJaWYgbGVuKGFyZ3Mp IDwgMToNCisJICAgIHNlbGYuQWRkRXJyb3IoIlVzYWdlOiBzZXRhdHRyIDxm aWxlPiA8YXR0cmlidXRlPiIpDQorCSAgICByZXR1cm4NCisJaWYgc2VsZi5f RWRpdEZpbGVzLmhhc19rZXkoYXJnc1swXSk6DQorCSAgICB0eXBlID0gc2Vs Zi5fRWRpdEZpbGVzW2FyZ3NbMF1dWzBdDQorCSAgICB0cnk6DQorCQlyZXR2 ID0gcmUubWF0Y2goIl5ccypcUytccytcUytccytcIiguKlteXCJdKVwiPyQi LA0KKwkJICAgIGNtZGxpbmUpLmdyb3VwKDEpDQorCSAgICBleGNlcHQgQXR0 cmlidXRlRXJyb3I6DQorCQlzZWxmLkFkZEVycm9yKCJJbnZhbGlkIHN0cmlu ZyAlcy4iICUgY21kbGluZSkNCisJCXJldHVybg0KKwkgICAgaWYgdHlwZSAh PSBtbV9jZmcuVGV4dDoNCisJCWlmIHR5cGUgaW4gW21tX2NmZy5SYWRpbywg bW1fY2ZnLlRvZ2dsZV06DQorCQkgICAgaWYgcmV0diBpbiBbIm9uIiwgInll cyIsICJ0cnVlIiwgIjEiLCAieWVwIl06DQorCQkJcmV0diA9IDENCisJCSAg ICBlbHNlOg0KKwkJCXJldHYgPSAwDQorCQllbGlmIHR5cGUgPT0gbW1fY2Zn LkVtYWlsOg0KKwkJICAgIHJldHYgPSBzdHJpbmcuc3RyaXAocmV0dikNCisJ CSAgICBpZiBub3QgRW1haWxDaGVjayhyZXR2KToNCisJCQlzZWxmLkFkZEVy cm9yKCJJbnZhbGlkIGVtYWlsIGFkZHJlc3MgJXMiICUgcmV0dikNCisJCQly ZXR1cm4NCisJCWVsaWYgdHlwZSA9PSBtbV9jZmcuTnVtYmVyOg0KKwkJICAg IHJldHYgPSBldmFsKHJldHYpDQorCQkgICAgaWYgY21kbGluZSA8IDA6DQor CQkJc2VsZi5BZGRFcnJvcigiSW52YWxpZCBudW1iZXIgJWQiICUgcmV0dikN CisJCQlyZXR1cm4NCisJICAgIHNldGF0dHIoc2VsZiwgYXJnc1swXSwgcmV0 dikNCisJICAgIHNlbGYuU2F2ZSgpDQorCSAgICBzZWxmLkFkZFRvUmVzcG9u c2UoJyVzIHNldCB0byAlcy4nJShhcmdzWzBdLCByZXR2KSkNCisJZWxzZToN CisJICAgIHNlbGYuQWRkRXJyb3IoIk5vIHN1Y2ggZmlsZTogJXMiICUgYXJn c1swXSkNCisNCiAgICAgZGVmIFByb2Nlc3NQYXNzd29yZENtZChzZWxmLCBh cmdzLCBjbWQsIG1haWwpOg0KIAlpZiBsZW4oYXJncykgPD4gMjoNCiAJICAg IHNlbGYuQWRkRXJyb3IoIlVzYWdlOiBwYXNzd29yZCA8b2xkcHc+IDxuZXdw dz4iKQ0KQEAgLTIyMSw2ICszOTIsMTIgQEANCiAJICAgIHMuQWRkRXJyb3Io IlZhbGlkIG9wdGlvbnMgYXJlOiIpDQogCSAgICBmb3Igb3B0aW9uIGluIG9w dGlvbnM6DQogCQlzLkFkZEVycm9yKCIlczogICVzIiAlIChvcHRpb24sIG9k W29wdGlvbl0pKQ0KKw0KKwlzZW5kZXIgPSBzZWxmLkZpbmRVc2VyKG1haWwu R2V0U2VuZGVyKCkpDQorCWlmIG5vdCBzZW5kZXI6DQorCSAgICBzZWxmLkFk ZEVycm9yKCJZb3UgYXJlbid0IHN1YnNjcmliZWQuIikNCisJICAgIHJldHVy bg0KKw0KIAlpZiBsZW4oYXJncykgPD4gMzoNCiAJICAgIFNob3dTZXRVc2Fn ZSgpDQogCSAgICByZXR1cm4NCkBAIC0yMzMsMTAgKzQxMCw2IEBADQogCSAg ICByZXR1cm4NCiAJaWYgb3B0aW9uX2luZm8uaGFzX2tleShhcmdzWzBdKToN CiAJICAgIHRyeToNCi0JCXNlbmRlciA9IHNlbGYuRmluZFVzZXIobWFpbC5H ZXRTZW5kZXIoKSkNCi0JCWlmIG5vdCBzZW5kZXI6DQotCQkgICAgc2VsZi5B ZGRFcnJvcigiWW91IGFyZW4ndCBzdWJzY3JpYmVkLiIpDQotCQkgICAgcmV0 dXJuDQogCQlzZWxmLkNvbmZpcm1Vc2VyUGFzc3dvcmQoc2VuZGVyLCBhcmdz WzJdKQ0KIAkJc2VsZi5TZXRVc2VyT3B0aW9uKHNlbmRlciwgb3B0aW9uX2lu Zm9bYXJnc1swXV0sIHZhbHVlKQ0KIAkJc2VsZi5BZGRUb1Jlc3BvbnNlKCJT dWNjZWVkZWQuIikNCkBAIC0yNDksNyArNDIyLDggQEANCiAJCXNlbGYuQWRk RXJyb3IoIiVzIiAlIHN5cy5leGNfdHlwZSkNCiAJZWxpZiBhcmdzWzBdID09 ICdkaWdlc3QnOg0KIAkgICAgdHJ5Og0KLQkJc2VsZi5TZXRVc2VyRGlnZXN0 KG1haWwuR2V0U2VuZGVyKCksIGFyZ3NbMl0sIHZhbHVlKQ0KKwkJc2VsZi5D b25maXJtVXNlclBhc3N3b3JkKHNlbmRlciwgYXJnc1syXSkNCisJCXNlbGYu U2V0VXNlckRpZ2VzdChtYWlsLkdldFNlbmRlcigpLCB2YWx1ZSkNCiAJCXNl bGYuQWRkVG9SZXNwb25zZSgiU3VjY2VlZGVkLiIpDQogCSAgICBleGNlcHQg RXJyb3JzLk1NQWxyZWFkeURpZ2VzdGVkOg0KIAkJc2VsZi5BZGRFcnJvcigi WW91IGFyZSBhbHJlYWR5IHJlY2VpdmluZyBkaWdlc3RzLiIpDQpAQCAtNTU3 LDExICs3MzEsNDUgQEANCiAgICAgICAgIHNlbGYuQWRkRXJyb3IodGV4dCkN CiANCiAgICAgZGVmIFByb2Nlc3NIZWxwQ21kKHNlbGYsIGFyZ3MsIGNtZCwg bWFpbCk6DQorCWlmIGxlbihhcmdzKSA+PSAxOg0KKwkgICAgaWYgYXJnc1sw XSBpbiBbImVkaXQiLCAicHV0IiwgInNldGF0dHIiXToNCisJCXNlbGYuVHlw ZXMgPSB7DQorCQkgICAgbW1fY2ZnLlJhZGlvOiAic2V0YXR0cjsgeWVzIG9y IG5vIiwNCisJCSAgICBtbV9jZmcuVG9nZ2xlOiAic2V0YXR0cjsgeWVzIG9y IG5vIiwNCisJCSAgICBtbV9jZmcuRW1haWw6ICJzZXRhdHRyOyBlbWFpbCIs DQorCQkgICAgbW1fY2ZnLlN0cmluZzogInNldGF0dHI7IHN0cmluZyBsaW5l IiwNCisJCSAgICBtbV9jZmcuSG9zdDogInNldGF0dHI7IGhvc3QgbmFtZSIs DQorCQkgICAgbW1fY2ZnLk51bWJlcjogInNldGF0dHI7IG51bWJlciIsDQor CQkgICAgbW1fY2ZnLlRleHQ6ICJwdXQ7IHN0cmluZyBsaW5lcyIsDQorCQkg ICAgbW1fY2ZnLkVtYWlsTGlzdDogInB1dDsgbGlzdCBvZiBlbWFpbHMgKG9u ZSBpbiBhIGxpbmUpIg0KKwkJICAgIH0NCisJCWlmIGxlbihhcmdzKSA+IDEg YW5kIGFyZ3NbMV0gPT0gImFsbCI6DQorCQkgICAgYWxsID0gMQ0KKwkJZWxz ZToNCisJCSAgICBhbGwgPSAwDQorCQl0ZXh0ID0gIkZpbGVzIGluICVzOiIg JSBhcmdzWzBdDQorCQlreXMgPSBzZWxmLl9FZGl0RmlsZXMua2V5cygpDQor CQlreXMuc29ydCgpDQorCQlmb3IgaSBpbiBreXM6DQorCQkgICAgdHlwZSA9 IHNlbGYuVHlwZXNbc2VsZi5fRWRpdEZpbGVzW2ldWzBdXQ0KKwkJICAgIHR4 dCA9IFV0aWxzLndyYXAoc2VsZi5fRWRpdEZpbGVzW2ldWzJdKQ0KKwkJICAg IGlmIGFsbCBhbmQgc2VsZi5fRWRpdEZpbGVzW2ldWzNdICE9ICIiOg0KKwkJ CXR4dCA9IHR4dCArICJcbiIgKyBVdGlscy53cmFwKHNlbGYuX0VkaXRGaWxl c1tpXVszXSkNCisJCSAgICB0ZXh0ID0gdGV4dCArICJcblxuJXMgKGZyb20g JXMpOlxuICBbJXNdXG4gICIgJSAoaSwNCisJCQkgICAgc2VsZi5fRWRpdEZp bGVzW2ldWzFdLCB0eXBlKSArIHN0cmluZy5qb2luKA0KKwkJCSAgICBzdHJp bmcuc3BsaXQodHh0LCAiXG4iKSwgIlxuICAiKQ0KKwkJc2VsZi5BZGRUb1Jl c3BvbnNlKHRleHQpDQorCQlyZXR1cm4NCisJICAgIGlmIGFyZ3NbMF0gPT0g J2FkbWluJzoNCisJCXR4dCA9ICdhZG1pbmhlbHAudHh0Jw0KKwkgICAgZWxz ZToNCisJCXR4dCA9ICdoZWxwLnR4dCcNCiAgICAgICAgIHRleHQgPSBVdGls cy5tYWtldGV4dCgNCi0gICAgICAgICAgICAnaGVscC50eHQnLA0KKyAgICAg ICAgICAgIHR4dCwNCiAgICAgICAgICAgICB7J2xpc3RuYW1lJyAgICA6IHNl bGYucmVhbF9uYW1lLA0KICAgICAgICAgICAgICAndmVyc2lvbicgICAgIDog bW1fY2ZnLlZFUlNJT04sDQotICAgICAgICAgICAgICdsaXN0aW5mb191cmwn OiBzZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAg ICAgICAgICAgICAnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNj cmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCisgICAgICAgICAgICAg J2FkbWluX3VybCcgICA6IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwobW1f Y2ZnLkFETUlOX0NHSSksDQogICAgICAgICAgICAgICdyZXF1ZXN0YWRkcicg OiBzZWxmLkdldFJlcXVlc3RFbWFpbCgpLA0KICAgICAgICAgICAgICAnYWRt aW5hZGRyJyAgIDogc2VsZi5HZXRBZG1pbkVtYWlsKCksDQogICAgICAgICAg ICAgIH0pDQotLS0gbWFpbG1hbi5vcmlnL01haWxtYW4vTWFpbExpc3QucHkg ICAgVHVlIFNlcCAyOSAxMTo1MjozOCAxOTk4DQorKysgbWFpbG1hbi9NYWls bWFuL01haWxMaXN0LnB5IFR1ZSBTZXAgMjkgMTE6NTI6NDkgMTk5OA0KQEAg LTUzLDggKzUzLDggQEANCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWU9 Tm9uZSwgbG9jaz0xKToNCiAgICAgICAgIGlmIG5hbWUgYW5kIG5hbWUgbm90 IGluIFV0aWxzLmxpc3RfbmFtZXMoKToNCiAgICAgICAgICAgICAgICByYWlz ZSBFcnJvcnMuTU1Vbmtub3duTGlzdEVycm9yLCAnbGlzdCBub3QgZm91bmQ6 ICVzJyAlIG5hbWUNCi0gICAgICAgTWFpbENvbW1hbmRIYW5kbGVyLl9faW5p dF9fKHNlbGYpDQogICAgICAgICBzZWxmLkluaXRUZW1wVmFycyhuYW1lLCBs b2NrKQ0KKyAgICAgICBNYWlsQ29tbWFuZEhhbmRsZXIuX19pbml0X18oc2Vs ZikNCiAgICAgICAgaWYgbmFtZToNCiAgICAgICAgICAgIHNlbGYuX2Z1bGxf cGF0aCA9IG9zLnBhdGguam9pbihtbV9jZmcuTElTVF9EQVRBX0RJUiwgbmFt ZSkNCiAgICAgICAgICAgIHNlbGYuTG9hZCgpDQotLS0gbWFpbG1hbi5vcmln L3RlbXBsYXRlcy9hZG1pbmhlbHAudHh0CVR1ZSBTZXAgMjIgMTQ6NTI6NTMg MTk5OA0KKysrIG1haWxtYW4vdGVtcGxhdGVzL2FkbWluaGVscC50eHQJVHVl IFNlcCAyOSAxMDo0ODoxNCAxOTk4DQpAQCAtMCwwICsxLDYyIEBADQorQWRt aW4gaGVscCBmb3IgJShsaXN0bmFtZSlzIG1haWxpbmcgbGlzdDoNCisNCitU aGlzIGlzIGFkbWluaXN0cmF0aW9uIGVtYWlsIGNvbW1hbmQgaGVscCBmb3Ig dmVyc2lvbiAlKHZlcnNpb24pcyBvZiB0aGUNCisiTWFpbG1hbiIgbGlzdCBt YW5hZ2VyLiAgVGhlIGZvbGxvd2luZyBkZXNjcmliZXMgY29tbWFuZHMgeW91 IGNhbiBzZW5kIHRvDQorZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFuZCBjb250 cm9sIHlvdXIgTWFpbG1hbiBsaXN0LiAgQSBjb21tYW5kIGNhbiBiZSBpbg0K K3RoZSBzdWJqZWN0IGxpbmUgb3IgaW4gdGhlIGJvZHkgb2YgdGhlIG1lc3Nh Z2UuDQorDQorVGhlIGJhc2ljcyBvZiBlbWFpbCBjb21tYW5kcyBhcmUgZGVz Y3JpYmVkIGluIHRoZSBvcmRpbmFyeSBoZWxwLiAgWW91IGNhbg0KK3JldHJp ZXZlIGl0IHdpdGggJ2hlbHAnIGNvbW1hbmQgd2l0aG91dCBhcmd1bWVudHMu DQorDQorTm90ZSB0aGF0IG11Y2ggb2YgdGhlIGZvbGxvd2luZyBjYW4gYWxz byBiZSBhY2NvbXBsaXNoZWQgdmlhIHRoZSB3ZWIsDQorYXQ6DQorDQorICAg ICUoYWRtaW5fdXJsKXMNCisgICAgDQorQWRtaW5pc3RyYXRpb24gY29tbWFu ZHMgc2hvdWxkIGJlIHNlbnQgdG8gdGhlICotcmVxdWVzdCBhZGRyZXNzIG9m IHRoZQ0KK3BhcnRpY3VsYXIgbGlzdCwgZWcuIGZvciB0aGUgJ21haWxtYW4n IGxpc3QsIHVzZSAnbWFpbG1hbi1yZXF1ZXN0QC4uLicuDQorDQorQWJvdXQg dGhlIGRlc2NyaXB0aW9ucyAtIHdvcmRzIGluICI8PiJzIHNpZ25pZnkgUkVR VUlSRUQgaXRlbXMgYW5kDQord29yZHMgaW4gIltdIiBkZW5vdGUgT1BUSU9O QUwgaXRlbXMuICBEbyBub3QgaW5jbHVkZSB0aGUgIjw+InMgb3INCisiW10i cyB3aGVuIHlvdSB1c2UgdGhlIGNvbW1hbmRzLg0KKw0KK1RoZSBmb2xsb3dp bmcgY29tbWFuZHMgYXJlIGF2YWlsYWJsZSBmb3IgYWRtaW5pc3RyYXRpb246 DQorDQorICAgIGVuYWJsZSA8YWRtaW4gcGFzc3dvcmQ+DQorICAgICAgICBF bmFibGUgdGhlIGFkbWluaXN0cmF0aW9uIGNvbW1hbmQgc2V0LiAgSXQgc2hv dWxkIGJlIHRoZQ0KKyAgICAgICAgZmlyc3QgY29tbWFuZCB5b3UgZ2l2ZS4N CisNCisgICAgZGlzYWJsZQ0KKyAgICAgICAgRGlzYWJsZSB0aGUgYWRtaW5p c3RyYXRpb24gY29tbWFuZCBzZXQuICBJdCdzIGF1dG9tYXRpYyB3aGVuDQor ICAgICAgICB0aGUgcGFyc2luZyBpcyBmaW5pc2hlZC4NCisNCisgICAgZWRp dCA8c2V0dGluZz4NCisgICAgICAgICBvcg0KKyAgICBlZGl0IGFsbA0KKyAg ICAgICAgUmV0cmlldmUgPHNldHRpbmc+IGZvciBlZGl0aW5nIG9yIHZpZXcg dGhlIGNvbnRlbnRzLiAgWW91J2xsIGdldA0KKyAgICAgICAgdGhlIHN1aXRh YmxlICdwdXQnIGNvbW1hbmQgd2l0aCBhIHRyYWlsaW5nICctZW5kLScgbGlu ZSBvciBhDQorICAgICAgICAnc2V0YXR0cicgY29tbWFuZC4gICdlZGl0IGFs bCcgd2lsbCBzZW5kIHlvdSBhbGwgb2Ygc2V0dGluZ3MuDQorICAgICAgICBT ZWUgYWxzbyAnaGVscCA8Y21kPicuDQorDQorICAgIHB1dCA8c2V0dGluZz4N CisgICAgICAgIFJlZnJlc2hlcyA8c2V0dGluZz4uICBUaGlzIGlzIGEgcG9v bCBjb21tYW5kLiAgVGhpcyBtZWFucyB5b3UNCisgICAgICAgIGhhdmUgdG8g d3JpdGUgdGhlIGNvbnRlbnRzIGFmdGVyICdwdXQnLiBUaGUgc2V0dGluZyBs YXN0cyBhdCB0aGUNCisgICAgICAgIGZpcnN0ICctZW5kLScgbGluZS4gIFNl ZSBhbHNvICdoZWxwIDxjbWQ+Jy4NCisNCisgICAgc2V0YXR0ciA8c2V0dGlu Zz4gPGF0dHJpYnV0ZT4NCisgICAgICAgIFRoaXMgaXMgdGhlIHNhbWUgYXMg J3B1dCcsIGJ1dCBmb3IgdGhlIHNpbmdsZSBsaW5lIHNldHRpbmdzLg0KKyAg ICAgICAgWW91IGNhbiB1c2UgZG91YmxlIHF1b3RlcyAoIikgdG8gZW5jbG9z ZSA8YXR0cmlidXRlPiwgYnV0IHlvdQ0KKyAgICAgICAgZG9uJ3QgaGF2ZSB0 byBlc2NhcGUgZG91YmxlIHF1b3RlcyB3aXRoaW4gPGF0dHJpYnV0ZT4uDQor DQorICAgICAgICBGb3IgZXhhbXBsZToNCisgICAgICAgICAgICBzZXRhdHRy IHN1YmplY3RfcHJlZml4ICJbTWFpbE1hbl0gIg0KKw0KKyAgICBoZWxwIDxj bWQ+IFthbGxdDQorICAgICAgICBZb3UgY2FuIGdldCBoZWxwIG9uICdlZGl0 JywgJ3B1dCcgb3IgJ3NldGF0dHInIGNvbW1hbmRzLiAgSWYgeW91DQorICAg ICAgICB3YW50IHRvIGdldCBpdCBpbiBkZXRhaWxzLCB1c2UgdGhlICdhbGwn IG9wdGlvbi4gIFRoaXMgaGVscA0KKyAgICAgICAgc2hvd3MgeW91IHRoZSBh Y2NlcHRhYmxlIGNvbnRlbnRzIG9mIGFuIG9wdGlvbiB0b28uDQorDQorICAg IC1lbmQtDQorICAgICAgICBTdG9wIHByb2Nlc3NpbmcgcG9vbCBhbmQgcnVu IHRoZSBwb29sIGNvbW1hbmQuDQorDQorQ29tbWFuZHMgc2hvdWxkIGJlIHNl bnQgdG8gJShyZXF1ZXN0YWRkcilzLg0K ---456965764-757754089-907062975=:3222-- From scott@chronis.icgroup.com Tue Sep 29 15:59:02 1998 From: scott@chronis.icgroup.com (Scott) Date: Tue, 29 Sep 1998 10:59:02 -0400 Subject: [Mailman-Developers] command handler patch (required) In-Reply-To: ; from Balazs Nagy on Tue, Sep 29, 1998 at 11:56:15AM +0200 References: Message-ID: <19980929105902.55279@chronis.icgroup.com> On Tue, Sep 29, 1998 at 11:56:15AM +0200, Balazs Nagy wrote: | Hiyas, | | This patch obsoletes my earlier digest patch. This diff fixes the digest | problem which digest problem? | and adds five new email commands: enable, disable, edit, put, | setattr. With this patch you get access for all of the admin settings in | www. Wow! Just what I've been waiting for... I'll give'm a try and see what they can do for me. scott From scott@chronis.icgroup.com Tue Sep 29 18:00:56 1998 From: scott@chronis.icgroup.com (Scott) Date: Tue, 29 Sep 1998 13:00:56 -0400 Subject: [Mailman-Developers] vmailer and mailman Message-ID: <19980929130056.15828@chronis.icgroup.com> I've been running mailman with vmailer for a number of relatively small lists for a while now. In general, everything works fine between the two. However, On installation, I also had to wrestle with the parent UID and GID checks on the mail-wrapper since vmailer sets those values to various things depending on where the sender originates and, more recently, on the ownership of the aliases file. vmailer has decided to deal with mailling lists wrappers by handling the problem itself: the delivery process sets the UID and GID of the process to the owner of the aliases file when it delivers to programs or users in that file. This way, there should be no need for wrapper programs to run checks on processes started by mail. One way this can be approached is to set the parent UID and GID in the mail wrapper to the UID and GID of the owner of the relevant aliases file. Another way would be to eliminate the wrapper altogether for these processes using vmailer. For those of you unfamiliar with vmailer, it's an MTA by Wietse Venema that's under the late stages of alpha testing. It should go into public beta testing very soon (within a week?), and it's likely that it will be widely accepted as a sendmail replacement, judging from Wietse's past projects and talk in the newsgroups. I just thought it'd be a good idea to report about this combo should anyone else be curious, and see what people thought about trying to make mailman work out of the box a little more easily with vmailer. Is it worth checking for in configure to decide whether or not the mail-wrapper is necessary? scott From julian7@kva.hu Wed Sep 30 13:38:02 1998 From: julian7@kva.hu (Balazs Nagy) Date: Wed, 30 Sep 1998 14:38:02 +0200 (CEST) Subject: [Mailman-Developers] command handler patch (required) In-Reply-To: <19980929105902.55279@chronis.icgroup.com> Message-ID: On Tue, 29 Sep 1998, Scott wrote: > On Tue, Sep 29, 1998 at 11:56:15AM +0200, Balazs Nagy wrote: > | Hiyas, > | > | This patch obsoletes my earlier digest patch. This diff fixes the digest > | problem > > which digest problem? try if set digest changes your digest status now. > | and adds five new email commands: enable, disable, edit, put, setattr. > | With this patch you get access for all of the admin settings in www. > > Wow! Just what I've been waiting for... I'll give'm a try and see > what they can do for me. This is in the incremental patches of mine. You have to apply those (ie. the 'required' series) first. -- Linux Supporting Center -- Red Hat Qmail packages -- http://lsc.kva.hu PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8 86 64 9C 42 41 A4 BD B8