The qpopper list archive ending on 6 Nov 2002
Topics covered in this issue include:
1. Re: MMDF bug, and lack of CLI options
John Rudd <jrudd at kzin.ucsc dot edu>
Mon, 28 Oct 2002 07:59:43 -0800
2. downloading: DON'T DELETE THIS MESSAGES
=?iso-8859-1?Q?Ramòn?= Alvarez Rayo <ralvarez at enitel.com dot ni>
Tue, 29 Oct 2002 11:12:46 -0600
3. downloading: DON'T DELETE THIS MESSAGES
rick pim <rick at post.queensu dot ca>
Tue, 29 Oct 2002 12:29:11 -0500
4. RE: downloading: DON'T DELETE THIS MESSAGES
"Morgan A. Miskell" <mormis at caro dot net>
Tue, 29 Oct 2002 12:43:10 -0500
5. Re: downloading: DON'T DELETE THIS MESSAGES
Clifton Royston <cliftonr at lava dot net>
Tue, 29 Oct 2002 08:27:02 -1000
6. Re: downloading: DON'T DELETE THIS MESSAGES
=?iso-8859-1?Q?Ramòn?= Alvarez Rayo <ralvarez at enitel.com dot ni>
Tue, 29 Oct 2002 14:13:15 -0600
7. Re: MMDF bug, and lack of CLI options
Clifton Royston <cliftonr at lava dot net>
Tue, 29 Oct 2002 13:07:46 -1000
8. Compile Error
"Jason Nguyen" <jason at arrk dot com>
Tue, 29 Oct 2002 16:31:35 -0800
9. QPOPPER- Virtual Domains
"Raja" <raja at AppliedNewMedia dot com>
Wed, 30 Oct 2002 13:02:42 +0530
10. Stats log and 35 octets remaining with 0 messages
"Brian L. MacDonald" <blm at nauticom dot net>
Wed, 30 Oct 2002 11:18:13 -0500
11. Re: Compile Error
"Andi Reisenhofer" <guru.andy at aon dot at>
Wed, 30 Oct 2002 18:51:35 +0100
12. RE: Compile Error
"Jason Nguyen" <jason at arrk dot com>
Wed, 30 Oct 2002 11:15:00 -0800
13. Re: Stats log and 35 octets remaining with 0 messages
Simon Byrnand <simon at igrin.co dot nz>
Thu, 31 Oct 2002 10:16:05 +1300
14. Re: QPOPPER- Virtual Domains
Steven Champeon <schampeo at hesketh dot com>
Wed, 30 Oct 2002 16:55:25 -0500
15. RE: Compile Error
The Little Prince <thelittleprince at asteroid-b612 dot org>
Wed, 30 Oct 2002 13:51:06 -0800 (PST)
16. Re: QPOPPER- Virtual Domains
The Little Prince <thelittleprince at asteroid-b612 dot org>
Wed, 30 Oct 2002 13:54:50 -0800 (PST)
17. Re: QPOPPER- Virtual Domains
Steven Champeon <schampeo at hesketh dot com>
Wed, 30 Oct 2002 17:15:29 -0500
18. Re: QPOPPER- Virtual Domains
Clifton Royston <cliftonr at lava dot net>
Wed, 30 Oct 2002 13:17:59 -1000
19. Re: QPOPPER- Virtual Domains
Chuck Yerkes <chuck+qpopper at yerkes dot com>
Wed, 30 Oct 2002 21:08:04 -0800
20. qpopper and ipchains config
"Phil Stubbington" <phil.stubbington at computer dot org>
Thu, 31 Oct 2002 07:56:33 -0000
21. Users popping to often
"Simon May" <simon at imsl dot es>
Thu, 31 Oct 2002 09:35:04 +0100
22. Re: qpopper and ipchains config
peter.allen at moon-light.co dot uk
Thu, 31 Oct 2002 09:25:42 +0000
23. Re: qpopper and ipchains config
Dima Saleh <sysadmin at inco.com dot lb>
Thu, 31 Oct 2002 11:37:02 +0200
24. Re: Compile Error
"Andi Reisenhofer" <guru.andy at aon dot at>
Thu, 31 Oct 2002 11:27:04 +0100
25. Re: Users popping to often
"Jeff A. Earickson" <jaearick at colby dot edu>
Thu, 31 Oct 2002 09:04:58 -0500 (EST)
26. Re: Users popping to often
Deid Reimer <deid at drsol dot com>
Thu, 31 Oct 2002 07:19:08 -0800
27. Re: Users popping to often
"Simon May" <simon at imsl dot es>
Thu, 31 Oct 2002 16:45:23 +0100
28. RE: Stats log and 35 octets remaining with 0 messages
"Brian L. MacDonald" <blm at nauticom dot net>
Thu, 31 Oct 2002 10:56:29 -0500
29. qpopper and OpenSSL
Sebastian Lagemann <lagemann at st-oneline dot net>
Thu, 31 Oct 2002 17:40:59 +0100
30. Re: Users popping to often
"Jeff A. Earickson" <jaearick at colby dot edu>
Thu, 31 Oct 2002 11:14:56 -0500 (EST)
31. Re: Users popping to often
"Alan W. Rateliff, II" <lists at rateliff dot net>
Thu, 31 Oct 2002 13:06:23 -0500
32. Re: Users popping to often
"Jeff A. Earickson" <jaearick at colby dot edu>
Thu, 31 Oct 2002 13:56:21 -0500 (EST)
33. RE: Stats log and 35 octets remaining with 0 messages
"Brian L. MacDonald" <blm at nauticom dot net>
Thu, 31 Oct 2002 14:58:02 -0500
34. How to unsubscribe
Kenneth Porter <shiva at sewingwitch dot com>
Thu, 31 Oct 2002 17:12:56 -0800
35.
"Y Ramprasad" <yramprasad at ecomserver dot com>
Fri, 1 Nov 2002 11:25:43 +0530
36. RE:
"Phil Stubbington" <phil.stubbington at computer dot org>
Fri, 1 Nov 2002 08:21:50 -0000
37. Qpopper Fake Out
Rob Wright <robwright at poncacity dot net>
Fri, 01 Nov 2002 12:41:00 -0600
38. Re: Qpopper Fake Out
Gerald <gcoon at inch dot com>
Fri, 1 Nov 2002 17:00:43 -0500 (EST)
39. Re: connection unexpectedly terminated by server
Kenneth Porter <shiva at sewingwitch dot com>
Fri, 01 Nov 2002 16:11:57 -0800
40. Re: Qpopper Fake Out
The Little Prince <thelittleprince at asteroid-b612 dot org>
Fri, 1 Nov 2002 18:41:48 -0800 (PST)
41. Re: Users popping to often
Chuck Yerkes <chuck+qpopper at yerkes dot com>
Fri, 1 Nov 2002 20:19:21 -0800
42. Re: Users popping to often
Chuck Yerkes <chuck+qpopper at yerkes dot com>
Fri, 1 Nov 2002 20:15:54 -0800
43. Re: Users popping too often
"Simon May" <simon at imsl dot es>
Sat, 2 Nov 2002 12:14:41 +0100
44. Re: Users popping to often
John Rudd <jrudd at ucsc dot edu>
Sat, 2 Nov 2002 03:49:12 -0800
45. Re: MMDF bug, and lack of CLI options
John Rudd <jrudd at ucsc dot edu>
Sat, 2 Nov 2002 04:05:09 -0800
46. Re: Users popping to often
"Jeff A. Earickson" <jaearick at colby dot edu>
Sat, 2 Nov 2002 08:56:29 -0500 (EST)
47. Re: Users popping to often
Kenneth Porter <shiva at sewingwitch dot com>
Sat, 02 Nov 2002 16:06:18 -0800
48. Re: Users popping too often
Kenneth Porter <shiva at sewingwitch dot com>
Sat, 02 Nov 2002 16:07:49 -0800
49. SCO compile problem.
Carles Xavier Munyoz =?iso-8859-1?q?Baldó?= <carles at descom dot es>
Wed, 6 Nov 2002 13:29:20 +0100
50. Access blocked for uid below 10?
Gennaro Esposito <esposito at marscenter dot it>
Wed, 06 Nov 2002 18:34:33 +0100
Date: Mon, 28 Oct 2002 07:59:43 -0800
From: John Rudd <jrudd at kzin.ucsc dot edu>
Subject: Re: MMDF bug, and lack of CLI options
> From: Chuck Yerkes <chuck+qpopper at yerkes dot com>
>
> I'm also curious why is "sees" an MMDF file, rather than a
> proper mail spool...
>
Because our spools are all in MMDF format.
Date: Tue, 29 Oct 2002 11:12:46 -0600
From: =?iso-8859-1?Q?Ramòn?= Alvarez Rayo <ralvarez at enitel.com dot ni>
Subject: downloading: DON'T DELETE THIS MESSAGES
Hello,
my users are downloading this messages:
From MAILER-DAEMON Tue Oct 29 22:01:56 2002
Date: Tue, 29 Oct 2002 22:01:56 +0600 (GMT)
From: Mail System Internal Data <MAILER-DAEMON at mailserver.tmx.com dot ni>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
X-IMAP: 1035570232 0000000977
Status: RO
This text is part of the internal format of your mail folder, and is not
a real message. It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.
I don't have IMAP on my systems, how can i disable create this messages and
my users download this one ? i was looking on the guide.pdf and FAQ and i
can't find anything about it.
I have solaris 7/sparc and qpopper4.0.4
thanks
Saludos Fraternos,
=========================
=========================
=================
Ramón Alvarez Rayo Contacto Tècnico
Telefono : (505) 2787008
Fax : (505) 2707900 ext
4006
Enitel
=========================
=========================
=================
From: rick pim <rick at post.queensu dot ca>
Date: Tue, 29 Oct 2002 12:29:11 -0500
Subject: downloading: DON'T DELETE THIS MESSAGES
Ramòn Alvarez Rayo writes:
> my users are downloading this messages:
> Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
> I don't have IMAP on my systems, how can i disable create this messa
ges and
> my users download this one ?
when you build qpopper, add the configuration option:
--enable-uw-kludge
rp
rick pim rick at post.queensu dot ca=
information technology services (613) 533-2242
queen's university, kingston
-----------------------------------------------------------------------
"Get that finger out of your ear! You don't know where that finger's b
een!"
From: "Morgan A. Miskell" <mormis at caro dot net>
Subject: RE: downloading: DON'T DELETE THIS MESSAGES
Date: Tue, 29 Oct 2002 12:43:10 -0500
If memory serves this is created as a function of Washington University
IMAP. You sure it isn't running?
It can be turned off as a config option if it is running.
-----Original Message-----
From: Ramòn Alvarez Rayo [mailto:ralvarez at enitel.com dot ni]
Sent: Tuesday, October 29, 2002 12:13 PM
To: Subscribers of Qpopper
Subject: downloading: DON'T DELETE THIS MESSAGES
Hello,
my users are downloading this messages:
From MAILER-DAEMON Tue Oct 29 22:01:56 2002
Date: Tue, 29 Oct 2002 22:01:56 +0600 (GMT)
From: Mail System Internal Data <MAILER-DAEMON at mailserver.tmx.com dot ni>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
X-IMAP: 1035570232 0000000977
Status: RO
This text is part of the internal format of your mail folder, and is not
a real message. It is created automatically by the mail system
software. If deleted, important folder data will be lost, and it will be
re-created with the data reset to initial values.
I don't have IMAP on my systems, how can i disable create this messages
and
my users download this one ? i was looking on the guide.pdf and FAQ and
i
can't find anything about it.
I have solaris 7/sparc and qpopper4.0.4
thanks
Saludos Fraternos,
=========================
=========================
=================
Ramón Alvarez Rayo Contacto
Tècnico
Telefono : (505) 2787008
Fax : (505) 2707900
ext 4006
Enitel
=========================
=========================
=================
Date: Tue, 29 Oct 2002 08:27:02 -1000
From: Clifton Royston <cliftonr at lava dot net>
Subject: Re: downloading: DON'T DELETE THIS MESSAGES
On Tue, Oct 29, 2002 at 11:12:46AM -0600, Ramòn Alvarez Rayo wrote:
...
> I don't have IMAP on my systems, how can i disable create this messages and
> my users download this one ? i was looking on the guide.pdf and FAQ and i
> can't find anything about it.
It is also produced by Pine and other UW software, as well as UW IMAP.
If you don't run IMAP, you've probably got shell users running Pine. As
the previous replies said, the solution is to do a clean configure and
recompile of qpopper from source with --enable-uw-kludge.
-- Clifton
--
Clifton Royston -- LavaNet Systems Architect -- cliftonr at lava dot net
"As for yourself, ... I am well disposed to hope you may hitherto have
escaped many Vices of your Country. But by what I have gathered from
your own Relation, and the Answers I have with much Pain wringed and
extorted from you, I cannot but conclude the Bulk of your Natives to be
the most pernicious Race of little odious Vermin that Nature ever
suffered to crawl upon the Surface of the Earth."
- Jonathan Swift, _Gulliver's Travels_
Date: Tue, 29 Oct 2002 14:13:15 -0600
From: =?iso-8859-1?Q?Ramòn?= Alvarez Rayo <ralvarez at enitel.com dot ni>
Subject: Re: downloading: DON'T DELETE THIS MESSAGES
Thanks for all.
At 08:27 29/10/2002 -1000, Clifton Royston wrote:
>On Tue, Oct 29, 2002 at 11:12:46AM -0600, Ramòn Alvarez Rayo wrote:
>...
> > I don't have IMAP on my systems, how can i disable create this messages
> and
> > my users download this one ? i was looking on the guide.pdf and FAQ and
i
> > can't find anything about it.
>
>It is also produced by Pine and other UW software, as well as UW IMAP.
>If you don't run IMAP, you've probably got shell users running Pine. As
>the previous replies said, the solution is to do a clean configure and
>recompile of qpopper from source with --enable-uw-kludge.
>
>
> -- Clifton
>
>--
> Clifton Royston -- LavaNet Systems Architect -- cliftonr at lava dot net
>"As for yourself, ... I am well disposed to hope you may hitherto have
>escaped many Vices of your Country. But by what I have gathered from
>your own Relation, and the Answers I have with much Pain wringed and
>extorted from you, I cannot but conclude the Bulk of your Natives to be
>the most pernicious Race of little odious Vermin that Nature ever
>suffered to crawl upon the Surface of the Earth."
> - Jonathan Swift, _Gulliver's Travels_
Saludos Fraternos,
=========================
=========================
=================
Ramón Alvarez Rayo Contacto Tècnico
Telefono : (505) 2787008
Fax : (505) 2707900 ext
4006
Enitel
=========================
=========================
=================
Date: Tue, 29 Oct 2002 13:07:46 -1000
From: Clifton Royston <cliftonr at lava dot net>
Subject: Re: MMDF bug, and lack of CLI options
On Sat, Oct 26, 2002 at 07:25:02PM -0700, John Rudd wrote:
> > >option? We get enough pop processes on our server that having config
> > >files creates a resource contention problem on the disk where the config
> > >file lives, so config files == bad.
> > >
> [snip]
> > >
> > >Ideally, every config file option would have a CLI equivalent.
> >
> > There are provisions for having every user using a separate configuration
> > file. But really I have to ask... what is wrong with using a config file
> > instead of command line switches?
>
> I trimmed my part of the above down because the answer to your question
> was in my message. To explain it a little more, if a popper starts up and
> then immediately tries to open a config file, it's going to hang while
> waiting for IO. If you've got 15000 users, that can build up. For example,
> in the last two days, when I forgot about this issue, I accidently enabled
> config files for the poppers, and I had, at some points, 6000 popper processes
> all sleeping on waiting to open their config files.
I am really a bit dubious this was the source of the contention,
unless you are running some unusual operating system, or there is some
other underlying bug. As Chuck Yerkes noted, if you have 6000
processes all opening the same file for read access, in most reasonable
versions of UNIX they should all be transparently reading copies from
the same disk buffer cached in the kernel's RAM.
However, I would expect 6000 popper processes all trying to update
files on the same partition would certainly hang up your system
regardless of whether they are reading config files or not!
> (limiting the number of
> processes only trades symptoms of "painfully slow pop processes that
> ultimately timeout" for "refusing connections" ... either way it's a problem,
> and neither one happens if you aren't using config files ... and in that
> case, the turn over is usually fast enough that the number of pop processes
> doesn't tend to grow past 1000 any way)
With 6000 processes, or even 1000, isn't your system swapping like
crazy at this point? Isn't the swapping more likely the source of the
troubles? Or contention to update the directory for the mail spool
files and/or recopy the mail spools?
> Part of it is "where does the config file live"? The default location is
> in /etc/mail/pop ... on the root disk, along with the sendmail config file,
> things like the nsswitch.conf, hosts.allow and hosts.deny, etc. Oh, and
> the password file. Things that get used A LOT.
Which means they shouldn't be loaded off the disk, they should be in RAM
already.... Something's not right here.
> To a certain extent, the
> problem can be solved by putting lots of things on different disks ... but in
> the most extreme case, that starts to look like a disk for just /etc/mail/pop.
> That doesn't scale much better than having everything in /etc.
>
> In contrast, if the config files don't exist, the IO process is much faster,
> and the poppers barely hang.
I would look also at whether there is some value in the config file,
other than disabling the cache file, which is causing a problem? Or
now that I think about it, whether disabling the cache file is itself
the source of the problems?
But, in order for that to happen, you have to be
> able to specify everything on the command line (or in the configure script, but
> that can be a little too static for my tastes, I don't want to have to
> recompile just to change every little decision).
I can give you some help on this part - all of the command line flags
and the config file options are controlled by sets of tables and case
statements in the C source. If you're willing to create yourself a
patch for the source, you can easily create new command line flags for
your installation to add remaining config file options to the command
line.
Look in popper/pop_config.c and popper/pop_init.c for how to handle
it - read through and grok how the existing command line options are
handled and you should be able to easily make this a command line
option.
I just have a nagging feeling that you have other problems on this
server which you might not have characterized yet.
-- Clifton
--
Clifton Royston -- LavaNet Systems Architect -- cliftonr at lava dot net
"As for yourself, ... I am well disposed to hope you may hitherto have
escaped many Vices of your Country. But by what I have gathered from
your own Relation, and the Answers I have with much Pain wringed and
extorted from you, I cannot but conclude the Bulk of your Natives to be
the most pernicious Race of little odious Vermin that Nature ever
suffered to crawl upon the Surface of the Earth."
- Jonathan Swift, _Gulliver's Travels_
From: "Jason Nguyen" <jason at arrk dot com>
Subject: Compile Error
Date: Tue, 29 Oct 2002 16:31:35 -0800
Hi everyone, was wondering if yany of you can help me with this. This
is being done on Mandrake Linux version 9.0. Exim has been compiled
and installed. The only thing left is for Qpopper but it's giving me
this message:
pop_init.c: In function `pop_init':
pop_init.c:658: parse error before '/' token
make[1]: *** [pop_init.o] Error 1
make[1]: Leaving directory `/home/jason/packages/qpopper4.0.4/popper'
make: *** [popper_server] Error 2
Any help would be appreciated. If you need more details, please let me
know as well if this isn't enough.
Thanks,
Jason
From: "Raja" <raja at AppliedNewMedia dot com>
Subject: QPOPPER- Virtual Domains
Date: Wed, 30 Oct 2002 13:02:42 +0530
This is a multi-part message in MIME format.
------=_NextPart_000_001B_01C28014.A1D49500
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
Would like to setup a mail server. We have multiple domains
with single IP address. is the QPOPPER supports virtual domains? ie, I
would like to have, for example, 123 at abc dot com, 123 at xyz dot com with single
IP address. I'll be grate for your advises.
Thx & Rgds,
Raja.
------=_NextPart_000_001B_01C28014.A1D49500
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html;
charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial color=#000080 size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial color=#000080
size=2>
Would like
to setup a mail server. We have multiple domains with single IP
address. is
the QPOPPER supports virtual domains? ie, I would like to
have, for
example, <A href="mailto:123 at abc dot com">123@abc dot com</A>, <A
href="mailto:123 at xyz dot com">123@xyz dot com</A> with single IP
address. I'll be
grate for your advises.</FONT></DIV>
<DIV><FONT face=Arial color=#000080 size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#000080 size=2>Thx &
Rgds,</FONT></DIV>
<DIV><FONT face=Arial color=#000080
size=2>Raja.</FONT></DIV></BODY></HTML>
------=_NextPart_000_001B_01C28014.A1D49500--
From: "Brian L. MacDonald" <blm at nauticom dot net>
Subject: Stats log and 35 octets remaining with 0 messages
Date: Wed, 30 Oct 2002 11:18:13 -0500
Hello,
We are attempting to trouble-shoot some problems with corruption of mail
spool files and have come across the following log entry. In the course of
today we have seen 50 or so of these messages. All of the users that have
had corruption of their mail spool have had a log entry like this on their
last successful popper session.
Oct 30 11:12:39 pop01 popper[47388]: Stats: <user> 1 569 0 35 <fqnd> <ip>
where
<user> is the customer's username
<fqdn> is the full DNS name for the ip of the customer
<ip> is the ip of the customer
Has anyone seen this before or know how there can be 35 octets remaining but
0 messages?
Thank you,
Brian
blm at nauticom dot net
From: "Andi Reisenhofer" <guru.andy at aon dot at>
Subject: Re: Compile Error
Date: Wed, 30 Oct 2002 18:51:35 +0100
Hallo Jason,
Did you specify a logfacility?
Which configure options?
Post that code line.
Reg.
Andreas
>Hi everyone, was wondering if yany of you can help me with this. This
>is being done on Mandrake Linux version 9.0. Exim has been compiled
>and installed. The only thing left is for Qpopper but it's giving me
>this message:
>
>pop_init.c: In function `pop_init':
>pop_init.c:658: parse error before '/' token
>make[1]: *** [pop_init.o] Error 1
>make[1]: Leaving directory `/home/jason/packages/qpopper4.0.4/popper'
>make: *** [popper_server] Error 2
From: "Jason Nguyen" <jason at arrk dot com>
Date: Wed, 30 Oct 2002 11:15:00 -0800
Subject: RE: Compile Error
Andreas,
The command line I used to configure is as follows:
=2E/configure --enable-poppassd --with-openssl=/usr/lib
--with-fast-update --enable-auth-file=/etc/pop.auth --enable-timing
--enable-log-facility=/var/log/log_mail --enable-home-dir-mail=.mbx
--enable-shy --enable-popuid=pop --enable-apop=/etc --with-pam=aqpo
pper
--enable-specialauth --servermode
Thanks,
Jase
>Hallo Jason,
>
>Did you specify a logfacility?
>
>Which configure options?
>
>Post that code line.
>
>Reg.
>Andreas
>
>Hi everyone, was wondering if yany of you can help me with this. =A0
>This
>is being done on Mandrake Linux version 9.0. =A0Exim has been compiled
>and installed. =A0The only thing left is for Qpopper but it's giving me
>this message:
>
>pop_init.c: In function `pop_init':
>pop_init.c:658: parse error before '/' token
>make[1]: *** [pop_init.o] Error 1
>make[1]: Leaving directory `/home/jason/packages/qpopper4.0.4/popper'
>make: *** [popper_server] Error 2
Date: Thu, 31 Oct 2002 10:16:05 +1300
From: Simon Byrnand <simon at igrin.co dot nz>
Subject: Re: Stats log and 35 octets remaining with 0 messages
At 11:18 30/10/02 -0500, Brian L. MacDonald wrote:
>Hello,
>
>We are attempting to trouble-shoot some problems with corruption of mail
>spool files and have come across the following log entry. In the course of
>today we have seen 50 or so of these messages. All of the users that have
>had corruption of their mail spool have had a log entry like this on their
>last successful popper session.
>
>Oct 30 11:12:39 pop01 popper[47388]: Stats: <user> 1 569 0 35 <fqnd> <ip>
>
>where
> <user> is the customer's username
> <fqdn> is the full DNS name for the ip of the customer
> <ip> is the ip of the customer
>
>Has anyone seen this before or know how there can be 35 octets remaining but
>0 messages?
Hi Brian,
I havn't seen this problem before, but did you look at one of these spool
files with 35 bytes still in it to see what was there ? That may provide a
clue as to the problem...
Regards,
Simon
Date: Wed, 30 Oct 2002 16:55:25 -0500
From: Steven Champeon <schampeo at hesketh dot com>
Subject: Re: QPOPPER- Virtual Domains
on Wed, Oct 30, 2002 at 01:02:42PM +0530, Raja wrote:
> Would like to setup a mail server. We have multiple domains with
> single IP address. is the QPOPPER supports virtual domains? ie, I
> would like to have, for example, 123 at abc dot com, 123 at xyz dot com with single
> IP address. I'll be grate for your advises.
Virtual domains don't have anything to do with qpopper. They're an MTA
(mail transfer agent) function, not a POP function. As far as qpopper
knows, there are no domains at all, just spool files (or their
equivalent).
Using sendmail, you can set up virtual domains with the virtusertable
feature, and then create pop accounts to which mail sent to addresses
in those virtual domains is delivered:
123 at abc dot com pop01
123 at xyz dot com pop02
then, the user checking mail at pop01 will get all mail sent to
123 at abc dot com, and the user checking mail at pop02 will get mail sent
to 123 at xyz dot com. See the sendmail documentation for more details:
http://www.sendmail.org/faq/section3.html#3.7
http://www.sendmail.org/faq/section3.html#3.28
http://www.sendmail.org/virtual-hosting.html
Other MTAs also support virtual domains, but again, this has nothing
to do with POP, or with qpopper, as is clear from the FAQ:
http://www.eudora.com/qpopper/faq.html#virt.dom
--
hesketh.com/inc. v: (919) 834-2552 f: (919) 834-2554 w: http://hesketh.com
The average person needs trepanation like he needs a hole in the head. -ca
Date: Wed, 30 Oct 2002 13:51:06 -0800 (PST)
From: The Little Prince <thelittleprince at asteroid-b612 dot org>
Subject: RE: Compile Error
On Wed, 30 Oct 2002, Jason Nguyen wrote:
> Andreas,
>
> The command line I used to configure is as follows:
>
>
> ./configure --enable-poppassd --with-openssl=/usr/lib
> --with-fast-update --enable-auth-file=/etc/pop.auth --enable-timing
> --enable-log-facility=/var/log/log_mail --enable-home-dir-mail=.mbx
> --enable-shy --enable-popuid=pop --enable-apop=/etc --with-pam=aqpopper
> --enable-specialauth --servermode
>
uhh, i don't think you can specify a log FILE for a log facility.
you have to specify something like local0
--Tony
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Anthony J. Biacco Network Administrator/Engineer
thelittleprince at asteroid-b612.org http://www.asteroid-b612 dot org
"Every day should be a good day to die" -DJM
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
> Thanks,
> Jase
>
> >Hallo Jason,
> >
> >Did you specify a logfacility?
> >
> >Which configure options?
> >
> >Post that code line.
> >
> >Reg.
> >Andreas
> >
> >Hi everyone, was wondering if yany of you can help me with this.
> >This
> >is being done on Mandrake Linux version 9.0. Exim has been compiled
> >and installed. The only thing left is for Qpopper but it's giving me
> >this message:
> >
> >pop_init.c: In function `pop_init':
> >pop_init.c:658: parse error before '/' token
> >make[1]: *** [pop_init.o] Error 1
> >make[1]: Leaving directory `/home/jason/packages/qpopper4.0.4/popper'
> >make: *** [popper_server] Error 2
>
Date: Wed, 30 Oct 2002 13:54:50 -0800 (PST)
From: The Little Prince <thelittleprince at asteroid-b612 dot org>
Subject: Re: QPOPPER- Virtual Domains
On Wed, 30 Oct 2002, Steven Champeon wrote:
> on Wed, Oct 30, 2002 at 01:02:42PM +0530, Raja wrote:
> > Would like to setup a mail server. We have multiple domains with
> > single IP address. is the QPOPPER supports virtual domains? ie, I
> > would like to have, for example, 123 at abc dot com, 123 at xyz dot com with single
> > IP address. I'll be grate for your advises.
>
> Virtual domains don't have anything to do with qpopper. They're an MTA
> (mail transfer agent) function, not a POP function. As far as qpopper
> knows, there are no domains at all, just spool files (or their
> equivalent).
>
that's not really true. lots of pop3 servers support virtual domains, so
usernames can be non-unique across multiple mail domains,
users can login simply with their email address, organizational reasons,
etc..
the faq just states that "qpopper" doesn't support them natively, not that
they're not a function of pop3 at all.
--Tony
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Anthony J. Biacco Network Administrator/Engineer
thelittleprince at asteroid-b612.org http://www.asteroid-b612 dot org
"Every day should be a good day to die" -DJM
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Date: Wed, 30 Oct 2002 17:15:29 -0500
From: Steven Champeon <schampeo at hesketh dot com>
Subject: Re: QPOPPER- Virtual Domains
on Wed, Oct 30, 2002 at 01:54:50PM -0800, The Little Prince wrote:
> On Wed, 30 Oct 2002, Steven Champeon wrote:
>
> > on Wed, Oct 30, 2002 at 01:02:42PM +0530, Raja wrote:
> > > Would like to setup a mail server. We have multiple domains with
> > > single IP address. is the QPOPPER supports virtual domains? ie, I
> > > would like to have, for example, 123 at abc dot com, 123 at xyz dot com with single
> > > IP address. I'll be grate for your advises.
> >
> > Virtual domains don't have anything to do with qpopper. They're an MTA
> > (mail transfer agent) function, not a POP function. As far as qpopper
> > knows, there are no domains at all, just spool files (or their
> > equivalent).
>
> that's not really true. lots of pop3 servers support virtual domains,
> so usernames can be non-unique across multiple mail domains, users can
> login simply with their email address, organizational reasons, etc..
My point was that it doesn't matter whether qpopper supports it or not,
the initial distinction between user@abc and user@def is made by the MTA.
> the faq just states that "qpopper" doesn't support them natively, not that
> they're not a function of pop3 at all.
They are not a function of POP3, though.
http://www.ietf.org/rfc/rfc1939.txt
As far as POP3 is concerned, the token following USER only has to apply
to some maildrop or another, and be uniquely identified. You may log in
with a token that resembles an email address, but for all practical
intents and purposes, it's just a token. And your claim that the username
can be non-unique pertains only to the LHS of the "address", not to the
token as a whole.
--
hesketh.com/inc. v: (919) 834-2552 f: (919) 834-2554 w: http://hesketh.com
The average person needs trepanation like he needs a hole in the head. -ca
Date: Wed, 30 Oct 2002 13:17:59 -1000
From: Clifton Royston <cliftonr at lava dot net>
Subject: Re: QPOPPER- Virtual Domains
On Wed, Oct 30, 2002 at 04:55:25PM -0500, Steven Champeon wrote:
...
> Using sendmail, you can set up virtual domains with the virtusertable
> feature, and then create pop accounts to which mail sent to addresses
> in those virtual domains is delivered:
>
> 123 at abc dot com pop01
> 123 at xyz dot com pop02
>
> then, the user checking mail at pop01 will get all mail sent to
> 123 at abc dot com, and the user checking mail at pop02 will get mail sent
> to 123 at xyz dot com. See the sendmail documentation for more details:
This is an example of a non-virtual implementation on the POP side.
I.e. the user at 123 at abc dot com can not check mail at pop.abc.com *with*
the username 123 or 123 at abc dot com, but has to set their username to this
totally nonintuitive username value known only to the internals of the
ISP's mail system.
I'm getting beaten up about this by my sales manager (nicely!) every
so often too, if you can't tell.
-- Clifton
--
Clifton Royston -- LavaNet Systems Architect -- cliftonr at lava dot net
"As for yourself, ... I am well disposed to hope you may hitherto have
escaped many Vices of your Country. But by what I have gathered from
your own Relation, and the Answers I have with much Pain wringed and
extorted from you, I cannot but conclude the Bulk of your Natives to be
the most pernicious Race of little odious Vermin that Nature ever
suffered to crawl upon the Surface of the Earth."
- Jonathan Swift, _Gulliver's Travels_
Date: Wed, 30 Oct 2002 21:08:04 -0800
From: Chuck Yerkes <chuck+qpopper at yerkes dot com>
Subject: Re: QPOPPER- Virtual Domains
There are no virtual domains. Rather, all domains are virtual :)
What you want is pop service for a fully qualified username@domain
where username might not be unique among multiple domains.
The sendmail MTA handles one part. The delivery part is tricky for
POP since the spec doesn't really discuss domain names (it sort of
precedes when we might have wanted that).
Currently, I might want "bob@abc dot com" to be different from
"bob@def dot biz". To do this, I'd want users to log in as their full
name, with domain. Some mail readers lop domainnames off (eudora
did but may not anymore).
The workaround was to have people put in "bob%abc.com" and the
POP/IMAP server would just xlate % into @.
With Sendmail's IMAP server, I can use the proxy to automatically
append a domain based on the interface the request came in on.
The proxy could run on the same host or, esp for TLS, on several
external machines.
"bob" on 204.89.168.5 would hit the server as "bob@abc dot com" where
"bob" on 204.89.168.10 would be changed to "bob@def dot biz".
QPopper, afaik, will not retain the domain name part.
Quoting Clifton Royston (cliftonr at lava dot net):
> On Wed, Oct 30, 2002 at 04:55:25PM -0500, Steven Champeon wrote:
> ...
> > Using sendmail, you can set up virtual domains with the virtusertable
> > feature, and then create pop accounts to which mail sent to addresses
> > in those virtual domains is delivered:
> >
> > 123 at abc dot com pop01
> > 123 at xyz dot com pop02
> >
> > then, the user checking mail at pop01 will get all mail sent to
> > 123 at abc dot com, and the user checking mail at pop02 will get mail sent
> > to 123 at xyz dot com. See the sendmail documentation for more details:
>
> This is an example of a non-virtual implementation on the POP side.
>
> I.e. the user at 123 at abc dot com can not check mail at pop.abc.com *with*
> the username 123 or 123 at abc dot com, but has to set their username to this
> totally nonintuitive username value known only to the internals of the
> ISP's mail system.
>
> I'm getting beaten up about this by my sales manager (nicely!) every
> so often too, if you can't tell.
From: "Phil Stubbington" <phil.stubbington at computer dot org>
Subject: qpopper and ipchains config
Date: Thu, 31 Oct 2002 07:56:33 -0000
Hi,
I've been trying to get qpopper configured for a few days now, and after
lots of false starts (no thanks to M*cr*s*ft Outl**k or Outl**k Express) I
think I've tracked the problem down to ipchains.
When trying to connect using Express, I get the following errors:-
The connection to the server has failed. Account: 'xxxxxx.com', Server:
'mail. xxxxxx.com', Protocol: SMTP, Port: 25, Secure(SSL): No, Socket Error:
10061, Error Number: 0x800CCC0E
The connection to the server has failed. Account: 'xxxxxx.com', Server:
'xxxxxx.com', Protocol: POP3, Port: 110, Secure(SSL): No, Socket Error:
10071, Error Number: 0x800CCC0E
Now, naïve me assumed that the comment about SSL meant it was trying to use
SSL to connect to the port.
However, if I remove the following rule from ipchains:-
REJECT tcp -y---- anywhere anywhere any ->
any
Then the pop3 connection works. I need to do the equivalent for SMTP also,
as I understand it.
Now, what I'm a little confused about is whether this is the correct &
safest way to configure ipchains to allow qpopper to work?
I need to allow any external client with a valid IP address to connect via
pop3 and SMTP using using the appropriate ports. Presumably it's a good
idea to reject invalid IP addresses and to reject connections that appear to
come from the internal network address. I guess there is more I can do to
secure things by using APOP, SSL, etc. but first things first.
I would be grateful for any help.
Thanks,
Phil
From: "Simon May" <simon at imsl dot es>
Subject: Users popping to often
Date: Thu, 31 Oct 2002 09:35:04 +0100
Dear All
I have a number of users you are checking for mail very frequently, every
30s etc.
besides asking them not to is there any way other way to stop them.
I feel that every 5 minutes is more than enough.
This constant check really produces a lot of unnecessary traffic.
This has only became a problem since ADSL (DSL) has became available in
Spain.
Have other people experienced this situation.
Kind Regards
Simon May
Email simon at imsl dot es
Date: Thu, 31 Oct 2002 09:25:42 +0000
From: peter.allen at moon-light.co dot uk
Subject: Re: qpopper and ipchains config
You wrote:
>When trying to connect using Express, I get the following errors:-
>
>The connection to the server has failed. Account: 'xxxxxx.com', Server:
>'mail. xxxxxx.com', Protocol: SMTP, Port: 25, Secure(SSL): No, Socket
Error:
>10061, Error Number: 0x800CCC0E
>
>The connection to the server has failed. Account: 'xxxxxx.com', Server:
>'xxxxxx.com', Protocol: POP3, Port: 110, Secure(SSL): No, Socket Error:
>10071, Error Number: 0x800CCC0E
>
>Now, naïve me assumed that the comment about SSL meant it was trying to
use
>SSL to connect to the port.
No - in fact that is just saying that your e-mail client was not using SSL.
>However, if I remove the following rule from ipchains:-
>
>REJECT tcp -y---- anywhere anywhere any ->
>any
>
>Then the pop3 connection works. I need to do the equivalent for SMTP also,
>as I understand it.
Well that will work as it is removing most of your firewall protection
!! After reading up a bit on ipchains you should add to rules for clients
to connect to port 110, which is where PoP3 is normally checked, and port
25 being the SMTP equivalent.
>Now, what I'm a little confused about is whether this is the correct &
safest way to configure >ipchains to allow qpopper to work?
Definitely not the way to go, although I concede that it will work. You
should assume currently that you do not have any firewalling.
>I need to allow any external client with a valid IP address to connect
via pop3 and SMTP using >using the appropriate ports. Presumably it's a
good idea to reject invalid IP addresses and to >reject connections that
appear to come from the internal network address. I guess there is more
I >can do to secure things by using APOP, SSL, etc. but first things first.
Most firewalls will cover blocking internal IP numbers on the external
interface etc.
>I would be grateful for any help.
>
>Thanks,
>Phil
Date: Thu, 31 Oct 2002 11:37:02 +0200
From: Dima Saleh <sysadmin at inco.com dot lb>
Subject: Re: qpopper and ipchains config
Hi,
How can I unsubscribe from this mailing list?
sysadmin at inco.com dot lb
Thank you
----- Original Message -----
From: <peter.allen at moon-light.co dot uk>
To: <phil.stubbington at computer dot org>
Cc: <qpopper at lists.pensive dot org>
Sent: Thursday, October 31, 2002 11:25 AM
Subject: Re: qpopper and ipchains config
You wrote:
>When trying to connect using Express, I get the following errors:-
>
>The connection to the server has failed. Account: 'xxxxxx.com', Server:
>'mail. xxxxxx.com', Protocol: SMTP, Port: 25, Secure(SSL): No, Socket
Error:
>10061, Error Number: 0x800CCC0E
>
>The connection to the server has failed. Account: 'xxxxxx.com', Server:
>'xxxxxx.com', Protocol: POP3, Port: 110, Secure(SSL): No, Socket Error:
>10071, Error Number: 0x800CCC0E
>
>Now, naïve me assumed that the comment about SSL meant it was trying to
use
>SSL to connect to the port.
No - in fact that is just saying that your e-mail client was not using SSL.
>However, if I remove the following rule from ipchains:-
>
>REJECT tcp -y---- anywhere anywhere any ->
>any
>
>Then the pop3 connection works. I need to do the equivalent for SMTP also,
>as I understand it.
Well that will work as it is removing most of your firewall protection
!! After reading up a bit on ipchains you should add to rules for clients
to connect to port 110, which is where PoP3 is normally checked, and port
25 being the SMTP equivalent.
>Now, what I'm a little confused about is whether this is the correct &
safest way to configure >ipchains to allow qpopper to work?
Definitely not the way to go, although I concede that it will work. You
should assume currently that you do not have any firewalling.
>I need to allow any external client with a valid IP address to connect
via pop3 and SMTP using >using the appropriate ports. Presumably it's a
good idea to reject invalid IP addresses and to >reject connections that
appear to come from the internal network address. I guess there is more
I >can do to secure things by using APOP, SSL, etc. but first things first.
Most firewalls will cover blocking internal IP numbers on the external
interface etc.
>I would be grateful for any help.
>
>Thanks,
>Phil
From: "Andi Reisenhofer" <guru.andy at aon dot at>
Subject: Re: Compile Error
Date: Thu, 31 Oct 2002 11:27:04 +0100
Hallo Jason,
this will not work
--enable-log-facility=/var/log/log_mail
use enable-log-facility=LOG_MAIL
or LOG_LOCAL0
or LOG_LOCAL1
or LOG_LOCAL2
or LOG_LOCAL3
or LOG_LOCAL4
or LOG_LOCAL5
or LOG_LOCAL6
or LOG_LOCAL7
reg,
Andreas
>
>The command line I used to configure is as follows:
>
Date: Thu, 31 Oct 2002 09:04:58 -0500 (EST)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Users popping to often
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 at docserver.cac.washington dot edu for more info.
---559023410-684387517-1036073098=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi,
Wrote a shell script (attached) that gets run via cron once a day
to analyze the previous day's syslog for excessive pop connections.
The script counts the connections and if greater than TOO_MANY_HITS,
sends them email. The abusers get two warning messages, one nice,
one not so nice (also attached). The script also keeps track of
excess usage over a month in a directory.
If the person does not reduce their usage after two warnings, they
go into /etc/pop.nonauth (the not-authorized-to-use-pop file) until
they cooperate.
-----------------------------------
Jeff A. Earickson, Ph.D
Senior UNIX Sysadmin and Email Guru
Information Technology Services
Colby College, 4214 Mayflower Hill,
Waterville ME, 04901-8842
phone: 207-872-3659 (fax = 3076)
-----------------------------------
On Thu, 31 Oct 2002, Simon May wrote:
> Date: Thu, 31 Oct 2002 09:35:04 +0100
> From: Simon May <simon at imsl dot es>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Users popping to often
>
> Dear All
> I have a number of users you are checking for mail very frequently, every
> 30s etc.
> besides asking them not to is there any way other way to stop them.
>
> I feel that every 5 minutes is more than enough.
> This constant check really produces a lot of unnecessary traffic.
>
> This has only became a problem since ADSL (DSL) has became available in
> Spain.
>
> Have other people experienced this situation.
>
> Kind Regards
> Simon May
> Email simon at imsl dot es
>
---559023410-684387517-1036073098=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="pop.abusers"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.44.0210310904580 dot 2289@cayuga>
Content-Description:
Content-Disposition: attachment; filename="pop.abusers"
IyEvdXNyL2Jpbi9rc2gNCiMNCiMtLS1zY3JpcHQgdG8gZGV0ZXJtaW5lIGhp
Z2gtZnJlcXVlbmN5IHBvcCB1c2VycyBmcm9tIA0KIy0tLXRoZSBtYWlsLWh1
YnMgc3lzdGVtIGxvZyBmaWxlDQojDQojLS0tIHNldCBERUJVRyB0byAxIHRv
IHVzZSAic2V0IC14IiBpbiBhbGwgcm91dGluZXMNCkRFQlVHPTANCmlmIFsg
JERFQlVHIC1lcSAxIF07IHRoZW4NCiAgICBzZXQgLXgNCmZpDQoNCkNBVD0v
dXNyL2Jpbi9jYXQNCkNVVD0vdXNyL2Jpbi9jdXQNCkdSRVA9L3Vzci9sb2Nh
bC9iaW4vZ3JlcA0KU0VEPS91c3IvbG9jYWwvYmluL3NlZA0KU09SVD0vdXNy
L2xvY2FsL2Jpbi9zb3J0DQpVTklRPS91c3IvYmluL3VuaXENClpDQVQ9L3Vz
ci9sb2NhbC9iaW4vemNhdA0KVEFCSUZZPScvdXNyL2Jpbi90ciAtcyAiXDA0
MCIgIlwwMTEiJw0KQ09MT049Jy91c3IvYmluL3RyIC1zICJcMDQwIiAiOiIn
DQpVTlRBQklGWT0nL3Vzci9iaW4vdHIgLXMgIlwwMTEiICJcMDQwIicNCg0K
U1lTQURNSU5TPSJqYWVhcmlja0Bjb2xieS5lZHUiDQoNCiMtLS10aGUgbnVt
YmVyIG9mIHRvby1zb29uIGNvbm5lY3Rpb25zIHRoYXQgdHJpZ2dlcnMgZS1t
YWlsIHRvIHVzZXINCiMtLS0zMDAgaXMgY29tcHV0ZWQgYXM6IGV2ZXJ5IDUg
bWludXRlcywgMjQgaHJzL2RheSA9IDI4OCwgcm91bmRlZCB1cA0KVE9PX01B
TllfSElUUz0zMDANCg0KIy0tLXdoZXJlIHBvcCB1c2FnZSBpcyBzdG9yZWQg
YW5kIHRvZGF5J3MgYWJ1c2VyIGZpbGUNClBPUF9VU0FHRT0vdXNyL2xvY2Fs
L2FkbS9wb3AudXNhZ2UNCkFCVVNFUlM9JFBPUF9VU0FHRS9hYnVzZXJzLmBk
YXRlICsnJWQnYA0KTUFJTD0vdXNyL2Jpbi9tYWlseA0KDQpTZW5kTWFpbCgp
DQp7DQoJIy0tLWxvY2FsIHZhcmlhYmxlcw0KCXR5cGVzZXQgbmhpdHMNCgl0
eXBlc2V0IG5zaG9ydA0KCXR5cGVzZXQgcmVwZWF0DQoNCiMJaWYgWyAkREVC
VUcgLWVxIDEgXTsgdGhlbg0KIwkJcHJpbnQgIioqKiBFbnRlcmluZyBTZW5k
TWFpbCgpICoqKiINCiMJCXNldCAteA0KIwlmaQ0KDQoJIy0tLWlmIGFidXNl
cnMgZmlsZSBsYXJnZXIgdGhhbiB6ZXJvIGJ5dGVzDQoJaWYgWyAtcyAkQUJV
U0VSUyBdOyB0aGVuDQoJCSMtLS1tYWlsIHN5c2FkbWluIHRoZSBsaXN0DQoJ
CSRNQUlMIC1zICdZZXN0ZXJkYXlzIFBPUCBBYnVzZXJzJyAkU1lTQURNSU5T
IDwgJEFCVVNFUlMNCgkJZm9yIGxpbmUgaW4gYCRDQVQgJEFCVVNFUlNgDQoJ
CWRvDQoJCQlib3pvPWBwcmludCAkbGluZSB8ICRDVVQgLWYxIC1kOmANCgkJ
CW5oaXRzPWBwcmludCAkbGluZSB8ICRDVVQgLWYyIC1kOmANCg0KCQkJIy0t
LWlzIHRoZSBib3pvIGEgcmVwZWF0IG9mZmVuZGVyPw0KCQkJcmVwZWF0PWAk
R1JFUCAkYm96byAkUE9QX1VTQUdFL2FidXNlcnMuKiB8IC91c3IvYmluL3dj
IC1sYA0KDQoJCQkjLS0tZmlyc3QgbGV0dGVyDQoJCQlpZiBbICRyZXBlYXQg
LWVxIDEgXTsgdGhlbg0KCQkJCS91c3IvYmluL3NlZCAtZSAicy9OSElUUy8k
bmhpdHMvIiAkUE9QX1VTQUdFL2ZpcnN0Lm1zZyA+IC90bXAveHh4LiQkDQoJ
CQkJaWYgWyAkREVCVUcgLWVxIDAgXTsgdGhlbg0KCQkJCQkkTUFJTCAtcyAi
KioqIEV4Y2Vzc2l2ZSBFdWRvcmEgQ29ubmVjdGlvbnMgKioqIiAkYm96b0Bj
b2xieS5lZHUgPCAvdG1wL3h4eC4kJA0KCSAJCQkJJE1BSUwgLXMgIioqKiBQ
T1AgRmlyc3QgV2FybmluZyAoJGJvem8pICoqKiIgJFNZU0FETUlOUyA8IC9k
ZXYvbnVsbCA+IC9kZXYvbnVsbA0KCQkJCWVsc2UNCgkJCQkJcHJpbnQgIkRF
QlVHOiBzZW5kaW5nIGZpcnN0IHdhcm5pbmcgdG8gJGJvem8iDQoJCQkJZmkN
CgkJCQkvdXNyL2Jpbi9ybSAvdG1wL3h4eC4kJA0KCQkJIy0tLXNlY29uZCBs
ZXR0ZXINCgkJCWVsaWYgWyAkcmVwZWF0IC1lcSAyIF07IHRoZW4NCgkJCQkv
dXNyL2Jpbi9zZWQgLWUgInMvTkhJVFMvJG5oaXRzLyIgJFBPUF9VU0FHRS9z
ZWNvbmQubXNnID4gL3RtcC94eHguJCQNCgkJCQlpZiBbICRERUJVRyAtZXEg
MCBdOyB0aGVuDQoJCQkJCSRNQUlMIC1zICIqKiogRXhjZXNzaXZlIEV1ZG9y
YSBDb25uZWN0aW9ucyAoRmluYWwgV2FybmluZykgKioqIiAkYm96b0Bjb2xi
eS5lZHUgPCAvdG1wL3h4eC4kJA0KCQkJCQkkTUFJTCAtcyAiKioqIFBPUCBT
ZWNvbmQgV2FybmluZyAoJGJvem8pICoqKiIgJFNZU0FETUlOUyA8IC9kZXYv
bnVsbCA+IC9kZXYvbnVsbA0KCQkJCWVsc2UNCgkJCQkJcHJpbnQgIkRFQlVH
OiBzZW5kaW5nIHNlY29uZCB3YXJuaW5nIHRvICRib3pvIg0KCQkJCWZpDQoJ
CQkJL3Vzci9iaW4vcm0gL3RtcC94eHguJCQNCgkJCSMtLS1zaHV0IHRoZSBi
b3pvIGRvd24NCgkJCWVsaWYgWyAkcmVwZWF0IC1nZSAzIF07IHRoZW4gDQoJ
CQkJJE1BSUwgLXMgIioqKiBSZXBlYXQgUE9QIEFidXNlciAoJGJvem8pICoq
KiIgJFNZU0FETUlOUyA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbA0KCQkJZmkN
CgkJZG9uZQ0KCWZpDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQojLS0tbWFpbiBzaGVsbCBzY3JpcHQNCiMtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMtLS10aGlzIHNjcmlwdCB0
YWtlcyBvbmUgYXJnOiB0aGUgbmFtZSBvZiB0aGUgc3lzbG9nIGZpbGUNCmlm
IFsgJCMgLW5lIDEgXTsgdGhlbg0KCXByaW50ICJVc2FnZSBpczogJDAgc3lz
bG9nLWZpbGUiDQoJZXhpdCAxDQpmaQ0KDQojLS0tZmlsdGVyIG91dCB0aGUg
cG9wIGF1dGhlbnRpY2F0aW9ucyBmcm9tIHRoZSBzeXNsb2cgZmlsZQ0KJFpD
QVQgJDEgfCAkR1JFUCAiUE9QIGxvZ2luIiB8ICRUQUJJRlkgfCAkQ1VUIC1m
MywxNCB8IC91c3IvYmluL3RyIC1kIFwiID4gL3RtcC9wb3Auc3R1ZmYuJCQN
Cg0KL3Vzci9iaW4vcm0gLWYgJEFCVVNFUlMNCi91c3IvYmluL3RvdWNoICRB
QlVTRVJTDQovdXNyL2Jpbi9jaG1vZCA2NDQgJEFCVVNFUlMNCg0KIy0tLWdl
dCB0aGUgdXNlcnMgc29ydGVkIGluIG9yZGVyIG9mIG51bWJlciBvZiBoaXRz
DQokQ1VUIC1mMiAvdG1wL3BvcC5zdHVmZi4kJCB8ICRTT1JUIHwgJFVOSVEg
LWMgfCAkU09SVCAtbnIgLWsxIHwgJFNFRCAtZSAncy9eLyAvJyB8ICRDT0xP
TiA+IC90bXAvcG9wLnVzZXJzLiQkDQoNCiMtLS1mb3IgZXZlcnkgdW5pcXVl
IHVzZXIgdGhhdCBjb25uZWN0ZWQgdG8gcG9wDQpmb3IgbGluZSBpbiBgJENB
VCAvdG1wL3BvcC51c2Vycy4kJGANCmRvDQoJIy0tLWlzb2xhdGUgdXNlcidz
IHBvcCBhdXRoZW50aWNhdGlvbnMgYW5kIGNvdW50IG51bWJlciBvZiBoaXRz
DQoJbm1zZ3M9YGVjaG8gJGxpbmUgfCAkQ1VUIC1mMiAtZDpgDQoJcG9wdXNl
cj1gZWNobyAkbGluZSB8ICRDVVQgLWYzIC1kOmANCg0KCSMtLS1pZiBudW1i
ZXIgb2YgaGl0cyBsZXNzIHRoYW4gVE9PX01BTllfSElUUywgd2UgYXJlIGRv
bmUNCglpZiBbICRubXNncyAtbHQgJFRPT19NQU5ZX0hJVFMgXTsgdGhlbg0K
CQlicmVhaw0KCWZpDQoNCgkjLS0tb3RoZXJ3aXNlIHB1dCB0aGUgdXNlciBp
biBob25vciByb2xsIG9mIGFidXNlcnMNCglwcmludCAiJHBvcHVzZXI6JG5t
c2dzIiA+PiAkQUJVU0VSUw0KDQpkb25lDQoNCiMtLS1ub3cgc2VuZCB0aGUg
bGlzdCBvZiBhYnVzZXJzIGUtbWFpbA0KU2VuZE1haWwNCg0KL3Vzci9iaW4v
cm0gL3RtcC9wb3Auc3R1ZmYuJCQgL3RtcC9wb3AudXNlcnMuJCQNCg=
---559023410-684387517-1036073098=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="first.msg"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.44.0210310904581 dot 2289@cayuga>
Content-Description:
Content-Disposition: attachment; filename="first.msg"
SGksDQoNCiAgIFlvdSBjb25uZWN0ZWQgdG8gdGhlIENvbGJ5IG1haWwtaHVi
IHZpYSBQT1AgKHVzaW5nIEV1ZG9yYSwgT3V0bG9vaywNCm9yIGFub3RoZXIg
ZGVza3RvcCBQT1AgY2xpZW50KSBOSElUUyB0aW1lcyB5ZXN0ZXJkYXkuICBU
aGlzIG1lYW5zIHRoYXQ6DQoNCiAgICogeW91ciBFdWRvcmEgYXV0b21hdGlj
IG1haWwtY2hlY2sgcGFyYW1ldGVyIGlzIHNldCB0byBhbiANCiAgICAgdW5y
ZWFzb25hYmx5IHNtYWxsIHZhbHVlIChlZywgMSBtaW51dGUgaW50ZXJ2YWxz
KSwgb3INCg0KICAgKiB5b3UgYXJlIHJ1bm5pbmcgbXVsdGlwbGUgYXV0b21h
dGVkIHByb2Nlc3NlcyB0aGF0IG1ha2UgUE9QDQogICAgIGNvbm5lY3Rpb25z
IHRvIHRoZSBtYWlsIHNlcnZlci4gIFRoZSBtb3N0IGNvbW1vbiBzZWNvbmRh
cnkNCiAgICAgcHJvY2VzcyBpcyBBT0wncyBJbnN0YW50IE1lc3Nhbmdlci4g
IFR1cm4gb2ZmIHRoZSAiY2hlY2sgbWFpbCINCiAgICAgZmVhdHVyZSBpbiBB
SU0uICBQcmV2ZW50IG11bHRpcGxlIG1haWwgYWdlbnRzIGZyb20gcnVubmlu
ZzsNCiAgICAgdGhpcyB3aWxsIGxpa2VseSBjYXVzZSB5b3UgcHJvYmxlbXMg
YW55d2F5Lg0KDQogICAqIHlvdSBtYW51YWxseSBjaGVjayB5b3VyIGUtbWFp
bCBleGNlc3NpdmVseSBvZnRlbi4gIEJlIHBhdGllbnQhDQoNCiAgICogeW91
IGxlYXZlIHlvdXIgZGVza3RvcCBtYWNoaW5lIHJ1bm5pbmcgYWxsIG5pZ2h0
IGxvbmcuDQogICAgIFNhdmUga2lsb3dhdHRzIGFuZCBzaHV0IGRvd24geW91
ciBtYWNoaW5lIGJlZm9yZSB5b3UgZ28gdG8gYmVkLg0KDQpJVFMgY29uc2lk
ZXJzIGV4Y2Vzc2l2ZSBlLW1haWwgcXVlcmllcyB0byBiZSBhbiB1bndpc2Ug
dXNlIG9mIENvbGJ5J3MgDQpjb21wdXRpbmcgcmVzb3VyY2VzLiAgVGhlc2Ug
cXVlcmllcyBnZW5lcmF0ZSBuZWVkbGVzcyBuZXR3b3JrIHRyYWZmaWMgYW5k
DQpwdXQgdW5kdWUgbG9hZCBvbiBvdXIgYWxyZWFkeSBidXN5IGNlbnRyYWwg
bWFpbCBzZXJ2ZXIuDQoNCiAgIFBsZWFzZSByZXNldCB5b3VyIGF1dG9tYXRp
YyBtYWlsLWNoZWNraW5nIHBhcmFtZXRlciBpbiB5b3VyIFBPUCBjbGllbnQN
CihFdWRvcmEsIE1pY3Jvc29mdCBPdXRsb29rLCBvciB3aGF0ZXZlciB5b3Ug
dXNlKSB0byBzb21ldGhpbmcgaW4gdGhlIHJhbmdlDQpvZiAxMC0zMCBtaW51
dGVzLiAgSWYgeW91IGhhdmUgcXVlc3Rpb25zIGFib3V0IGhvdyB0byByZXNl
dCB5b3VyIFBPUA0KY2xpZW50IG1haWwtY2hlY2sgcGFyYW1ldGVyLCBjYWxs
IHRoZSBDb2xieSBIb3RsaW5lIGF0IHgzNjY2Lg0KDQotLS0gVGhhbmsgWW91
LA0KICAgIFRoZSBGb2xrcyBhdCBJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNl
cnZpY2VzDQo
---559023410-684387517-1036073098=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="second.msg"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.44.0210310904582 dot 2289@cayuga>
Content-Description:
Content-Disposition: attachment; filename="second.msg"
SGksDQoNCiAgIFllc3RlcmRheSB3YXMgdGhlIHNlY29uZCB0aW1lIGluIHRo
ZSBsYXN0IDMwIGRheXMgdGhhdCB5b3UgaGFkIGV4Y2Vzc2l2ZQ0KY29ubmVj
dGlvbnMgdG8gdGhlIENvbGJ5IG1haWwtaHViIHZpYSBhIFBPUC1iYXNlZCBj
b25uZWN0aW9uLiAgWW91IGhhZCBOSElUUyANCmNvbm5lY3Rpb25zIHllc3Rl
cmRheS4gIElUUyBjb25zaWRlcnMgZXhjZXNzaXZlIGUtbWFpbCBxdWVyaWVz
IHRvIGJlIGFuIHVud2lzZSANCnVzZSBvZiBDb2xieSdzIGNvbXB1dGluZyBy
ZXNvdXJjZXMuICBUaGVzZSBxdWVyaWVzIGdlbmVyYXRlIG5lZWRsZXNzIG5l
dHdvcmsgDQp0cmFmZmljIGFuZCBwdXQgdW5kdWUgbG9hZCBvbiBvdXIgYWxy
ZWFkeSBidXN5IGNlbnRyYWwgbWFpbCBzZXJ2ZXIuDQoNCiAgIFBsZWFzZSBy
ZXNldCB5b3VyIGF1dG9tYXRpYyBtYWlsLWNoZWNraW5nIHBhcmFtZXRlciBp
biB5b3VyIGVtYWlsIGNsaWVudCwNCnRvIHNvbWV0aGluZyBpbiB0aGUgcmFu
Z2Ugb2YgMTAtMzAgbWludXRlcy4gIElmIHlvdSBoYXZlIHF1ZXN0aW9ucyBh
Ym91dCBob3cNCnRvIHJlc2V0IHlvdXIgRXVkb3JhIChvciBvdGhlciBQT1Ag
Y2xpZW50KSBzZXR0aW5ncywgY2FsbCB0aGUgQ29sYnkgDQpIb3RsaW5lIGF0
IHgzNjY2Lg0KDQogICBIZWVkIHRoaXMgcmVxdWVzdCEgIElUUyBjYW4gYW5k
IFdJTEwgZGlzYWJsZSB5b3VyIFBPUCBlbWFpbCBhY2Nlc3MgaWYNCnlvdSBm
YWlsIHRvIGFjdC4NCg0KLS0tIFRoYW5rIFlvdSwNCiAgICBUaGUgRm9sa3Mg
YXQgSW5mb3JtYXRpb24gVGVjaG5vbG9neSBTZXJ2aWNlcw0K
---559023410-684387517-1036073098=:2289--
Date: Thu, 31 Oct 2002 07:19:08 -0800
From: Deid Reimer <deid at drsol dot com>
Subject: Re: Users popping to often
I wrote a Perl script to analyse the logs and calculate traffic both
moved on the network and moved on our mail server.
If folks go above a threshhold they are sent email indicating this and
asking them to either check their mail less often or to remove their
mail from the server when they check it, or both. The mail then goes on
to explain that if they do not do this, they will be billed for the
excess. An estimate of the bill amount is included.
I have only had one user ignore this. This person was popping mail
every minute and leaving about 40 megs of mail on the server. We sent
him a bill for about $900. He freaked. We pointed out the earlier
email that he had ignore He calmed down and appologized and started to
negotiate. We reversed the bill. It is not our intention to actually
bill for this, but we don't want to get into an argument with our
customers about what is appropriate for them. We just set prices.
Seems to work - none of our customers are currently abusing the system.
Regards
Deid Reimer
Simon May wrote:
> Dear All
> I have a number of users you are checking for mail very frequently, every
> 30s etc.
> besides asking them not to is there any way other way to stop them.
>
> I feel that every 5 minutes is more than enough.
> This constant check really produces a lot of unnecessary traffic.
>
> This has only became a problem since ADSL (DSL) has became available in
> Spain.
>
> Have other people experienced this situation.
>
> Kind Regards
> Simon May
> Email simon at imsl dot es
>
>
>
From: "Simon May" <simon at imsl dot es>
Subject: Re: Users popping to often
Date: Thu, 31 Oct 2002 16:45:23 +0100
I must say I was hoping that there was a way to stop the users popping to
much
I find when I ask users to reduce the frequency they comply with no
problems.
I was thinking that maybe there is a way to leave the lock files in place
for a set time
after the session finishes though I didn't notice the command in the docs
and playing
with the timeouts does not seem to do this.
Simon
----- Original Message -----
From: "Deid Reimer" <deid at drsol dot com>
> I wrote a Perl script to analyse the logs and calculate traffic both
> moved on the network and moved on our mail server.
> Seems to work - none of our customers are currently abusing the system.
> Simon May wrote:
> > Dear All
> > I have a number of users you are checking for mail very frequently,
every
> > 30s etc.
> >
> >
>
From: "Brian L. MacDonald" <blm at nauticom dot net>
Subject: RE: Stats log and 35 octets remaining with 0 messages
Date: Thu, 31 Oct 2002 10:56:29 -0500
Hello,
Sorry, I meant to mention that before. If I do a ls -l on the file it has a
filesize of 0. If edited with vi, it also shows no data in the file.
Very strange... for most users it does not appear to cause a problem. It
was just that for the users that had corrupted mail spools they had all had
this as the last successful session. I have since had corruptions without
this log entry.
Still, a strange entry.
Thanks,
Brian
-----Original Message-----
From: Simon Byrnand [mailto:simon at igrin.co dot nz]
Sent: Wednesday, October 30, 2002 4:16 PM
To: Subscribers of Qpopper
Subject: Re: Stats log and 35 octets remaining with 0 messages
At 11:18 30/10/02 -0500, Brian L. MacDonald wrote:
>Hello,
>
>We are attempting to trouble-shoot some problems with corruption of mail
>spool files and have come across the following log entry. In the course of
>today we have seen 50 or so of these messages. All of the users that have
>had corruption of their mail spool have had a log entry like this on their
>last successful popper session.
>
>Oct 30 11:12:39 pop01 popper[47388]: Stats: <user> 1 569 0 35 <fqnd> <ip>
>
>where
> <user> is the customer's username
> <fqdn> is the full DNS name for the ip of the customer
> <ip> is the ip of the customer
>
>Has anyone seen this before or know how there can be 35 octets remaining
but
>0 messages?
Hi Brian,
I havn't seen this problem before, but did you look at one of these spool
files with 35 bytes still in it to see what was there ? That may provide a
clue as to the problem...
Regards,
Simon
From: Sebastian Lagemann <lagemann at st-oneline dot net>
Subject: qpopper and OpenSSL
Date: Thu, 31 Oct 2002 17:40:59 +0100
Dear all,
i've got problems with openssl and qpopper (I know, there were a lot of
messages about this topic before, but no answer helped me). I'm running
Debian Woody with openssl 0.9.6c and the precompiled qpopper debian package.
After some problems with the ssl certificate its running so far. But my
problem is now, that no client can fetch mails (tried with Outlook Express 6,
Outlook Express 5, KMail 3, Ximian Evolution, Netscape 7 and Netscape 4). In
my /var/log/mail.log i found these messages:
Oct 31 17:26:37 sto12 in.qpopper[22092]: (null) at 194.221.142.21
(212.*.*.*): -ERR POP EOF or I/O Error [popper.c:820]
Oct 31 17:26:58 sto12 in.qpopper[22094]: (null) at 194.221.142.21
(212.*.*.*): -ERR Unknown command: "\200j^A^C^A". [pop_get_command.c:152]
Oct 31 17:26:58 sto12 in.qpopper[22094]: (null) at 194.221.142.21
(212.*.*.*): -ERR POP EOF or I/O Error [popper.c:820]
Oct 31 17:26:58 sto12 in.qpopper[22095]: (null) at 194.221.142.21
(212.*.*.*): -ERR POP EOF or I/O Error [popper.c:820]
What does it mean, and what can i do against this?
Best regards,
Sebastian Lagemann
--
*** ST-oneline InterNet Service Provider GmbH, Hovesaatstr. 6 ***
* D-48432 Rheine, Tel. +49 5971 80825-5, Fax: +49 5971 80825-79 *
*** eMail: info at st-oneline.net WEB: http://www.st-oneline dot net ***
Date: Thu, 31 Oct 2002 11:14:56 -0500 (EST)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Users popping to often
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 at docserver.cac.washington dot edu for more info.
---559023410-1297389768-1036080896=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII
Simon,
For what it is worth, attached is my patchfile for my own 3.x era
work on qpopper. I had a ton of local customizations in version 3 of
qpopper, most of which I dropped when I went to version 4 (I embraced
the server mode option -S). One of the hacks I had in version three
was the "accesstime" option, setable via command line as "-a". Search
the patchfile for the word "accesstime". This feature required you to
use KEEP_TEMP_DROP. What the pop_accesstime() subroutine did was to
compare the timestamp of the dropfile to the current time. If the
difference was less than accesstime, then the user got the POP error
message "you just checked your mail!" and rejected the connection without
touching the mailbox. This bit of code punished impatient users who
wanted to check their email every few seconds.
This routine would require some work to fit into version 4, because
the "p" structure changed considerably between v3 and v4. If you are
a C programmer and have a little time, you should be able to add
this feature to v4. Good luck.
-----------------------------------
Jeff A. Earickson, Ph.D
Senior UNIX Sysadmin and Email Guru
Information Technology Services
Colby College, 4214 Mayflower Hill,
Waterville ME, 04901-8842
phone: 207-872-3659 (fax = 3076)
-----------------------------------
On Thu, 31 Oct 2002, Simon May wrote:
> Date: Thu, 31 Oct 2002 16:45:23 +0100
> From: Simon May <simon at imsl dot es>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Re: Users popping to often
>
> I must say I was hoping that there was a way to stop the users popping to
> much
> I find when I ask users to reduce the frequency they comply with no
> problems.
> I was thinking that maybe there is a way to leave the lock files in place
> for a set time
> after the session finishes though I didn't notice the command in the docs
> and playing
> with the timeouts does not seem to do this.
>
> Simon
>
> ----- Original Message -----
> From: "Deid Reimer" <deid at drsol dot com>
>
>
>
> > I wrote a Perl script to analyse the logs and calculate traffic both
> > moved on the network and moved on our mail server.
> > Seems to work - none of our customers are currently abusing the system.
>
> > Simon May wrote:
> > > Dear All
> > > I have a number of users you are checking for mail very frequently,
> every
> > > 30s etc.
>
> > >
> > >
> >
>
---559023410-1297389768-1036080896=:2289
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="diffs.312.to.322"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.44.0210311114560 dot 2289@cayuga>
Content-Description:
Content-Disposition: attachment; filename="diffs.312.to.322"
IyBUaGlzIGlzIGEgcGF0Y2ggZm9yIHFwb3BwZXIzLjEuMiB0byB1cGRhdGUg
aXQgdG8gcXBvcHBlcjMuMi4yDQojIA0KIyBUbyBhcHBseSB0aGlzIHBhdGNo
Og0KIyBTVEVQIDE6IENoZGlyIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5Lg0K
IyBTVEVQIDI6IFJ1biB0aGUgJ2FwcGx5cGF0Y2gnIHByb2dyYW0gd2l0aCB0
aGlzIHBhdGNoIGZpbGUgYXMgaW5wdXQuDQojDQojIElmIHlvdSBkbyBub3Qg
aGF2ZSAnYXBwbHlwYXRjaCcsIGl0IGlzIHBhcnQgb2YgdGhlICdtYWtlcGF0
Y2gnIHBhY2thZ2UNCiMgdGhhdCB5b3UgY2FuIGZldGNoIGZyb20gdGhlIENv
bXByZWhlbnNpdmUgUGVybCBBcmNoaXZlIE5ldHdvcms6DQojIGh0dHA6Ly93
d3cucGVybC5jb20vQ1BBTi9hdXRob3JzL0pvaGFuX1Zyb21hbnMvbWFrZXBh
dGNoLXgueS50YXIuZ3oNCiMgSW4gdGhlIGFib3ZlIFVSTCwgJ3gnIHNob3Vs
ZCBiZSAyIG9yIGhpZ2hlci4NCiMNCiMgVG8gYXBwbHkgdGhpcyBwYXRjaCB3
aXRob3V0IHRoZSB1c2Ugb2YgJ2FwcGx5cGF0Y2gnOg0KIyBTVEVQIDE6IENo
ZGlyIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5Lg0KIyBJZiB5b3UgaGF2ZSBh
IGRlY2VudCBCb3VybmUtdHlwZSBzaGVsbDoNCiMgU1RFUCAyOiBSdW4gdGhl
IHNoZWxsIHdpdGggdGhpcyBmaWxlIGFzIGlucHV0Lg0KIyBJZiB5b3UgZG9u
J3QgaGF2ZSBzdWNoIGEgc2hlbGwsIHlvdSBtYXkgbmVlZCB0byBtYW51YWxs
eSBjcmVhdGUNCiMgdGhlIGZpbGVzIGFzIHNob3duIGJlbG93Lg0KIyBTVEVQ
IDM6IFJ1biB0aGUgJ3BhdGNoJyBwcm9ncmFtIHdpdGggdGhpcyBmaWxlIGFz
IGlucHV0Lg0KIw0KIyBUaGVzZSBhcmUgdGhlIGNvbW1hbmRzIG5lZWRlZCB0
byBjcmVhdGUvZGVsZXRlIGZpbGVzL2RpcmVjdG9yaWVzOg0KIw0KdG91Y2gg
J3BvcHBlci9kY2VfcHdlbnQuYycNCmNobW9kIDA2MDAgJ3BvcHBlci9kY2Vf
cHdlbnQuYycNCnRvdWNoICdwb3BwZXIvcG9wX2F1dGhkY2UuYycNCmNobW9k
IDA2MDAgJ3BvcHBlci9wb3BfYXV0aGRjZS5jJw0KIw0KIyBUaGlzIGNvbW1h
bmQgdGVybWluYXRlcyB0aGUgc2hlbGwgYW5kIG5lZWQgbm90IGJlIGV4ZWN1
dGVkIG1hbnVhbGx5Lg0KZXhpdA0KIw0KIyMjIyBFbmQgb2YgUHJlYW1ibGUg
IyMjIw0KDQojIyMjIFBhdGNoIGRhdGEgZm9sbG93cyAjIyMjDQpkaWZmIC1j
ICdxcG9wcGVyMy4xLjIvSU5TVEFMTCcgJ3Fwb3BwZXIzLjIuMi9JTlNUQUxM
Jw0KSW5kZXg6IC4vSU5TVEFMTA0KKioqIC4vSU5TVEFMTAlUdWUgT2N0IDEw
IDE5OjEwOjIzIDIwMDANCi0tLSAuL0lOU1RBTEwJVHVlIE5vdiAyMSAxMDox
Nzo1NiAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxOTEsMTk3ICoqKioN
CiAgDQogICAtLXdpdGgtd2FybmluZ3MgICAgICAgICAgRW5hYmxlIGFkZGl0
aW9uYWwgY29tcGlsZXIgd2FybmluZ3MuDQogIA0KISAgLS1lbmFibGUtaGFz
aC1zcG9vbD0xfDIgIFVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3J5LiAgU2Vl
IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0hfU1BPT0wgaW4g
c2VjdGlvbiBNQUNST1MgZm9yIG1vcmUNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmZvcm1hdGlvbi4gIFRoZSBkZWZhdWx0IG1ldGhvZCBpcyAy
Lg0KICAgDQotLS0gMTkxLDE5OCAtLS0tDQogIA0KICAgLS13aXRoLXdhcm5p
bmdzICAgICAgICAgIEVuYWJsZSBhZGRpdGlvbmFsIGNvbXBpbGVyIHdhcm5p
bmdzLg0KICANCiEgIC0tZW5hYmxlLWhhc2gtc3Bvb2w9MXwyfDMgIA0KISAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBoYXNoZWQgc3Bvb2wgZGly
ZWN0b3J5LiAgU2VlIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhB
U0hfU1BPT0wgaW4gc2VjdGlvbiBNQUNST1MgZm9yIG1vcmUNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbi4gIFRoZSBkZWZhdWx0
IG1ldGhvZCBpcyAyLg0KICAgDQoqKioqKioqKioqKioqKioNCioqKiAyOTYs
MzAxICoqKioNCi0tLSAyOTcsMzE2IC0tLS0NCiAgIC0tZGlzYWJsZS11cGRh
dGUtYWJvcnQgICBEb2VzIG5vdCBnbyBpbnRvIFVQREFURSBzdGF0ZSBvbiBh
Ym9ydC4gIFVzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMg
dG8gY29tcGx5IHdpdGggUkZDIDE5MzkuDQogIA0KKyAgLS13aXRoLW5vbmF1
dGg9cGF0aCAgICAgIFNldCB0aGUgbm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
IHBhdGguDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBp
cyAvZXRjL3BvcC5ub25hdXRoLg0KKyANCisgIC0td2l0aC1hdXRoPXBhdGgg
ICAgICAgICBTZXQgdGhlIGF1dGhvcml6ZWQgdXNlcnMgZmlsZSBwYXRoLg0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgIC9ldGMv
cG9wLmF1dGhvcml6ZWQuDQorIA0KKyAgLS13aXRoLWxvYWRsaW1pdD1sb2Fk
ICAgIEVuYWJsZSBsb2FkbGltaXQgZmVhdHVyZS4gIExvYWQgaXMgdGhlDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtZXJpY2FsIDEgbWludXRl
IGxvYWQgYXZlcmFnZSwgZ2VuZXJhbGx5DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VlbiB2aWEgdGhlIHVzZXIgY29tbWFuZCAidXB0aW1lIi4g
IA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlZSBMT0FETElNSVQg
aW4gc2VjdGlvbiBNQUNST1MgZm9yDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbW9yZSBpbmZvcm1hdGlvbi4gIERlZmF1bHQgPSAxNi4wDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbGxhYmxlIGF0IHJ1bnRp
bWUgb3B0aW9uICItbCIgKHNlZSBiZWxvdykuDQorIA0KKyANCiAgDQogIA0K
ICAzLiBSVU4tVElNRSBPUFRJT05TIChDT01NQU5EIExJTkUgT1BUSU9OUyk6
DQoqKioqKioqKioqKioqKioNCioqKiAzMDYsMzE0ICoqKioNCiAgDQogIFRo
ZSBmb2xsb3dpbmcgYXJlIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyB5b3Ug
Y2FuIHVzZS4NCiAgDQohIHBvcHBlciBbLWIgYnVsbGRpciBbLUJdIFstY10g
Wy1kXSBbLUQgZHJhYy1ob3N0XSANCiAgICAgICAgIFstZSBsb2dpbl9kZWxh
eT1ubixleHBpcmU9bm5dIFstZiBjb25maWctZmlsZV0gWy1rXSBbLUsgc2Vy
dmljZV0NCiEgICAgICAgIFstc10gWy1TXSBbLXQgdHJhY2UtZmlsZV0gWy1U
IHRpbWVvdXRdIFstdV0gWy1SXQ0KICANCiAgTm90ZSB0aGF0IHNvbWUgc3lz
dGVtcyBtYXkgaGF2ZSBsaW1pdGF0aW9ucyBvbiB0aGUgbGVuZ3RoIG9yDQog
IG51bWJlciBvZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGluIGluZXRkLmNv
bmYuICAoRm9yIGV4YW1wbGUsDQotLS0gMzIxLDMyOSAtLS0tDQogIA0KICBU
aGUgZm9sbG93aW5nIGFyZSB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbnMgeW91
IGNhbiB1c2UuDQogIA0KISBwb3BwZXIgWy1hIGFjY2Vzc3RpbWVdIFstYiBi
dWxsZGlyXSBbLUJdIFstY10gWy1kXSBbLUQgZHJhYy1ob3N0XSANCiAgICAg
ICAgIFstZSBsb2dpbl9kZWxheT1ubixleHBpcmU9bm5dIFstZiBjb25maWct
ZmlsZV0gWy1rXSBbLUsgc2VydmljZV0NCiEgICAgICAgIFstbCBsb2FkX2F2
ZV0gWy1zXSBbLVNdIFstdCB0cmFjZS1maWxlXSBbLVQgdGltZW91dF0gWy11
XSBbLVJdDQogIA0KICBOb3RlIHRoYXQgc29tZSBzeXN0ZW1zIG1heSBoYXZl
IGxpbWl0YXRpb25zIG9uIHRoZSBsZW5ndGggb3INCiAgbnVtYmVyIG9mIGNv
bW1hbmQgbGluZSBhcmd1bWVudHMgaW4gaW5ldGQuY29uZi4gIChGb3IgZXhh
bXBsZSwNCioqKioqKioqKioqKioqKg0KKioqIDMxOSwzMjQgKioqKg0KLS0t
IDMzNCwzNDcgLS0tLQ0KICBkZXRhaWxzLCBhbmQgdGhlIGZvbGxvd2luZyBz
ZWN0aW9uICJSVU4tVElNRSBPUFRJT05TIChDT05GSUcgRklMRSkiDQogIGZv
ciBkZXRhaWxzLg0KICANCisgLWEgYWNjZXNzdGltZSAgVGhlIG1pbmltdW0g
YWxsb3dhYmxlIGFjY2VzcyB0aW1lIGJldHdlZW4gc3VjY2Vzc2l2ZQ0KKyAg
ICAgICAgICAgICAgICBtYWlsIGNoZWNrcywgc3BlY2lmaWVkIGluIGludGVn
ZXIgc2Vjb25kcy4gIFRoaXMNCisgICAgICAgICAgICAgICAgbWVjaGFuaXNt
IG9ubHkgd29ya3MgaWYgS0VFUF9URU1QX0RST1AgaXMgZGVmaW5lZCwNCisg
ICAgICAgICAgICAgICAgYmVjYXVzZSB0aGUgbWV0aG9kIGNvbXBhcmVzIHRo
ZSB0aW1lc3RhbXAgb24gdGhlDQorICAgICAgICAgICAgICAgIGRyb3BmaWxl
IHRvIHRoZSBjdXJyZW50IHRpbWUuICBVc2VkIHRvIGtlZXAgcGVvcGxlDQor
ICAgICAgICAgICAgICAgIGZyb20gYmVhdGluZyBvbiB5b3VyIFBPUCBzZXJ2
ZXIuICBBIHNtYWxsIHZhbHVlDQorICAgICAgICAgICAgICAgICgxMCB0byA3
MCBzZWNvbmRzKSBzaG91bGQgYmUgdXNlZC4NCisgDQogIC1iIGJ1bGxkaXIg
ICAgIFRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBidWxsZXRpbiANCiAg
ICAgICAgICAgICAgICAgZGlyZWN0b3J5LiAgVGhlIGNvbW1hbmQgbGluZSBv
dmVycmlkZXMgdGhlIA0KICAgICAgICAgICAgICAgICBjb21waWxlZCB2YWx1
ZSBpZiBpdCBpcyBkZWZpbmVkLiAgIA0KKioqKioqKioqKioqKioqDQoqKiog
MzcyLDM3NyAqKioqDQotLS0gMzk1LDQwOCAtLS0tDQogICAgICAgICAgICAg
ICAgIEtFUkJFUk9TX1NFUlZJQ0UgZGVmaW5lKS4gIFRoZSBkZWZhdWx0IGlz
ICJyY21kIiwNCiAgICAgICAgICAgICAgICAgYWx0aG91Z2ggdGhlIHVzZSBv
ZiAicG9wIiBpcyBwb3B1bGFyLg0KICANCisgLWwgbG9hZF9hdmUgICAgUmVm
dXNlIFBPUCBjb25uZWN0aW9ucyBpZiB0aGUgc3lzdGVtIG9uZS1taW51dGUg
bG9hZA0KKyAgICAgICAgICAgICAgICBhdmVyYWdlIChhcyBnZW5lcmFsbHkg
c2VlbiB2aWEgdGhlIGNvbW1hbmQgInVwdGltZSIpDQorICAgICAgICAgICAg
ICAgIGlzIGhpZ2hlciB0aGFuIHRoZSBmbG9hdGluZyBwb2ludCBudW1iZXIg
ImxvYWRfYXZlIi4NCisgICAgICAgICAgICAgICAgV29ya3Mgb24gSFAtVVgg
MTAuMjAgYW5kIDExLjAgc3lzdGVtcywgYW5kIGFueSBzeXN0ZW0NCisgICAg
ICAgICAgICAgICAgc3VwcG9ydGluZyB0aGUgZ2V0bG9hZGF2ZygpIGNhbGwg
KGVnLCBTb2xhcmlzKS4gIFVzZWQNCisgICAgICAgICAgICAgICAgdG8gcHJl
dmVudCBQT1AgY29ubmVjdGlvbnMgZnJvbSBvdmVyd2hlbG1pbmcgeW91cg0K
KyAgICAgICAgICAgICAgICBzeXN0ZW0uDQorIA0KICAtcCAwfDF8MnwzICAg
ICBTZXQgY2xlYXIgdGV4dCBoYW5kbGluZyBvcHRpb25zIHdoZW4gQVBPUCBp
cw0KICAgICAgICAgICAgICAgICBhdmFpbGFibGU6IDAgaXMgZGVmYXVsdCAo
Y2xlYXIgdGV4dCBwYXNzd29yZHMgb25seQ0KICAgICAgICAgICAgICAgICBw
ZXJtaXR0ZWQgZm9yIHVzZXJzIG5vdCBpbiB0aGUgQVBPUCBkYXRhYmFzZSk7
IDEgbWVhbnMNCioqKioqKioqKioqKioqKg0KKioqIDk1MSw5NTcgKioqKg0K
ICANCiAgbikgS0VFUF9URU1QX0RST1AgLS0gS2VlcCB0aGUgLnVzZXIucG9w
IGZpbGUuICBJdCANCiAgY2FuIGRldGVybWluZSB0aGUgbGFzdCB0aW1lIGEg
dXNlciBoYXMgYWNjZXNzZWQgDQohIGhpcy9oZXIgbWFpbC4NCiAgDQogIG8p
IEJJTkQ0MyAtLSBCU0QgNC4zIGlzIGEgZG9tYWluIG5hbWUgc2VydmljZS4N
CiAgDQotLS0gOTgyLDk4OSAtLS0tDQogIA0KICBuKSBLRUVQX1RFTVBfRFJP
UCAtLSBLZWVwIHRoZSAudXNlci5wb3AgZmlsZS4gIEl0IA0KICBjYW4gZGV0
ZXJtaW5lIHRoZSBsYXN0IHRpbWUgYSB1c2VyIGhhcyBhY2Nlc3NlZCANCiEg
aGlzL2hlciBtYWlsLiAgQWxzbyBzZWUgdGhlIHJ1bnRpbWUgb3B0aW9uICIt
YSIgZm9yDQohIGFjY2Vzc190aW1lLg0KICANCiAgbykgQklORDQzIC0tIEJT
RCA0LjMgaXMgYSBkb21haW4gbmFtZSBzZXJ2aWNlLg0KICANCioqKioqKioq
KioqKioqKg0KKioqIDEwMDgsMTAyMyAqKioqDQogIGRlZmF1bHQgYmVoYXZp
b3IsIGFuZCBvYmV5IFJGQyAxOTM5LiAgQ29uZmlndXJlDQogIGZsYWc6IC0t
ZGlzYWJsZS11cGRhdGUtYWJvcnQuDQogIA0KISB5KSBIQVNIX1NQT09MPSgx
fDIpIC0tIE1haWwgaXMgZGVwb3NpdGVkIGludG8gdGhlIA0KISBtYWlsc3Bv
b2xzIGJ5IGVpdGhlciAoMSkgaGFzaGluZyB0aGUgZmlyc3QgNCANCiEgY2hh
cmFjdGVycyBvciAoMikgYnkgdXNpbmcgbWFpbHNwb29scyBpbiANCiEgZGly
ZWN0b3JpZXMgYXMgaW4gdGhlIGZvbGxvd2luZzogIC88MXN0IA0KISBsZXR0
ZXI+LzwybmQgbGV0dGVyPi9maWxlLiAgRm9yIGV4YW1wbGUsIGlmIHRoZQ0K
ISBzcG9vbCBkaXJlY3RvcnkgaXMgIi92YXIvbWFpbCIsIHRoZSBzcG9vbCBm
aWxlIGZvcg0KISB1c2VyICJtYWlkYSIgd291bGQgYmU6DQogICAgIC92YXIv
bWFpbC9tYWlkYSAgICAgICAgICBIQVNIX1NQT09MIG5vdCBzZXQNCiAgICAg
L3Zhci9tYWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgICAv
dmFyL21haWwvbS9hL21haWRhICAgICAgSEFTSF9TUE9PTD0yDQogIA0KICBV
c2UgdGhlIC0tZW5hYmxlLWhhc2gtc3Bvb2wgY29uZmlndXJlIGZsYWcgdG8g
c2V0DQogIHRoaXMuDQotLS0gMTA0MCwxMDU3IC0tLS0NCiAgZGVmYXVsdCBi
ZWhhdmlvciwgYW5kIG9iZXkgUkZDIDE5MzkuICBDb25maWd1cmUNCiAgZmxh
ZzogLS1kaXNhYmxlLXVwZGF0ZS1hYm9ydC4NCiAgDQohIHkpIEhBU0hfU1BP
T0w9KDF8MnwzKSAtLSBNYWlsIGlzIGRlcG9zaXRlZCBpbnRvIHRoZQ0KISBt
YWlsc3Bvb2xzIGJ5IGVpdGhlciAoMSkgaGFzaGluZyB0aGUgZmlyc3QgNA0K
ISBjaGFyYWN0ZXJzLCAoMikgYnkgdXNpbmcgbWFpbHNwb29scyBpbg0KISBk
aXJlY3RvcmllcyBhcyBpbiB0aGUgZm9sbG93aW5nOiAgLzwxc3QNCiEgbGV0
dGVyPi88Mm5kIGxldHRlcj4vZmlsZSwgb3IgKDMpIGJ5IGp1c3QgdXNpbmcg
dGhlDQohIGZpcnN0IGxldHRlciBvZiB0aGUgdXNlcmlkIGFzIHRoZSBzdWJk
aXJlY3RvcnkuDQohIEZvciBleGFtcGxlLCBpZiB0aGUgc3Bvb2wgZGlyZWN0
b3J5IGlzICIvdmFyL21haWwiLA0KISB0aGUgc3Bvb2wgZmlsZSBmb3IgdXNl
ciAibWFpZGEiIHdvdWxkIGJlOg0KICAgICAvdmFyL21haWwvbWFpZGEgICAg
ICAgICAgSEFTSF9TUE9PTCBub3Qgc2V0DQogICAgIC92YXIvbWFpbC9vL21h
aWRhICAgICAgICBIQVNIX1NQT09MPTENCiAgICAgL3Zhci9tYWlsL20vYS9t
YWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KKyAgICAvdmFyL21haWwvbS9tYWlk
YSAgICAgICAgSEFTSF9TUE9PTD0zDQogIA0KICBVc2UgdGhlIC0tZW5hYmxl
LWhhc2gtc3Bvb2wgY29uZmlndXJlIGZsYWcgdG8gc2V0DQogIHRoaXMuDQoq
KioqKioqKioqKioqKioNCioqKiAxMDc2LDEwODEgKioqKg0KLS0tIDExMTAs
MTEyMyAtLS0tDQogIGFoKSBUUkFDRV9NU0dfQk9EWSAtLSBEZWZpbmUgdG8g
aW5jbHVkZSBtZXNzYWdlIGJvZGllcyBpbg0KICB0cmFjZSBpbmZvcm1hdGlv
biB3cml0dGVuIHdpdGggLXQgb3IgLWQgcnVuLXRpbWUgZmxhZy4NCiAgDQor
IGFjKSBMT0FETElNSVQgLS0gRGVmaW5lIGEgZmxvYXRpbmcgcG9pbnQgdmFs
dWUgaWYgeW91IHdhbnQNCisgcXBvcHBlciB0byByZWZ1c2UgY29ubmVjdGlv
bnMgd2hlbmV2ZXIgdGhlIDEtbWludXRlIGxvYWQgYXZlcmFnZQ0KKyAoZ2Vu
ZXJhbGx5IHNlZW4gdmlhICJ1cHRpbWUiKSBnb2VzIGFib3ZlIHRoZSBjaG9z
ZW4gdmFsdWUuDQorIFRoaXMgZmVhdHVyZSBrZWVwcyB5b3VyIHN5c3RlbSBm
cm9tIGZhbGxpbmcgb3ZlciBpZiB5b3UgdGFrZQ0KKyBsb3RzIG9mIHBvcCBj
b25uZWN0aW9ucyBhbmQgeW91ciBzeXN0ZW0gbG9hZCBnb2VzIHdheSB1cC4N
CisgV29ya3Mgb24gYW55IHN5c3RlbSBzdXBwb3J0aW5nIHRoZSBnZXRsb2Fk
YXZnKDMpIGNhbGwgKGVnLCANCisgU29sYXJpczIgc3lzdGVtcyksIGFuZCBv
biBhbnkgSFBVWCAxMC54IG9yIDExLnggc3lzdGVtLiAgQ29kaW5nDQorIGlz
IG5lZWRlZCB0byBzdXBwb3J0IG90aGVyIGJyYW5kcyBvZiBVTklYLg0KICAN
CiAgDQogIE5PVEVTOg0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL2NvbW1vbi9n
ZW5wYXRoLmMnICdxcG9wcGVyMy4yLjIvY29tbW9uL2dlbnBhdGguYycNCklu
ZGV4OiAuL2NvbW1vbi9nZW5wYXRoLmMNCioqKiAuL2NvbW1vbi9nZW5wYXRo
LmMJRnJpIFNlcCAgOCAyMDoyODoxOSAyMDAwDQotLS0gLi9jb21tb24vZ2Vu
cGF0aC5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioqKioqKioq
KioqDQoqKiogOTYsMTAxICoqKioNCi0tLSA5NiwxMDUgLS0tLQ0KICAgKiAg
ICAgICAgICAgIHRvIG9wZW4uICBFZzogL3Vzci9zcG9vbC91L3MvdXNlci4N
CiAgICogICAgICAgICAgICBMYXJyeSBTY2h3aW1tZXIgPHJvc2VidWRAY3lj
bG9uZS5zdGFuZm9yZC5lZHU+DQogICAqDQorICAqIE1ldGhvZCAzIC0gVXNl
IHRoZSBmaXJzdCBjaGFyYWN0ZXIgb25seSwgc28geW91IGhhdmUgMjYgc3Vi
ZGlyZWN0b3JpZXMsDQorICAqICAgICAgICAgICAgRWcsIC92YXIvc3Bvb2wv
ai9qb2VibG93DQorICAqICAgICAgICAgICAgQWxzbywgcHV0cyB0aGUgZHJv
cGZpbGUgaW4gL3Zhci9zcG9vbC9qL3BvcC8uam9lYmxvdy5wb3ANCisgICoN
CiAgICogQWxsIHRoZXNlIG1ldGhvZHMgcmVxdWlyZSB0aGF0IGxvY2FsIG1h
aWwgZGVsaXZlcnkgYW5kIGNsaWVudCBwcm9ncmFtcw0KICAgKiB1c2UgdGhl
IHNhbWUgYWxnb3JpdGhtLiAgT25seSBvbmUgbWV0aG9kIHRvIGEgY3VzdG9t
ZXIgOi0pDQogICAqLw0KKioqKioqKioqKioqKioqDQoqKiogMjAwLDIwNyAq
KioqDQogICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2VuZGlmDQohICNp
ZiAoSEFTSF9TUE9PTCA9PSAyKQ0KICANCiAgaW50IA0KICBnZW5wYXRoICgg
Y2hhciAqcHN6VXNlciwgY2hhciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBH
TlBIX1dISUNIIGlXaGljaCwNCi0tLSAyMDQsMjEwIC0tLS0NCiAgICAgIHJl
dHVybiAxOw0KICB9DQogIA0KISAjZWxpZiAoSEFTSF9TUE9PTCA9PSAyKSB8
fCAoSEFTSF9TUE9PTCA9PSAzKQ0KICANCiAgaW50IA0KICBnZW5wYXRoICgg
Y2hhciAqcHN6VXNlciwgY2hhciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBH
TlBIX1dISUNIIGlXaGljaCwNCioqKioqKioqKioqKioqKg0KKioqIDIyNCwy
NDAgKioqKg0KLS0tIDIyNywyNTUgLS0tLQ0KICAgICAgICAgIHJldHVybiAt
MTsNCiAgICAgIH0NCiAgICAgIA0KKyAjaWYgKEhBU0hfU1BPT0wgPT0gMykN
CisgICAgIFFzcHJpbnRmICggcHN6RHJvcCwgIiVzLyVjLyIsDQorICAgICAg
ICAgICAgICAgKGlXaGljaCAhPSBHTlBIX1BPUCA/IFBPUF9NQUlMRElSIDog
UE9QX0RST1BfRElSKSwNCisgICAgICAgICAgICAgICAqcHN6VXNlcik7DQor
ICNlbHNlDQogICAgICBRc3ByaW50ZiAoIHBzekRyb3AsICIlcy8lYy8lYy8i
LCANCiAgICAgICAgICAgICAgICAoaVdoaWNoICE9IEdOUEhfUE9QID8gUE9Q
X01BSUxESVIgOiBQT1BfRFJPUF9ESVIpLA0KICAgICAgICAgICAgICAgICpw
c3pVc2VyLCANCiAgICAgICAgICAgICAgICAqKHBzelVzZXIrMSkgPyAqKHBz
elVzZXIrMSkgOiAqcHN6VXNlciApOw0KKyAjZW5kaWYNCiAgDQogICAgICBz
d2l0Y2ggKCBpV2hpY2ggKSB7DQogICAgICAgICAgY2FzZSBHTlBIX1NQT09M
OiAgLyogc3Bvb2wgZmlsZSAqLw0KICAgICAgICAgICAgICBzdHJsY2F0ICgg
cHN6RHJvcCwgcHN6VXNlciwgaURyb3BMZW4gKTsNCiAgICAgICAgICAgICAg
YnJlYWs7DQogICAgICAgICAgY2FzZSBHTlBIX1BPUDogICAgLyogLnBvcCBm
aWxlICAqLw0KKyAjaWYgKEhBU0hfU1BPT0wgPT0gMykNCisgICAgICAgICAg
ICAgUXNwcmludGYgKCBwc3pEcm9wLCAiJXMvJWMvcG9wLy4lcy5wb3AiLA0K
KyAgICAgICAgICAgICAgIChpV2hpY2ggIT0gR05QSF9QT1AgPyBQT1BfTUFJ
TERJUiA6IFBPUF9EUk9QX0RJUiksDQorICAgICAgICAgICAgICAgKnBzelVz
ZXIscHN6VXNlcik7DQorICNlbHNlDQogICAgICAgICAgICAgIFFzcHJpbnRm
ICggcHN6RHJvcCArIHN0cmxlbihwc3pEcm9wKSwgUE9QX0RST1AsIHBzelVz
ZXIgKTsNCisgI2VuZGlmDQogICAgICAgICAgICAgIGJyZWFrOw0KICAgICAg
ICAgIGNhc2UgR05QSF9UTVA6ICAgIC8qIHRtcHh4eHggICAgKi8NCiAgICAg
ICAgICAgICAgc3RybGNhdCAoIHBzekRyb3AsIFBPUF9UTVBEUk9QLCBpRHJv
cExlbiApOw0KKioqKioqKioqKioqKioqDQoqKiogMjc1LDI4MiAqKioqDQog
ICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2VuZGlmDQohICNpZiAoSEFT
SF9TUE9PTCAhPSAxICYmIEhBU0hfU1BPT0wgIT0gMikNCiAgDQogIGludCAN
CiAgZ2VucGF0aCAoIGNoYXIgKnBzelVzZXIsIGNoYXIgKnBzekRyb3AsIGlu
dCBpRHJvcExlbiwgR05QSF9XSElDSCBpV2hpY2gsDQotLS0gMjkwLDI5NiAt
LS0tDQogICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2Vsc2UgIC8qIGVu
ZCBvZiBIQVNIX1NQT09MIG1ldGhvZHMgKi8NCiAgDQogIGludCANCiAgZ2Vu
cGF0aCAoIGNoYXIgKnBzelVzZXIsIGNoYXIgKnBzekRyb3AsIGludCBpRHJv
cExlbiwgR05QSF9XSElDSCBpV2hpY2gsDQpkaWZmIC1jICdxcG9wcGVyMy4x
LjIvY29uZmlnLmguaW4nICdxcG9wcGVyMy4yLjIvY29uZmlnLmguaW4nDQpJ
bmRleDogLi9jb25maWcuaC5pbg0KKioqIC4vY29uZmlnLmguaW4JVGh1IE9j
dCAxMiAxMjo1NTo1OSAyMDAwDQotLS0gLi9jb25maWcuaC5pbglUdWUgTm92
IDIxIDEwOjE3OjU2IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDE2NCwx
NjkgKioqKg0KLS0tIDE2NCwxNzggLS0tLQ0KICAvKiBEZWZpbmUgaWYgeW91
IGhhdmUgdGhlIDxkYm0uaD4gaGVhZGVyIGZpbGUuICAqLw0KICAjdW5kZWYg
SEFWRV9EQk1fSA0KICANCisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8
ZGNlL2RjZV9lcnJvci5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1bmRlZiBI
QVZFX0RDRV9EQ0VfRVJST1JfSA0KKyANCisgLyogRGVmaW5lIGlmIHlvdSBo
YXZlIHRoZSA8ZGNlL3JwYy5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1bmRl
ZiBIQVZFX0RDRV9SUENfSA0KKyANCisgLyogRGVmaW5lIGlmIHlvdSBoYXZl
IHRoZSA8ZGNlL3NlY19sb2dpbi5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1
bmRlZiBIQVZFX0RDRV9TRUNfTE9HSU5fSA0KKyANCiAgLyogRGVmaW5lIGlm
IHlvdSBoYXZlIHRoZSA8ZGlyZW50Lmg+IGhlYWRlciBmaWxlLiAgKi8NCiAg
I3VuZGVmIEhBVkVfRElSRU5UX0gNCiAgDQoqKioqKioqKioqKioqKioNCioq
KiAyODIsMjg3ICoqKioNCi0tLSAyOTEsMzA4IC0tLS0NCiAgLyogRGVmaW5l
IGlmIHlvdSB3YW50IHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb25zIHRvIGJl
IGxvZ2dlZCAqLw0KICAjdW5kZWYgTE9HX0xPR0lODQogIA0KKyAvKiBEZWZp
bmUgaWYgeW91IHVzZSB0aGUgIm5vdCBhdXRob3JpemVkIHRvIHVzZSIgKC9l
dGMvcG9wLm5vbmF1dGgpIGZpbGUgKi8NCisgI3VuZGVmIE5PTkFVVEhGSUxF
DQorIA0KKyAvKiBEZWZpbmUgaWYgeW91IHVzZSB0aGUgImF1dGhvcml6ZWQi
IGZpbGUgKi8NCisgI3VuZGVmIEFVVEhGSUxFDQorIA0KKyAvKiBEZWZpbmUg
aWYgeW91IHVzZSB0aGUgbG9hZC1saW1pdCBtZWNoYW5pc20gdG8gcHJldmVu
dCBoaWdoIG1hY2hpbmUgbG9hZHMgKi8NCisgI3VuZGVmIExPQURMSU1JVA0K
KyANCisgLyogRGVmaW5lIGlmIHlvdSB1c2UgRENFICovDQorICN1bmRlZiBE
Q0UNCisgDQogIC8qIA0KICAgKiBEZWZpbmUgaWYgeW91IHdhbnQgdG8gYXV0
b21hdGljYWxseSBkZWxldGUgUkVUUmQgbWVzc2FnZXMuDQogICAqIENhdXRp
b246IFRoaXMgY291bGQgY2F1c2UgbG9zdCBtYWlsLiAgQmUgc3VyZSB1c2Vy
cyBhcmUNCioqKioqKioqKioqKioqKg0KKioqIDM4MCwzOTIgKioqKg0KICAj
dW5kZWYgU1BFQ19QT1BfQVVUSA0KICANCiAgLyoNCiEgICogRGVmaW5lIGFu
ZCBzZXQgdG8gMSBvciAyIHRvIHVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3Jp
ZXMuICBWYWx1ZQ0KICAgKiAxIGhhc2hlcyB0aGUgZmlyc3QgNCBjaGFyYWN0
ZXJzOyB2YWx1ZSAyIHVzZXMgLzwxc3QgbGV0dGVyPi8NCiAgICogPDJuZCBs
ZXR0ZXI+LiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBzcG9vbCBkaXJlY3Rvcnkg
aXMgIi92YXIvbWFpbCIsIA0KICAgKiB0aGUgc3Bvb2wgZmlsZSBmb3IgdXNl
ciAibWFpZGEiIHdvdWxkIGJlOg0KICAgKiAgICAgL3Zhci9tYWlsL21haWRh
ICAgICAgICAgIEhBU0hfU1BPT0wgbm90IHNldA0KICAgKiAgICAgL3Zhci9t
YWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgKiAgICAgL3Zh
ci9tYWlsL20vYS9tYWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KICAgKi8NCiAg
I3VuZGVmIEhBU0hfU1BPT0wNCiAgDQotLS0gNDAxLDQxNCAtLS0tDQogICN1
bmRlZiBTUEVDX1BPUF9BVVRIDQogIA0KICAvKg0KISAgKiBEZWZpbmUgYW5k
IHNldCB0byAxLCAyLCBvciAzIHRvIHVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0
b3JpZXMuICBWYWx1ZQ0KICAgKiAxIGhhc2hlcyB0aGUgZmlyc3QgNCBjaGFy
YWN0ZXJzOyB2YWx1ZSAyIHVzZXMgLzwxc3QgbGV0dGVyPi8NCiAgICogPDJu
ZCBsZXR0ZXI+LiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBzcG9vbCBkaXJlY3Rv
cnkgaXMgIi92YXIvbWFpbCIsIA0KICAgKiB0aGUgc3Bvb2wgZmlsZSBmb3Ig
dXNlciAibWFpZGEiIHdvdWxkIGJlOg0KICAgKiAgICAgL3Zhci9tYWlsL21h
aWRhICAgICAgICAgIEhBU0hfU1BPT0wgbm90IHNldA0KICAgKiAgICAgL3Zh
ci9tYWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgKiAgICAg
L3Zhci9tYWlsL20vYS9tYWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KKyAgKiAg
ICAgL3Zhci9tYWlsL20vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MyAoZmly
c3QgbGV0dGVyIG9mIHVzZXJpZCkNCiAgICovDQogICN1bmRlZiBIQVNIX1NQ
T09MDQogIA0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL2NvbmZpZ3VyZS5pbicg
J3Fwb3BwZXIzLjIuMi9jb25maWd1cmUuaW4nDQpJbmRleDogLi9jb25maWd1
cmUuaW4NCioqKiAuL2NvbmZpZ3VyZS5pbglTYXQgTm92IDExIDIxOjM3OjIx
IDIwMDANCi0tLSAuL2NvbmZpZ3VyZS5pbglUdWUgTm92IDIxIDEwOjE3OjU2
IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDQ0MCw0NDkgKioqKg0KICBm
aQ0KICANCiAgDQohIEFDX0FSR19FTkFCTEUoaGFzaC1zcG9vbCwgWyAtLWVu
YWJsZS1oYXNoLXNwb29sPTF8MiAgRW5hYmxlIGhhc2hlZCBzcG9vbCBkaXJl
Y3RvcmllcyBbMl0gXSwgDQogICAgICAgICAgICAgICAgaGFzaHNwb29sPSIk
ZW5hYmxldmFsIiwgaGFzaHNwb29sPSJubyIpDQogIGlmIHRlc3QgIiRoYXNo
c3Bvb2wiICE9ICJubyI7IHRoZW4NCiEgICAgIGlmIHRlc3QgIiRoYXNoc3Bv
b2wiID0gIjEiIC1vICIkaGFzaHNwb29sIiA9ICIyIiA7IHRoZW4gDQogICAg
ICAgICAgQUNfTVNHX1JFU1VMVChVc2luZyBoYXNoZWQgc3Bvb2wgZGlyZWN0
b3J5IG1ldGhvZCAkaGFzaHNwb29sKQ0KICAgICAgICAgIEFDX0RFRklORV9V
TlFVT1RFRChIQVNIX1NQT09MLCAkaGFzaHNwb29sKQ0KICAgICAgZWxzZSAg
DQotLS0gNDQwLDQ0OSAtLS0tDQogIGZpDQogIA0KICANCiEgQUNfQVJHX0VO
QUJMRShoYXNoLXNwb29sLCBbIC0tZW5hYmxlLWhhc2gtc3Bvb2w9MXwyfDMg
IEVuYWJsZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3JpZXMgWzJdIF0sIA0KICAg
ICAgICAgICAgICAgIGhhc2hzcG9vbD0iJGVuYWJsZXZhbCIsIGhhc2hzcG9v
bD0ibm8iKQ0KICBpZiB0ZXN0ICIkaGFzaHNwb29sIiAhPSAibm8iOyB0aGVu
DQohICAgICBpZiB0ZXN0ICIkaGFzaHNwb29sIiA9ICIxIiAtbyAiJGhhc2hz
cG9vbCIgPSAiMiIgLW8gIiRoYXNoc3Bvb2wiID0gIjMiIDsgdGhlbiANCiAg
ICAgICAgICBBQ19NU0dfUkVTVUxUKFVzaW5nIGhhc2hlZCBzcG9vbCBkaXJl
Y3RvcnkgbWV0aG9kICRoYXNoc3Bvb2wpDQogICAgICAgICAgQUNfREVGSU5F
X1VOUVVPVEVEKEhBU0hfU1BPT0wsICRoYXNoc3Bvb2wpDQogICAgICBlbHNl
ICANCioqKioqKioqKioqKioqKg0KKioqIDUxMiw1MTcgKioqKg0KLS0tIDUx
Miw1NzUgLS0tLQ0KICAgICAgQUNfREVGSU5FKFVTRV9CVUxMX0dST1VQUykN
CiAgZmkNCiAgDQorIGRubC0tLWxvY2F0aW9uIG9mIG5vbmF1dGhvcml6ZWQg
dXNlcnMgZmlsZQ0KKyBBQ19BUkdfV0lUSChub25hdXRoLCBbIC0td2l0aC1u
b25hdXRoPXBhdGggICAgICBTZXQgdGhlIG5vbmF1dGhvcml6ZWQgdXNlcnMg
ZmlsZSBwYXRoIFsvZXRjL3BvcC5ub25hdXRoXV0sDQorIAlub25hdXRoPSR3
aXRodmFsLCBub25hdXRoPSJubyIpDQorIGlmIHRlc3QgIiRub25hdXRoIiAh
PSAibm8iIDsgdGhlbg0KKyAJaWYgdGVzdCAteiAiJG5vbmF1dGgiIDsgdGhl
bg0KKyAJCUFDX01TR19SRVNVTFQoTm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
IC9ldGMvcG9wLm5vbmF1dGggZW5hYmxlZCkNCisgCQlBQ19ERUZJTkVfVU5R
VU9URUQoTk9OQVVUSEZJTEUsIi9ldGMvcG9wLm5vbmF1dGgiKQ0KKyAJZWxz
ZQ0KKyAJCUFDX01TR19SRVNVTFQoTm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
ICRub25hdXRoIGVuYWJsZWQpDQorIAkJQUNfREVGSU5FX1VOUVVPVEVEKE5P
TkFVVEhGSUxFLCIkbm9uYXV0aCIpDQorIAlmaQ0KKyBmaQ0KKyANCisgZG5s
LS0tbG9jYXRpb24gb2YgYXV0aG9yaXplZCB1c2VycyBmaWxlDQorIEFDX0FS
R19XSVRIKGF1dGgsIFsgLS13aXRoLWF1dGg9cGF0aAkgIFNldCB0aGUgYXV0
aG9yaXplZCB1c2VycyBmaWxlIHBhdGggWy9ldGMvcG9wLmF1dGhvcml6ZWRd
XSwNCisgCWF1dGg9JHdpdGh2YWwsIGF1dGg9Im5vIikNCisgaWYgdGVzdCAi
JGF1dGgiICE9ICJubyIgOyB0aGVuDQorIAlpZiB0ZXN0IC16ICIkYXV0aCIg
OyB0aGVuDQorIAkJQUNfTVNHX1JFU1VMVChBdXRob3JpemVkIHVzZXJzIGZp
bGUgL2V0Yy9wb3AuYXV0aG9yaXplZCBlbmFibGVkKQ0KKyAJCUFDX0RFRklO
RV9VTlFVT1RFRChBVVRIRklMRSwiL2V0Yy9wb3AuYXV0aG9yaXplZCIpDQor
IAllbHNlDQorIAkJQUNfTVNHX1JFU1VMVChBdXRob3JpemVkIHVzZXJzIGZp
bGUgJGF1dGggZW5hYmxlZCkNCisgCQlBQ19ERUZJTkVfVU5RVU9URUQoQVVU
SEZJTEUsIiRhdXRoIikNCisgCWZpDQorIGZpDQorIA0KKyBkbmwtLS0gbG9h
ZGxpbWl0IGZlYXR1cmUgZW5hYmxlZA0KKyBBQ19BUkdfV0lUSChsb2FkbGlt
aXQsIFsgLS13aXRoLWxvYWRsaW1pdD1sb2FkICAgIEVuYWJsZSBsb2FkbGlt
aXQgZmVhdHVyZSBbZGVmYXVsdD0xNi4wXV0sIA0KKyAJbG9hZGxpbWl0PSIk
d2l0aHZhbCIsIGxvYWRsaW1pdD0ibm8iKQ0KKyBpZiB0ZXN0ICIkbG9hZGxp
bWl0IiAhPSAibm8iOyB0aGVuDQorIAlpZiB0ZXN0IC16ICIkbG9hZGxpbWl0
IiA7IHRoZW4NCisgCQlBQ19NU0dfUkVTVUxUKFVzaW5nIExvYWRsaW1pdCBm
ZWF0dXJlIHdpdGggbWF4aW11bSBsb2FkID0gMTYuMCkNCisgICAgIAlBQ19E
RUZJTkVfVU5RVU9URUQoTE9BRExJTUlULCAiMTYuMCIpDQorIAllbHNlDQor
IAkJQUNfTVNHX1JFU1VMVChVc2luZyBMb2FkbGltaXQgZmVhdHVyZSB3aXRo
IG1heGltdW0gbG9hZCA9ICRsb2FkbGltaXQpDQorICAgICAJQUNfREVGSU5F
X1VOUVVPVEVEKExPQURMSU1JVCwgJGxvYWRsaW1pdCkNCisgCWZpDQorIGZp
DQorIA0KKyBkbmwtLS0gRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQNCisg
QUNfQVJHX1dJVEgoRENFLCBbIC0td2l0aC1EQ0UgICAgICAgICAgICAgICBF
bmFibGUgRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnRdLCANCisgCURDRT0i
JHdpdGh2YWwiLCBEQ0U9Im5vIikNCisgaWYgdGVzdCAiJERDRSIgIT0gIm5v
IjsgdGhlbg0KKyAJQUNfTVNHX1JFU1VMVChEQ0UgYXV0aGVudGljYXRpb24g
c3VwcG9ydCBlbmFibGVkKQ0KKyAJQUNfREVGSU5FKERDRSkNCisgCVNZU19O
QU1FPSJgdW5hbWUgLXNyIDI+L2Rldi9udWxsIHwgc2VkIDFxYCINCisgCWlm
IHRlc3QgLXogIlwkU1lTX05BTUUiOyB0aGVuIFNZU19OQU1FPXVua25vd247
ZmkNCisgCU9TX05BTUU9ImBlY2hvICRTWVNfTkFNRSAyPi9kZXYvbnVsbCB8
IHNlZCAtZSAncy9bIF0uKi8vJ2AiDQorIAlPU19WRVJTSU9OPSJgZWNobyAk
U1lTX05BTUUgMj4vZGV2L251bGwgfCBzZWQgLWUgJ3MvLipbIF0vLydgIg0K
KyAJQUNfTVNHX1JFU1VMVChTeXN0ZW0gbmFtZTogJE9TX05BTUU7IFN5c3Rl
bSB2ZXJzaW9uOiAkT1NfVkVSU0lPTikNCisgCWlmIHRlc3QgJE9TX05BTUUg
PSAiSFAtVVgiOyB0aGVuDQorIAkJQUNfTVNHX1JFU1VMVChIUFVYIGFuZCBE
Q0UgZGV0ZWN0ZWQgbXVzdCB1c2UgSFAgQyBjb21waWxlcikNCisgCQlDQz0i
Y2MiDQorIAkJQUNfU1VCU1QoQ0MpDQorIAkJQ0ZMQUdTPSItQWUgK080ICtF
U2xpdCINCisgCQlBQ19TVUJTVChDRkxBR1MpDQorIAlmaQ0KKyBmaQ0KICAN
CiAgQUNfQVJHX1dJVEgoa2VyYmVyb3M1LCBbIC0td2l0aC1rZXJiZXJvczU9
ZGlyICAgICBFbmFibGUgS2VyYmVyb3MgNSBzdXBwb3J0XSwNCiAgICAgICAg
ICAgICBrcmI1X3ByZWZpeD0ke3dpdGh2YWx9LGtyYjVfcHJlZml4PSJubyIp
DQoqKioqKioqKioqKioqKioNCioqKiA5NDQsOTQ5ICoqKioNCi0tLSAxMDAy
LDEwMTAgLS0tLQ0KICBzZWxlY3QuaCBcDQogIHNoYWRvdy5oIFwNCiAgc2Vj
dXJpdHkvcGFtX2FwcGwuaCBcDQorIGRjZS9ycGMuaCBcDQorIGRjZS9zZWNf
bG9naW4uaCBcDQorIGRjZS9kY2VfZXJyb3IuaCBcDQogICkNCiAgDQogIA0K
KioqKioqKioqKioqKioqDQoqKiogOTU0LDk1OSAqKioqDQotLS0gMTAxNSwx
MDIxIC0tLS0NCiAgQUNfQ0hFQ0tfTElCKHJlc29sdiwgcmVzX2luaXQsIE5F
VFdPUktfTElCUz0iJE5FVFdPUktfTElCUyAtbHJlc29sdiIpDQogIEFDX0NI
RUNLX0xJQihtYWlsLCBtYWlsbG9jaywgTkVUV09SS19MSUJTPSIkTkVUV09S
S19MSUJTIC1sbWFpbCI7IEFDX0RFRklORShTWVNfTUFJTExPQ0spKQ0KICBB
Q19DSEVDS19MSUIoa3JiLCBrcmJfcmVjdmF1dGgsIEtFUkJFUk9TX0xJQlM9
IiRLRVJCRVJPU19MSUJTIC1sa3JiIikNCisgQUNfQ0hFQ0tfTElCKGRjZSwg
c2VjX2xvZ2luX3NldHVwX2lkZW50aXR5LCBEQ0VfTElCUz0iLWxkY2UiKQ0K
ICBBQ19DSEVDS19MSUIocG9zaXg0LCBjbG9ja19nZXR0aW1lLCBMSUJTPSIk
TElCUyAtbHBvc2l4NCI7IEFDX0RFRklORShIQVZFX0NMT0NLX0dFVFRJTUUp
KQ0KICANCiAgQUNfQ0hFQ0tfTElCKHNlY3VyaXR5LCBzZXRfYXV0aF9wYXJh
bWV0ZXJzLCBMSUJTPSIkTElCUyAtbHNlY3VyaXR5IikNCioqKioqKioqKioq
KioqKg0KKioqIDEwMDcsMTAxMiAqKioqDQotLS0gMTA2OSwxMDc1IC0tLS0N
CiAgDQogIEFDX1NVQlNUKE5FVFdPUktfTElCUykNCiAgQUNfU1VCU1QoS0VS
QkVST1NfTElCUykNCisgQUNfU1VCU1QoRENFX0xJQlMpDQogIEFDX1NVQlNU
KERCTV9MSUJTKQ0KICBBQ19TVUJTVChMSUJTKQ0KICANCmRpZmYgLWMgJ3Fw
b3BwZXIzLjEuMi9kb2MvQ2hhbmdlcycgJ3Fwb3BwZXIzLjIuMi9kb2MvQ2hh
bmdlcycNCkluZGV4OiAuL2RvYy9DaGFuZ2VzDQoqKiogLi9kb2MvQ2hhbmdl
cwlTdW4gTm92IDEyIDE5OjE5OjUzIDIwMDANCi0tLSAuL2RvYy9DaGFuZ2Vz
CVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioqKioqKioqKioqDQoq
KiogNCw5ICoqKioNCi0tLSA0LDY1IC0tLS0NCiAgDQogIFRoaXMgZG9jdW1l
bnQgY29udGFpbnMgdGhlIGNoYW5nZXMgc2luY2UgdGhlIGxhc3QgcmVsZWFz
ZS4NCiAgDQorIENoYW5nZXMgZnJvbSAzLjEgdG8gMy4yDQorIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyANCisgIDEuICBDb25maWd1cmF0aW9u
IG9wdGlvbnMgZmFpbCBvbiBIUFVYIDExLjAgd2hlbiAtLXdpdGgtcGFtIGlz
DQorICAgICAgdXNlZCBkdWUgdG8gcmVmZXJlbmNlIHRvIC1sZGwgbGlicmFy
eSBpbiBjb25maWd1cmUuaW4uDQorICAgICAgUmVtb3ZlZCByZWZlcmVuY2Vz
IHRvIC1sZGwgaW4gY29uZmlndXJlLmluLg0KKyAgMi4gIENvbXBpbGF0aW9u
IG9mIHBvcHBlci9wb3BfcGFzcy5jIGZhaWxzIG9uIEhQVVggMTEuMCB3aGVu
DQorICAgICAgLS13aXRoLXBhbSBpcyB1c2VkLCBiZWNhdXNlIG5vbi1wYW0g
dmVyc2lvbiBvZiBhdXRoX3VzZXIoKQ0KKyAgICAgIGlzIG5vdCBoaWRkZW4g
YnkgY3BwIGRpcmVjdGl2ZXMuDQorICAzLiAgQSB0aGlyZCBoYXNoX3Nwb29s
aW5nIG1lY2hhbmlzbSBpcyBhZGRlZC4gIFRoZSBmaXJzdCBjaGFyYWN0ZXIN
CisgICAgICBvZiB0aGUgdXNlcmlkIGlzIHVzZWQgYXMgYSBzdWJkaXJlY3Rv
cnkgd2l0aGluIHRoZSBzcG9vbGRpcg0KKyAgICAgIGZvciB0aGUgbG9jYXRp
b24gb2YgdGhlIG1haWxib3guICBUaGUgcG9wIGRyb3BmaWxlIGdvZXMgaW4N
CisgICAgICB0aGUgInBvcCIgc3ViZGlyZWN0b3J5IHRoZXJlaW4uICBTbyBm
b3IgdXNlciAiam9lYmxvdyIgYW5kDQorICAgICAgYSBzcG9vbCBkaXJlY3Rv
cnkgb2YgIi92YXIvbWFpbCIsIHRoZSBtYWlsYm94IGlzIGxvY2F0ZWQgYXQN
CisgICAgICAgICAvdmFyL21haWwvai9qb2VibG93DQorICAgICAgYW5kIHRo
ZSBkcm9wZmlsZSBpcyBsb2NhdGVkIGF0Og0KKyAgICAgICAgIC92YXIvbWFp
bC9qL3BvcC8uam9lYmxvdy5wb3ANCisgIDQuICBDb25maWd1cmUtdGltZSBv
cHRpb25zIGFkZGVkIHRvIGNvbmZpZ3VyZS5pbiBmb3IgZmVhdHVyZXMgYWxy
ZWFkeQ0KKyAgICAgIGluIHRoZSBjb2RlLCBidXQgbm90IGluIHRoZSBjb25m
aWd1cmUgb3B0aW9ucy4gIFRoZXNlIGFyZToNCisgICAgICAgICAtLXdpdGgt
bm9uYXV0aD1wYXRoICAgICAgU2V0IHRoZSBub25hdXRob3JpemVkIHVzZXJz
IGZpbGUgcGF0aC4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGVmYXVsdCBpcyAvZXRjL3BvcC5ub25hdXRoLg0KKyAgICAgICAgIC0t
d2l0aC1hdXRoPXBhdGggICAgICAgICBTZXQgdGhlIGF1dGhvcml6ZWQgdXNl
cnMgZmlsZSBwYXRoLg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEZWZhdWx0IGlzICAvZXRjL3BvcC5hdXRob3JpemVkLg0KKyAgICAg
IFRoZSBhcHByb3ByaWF0ZSBkZWZpbmVzIGZvciB0aGVzZSB3ZXJlIGFkZGVk
IHRvIGNvbmZpZy5oLmluLg0KKyAgNS4gIEFkZGVkIGEgbG9hZGxpbWl0IG1l
Y2hhbmlzbSwgdG8gcHJldmVudCBxcG9wcGVyIGNvbm5lY3Rpb25zIGlmDQor
ICAgICAgdGhlIHN5c3RlbSBsb2FkIGlzIGFib3ZlIGEgc3lzdGVtLWNvbmZp
Z3VyYWJsZSB2YWx1ZS4gIEFkZGVkDQorICAgICAgYSBjb25maWd1cmUgb3B0
aW9uICgtLXdpdGgtbG9hZGxpbWl0PWxvYWQpLCBhbmQgY29kZSBpbiBwb3Bw
ZXIuYw0KKyAgICAgIHRvIGVuYWJsZSB0aGlzIGZvciBzeXN0ZW1zIHRoYXQg
dXNlIGdldGxvYWRhdmcoMykgKGVnLCBTb2xhcmlzKQ0KKyAgICAgIGFuZCBm
b3IgSFBVWCAxMC54LzExLnggc3lzdGVtcy4gIExvYWRsaW1pdCBmZWF0dXJl
IGlzIGF2YWlsYWJsZSANCisgICAgICBhcyBhIHJ1bi10aW1lIGNvbnRyb2xs
YWJsZSBmZWF0dXJlIHZpYSB0aGUgIi1sIFtsb2FkXSIgY29tbWFuZC1saW5l
DQorICAgICAgb3B0aW9uOyBwcm92aWRlZCB0aGF0IC0td2l0aC1sb2FkbGlt
aXQ9bG9hZCBpcyBzcGVjaWZpZWQgYXQNCisgICAgICBjb25maWd1cmUgdGlt
ZS4gIFRoZSAibG9hZCIgbnVtYmVyIGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVt
YmVyDQorICAgICAgcmVwcmVzZW50aW5nIHRoZSBvbmUtbWludXRlLWF2ZXJh
Z2UgbG9hZCBhYm92ZSB3aGljaCB5b3Ugd2FudCB0bw0KKyAgICAgIHJlZnVz
ZSBjb25uZWN0aW9ucy4gIFRoaXMgZmVhdHVyZSBuZWVkcyBjb2RlIGZvciBv
dGhlciB0eXBlcyBvZg0KKyAgICAgIFVOSVguDQorICA2LiAgQ2hhbmdlZCB0
aGUgbWVzc2FnZSBmb3Igbm9uYXV0aG9yaXplZCB1c2VycyB0byAqdGVsbCog
dGhlbSB0aGV5DQorICAgICAgYXJlIG5vdCBhdXRob3JpemVkLCBpbnN0ZWFk
IG9mIHRoZSB1c3VhbCB2YWd1ZSBtZXNzYWdlLiAgRm9yIHVzZQ0KKyAgICAg
IHdpdGggQVVUSEZJTEUgYW5kIE5PTkFVVEhGSUxFIG1hY3Jvcy4NCisgIDcu
ICBGaXhlZCBhIGJ1ZyBpbiBwb3BfaW5pdC5jLCB3aGVyZSBwLT5kZWJ1ZyBh
bmQgcC0+c3RhdHMgd2VyZSBub3QNCisgICAgICBpbml0aWFsaXplZCBiZWZv
cmUgYmVpbmcgdXNlZCBpbiB0aGUgZ2V0b3B0cyBsb29wLg0KKyAgOC4gIEFk
ZGVkIGEgdGltZWNoZWNrIGluIHBvcF9wYXNzLmMgdG8ga2VlcCBwZW9wbGUg
ZnJvbSByZXBlYXRlZGx5DQorICAgICAgY2hlY2tpbmcgZW1haWwuICBPbmx5
IHdvcmtzIGlmIEtFRVBfVEVNUF9EUk9QIGlzIGRlZmluZWQuICBDaGVja3MN
CisgICAgICB0aGUgdGltZXN0YW1wIG9uIHRoZSBzYXZlZCBkcm9wZmlsZSBh
Z2FpbnN0IHRoZSBjdXJyZW50IHRpbWUgLS0gaWYNCisgICAgICB0aGUgZGlm
ZmVyZW5jZSBpbiB0aW1lcyBpcyBsZXNzIHRoYW4gYSBzcGVjaWZpZWQgbnVt
YmVyIG9mIHNlY29uZHMsDQorICAgICAgdGhlbiB0aGUgY29ubmVjdGlvbiBp
cyByZWplY3RlZCBiZWZvcmUgYXV0aGVudGljYXRpb24uICBUaGUgbWluaW11
bQ0KKyAgICAgIHRpbWVjaGVjayBpbnRlcnZhbCBpcyBzcGVjaWZlZCB2aWEg
dGhlIHJ1bi10aW1lIGZsYWcgIi1hIGludGVnZXIiLA0KKyAgICAgIHdoZXJl
IHRoZSBpbnRlZ2VyIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzZWNvbmRz
IGFsbG93ZWQgYmV0d2Vlbg0KKyAgICAgIG1haWwgY2hlY2tzLg0KKyAgICAg
IFRoaXMgZmVhdHVyZSByZXF1aXJlZCB0aGUgYWRkaXRpb24gb2YgYSB0b3Vj
aF9maWxlKCkgY2FsbCBpbiANCisgICAgICB1bmxpbmtfdGVtcF9kcm9wKCks
IHRvIHVwZGF0ZSB0aGUgYWNjZXNzIHRpbWVzIG9uIGRyb3BmaWxlIGlmDQor
ICAgICAgS0VFUF9URU1QX0RST1AgaXMgZGVmaW5lZC4gIFRoaXMgdXBkYXRl
cyB0aGUgdGltZXN0YW1wcyBvbiB0aGUNCisgICAgICBkcm9wZmlsZSB3aGVu
ZXZlciB0aGUgdXNlciBhdXRoZW50aWNhdGVzIC0tIGV2ZW4gaWYgbm90aGlu
ZyBlbHNlDQorICAgICAgaGFwcGVuZWQgd2l0aCBoaXMgZW1haWwuDQorICA5
LiAgQWRkZWQgRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQuICBLbm93biB0
byB3b3JrIG9uIEhQIDEwLjIwIGFuZA0KKyAgICAgIDExLjAgc3lzdGVtcy4g
IE1heSB3b3JrIG9uIG90aGVyIERDRSBwbGF0Zm9ybXMuICBFbmFibGUgdmlh
DQorICAgICAgY29uZmlndXJhdGlvbiB1c2luZyAtLXdpdGgtRENFLg0KICAN
CiAgQ2hhbmdlcyBmcm9tIDMuMS4xIHRvIDMuMS4yDQogIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL3BvcHBl
ci9NYWtlZmlsZS5pbicgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvTWFrZWZpbGUu
aW4nDQpJbmRleDogLi9wb3BwZXIvTWFrZWZpbGUuaW4NCioqKiAuL3BvcHBl
ci9NYWtlZmlsZS5pbglXZWQgTm92ICA4IDE5OjIxOjI0IDIwMDANCi0tLSAu
L3BvcHBlci9NYWtlZmlsZS5pbglUdWUgTm92IDIxIDEwOjE3OjU2IDIwMDAN
CioqKioqKioqKioqKioqKg0KKioqIDc2LDgzICoqKioNCiAgCQkJcG9wX3Vz
ZXIubyBwb3BfeHRuZC5vIHBvcF94bWl0Lm8gcG9wcGVyLm8gXA0KICAJCQlw
b3BfYnVsbC5vIHh0bmRfeGxzdC5vIHBvcF91aWRsLm8gbWt0ZW1wLm8gXA0K
ICAJCQlwb3BfcnBvcC5vIHBvcF9hcG9wLm8gbWQ1Lm8gcG9wX2F1dGgubyBw
b3BfcG9wZS5vIFwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgcG9wX2V4
dGVuZC5vIHNjcmFtLm8gaG1hYy5vIGJhc2U2NC5vIHBvcF91dGlsLm8gXA0K
ISAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfc3ViX29wdC5vIG1zZ19w
dHIubyBkcmFjLm8gcG9wX2NvbmZpZy5vIG1haW4ubw0KICANCiAgU1JDUwkJ
PQlwb3BfZGVsZS5jIHBvcF9kcm9wY29weS5jIFwNCiAgCQkJcG9wX2dldF9j
b21tYW5kLmMgcG9wX2dldF9zdWJjb21tYW5kLmMgcG9wX2luaXQuYyBcDQot
LS0gNzYsODQgLS0tLQ0KICAJCQlwb3BfdXNlci5vIHBvcF94dG5kLm8gcG9w
X3htaXQubyBwb3BwZXIubyBcDQogIAkJCXBvcF9idWxsLm8geHRuZF94bHN0
Lm8gcG9wX3VpZGwubyBta3RlbXAubyBcDQogIAkJCXBvcF9ycG9wLm8gcG9w
X2Fwb3AubyBtZDUubyBwb3BfYXV0aC5vIHBvcF9wb3BlLm8gXA0KISAJCQlw
b3BfZXh0ZW5kLm8gc2NyYW0ubyBobWFjLm8gYmFzZTY0Lm8gcG9wX3V0aWwu
byBcDQohIAkJCXBvcF9hdXRoZGNlLm8gZGNlX3B3ZW50Lm8gXA0KISAJCQln
ZXRfc3ViX29wdC5vIG1zZ19wdHIubyBkcmFjLm8gcG9wX2NvbmZpZy5vIG1h
aW4ubw0KICANCiAgU1JDUwkJPQlwb3BfZGVsZS5jIHBvcF9kcm9wY29weS5j
IFwNCiAgCQkJcG9wX2dldF9jb21tYW5kLmMgcG9wX2dldF9zdWJjb21tYW5k
LmMgcG9wX2luaXQuYyBcDQoqKioqKioqKioqKioqKioNCioqKiA4Nyw5NCAq
KioqDQogIAkJCXBvcF91c2VyLmMgcG9wX3h0bmQuYyBwb3BfeG1pdC5jIHBv
cHBlci5jIFwNCiAgCQkJcG9wX2J1bGwuYyB4dG5kX3hsc3QuYyBwb3BfdWlk
bC5jIG1rdGVtcC5jIFwNCiAgCQkJcG9wX3Jwb3AuYyBwb3BfYXBvcC5jIG1k
NS5jIHBvcF9hdXRoLmMgcG9wX3BvcGUuYyBcDQohICAgICAgICAgICAgICAg
ICAgICAgICAgIHBvcF9leHRlbmQuYyBzY3JhbS5jIGhtYWMuYyBiYXNlNjQu
YyBwb3BfdXRpbC5jIFwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
X3N1Yl9vcHQuYyBtc2dfcHRyLmMgZHJhYy5jIHBvcF9jb25maWcuYyBtYWlu
LmMNCiAgDQogIFBPUEFVVEhPQkpTICAgICA9ICAgICAgIGJhc2U2NC5vIHNj
cmFtLm8gbWQ1Lm8gXA0KICAJCQlobWFjLm8gcG9wYXV0aC5vDQotLS0gODgs
OTYgLS0tLQ0KICAJCQlwb3BfdXNlci5jIHBvcF94dG5kLmMgcG9wX3htaXQu
YyBwb3BwZXIuYyBcDQogIAkJCXBvcF9idWxsLmMgeHRuZF94bHN0LmMgcG9w
X3VpZGwuYyBta3RlbXAuYyBcDQogIAkJCXBvcF9ycG9wLmMgcG9wX2Fwb3Au
YyBtZDUuYyBwb3BfYXV0aC5jIHBvcF9wb3BlLmMgXA0KISAJCQlwb3BfZXh0
ZW5kLmMgc2NyYW0uYyBobWFjLmMgYmFzZTY0LmMgcG9wX3V0aWwuYyBcDQoh
IAkJCXBvcF9hdXRoZGNlLmMgZGNlX3B3ZW50LmMgXA0KISAJCQlnZXRfc3Vi
X29wdC5jIG1zZ19wdHIuYyBkcmFjLmMgcG9wX2NvbmZpZy5jIG1haW4uYw0K
ICANCiAgUE9QQVVUSE9CSlMgICAgID0gICAgICAgYmFzZTY0Lm8gc2NyYW0u
byBtZDUubyBcDQogIAkJCWhtYWMubyBwb3BhdXRoLm8NCioqKioqKioqKioq
KioqKg0KKioqIDExMywxMTkgKioqKg0KICBORVRXT1JLX0xJQlMJPQlATkVU
V09SS19MSUJTQA0KICBLRVJCRVJPU19MSUJTCT0JQEtFUkJFUk9TX0xJQlNA
DQogIERCTV9MSUJTCT0JQERCTV9MSUJTQA0KISBMSUJTCQk9IAlATkVUV09S
S19MSUJTQCBAS0VSQkVST1NfTElCU0AgQERCTV9MSUJTQCBATElCU0ANCiAg
QVJfRkxBRyAgICAgICAgID0gICAgICAgQEFSX0ZMQUdADQogIFJBTkxJQl9D
TUQgICAgICA9ICAgICAgIEBSQU5MSUJfQ01EQA0KICANCi0tLSAxMTUsMTIy
IC0tLS0NCiAgTkVUV09SS19MSUJTCT0JQE5FVFdPUktfTElCU0ANCiAgS0VS
QkVST1NfTElCUwk9CUBLRVJCRVJPU19MSUJTQA0KICBEQk1fTElCUwk9CUBE
Qk1fTElCU0ANCiEgRENFX0xJQlMgICAgPSAgIEBEQ0VfTElCU0ANCiEgTElC
UwkJPSAJQE5FVFdPUktfTElCU0AgQEtFUkJFUk9TX0xJQlNAIEBEQk1fTElC
U0AgQExJQlNAIEBEQ0VfTElCU0ANCiAgQVJfRkxBRyAgICAgICAgID0gICAg
ICAgQEFSX0ZMQUdADQogIFJBTkxJQl9DTUQgICAgICA9ICAgICAgIEBSQU5M
SUJfQ01EQA0KICANCmRpZmYgLWMgL2Rldi9udWxsICdxcG9wcGVyMy4yLjIv
cG9wcGVyL2RjZV9wd2VudC5jJw0KSW5kZXg6IC4vcG9wcGVyL2RjZV9wd2Vu
dC5jDQoqKiogLi9wb3BwZXIvZGNlX3B3ZW50LmMJV2VkIERlYyAzMSAxOTow
MDowMCAxOTY5DQotLS0gLi9wb3BwZXIvZGNlX3B3ZW50LmMJVHVlIE5vdiAy
MSAxMDoxNzo1NiAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiAwICoqKioN
Ci0tLSAxLDI3MSAtLS0tDQorIC8qDQorICAqICBDb250cmlidXRlZCBieSBK
ZWZmIEVhcmlja3NvbiwgQ29sYnkgQ29sbGVnZSwgV2F0ZXJ2aWxsZSwgTUUN
CisgICogIChqYWVhcmlja0Bjb2xieS5lZHUpDQorICAqDQorICAqICBUaGUg
Y29kZSBiZWxvdyBiYXNpY2FsbHkgY29tZXMgZnJvbSB0aGUgZXhhbXBsZXMg
c3VwcGxpZWQgb24NCisgICogIHRoZSBPU0YgRENFIDEuMC4zIG1hbnBhZ2Vz
IGZvciB0aGUgc2VjX2xvZ2luIHJvdXRpbmVzLCB3aXRoDQorICAqICBlbm91
Z2ggYWRkaXRpb25hbCBwb2xpc2hpbmcgdG8gbWFrZSB0aGUgcm91dGluZSB3
b3JrIGNvcnJlY3RseS4NCisgICoNCisgICogIFRoaXMgY29kZSBpcyBrbm93
biB0byB3b3JrIG9uIEhQIDcwMCBhbmQgODAwIHNlcmllcyBzeXN0ZW1zDQor
ICAqICBydW5uaW5nIEhQLVVYIDkuWCBhbmQgMTAuWCwgd2l0aCBlaXRoZXIg
SFAncyB2ZXJzaW9uIDEuMi4xIG9mIERDRS4NCisgICogIChha2EsIE9TRiBE
Q0UgMS4wLjMpIG9yIHdpdGggSFAncyB2ZXJzaW9uIDEuNCBvZiBEQ0UgKGFr
YSwgT1NGDQorICAqICBEQ0UgMS4xKS4NCisgICoNCisgICogIFVzZSBhdCB5
b3VyIG93biByaXNrISEhICAoQnV0IEkgd291bGQgbGlrZSB0byBoZWFyIGFi
b3V0IGJ1Z3MuKQ0KKyAqLw0KKyANCisgI2lmZGVmIEhBVkVfQ09ORklHX0gN
CisgI2luY2x1ZGUgPGNvbmZpZy5oPg0KKyAjZW5kaWYNCisgDQorICNpZmRl
ZiBEQ0UNCisgDQorICNpbmNsdWRlIDxzdGRpby5oPg0KKyAvKiAjaW5jbHVk
ZSA8c3RyaW5nLmg+ICovDQorICNpbmNsdWRlIDxzaWduYWwuaD4NCisgI2lu
Y2x1ZGUgPHNldGptcC5oPg0KKyAjaW5jbHVkZSA8cHdkLmg+DQorICNpbmNs
dWRlICJwb3BwZXIuaCINCisgI2luY2x1ZGUgPGRjZS9ycGMuaD4NCisgI2lu
Y2x1ZGUgPGRjZS9zZWNfbG9naW4uaD4NCisgI2luY2x1ZGUgPGRjZS9kY2Vf
ZXJyb3IuaD4gLyogcmVxdWlyZWQgdG8gY2FsbCBkY2VfZXJyb3JfaW5xX3Rl
eHQgcm91dGluZSAgICovDQorIA0KKyAvKiBnbG9iYWwgdmFyaWFibGVzICov
DQorIHN0YXRpYyBpbnQgICAgICAgICAgICAgICAgZXJyb3Jfc3RhdDsNCisg
c3RhdGljIHVuc2lnbmVkIGNoYXIgICAgICBlcnJvcl9zdHJpbmdbZGNlX2Nf
ZXJyb3Jfc3RyaW5nX2xlbl07DQorIGptcF9idWYgICAgICAgICAgICAgICAg
ICAgZGNlanVtcDsgICAgICAgIC8qIHN0YWNrIGZvciBzZXRqbXAvbG9uZ2pt
cCBoZXJlaW4gKi8NCisgc2VjX2xvZ2luX2hhbmRsZV90ICAgICAgICBsb2dp
bl9jb250ZXh0OyAgICAvKiBEQ0UgbG9naW4gY29udGV4dCAqLw0KKyANCisg
dm9pZCBkY2V0aW1lb3V0KCkNCisgew0KKyAgICAgZXJyb3Jfc3RhdHVzX3Qg
ICAgICAgIHN0YXR1czsNCisgDQorICAgICBzZWNfbG9naW5fcHVyZ2VfY29u
dGV4dCggJmxvZ2luX2NvbnRleHQsICZzdGF0dXMgKTsNCisgICAgIGxvbmdq
bXAoIGRjZWp1bXAsIDEgKTsNCisgfQ0KKyANCisgaW50IGRjZV9hdXRoX3Rp
bWUocCwgZXJyb3Jtc2csIHRpbWVvdXQpDQorIC8qIHJldHVybnMgMSAoInRy
dWUiKSBpZiB1c2VyIGlzIGEgdmFsaWQgRENFIHByaW5jaXBhbCwgMCBvdGhl
cndpc2UgKi8NCisgLyogY2xlYW5zIHVwIGFuZCBleGl0cyBpZiBEQ0UgdGlt
ZXMgb3V0ICovDQorIFBPUCAqcDsNCisgY2hhciAqZXJyb3Jtc2c7DQorIGlu
dCB0aW1lb3V0Ow0KKyB7DQorICAgICBpbnQgcmV0Y29kZTsNCisgDQorICAg
ICAvKiBwcmVwYXJlIHRvIGNhdGNoIHRoZSBzaWduYWwgZm9yIERDRSB0aW1l
b3V0ICovDQorICAgICAodm9pZCkgc2lnbmFsKFNJR0FMUk0sIGRjZXRpbWVv
dXQpOw0KKyANCisgICAgIC8qIG5vdyBzZXQgdGhlIERDRSB0aW1lb3V0IGFs
YXJtICovDQorICAgICBhbGFybSh0aW1lb3V0KTsNCisgDQorICAgICBERUJV
R19MT0cxICggcCwgImRjZV9hdXRoX3RpbWU6IHNpZ25hbCBhbGFybSBzZXQg
Zm9yICVkIHNlY1xuIiwgdGltZW91dCk7DQorIA0KKyAgICAgLyogc2V0IHJl
dGNvZGUgdG8gZmFpbHVyZSBpZiBhbGFybSB3ZW50IG9mZiAqLw0KKyAgICAg
LyogYmVmb3JlIHRoZSBkY2VfcHdlbnQoKSBjYWxsIGZpbmlzaGVkICovDQor
ICAgICAvKiB0aW1lIHRvIGRpZS4uLiAqLw0KKyAgICAgaWYoc2V0am1wKGRj
ZWp1bXApKQ0KKyAgICAgew0KKyAgICAgICAgIERFQlVHX0xPRzAgKHAsICJk
Y2VfYXV0aF90aW1lOiByZXR1cm5pbmcgZnJvbSBsb25nam1wXG4iICk7DQor
ICAgICAgICAgcG9wX21zZyhwLFBPUF9GQUlMVVJFLCBIRVJFLA0KKyAgICAg
ICAgICAgICAiW0FVVEhdIERDRSBBdXRoZW50aWNhdGlvbiBUaW1lb3V0IGZv
ciAlcyIsIHAtPnVzZXIgKTsNCisgICAgICAgICBjbG9zZWxvZygpOw0KKyAg
ICAgICAgIGV4aXQoLTEpOw0KKyAgICAgfQ0KKyAgICAgZWxzZQ0KKyAgICAg
ew0KKyAgICAgICAgIERFQlVHX0xPRzAgKHAsICJkY2VfYXV0aF90aW1lOiBi
ZWZvcmUgZGNlX3B3ZW50XG4iICk7DQorICAgICAgICAgcmV0Y29kZSA9IGRj
ZV9wd2VudChwLCBlcnJvcm1zZyk7DQorICAgICAgICAgREVCVUdfTE9HMCAo
cCwgImRjZV9hdXRoX3RpbWU6IGFmdGVyIGRjZV9wd2VudFxuIiApOw0KKyAg
ICAgfQ0KKyANCisgICAgIC8qIHR1cm4gb2ZmIHRoZSBhbGFybSBhbmQgcmVz
ZXQgU0lHQUxSTSAqLw0KKyAgICAgYWxhcm0oMCk7DQorICAgICAodm9pZCkg
c2lnbmFsKFNJR0FMUk0sU0lHX0RGTCk7DQorIA0KKyAgICAgREVCVUdfTE9H
MCAocCwgImRjZV9hdXRoX3RpbWU6IHNpZ25hbCBhbmQgYWxhcm0gdHVybmVk
IG9mZlxuIiApOw0KKyANCisgICAgIHJldHVybiByZXRjb2RlOw0KKyB9DQor
IA0KKyBpbnQgZGNlX3B3ZW50KHAsIGVycm9ybXNnKQ0KKyAvKiByZXR1cm5z
IDEgKCJ0cnVlIikgaWYgdXNlciBpcyBhIHZhbGlkIERDRSBwcmluY2lwYWws
IDAgb3RoZXJ3aXNlICovDQorIFBPUCAqcDsNCisgY2hhciAqZXJyb3Jtc2c7
DQorIHsNCisgICAgIHN0cnVjdCBwYXNzd2QgICAgICAgICpwd2Q7DQorICAg
ICBzZWNfcGFzc3dkX3JlY190ICAgICAgcGFzc3dvcmRfcmVjOw0KKyAgICAg
Ym9vbGVhbjMyICAgICAgICAgICAgIHJlc2V0X3Bhc3N3ZDsNCisgICAgIHNl
Y19sb2dpbl9hdXRoX3NyY190ICBhdXRoX3NyYzsNCisgICAgIGVycm9yX3N0
YXR1c190ICAgICAgICBzdGF0dXM7DQorICAgICB1bnNpZ25lZDMyICAgICAg
ICAgICAgbmJ5dGVzOw0KKyAgICAgY2hhciAgICAgICAgICAgICAgICAgKnRt
cHBhc3M7DQorIA0KKyAgICAgLyogY3JlYXRlIHRoZSBsb2NhbCBjb250ZXh0
IG9mIHRoZSBEQ0UgcHJpbmNpcGFsIG5lY2Vzc2FyeSAgICovDQorICAgICAv
KiB0byBwZXJmb3JtIGF1dGhlbnRpY2F0ZWQgbmV0d29yayBvcGVyYXRpb25z
LiBUaGUgbmV0d29yayAgKi8NCisgICAgIC8qIGlkZW50aXR5IHNldCB1cCBi
eSB0aGlzIG9wZXJhdGlvbiBjYW5ub3QgYmUgdXNlZCB1bnRpbCBpdCAqLw0K
KyAgICAgLyogaXMgdmFsaWRhdGVkIHZpYSBzZWNfbG9naW5fdmFsaWRhdGVf
aWRlbnRpdHkoKS4gKi8NCisgICAgIGlmICggc2VjX2xvZ2luX3NldHVwX2lk
ZW50aXR5KCh1bnNpZ25lZF9jaGFyX3BfdCkgcC0+dXNlciwNCisgICAgICAg
ICBzZWNfbG9naW5fbm9fZmxhZ3MsICZsb2dpbl9jb250ZXh0LCZzdGF0dXMp
KQ0KKyAgICAgew0KKyAgICAgICAgIGlmICggY2hlY2soIHAsIHN0YXR1cywg
InNlY19sb2dpbl9zZXR1cF9pZGVudGl0eSgxKToiKSkgDQorICAgICAgICAg
ew0KKyAgICAgICAgICAgICBzdHJjcHkoIGVycm9ybXNnLCAoY29uc3QgY2hh
ciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgcmV0dXJuKCAw
ICk7DQorICAgICAgICAgfQ0KKyANCisgICAgICAgICAvKiBub3RlIHRoYXQg
Y29udGVudHMgb2YgcGFzc3dkIGFyZSB0cmFzaGVkIGFmdGVyIERDRSAqLw0K
KyAgICAgICAgIC8qIHNvIHdlIG5lZWQgdG8gbWFrZSBhIGxvY2FsIGNvcHkg
b2YgaXQgZm9yIHVzZSBoZXJlICovDQorICAgICAgICAgLyogbWFsbG9jIHNw
YWNlIGZvciBwYXNzd2Qgc3RydWN0dXJlICovDQorICAgICAgICAgbmJ5dGVz
ID0gc3RybGVuKCBwLT5wb3BfcGFybVsxXSApICsgMTsNCisgICAgICAgICBp
ZiAoICh0bXBwYXNzID0gKGNoYXIgKikgbWFsbG9jKG5ieXRlcykpID09IE5V
TEwgKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgc3RyY3B5KCBlcnJv
cm1zZyxwLT51c2VyICk7DQorICAgICAgICAgICAgIHN0cmNhdCggZXJyb3Jt
c2csIjogbWFsbG9jIGZvciB0bXBwYXNzIGZhaWxlZC4iICk7DQorICAgICAg
ICAgICAgIHJldHVybigwKTsNCisgICAgICAgICB9DQorICAgICAgICAgc3Ry
Y3B5KCB0bXBwYXNzLHAtPnBvcF9wYXJtWzFdICk7DQorIA0KKyAgICAgICAg
IHBhc3N3b3JkX3JlYy5rZXkudGFnZ2VkX3VuaW9uLnBsYWluID0gKGlkbF9j
aGFyICopIHRtcHBhc3M7DQorICAgICAgICAgcGFzc3dvcmRfcmVjLmtleS5r
ZXlfdHlwZSA9IHNlY19wYXNzd2RfcGxhaW47DQorICAgICAgICAgcGFzc3dv
cmRfcmVjLnBlcHBlciA9IE5VTEw7DQorICAgICAgICAgcGFzc3dvcmRfcmVj
LnZlcnNpb25fbnVtYmVyID0gc2VjX3Bhc3N3ZF9jX3ZlcnNpb25fbm9uZTsN
CisgDQorICAgICAgICAgLyogdmFsaWRhdGUgdGhlIGxvZ2luIGNvbnRleHQg
d2l0aCB0aGUgcGFzc3dvcmQgKi8NCisgICAgICAgICBpZiAoc2VjX2xvZ2lu
X3ZhbGlkYXRlX2lkZW50aXR5KCBsb2dpbl9jb250ZXh0LCAmcGFzc3dvcmRf
cmVjLA0KKyAgICAgICAgICAgICAmcmVzZXRfcGFzc3dkLCZhdXRoX3NyYywm
c3RhdHVzKSkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIGlmICggY2hl
Y2soIHAsIHN0YXR1cywgInNlY19sb2dpbl92YWxpZGF0ZV9pZGVudGl0eSgx
KToiKSkgDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIHN0
cmNweSggZXJyb3Jtc2csIChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyAp
Ow0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAg
ICB9DQorIA0KKyAgICAgICAgICAgICAvKiBDZXJ0aWZ5IHRoYXQgdGhlIERD
RSBTZWN1cml0eSBTZXJ2ZXIgdXNlZCB0byBzZXQgICAgICAqLw0KKyAgICAg
ICAgICAgICAvKiB1cCBhbmQgdmFsaWRhdGUgYSBsb2dpbiBjb250ZXh0IGlz
IGxlZ2l0aW1hdGUuICBNYWtlcyAqLw0KKyAgICAgICAgICAgICAvKiBzdXJl
IHRoYXQgd2UgZGlkbid0IGdldCBzcG9vZmVkIGJ5IGFub3RoZXIgRENFIHNl
cnZlci4qLw0KKyAgICAgICAgICAgICBpZiAoICFzZWNfbG9naW5fY2VydGlm
eV9pZGVudGl0eSggbG9naW5fY29udGV4dCwgJnN0YXR1cykpDQorICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJy
LCJXaG9hISBCb2d1cyBhdXRoZW50aWNhdGlvbiBzZXJ2ZXIhXG4iKTsgKi8N
CisgICAgICAgICAgICAgICAgICh2b2lkKSBjaGVjayggcCwgc3RhdHVzLCAi
c2VjX2xvZ2luX2NlcnRpZnlfaWRlbnRpdHkoMSk6Iik7IA0KKyAgICAgICAg
ICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgKGNvbnN0IGNoYXIgKikgZXJy
b3Jfc3RyaW5nICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4oMCk7DQor
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwg
c3RhdHVzLCAic2VjX2xvZ2luX2NlcnRpZnlfaWRlbnRpdHkoMik6IikpIA0K
KyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVy
cm9ybXNnLChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyApOw0KKyAgICAg
ICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAgICB9DQorIA0K
KyAgICAgICAgICAgICAvKiBzZXRzIHRoZSBuZXR3b3JrIGNyZWRlbnRpYWxz
IHRvIHRob3NlIHNwZWNpZmllZCAqLw0KKyAgICAgICAgICAgICAvKiBieSB0
aGUgbm93IHZhbGlkYXRlZCBsb2dpbiBjb250ZXh0LiAqLw0KKyAgICAgICAg
ICAgICBzZWNfbG9naW5fc2V0X2NvbnRleHQoIGxvZ2luX2NvbnRleHQsICZz
dGF0dXMgKTsNCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwgc3RhdHVz
LCAic2VjX2xvZ2luX3NldF9jb250ZXh0OiIpKSANCisgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywoY29uc3Qg
Y2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgICAgIHJl
dHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyANCisgICAgICAgICAgICAg
Lyogb29wcywgeW91ciBjcmVkZW50aWFscyB3ZXJlIG5vIGdvb2QuIFBvc3Np
Ymx5ICAgKi8NCisgICAgICAgICAgICAgLyogY2F1c2VkIGJ5IGNsb2NrIHRp
bWVzIG91dCBvZiBhZGp1c3RtZW50IGJldHdlZW4gKi8NCisgICAgICAgICAg
ICAgLyogRENFIGNsaWVudCBhbmQgRENFIHNlY3VyaXR5IHNlcnZlci4uLiAg
ICAgICAgICAgKi8NCisgICAgICAgICAgICAgaWYgKCBhdXRoX3NyYyAhPSBz
ZWNfbG9naW5fYXV0aF9zcmNfbmV0d29yayApDQorICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJyLCJZb3UgaGF2
ZSBubyBuZXR3b3JrIGNyZWRlbnRpYWxzXG4iKTsgKi8NCisgICAgICAgICAg
ICAgICAgIHN0cmNweSggZXJyb3Jtc2csIHAtPnVzZXIgKTsNCisgICAgICAg
ICAgICAgICAgIHN0cmNhdCggZXJyb3Jtc2csICIgaGFzIG5vIG5ldHdvcmsg
Y3JlZGVudGlhbHMuIiApOw0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDAp
Ow0KKyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIC8qIGNoZWNrIGlm
IHRoZSBwYXNzd29yZCBoYXMgYWdlZCBhbmQgaXMgbm8gZ29vZCAqLw0KKyAg
ICAgICAgICAgICBpZiAoIHJlc2V0X3Bhc3N3ZCApDQorICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJyLCJZb3Vy
IERDRSBwYXNzd29yZCBuZWVkcyByZXNldHRpbmdcbiIpOyAqLw0KKyAgICAg
ICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgcC0+dXNlciApOw0KKyAg
ICAgICAgICAgICAgICAgc3RyY2F0KCBlcnJvcm1zZywgIiBoYXMgYW4gaW52
YWxpZCBwYXNzd29yZC4iICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4o
MCk7DQorICAgICAgICAgICAgIH0NCisgDQorICNpZmRlZiBVTk5FRURFRA0K
KyAgICAgICAgICAgICAvKiBtYWxsb2Mgc3BhY2UgZm9yIHBhc3N3ZCBzdHJ1
Y3R1cmUgKi8NCisgICAgICAgICAgICAgbmJ5dGVzID0gc2l6ZW9mKHN0cnVj
dCBwYXNzd2QpOw0KKyAgICAgICAgICAgICBpZiAoIChwd2QgPSAoc3RydWN0
IHBhc3N3ZCAqKSBtYWxsb2MobmJ5dGVzKSkgPT0gTlVMTCApDQorICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJy
LCJtYWxsb2MgZm9yIHBhc3N3ZCBzdHJ1Y3QgZmFpbGVkXG4iKTsgKi8NCisg
ICAgICAgICAgICAgICAgIHN0cmNweShlcnJvcm1zZywgcC0+dXNlcik7DQor
ICAgICAgICAgICAgICAgICBzdHJjYXQoZXJyb3Jtc2csICI6IG1hbGxvYyBm
b3IgcGFzc3dkIHN0cnVjdCBmYWlsZWQuIik7DQorICAgICAgICAgICAgICAg
ICByZXR1cm4oMCk7DQorICAgICAgICAgICAgIH0NCisgDQorICAgICAgICAg
ICAgIC8qIHdlIHNob3VsZCBiZSBhIHZhbGlkIHVzZXIgYnkgdGhpcyBwb2lu
dC4gIFB1bGwgdGhlICovDQorICAgICAgICAgICAgIC8qIHVzZXIncyBwYXNz
d29yZCBzdHJ1Y3R1cmUgZnJvbSB0aGUgRENFIHNlY3VyaXR5ICAgICovDQor
ICAgICAgICAgICAgIC8qIHNlcnZlciBqdXN0IHRvIG1ha2Ugc3VyZS4gIElm
IHdlIGdldCBpdCB3aXRoIG5vICAgICovDQorICAgICAgICAgICAgIC8qIHBy
b2JsZW1zLCB0aGVuIHdlIHJlYWxseSBhcmUgbGVnaXRpbWF0ZS4uLiAgICAg
ICAgICovDQorICAgICAgICAgICAgIHNlY19sb2dpbl9nZXRfcHdlbnQobG9n
aW5fY29udGV4dCwoc2VjX2xvZ2luX3Bhc3N3ZF90KSBwd2QsJnN0YXR1cyk7
DQorICAgICAgICAgICAgIGZyZWUocHdkKTsNCisgICAgICAgICAgICAgaWYg
KCBjaGVjayhwLHN0YXR1cywic2VjX2xvZ2luX2dldF9wd2VudDoiKSApIA0K
KyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVy
cm9ybXNnLChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyApOw0KKyAgICAg
ICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAgICB9DQorICNl
bmRpZiAvKiBVTk5FRURFRCAqLw0KKyANCisgICAgICAgICAgICAgLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8NCisgICAgICAgICAgICAgLyogaWYgd2UgZ2V0IHRvIGhl
cmUsIHRoZW4gdGhlIHB3ZW50IGFib3ZlIHByb3Blcmx5IGZldGNoZWQgKi8N
CisgICAgICAgICAgICAgLyogdGhlIHBhc3N3b3JkIHN0cnVjdHVyZSBmcm9t
IHRoZSBEQ0UgcmVnaXN0cnksIHNvIHRoZSB1c2VyKi8NCisgICAgICAgICAg
ICAgLyogIG11c3QgYmUgdmFsaWQuICBXZSBkb24ndCByZWFsbHkgY2FyZSB3
aGF0IHRoZSB1c2VyJ3MgICAgKi8NCisgICAgICAgICAgICAgLyogcmVnaXN0
cnkgcGFzc3dvcmQgaXMsIGp1c3QgdGhhdCB0aGUgdXNlciBjb3VsZCBiZSAg
ICAgICAgKi8NCisgICAgICAgICAgICAgLyogdmFsaWRhdGVkLiAgSW4gZmFj
dCwgaWYgd2UgdHJpZWQgdG8gY29tcGFyZSB0aGUgbG9jYWwgICAgKi8NCisg
ICAgICAgICAgICAgLyogcGFzc3dvcmQgdG8gdGhlIERDRSBlbnRyeSBhdCB0
aGlzIHBvaW50LCB0aGUgb3BlcmF0aW9uICAgKi8NCisgICAgICAgICAgICAg
Lyogd291bGQgZmFpbCBpZiB0aGUgaGlkZGVuIHBhc3N3b3JkIGZlYXR1cmUg
aXMgdHVybmVkIG9uLCAgKi8NCisgICAgICAgICAgICAgLyogYmVjYXVzZSB0
aGUgcGFzc3dvcmQgZmllbGQgd291bGQgY29udGFpbiBhbiBhc3Rlcmlzay4g
ICAgKi8NCisgICAgICAgICAgICAgLyogICBBbHNvIGdvIGFoZWFkIGFuZCBk
ZXN0cm95IHRoZSB1c2VyJ3MgRENFIGxvZ2luIGNvbnRleHQgKi8NCisgICAg
ICAgICAgICAgLyogYmVmb3JlIHdlIGxlYXZlIGhlcmUgKGFuZCBkb24ndCBi
b3RoZXIgY2hlY2tpbmcgdGhlICAgICAgKi8NCisgICAgICAgICAgICAgLyog
c3RhdHVzKSwgaW4gb3JkZXIgdG8gY2xlYW4gdXAgY3JlZGVudGlhbHMgZmls
ZXMgaW4gICAgICAgKi8NCisgICAgICAgICAgICAgLyogL29wdC9kY2Vsb2Nh
bC92YXIvc2VjdXJpdHkvY3JlZHMuICBCeSBkb2luZyB0aGlzLCB3ZSBhcmUg
Ki8NCisgICAgICAgICAgICAgLyogYXNzdW1pbmcgdGhhdCB0aGUgdXNlciB3
aWxsIG5vdCBuZWVkIERDRSBhdXRoZW50aWNhdGlvbiAgKi8NCisgICAgICAg
ICAgICAgLyogbGF0ZXIgaW4gdGhlIHByb2dyYW0sIG9ubHkgbG9jYWwgYXV0
aGVudGljYXRpb24uICBJZiB0aGlzKi8NCisgICAgICAgICAgICAgLyogaXMg
bm90IHRydWUsIHRoZW4gdGhlIGxvZ2luX2NvbnRleHQgd2lsbCBoYXZlIHRv
IGJlICAgICAgKi8NCisgICAgICAgICAgICAgLyogcmV0dXJuZWQgdG8gdGhl
IGNhbGxpbmcgcHJvZ3JhbSwgYW5kIHRoZSBjb250ZXh0IHB1cmdlZCAgKi8N
CisgICAgICAgICAgICAgLyogc29tZXdoZXJlIGxhdGVyIGluIHRoZSBwcm9n
cmFtLiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisgICAgICAgICAg
ICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8NCisgICAgICAgICAgICAgc2VjX2xvZ2lu
X3B1cmdlX2NvbnRleHQoICZsb2dpbl9jb250ZXh0ICwgJnN0YXR1cyApOw0K
KyAgICAgICAgICAgICBlcnJvcm1zZyA9IE5VTEw7DQorICAgICAgICAgICAg
IHJldHVybigxKTsNCisgICAgICAgICB9DQorICAgICAgICAgZWxzZQ0KKyAg
ICAgICAgIHsNCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwgc3RhdHVz
LCAic2VjX2xvZ2luX3ZhbGlkYXRlX2lkZW50aXR5KDIpOiIpKSANCisgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1z
ZywgKGNvbnN0IGNoYXIgKikgZXJyb3Jfc3RyaW5nICk7DQorICAgICAgICAg
ICAgICAgICByZXR1cm4oMCk7DQorICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgc2VjX2xvZ2luX3B1cmdlX2NvbnRleHQoICZsb2dpbl9jb250ZXh0
LCAmc3RhdHVzICk7DQorICAgICAgICAgICAgIGlmICggY2hlY2soIHAsIHN0
YXR1cywgInNlY19sb2dpbl9wdXJnZV9jb250ZXh0OiIpKQ0KKyAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVycm9ybXNnLCAo
Y29uc3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAg
ICAgIHJldHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyAgICAgICAgIH0N
CisgICAgICAgICBmcmVlKHRtcHBhc3MpOw0KKyAgICAgfQ0KKyAgICAgaWYg
KCBjaGVjayggcCwgc3RhdHVzLCAic2VjX2xvZ2luX3NldHVwX2lkZW50aXR5
KDIpOiIpICkNCisgICAgIHsNCisgICAgICAgICBzdHJjcHkoIGVycm9ybXNn
LCAoY29uc3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICBy
ZXR1cm4oMCk7DQorICAgICB9DQorICAgICByZXR1cm4oMCk7DQorIH0NCisg
DQorIGludCBjaGVjayhwLGlucHV0X3N0YXR1cywgY29tbWVudCkgDQorIC8q
IHJldHVybnMgMCBmb3IgRENFICJvayIgc3RhdHVzLCAxIG90aGVyd2lzZSAq
Lw0KKyBQT1AgKnA7DQorIGVycm9yX3N0YXR1c190IGlucHV0X3N0YXR1czsN
CisgY2hhciAqY29tbWVudDsNCisgeyANCisgICAgIGlmICggaW5wdXRfc3Rh
dHVzID09IHJwY19zX29rICkgcmV0dXJuKDApOw0KKyAgICAgZGNlX2Vycm9y
X2lucV90ZXh0KCBpbnB1dF9zdGF0dXMsIGVycm9yX3N0cmluZywgJmVycm9y
X3N0YXQgKTsgDQorICAgICBERUJVR19MT0cyICggcCwgIkRDRTogJXMgJXMi
LGNvbW1lbnQsZXJyb3Jfc3RyaW5nKTsNCisgICAgIHJldHVybigxKTsNCisg
fQ0KKyANCisgI2VuZGlmIC8qIERDRSAqLw0KZGlmZiAtYyAvZGV2L251bGwg
J3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX2F1dGhkY2UuYycNCkluZGV4OiAu
L3BvcHBlci9wb3BfYXV0aGRjZS5jDQoqKiogLi9wb3BwZXIvcG9wX2F1dGhk
Y2UuYwlXZWQgRGVjIDMxIDE5OjAwOjAwIDE5NjkNCi0tLSAuL3BvcHBlci9w
b3BfYXV0aGRjZS5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioq
KioqKioqKioqDQoqKiogMCAqKioqDQotLS0gMSw5MiAtLS0tDQorIC8qDQor
ICAqICBEQ0UgQXV0aGVudGljYXRpb24gbWVjaGFuaXNtIGZvciBRcG9wcGVy
DQorICAqICBDb250cmlidXRlZCBieSBKZWZmIEVhcmlja3NvbiwgQ29sYnkg
Q29sbGVnZSwgV2F0ZXJ2aWxsZSwgTUUNCisgICogIChqYWVhcmlja0Bjb2xi
eS5lZHUpDQorICAqDQorICAqLw0KKyANCisgI2lmZGVmIEhBVkVfQ09ORklH
X0gNCisgI2luY2x1ZGUgPGNvbmZpZy5oPg0KKyAjZW5kaWYNCisgDQorICNp
ZmRlZiBEQ0UNCisgDQorICNpbmNsdWRlIDxwd2QuaD4NCisgI2luY2x1ZGUg
PGNyeXB0Lmg+DQorICNpZmRlZiBTWVNWDQorICNpbmNsdWRlIDxzdHJpbmcu
aD4NCisgI2Vsc2UNCisgI2luY2x1ZGUgPHN0cmluZ3MuaD4NCisgI2VuZGlm
DQorICNpbmNsdWRlIDxzdGRpby5oPg0KKyANCisgI2RlZmluZSBEQ0VfVElN
RU9VVCA2MCAgLyogdGltZW91dCBvbiBEQ0UgYXV0aGVudGljYXRpb24gYWZ0
ZXIgdGhpcyBzZWNzICovDQorICNkZWZpbmUgUEFTU1dEX09WRVJSSURFICIv
b3B0L2RjZWxvY2FsL2V0Yy9wYXNzd2Rfb3ZlcnJpZGUiDQorIA0KKyBpbnQg
dXNlX2RjZV9wYXNzd2Q7DQorIA0KKyAjaW5jbHVkZSAicG9wcGVyLmgiDQor
IA0KKyBjaGFyICpjcnlwdCgpOw0KKyANCisgaW50IGF1dGhfdXNlcl9kY2Ug
KHApDQorIFBPUCAqcDsNCisgew0KKyAgICAgRklMRSAqZmQ7DQorICAgICBz
dHJ1Y3QgcGFzc3dkICpwdzsNCisgICAgIGNoYXIgZXJyb3Jtc2dbTUFYTVNH
TElORUxFTl07DQorIA0KKyAgICAgREVCVUdfTE9HMSAoIHAsICJMb29raW5n
IGluICVzLiIsIFBBU1NXRF9PVkVSUklERSk7DQorIA0KKyAgICAgLyogZmly
c3QgbG9vayBpbiB0aGUgcGFzc3dkX292ZXJyaWRlIGZpbGUgKi8NCisgICAg
IGlmICgoZmQgPSBmb3BlbihQQVNTV0RfT1ZFUlJJREUsICJyIikpID09IE5V
TEwgKQ0KKyAgICAgew0KKyAgICAgICAgIHJldHVybiAocG9wX21zZyggcCwg
UE9QX0ZBSUxVUkUsIEhFUkUsDQorICAgICAgICAgICAgICJEQ0U6IENhbm5v
dCBvcGVuICVzLiIsIFBBU1NXRF9PVkVSUklERSkpOw0KKyAgICAgfQ0KKyAN
CisgICAgIHVzZV9kY2VfcGFzc3dkID0gMDsNCisgDQorICAgICAvKiBMb29r
IGZvciB0aGUgdXNlciBpbiBwYXNzd29yZF9vdmVycmlkZSBmaWxlICovDQor
ICAgICB3aGlsZSgoIHB3ID0gZmdldHB3ZW50KGZkKSkgIT0gTlVMTCApDQor
ICAgICB7DQorICAgICAgICAgaWYgKCBzdHJjbXAocC0+dXNlciwgcHctPnB3
X25hbWUpID09IDAgKSBicmVhazsNCisgICAgIH0NCisgDQorICAgICAvKiBp
ZiB0aGUgcGFzc3dvcmQgc3RydWN0dXJlIGlzIE5VTEwgdGhlbiB3ZSBoaXQg
RU9GICovDQorICAgICAvKiBpZiB0aGUgcGFzc3dvcmQgZmllbGQgaXMgbm90
IDEzIGNoYXJhY3RlcnMgbG9uZywgICovDQorICAgICAvKiB0aGVuIGl0IGlz
IG5vdCBhbiBlbmNyeXB0ZWQgcGFzc3dvcmQgZmllbGQsIHNvICAgICovDQor
ICAgICAvKiBjbG9zZSB0aGUgZmlsZSBhbmQgbW92ZSBvbiAqLw0KKyAgICAg
aWYgKCBwdyA9PSBOVUxMIHx8IHN0cmxlbihwdy0+cHdfcGFzc3dkKSAhPSAx
MyApDQorICAgICB7DQorICAgICAgICAgZmNsb3NlKGZkKTsNCisgICAgIH0N
CisgICAgIC8qIHRoZSBwYXNzd29yZCBmaWVsZCBpcyBnb29kIHNvIHNwZW5k
IHRoZSBDUFUgY3ljbGVzICovDQorICAgICAvKiB0byBlbmNyeXB0IGl0IGFu
ZCBzZWUgaWYgdGhlIGVudGVyZWQgcHcgaXMgdmFsaWQuLiAqLw0KKyAgICAg
ZWxzZQ0KKyAgICAgew0KKyAgICAgICAgIGlmICggc3RyY21wKCBjcnlwdChw
LT5wb3BfcGFybVsxXSwgcHctPnB3X3Bhc3N3ZCksIHB3LT5wd19wYXNzd2Qp
ID09IDAgKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgdXNlX2RjZV9w
YXNzd2QgPSAxOw0KKyAgICAgICAgICAgICBmY2xvc2UoZmQpOw0KKyAgICAg
ICAgICAgICByZXR1cm4oUE9QX1NVQ0NFU1MpOw0KKyAgICAgICAgIH0NCisg
ICAgICAgICBlbHNlDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBmY2xv
c2UoZmQpOw0KKyAgICAgICAgIH0NCisgICAgIH0NCisgDQorICAgICBERUJV
R19MT0cwICggcCwgIkNvbnN1bHRpbmcgRENFIFJlZ2lzdHJ5LiIgKTsNCisg
DQorICAgICAvKiB0aGVuIGdvIGFzayB0aGUgRENFIHJlZ2lzdHJ5ICovDQor
ICAgICBpZiAoIGRjZV9hdXRoX3RpbWUocCwgZXJyb3Jtc2csIERDRV9USU1F
T1VUKSA9PSAxICkNCisgICAgIHsNCisgICAgICAgICB1c2VfZGNlX3Bhc3N3
ZCA9IDE7DQorICAgICAgICAgcmV0dXJuKFBPUF9TVUNDRVNTKTsNCisgICAg
IH0NCisgDQorICAgICAvKiBpZiB3ZSBnZXQgdG8gaGVyZSB0aGVuIGV2ZXJ5
dGhpbmcgZmFpbGVkICovDQorICAgICByZXR1cm4ocG9wX21zZyhwLCBQT1Bf
RkFJTFVSRSwgSEVSRSwgIkRDRTogXCIlc1wiIixlcnJvcm1zZykpOw0KKyB9
DQorICNlbmRpZiAvKiBEQ0UgKi8NCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9w
b3BwZXIvcG9wX2luaXQuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX2lu
aXQuYycNCkluZGV4OiAuL3BvcHBlci9wb3BfaW5pdC5jDQoqKiogLi9wb3Bw
ZXIvcG9wX2luaXQuYwlTYXQgU2VwIDMwIDIzOjU0OjQxIDIwMDANCi0tLSAu
L3BvcHBlci9wb3BfaW5pdC5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0K
KioqKioqKioqKioqKioqDQoqKiogNDMxLDQzNiAqKioqDQotLS0gNDMxLDQz
OCAtLS0tDQogICAgICAgKiBOb3RlIHRoYXQgd2UgemVyb2VkIHRoZSBibG9j
ayBhYm92ZSwgc28gd2UgcmVhbGx5IG9ubHkgbmVlZCB0bw0KICAgICAgICog
c2V0IGFueSBkZXNpcmVkIG5vbi16ZXJvL25vbi1OVUxMIHZhbHVlcy4NCiAg
ICAgICAqLw0KKyAgICAgcC0+ZGVidWcgICAgICAgICAgICAgICA9IDA7DQor
ICAgICBwLT5zdGF0cyAgICAgICAgICAgICAgID0gMDsNCiAgICAgIHAtPm1z
Z3NfZGVsZXRlZCAgICAgICAgPSAwOw0KICAgICAgcC0+bGFzdF9tc2cgICAg
ICAgICAgICA9IDA7DQogICAgICBwLT5ieXRlc19kZWxldGVkICAgICAgID0g
MDsNCioqKioqKioqKioqKioqKg0KKioqIDQ0NCw0NDkgKioqKg0KLS0tIDQ0
Niw0NTIgLS0tLQ0KICAgICAgcC0+a2VyYmVyb3MgICAgICAgICAgICA9IEZB
TFNFOw0KICAgICAgcC0+QWxsb3dDbGVhclRleHQgICAgICA9IENsZWFyVGV4
dERlZmF1bHQ7DQogICAgICBwLT5jaGVja19sb2NrX3JlZnJlc2ggID0gNTAw
MDsgLyoganVzdCBhIHdpbGQgZ3Vlc3MgKi8NCisgICAgIHAtPm1pbl9hY2Nl
c3NfdGltZSAgICAgPSAwOw0KICANCiAgI2lmZGVmICBLRVJCRVJPUw0KICAg
ICAgcC0+a2VyYmVyb3Nfc2VydmljZSAgICA9IEtFUkJFUk9TX1NFUlZJQ0U7
DQoqKioqKioqKioqKioqKioNCioqKiA0NjcsNDcyICoqKioNCi0tLSA0NzAs
NDc4IC0tLS0NCiAgICAgIGV4cGlyZSAgICAgICAgICAgICAgICAgPSAwOw0K
ICAjZW5kaWYgLyogQVVUT19ERUxFVEUgKi8NCiAgDQorICNpZmRlZiBMT0FE
TElNSVQNCisgICAgIHAtPmxvYWRsaW1pdCAgICAgID0gKGRvdWJsZSkgTE9B
RExJTUlUOw0KKyAjZW5kaWYgLyogTE9BRExJTUlUICovDQogIA0KICAgICAg
U3RhY2tJbml0ICggJiAoIHAtPkluUHJvY2VzcyApICk7DQogICAgICANCioq
KioqKioqKioqKioqKg0KKioqIDQ4Nyw0OTUgKioqKg0KICAgICAgLyogIA0K
ICAgICAgICogUHJvY2VzcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIA0KICAg
ICAgICovDQohICAgICB3aGlsZSAoICggYyA9IGdldG9wdCAoIGFyZ2NvdW50
LCBhcmdtZXNzYWdlLCAiYjpCY2REOmU6ZjprSzpMOnA6UnNTdDpUOnUiKSAp
ICE9IEVPRiApDQogICAgICAgICAgc3dpdGNoICggYyApIHsNCiAgDQogICAg
ICAgICAgLyogQnVsbGV0aW5zIHJlcXVlc3RlZCAqLw0KICAgICAgICAgIGNh
c2UgJ2InOg0KICAgICAgICAgICAgICBwLT5idWxsZGlyID0gb3B0YXJnOw0K
LS0tIDQ5Myw1MTAgLS0tLQ0KICAgICAgLyogIA0KICAgICAgICogUHJvY2Vz
cyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIA0KICAgICAgICovDQohICAgICB3
aGlsZSAoICggYyA9IGdldG9wdCAoIGFyZ2NvdW50LCBhcmdtZXNzYWdlLCAi
YTpiOkJjZEQ6ZTpmOmtLOmw6TDpwOlJzU3Q6VDp1IikgKSAhPSBFT0YgKQ0K
ICAgICAgICAgIHN3aXRjaCAoIGMgKSB7DQogIA0KKyAjaWZkZWYgS0VFUF9U
RU1QX0RST1ANCisgICAgICAgICAvKiBtaW5pbXVtIGFjY2VzcyB0aW1lICov
DQorICAgICAgICAgY2FzZSAnYSc6DQorICAgICAgICAgICAgIHAtPm1pbl9h
Y2Nlc3NfdGltZSA9IGF0b2kob3B0YXJnKTsNCisgICAgICAgICAgICAgREVC
VUdfTE9HMSAoIHAsICJtaW5pbXVtIGFjY2VzcyB0aW1lID0gJXMgc2Vjb25k
cyIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5taW5fYWNjZXNz
X3RpbWUgKTsNCisgICAgICAgICAgICAgYnJlYWs7DQorICNlbmRpZiAvKiBL
RUVQX1RFTVBfRFJPUCAqLw0KKyANCiAgICAgICAgICAvKiBCdWxsZXRpbnMg
cmVxdWVzdGVkICovDQogICAgICAgICAgY2FzZSAnYic6DQogICAgICAgICAg
ICAgIHAtPmJ1bGxkaXIgPSBvcHRhcmc7DQoqKioqKioqKioqKioqKioNCioq
KiA1NjksNTc0ICoqKioNCi0tLSA1ODQsNTk4IC0tLS0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHAtPmtlcmJlcm9zX3NlcnZpY2UgKTsNCiAgICAg
ICAgICAgICAgYnJlYWs7DQogICNlbmRpZiAgLyogS0VSQkVST1MgKi8NCisg
DQorICNpZmRlZiBMT0FETElNSVQNCisgICAgICAgICAvKiAgRGVmaW5lIHRo
ZSBtYXggb24tbWludXRlIGxvYWQgYXZlcmFnZSBmb3IgY29ubmVjdGlvbnMg
Ki8NCisgICAgICAgICBjYXNlICdsJzoNCisgICAgICAgICAgICAgcC0+bG9h
ZGxpbWl0ID0gYXRvZihvcHRhcmcpOw0KKyAgICAgICAgICAgICBERUJVR19M
T0cxICggcCwgIk1heCBvbmUtbWludXRlIGxvYWQgYXZlcmFnZSA9ICVmIiwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmxvYWRsaW1pdCApOw0K
KyAgICAgICAgICAgICBicmVhazsNCisgI2VuZGlmIC8qIExPQURMSU1JVCAq
Lw0KICANCiAgICAgICAgICAvKiAgVG91Y2ggdGhlIG1haWwgbG9jayBldmVy
eSB0aGlzIG1hbnkgbWVzc2FnZXMgKGNydWRlKSAgKi8NCiAgICAgICAgICBj
YXNlICdMJzoNCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9wb3BwZXIvcG9wX3Bh
c3MuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX3Bhc3MuYycNCkluZGV4
OiAuL3BvcHBlci9wb3BfcGFzcy5jDQoqKiogLi9wb3BwZXIvcG9wX3Bhc3Mu
YwlTdW4gTm92IDEyIDE5OjE4OjA3IDIwMDANCi0tLSAuL3BvcHBlci9wb3Bf
cGFzcy5jCVR1ZSBOb3YgMjEgMTI6NDA6MzkgMjAwMA0KKioqKioqKioqKioq
KioqDQoqKiogMTI1LDEzMiAqKioqDQotLS0gMTI1LDE0MCAtLS0tDQogICMg
IGRlZmluZSAgIENIRUNLX1NQX01BWCAgICBUUlVFDQogICNlbmRpZiAvKiBE
T05UX0NIRUNLX1NQX01BWCAqLw0KICANCisgI2lmZGVmIEtFRVBfVEVNUF9E
Uk9QDQorICNpbmNsdWRlICJnZW5wYXRoLmgiDQorICNlbmRpZiAvKiBLRUVQ
X1RFTVBfRFJPUCAqLw0KKyANCiAgI2RlZmluZSBTTEVFUF9TRUNPTkRTIDEw
DQogIA0KKyAjaWZkZWYgRENFDQorIGV4dGVybiBpbnQgdXNlX2RjZV9wYXNz
d2Q7DQorICNlbmRpZg0KKyANCiAgLyogVGhpcyBlcnJvciBtZXNzYWdlIGlz
IHZhZ3VlIG9uIHB1cnBvc2UgdG8gaGVscCBpbXByb3ZlDQogICAgIHNlY3Vy
aXR5IGF0IHRoZSBpbmNvbnZpZW5jZSBvZiBhZG1pbmlzdHJhdG9ycyBhbmQg
dXNlcnMgKi8NCiAgDQoqKioqKioqKioqKioqKioNCioqKiA2NzYsNjgyICoq
KioNCiAgDQogIA0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIFBPUFNDTyBvciBIUFVYICovDQohICMgICAg
aWYgZGVmaW5lZChQT1BTQ08pIHx8IGRlZmluZWQoSFBVWCkNCiAgDQogICMg
ICAgICBpZmRlZiBQT1BTQ08NCiAgIyAgICAgICAgaW5jbHVkZSA8c3lzL3Nl
Y3VyaXR5Lmg+DQotLS0gNjg0LDY5MCAtLS0tDQogIA0KICANCiAgLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQ
T1BTQ08gb3IgSFBVWCAqLw0KISAjICBpZiAhZGVmaW5lZChVU0VfUEFNKSAm
JiAoZGVmaW5lZChQT1BTQ08pIHx8IGRlZmluZWQoSFBVWCkpDQogIA0KICAj
ICAgICAgaWZkZWYgUE9QU0NPDQogICMgICAgICAgIGluY2x1ZGUgPHN5cy9z
ZWN1cml0eS5oPg0KKioqKioqKioqKioqKioqDQoqKiogMTExNywxMTIyICoq
KioNCi0tLSAxMTI1LDExNzcgLS0tLQ0KICANCiAgI2VuZGlmICAvKiBTUEVD
X1BPUF9BVVRIICovDQogIA0KKyAjaWZkZWYgS0VFUF9URU1QX0RST1ANCisg
aW50IHBvcF9hY2Nlc3N0aW1lKHApDQorIFBPUCAqcDsNCisgLyogY2hlY2sg
dGltZSBzaW5jZSBsYXN0IFBPUCBhY2Nlc3MsIGFzIG1lYXN1cmVkIGJ5ICov
DQorIC8qIHRoZSB0aW1lc3RhbXAgb24gdGhlIFBPUF9EUk9QIGZpbGUuICBS
ZXR1cm5zIG9uZSAqLw0KKyAvKiBpZiBlbm91Z2ggdGltZSBoYXMgcGFzc2Vk
IChvciBubyBkcm9wIGZpbGUpIG9yICAgKi8NCisgLyogb3IgemVybyBpZiBt
aW5pbXVtIHRpbWUgaGFzIG5vdCBlbGFwc2VkLi4uICovDQorIHsNCisgICAg
IHN0cnVjdCBzdGF0IGJ1ZjsNCisgICAgIHRpbWVfdCBub3csIGRpZmY7DQor
IA0KKyAgICAgLyogaWYgdGhlIG1pbl9hY2Nlc3NfdGltZSBpcyBkZWZpbmVk
IGFzIHplcm8gKi8NCisgICAgIC8qIHRoZW4gaXQgd2FzIG5vdCBzZXQgYnkg
dGhlIHVzZXIsIHJldHVybiAgICovDQorICAgICBpZiAoIHAtPm1pbl9hY2Nl
c3NfdGltZSA9PSAwICkgcmV0dXJuKDEpOw0KKyANCisgCS8qIGZpZ3VyZSBv
dXQgd2hhdCB0aGUgZHJvcGZpbGUgaXMgKi8NCisgICAgIGlmICggZ2VucGF0
aCAoIHAtPnVzZXIsIA0KKyAgICAgICAgICAgICAgICAgICAgcC0+dGVtcF9k
cm9wLCANCisgICAgICAgICAgICAgICAgICAgIHNpemVvZihwLT50ZW1wX2Ry
b3ApLA0KKyAgICAgICAgICAgICAgICAgICAgR05QSF9QT1AsDQorICAgICAg
ICAgICAgICAgICAgICAocC0+ZGVidWcgPyBwLT50cmFjZSA6IE5VTEwpLA0K
KyAgICAgICAgICAgICAgICAgICAgcC0+ZGVidWcgKSA8IDAgKQ0KKyAgICAg
ICAgIHJldHVybiAoIHBvcF9tc2cgKCBwLCBQT1BfRkFJTFVSRSwgSEVSRSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIltTWVMvVEVNUF0gVW5h
YmxlIHRvIGdldCB0ZW1wb3JhcnkgZHJvcCBuYW1lIiApICk7DQorIA0KKyAg
ICAgREVCVUdfTE9HMSAoIHAsICJhY2Nlc3N0aW1lOiBUZW1wb3JhcnkgbWFp
bGRyb3AgaXMgJyVzJyIsIHAtPnRlbXBfZHJvcCApOw0KKyANCisgICAgIC8q
IGlmIG5vIHBvcF9kcm9wIGZpbGUgdGhlbiBnbyBvbiAqLw0KKyAgICAgaWYg
KCBzdGF0KHAtPnRlbXBfZHJvcCwmYnVmKSAhPSAwICkNCisgICAgIHsNCisg
ICAgIAlyZXR1cm4oMSk7DQorICAgICB9DQorICAgICANCisgICAgIC8qIGdl
dCB0aGUgY3VycmVudCB0aW1lICovDQorICAgICBub3cgPSB0aW1lKE5VTEwp
Ow0KKyANCisgICAgIC8qIGRpZmZlcmVuY2UgaW4gdGltZXMgaW4gc2Vjb25k
cyAqLw0KKyAJLyogc2luY2UgbGFzdCBhY2Nlc3MgdGltZSAqLw0KKyAgICAg
ZGlmZiA9IChub3cgLSBidWYuc3RfYXRpbWUpOw0KKyANCisgICAgIERFQlVH
X0xPRzMgKCBwLCAiTGFzdCBhY2Nlc3Mgb2YgJXMgd2FzICVkIHNlY29uZHMs
IG1pbiBhY2Nlc3MgdGltZSBpcyAlZCIsDQorICAgICAgICAgcC0+dGVtcF9k
cm9wLCBkaWZmLCBwLT5taW5fYWNjZXNzX3RpbWUgKTsNCisgDQorICAgICBy
ZXR1cm4oKCBkaWZmIDwgcC0+bWluX2FjY2Vzc190aW1lICkgPyAwIDogMSAp
Ow0KKyB9DQorIA0KKyAjZW5kaWYgLyogS0VFUF9URU1QX0RST1AgKi8NCiAg
DQogIC8qIA0KICAgKiAgcGFzczogICBPYnRhaW4gdGhlIHVzZXIgcGFzc3dv
cmQgZnJvbSBhIFBPUCBjbGllbnQNCioqKioqKioqKioqKioqKg0KKioqIDEx
NjEsMTE2NyAqKioqDQogICAgICAgICAgREVCVUdfTE9HMiAoIHAsICJVc2Vy
ICUuMTI4cyBpbiBub25hdXRoZmlsZSAlLjI1NnMiLA0KICAgICAgICAgICAg
ICAgICAgICAgICBwLT51c2VyLCBOT05BVVRIRklMRSApOw0KICAgICAgICAg
IHNsZWVwICAoIFNMRUVQX1NFQ09ORFMgKTsNCiEgICAgICAgICByZXR1cm4g
KCBwb3BfbXNnICggcCwgUE9QX0ZBSUxVUkUsIEhFUkUsIEVSUk1TR19QVywg
cC0+dXNlciApICk7DQogICAgICB9DQogICNlbmRpZiAvKiBOT05BVVRIRklM
RSAqLw0KICANCi0tLSAxMjE2LDEyMjQgLS0tLQ0KICAgICAgICAgIERFQlVH
X0xPRzIgKCBwLCAiVXNlciAlLjEyOHMgaW4gbm9uYXV0aGZpbGUgJS4yNTZz
IiwNCiAgICAgICAgICAgICAgICAgICAgICAgcC0+dXNlciwgTk9OQVVUSEZJ
TEUgKTsNCiAgICAgICAgICBzbGVlcCAgKCBTTEVFUF9TRUNPTkRTICk7DQoh
ICAgICAgICAgcmV0dXJuICggcG9wX21zZyAoIHAsIFBPUF9GQUlMVVJFLCBI
RVJFLA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICJbQVVUSF0gJXMg
bm90IGF1dGhvcml6ZWQgdG8gdXNlIFBPUCIsDQohICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcC0+dXNlciApICk7DQogICAgICB9DQogICNlbmRpZiAv
KiBOT05BVVRIRklMRSAqLw0KICANCioqKioqKioqKioqKioqKg0KKioqIDEx
NzMsMTE3OSAqKioqDQogICAgICAgICAgREVCVUdfTE9HMiAoIHAsICJVc2Vy
ICUuMTI4cyBub3QgaW4gYXV0aGZpbGUgJS4yNTZzIiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgcC0+dXNlciwgQVVUSEZJTEUgKTsNCiAgICAgICAgICBz
bGVlcCAgKCBTTEVFUF9TRUNPTkRTICk7DQohICAgICAgICAgcmV0dXJuICgg
cG9wX21zZyAoIHAsIFBPUF9GQUlMVVJFLCBIRVJFLCBFUlJNU0dfUFcsIHAt
PnVzZXIgKSApOw0KICAgICAgfQ0KICAjZW5kaWYgLyogQVVUSEZJTEUgKi8N
CiAgDQotLS0gMTIzMCwxMjM4IC0tLS0NCiAgICAgICAgICBERUJVR19MT0cy
ICggcCwgIlVzZXIgJS4xMjhzIG5vdCBpbiBhdXRoZmlsZSAlLjI1NnMiLA0K
ICAgICAgICAgICAgICAgICAgICAgICBwLT51c2VyLCBBVVRIRklMRSApOw0K
ICAgICAgICAgIHNsZWVwICAoIFNMRUVQX1NFQ09ORFMgKTsNCiEgICAgICAg
ICByZXR1cm4gKCBwb3BfbXNnICggcCwgUE9QX0ZBSUxVUkUsIEhFUkUsDQoh
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIltBVVRIXSAlcyBub3QgYXV0
aG9yaXplZCB0byB1c2UgUE9QIiwNCiEgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwLT51c2VyICkgKTsNCiAgICAgIH0NCiAgI2VuZGlmIC8qIEFVVEhG
SUxFICovDQogIA0KKioqKioqKioqKioqKioqDQoqKiogMTI3OSwxMjkzICoq
KioNCi0tLSAxMzM4LDEzNzEgLS0tLQ0KICAgICAgfQ0KICAjZW5kaWYgLyog
Q0hFQ0tfU0hFTEwgKi8NCiAgDQorICNpZmRlZiBLRUVQX1RFTVBfRFJPUA0K
KyAJLyoNCisgCS8qIGlmIHVzZXIgaGFzIGFjY2Vzc2VkIHBvcCB3aXRoaW4g
TUlOX0FDQ0VTU19USU1FDQorIAkvKiBhcyBkZWZpbmVkIGJ5IG10aW1lIG9u
IHRoZWlyIFBPUF9EUk9QIGZpbGUgdGhlbg0KKyAJLyogZGVueSBhY2Nlc3Mu
Li4NCisgCSovDQorIAlpZighcG9wX2FjY2Vzc3RpbWUocCkpDQorIAl7DQor
IAkJcmV0dXJuKHBvcF9tc2cocCwgUE9QX0ZBSUxVUkUsIEhFUkUsDQorIAkJ
CSJbQVVUSF0gJXM6IHlvdSBqdXN0IGNoZWNrZWQgeW91ciBtYWlsISIscC0+
dXNlcikpOw0KKyAJfQ0KKyAjZW5kaWYgLyogS0VFUF9URU1QX0RST1AgKi8N
CisgDQorICNpZmRlZiBEQ0UNCisgICAgIGlmIChhdXRoX3VzZXJfZGNlKHAp
ICE9IFBPUF9TVUNDRVNTDQorICNlbHNlDQogICAgICBpZiAoICggcC0+a2Vy
YmVyb3MgPyBhdXRoX3VzZXJfa2VyYmVyb3MgKCBwLCBwd3AgKSANCiAgICAg
ICAgICAgICAgICAgICAgICAgICA6IGF1dGhfdXNlciAgICAgICAgICAoIHAs
IHB3cCApIA0KICAgICAgICAgICApICE9IFBPUF9TVUNDRVNTIA0KKyAjZW5k
aWYgLyogRENFICovDQogICAgICAgICApIHsNCiAgICAgICAgICBwb3BfbG9n
ICggcCwgUE9QX1BSSU9SSVRZLCBIRVJFLA0KICAgICAgICAgICAgICAgICAg
ICJbQVVUSF0gRmFpbGVkIGF0dGVtcHRlZCBsb2dpbiB0byAlcyBmcm9tIGhv
c3QgKCVzKSAlcyIsDQogICAgICAgICAgICAgICAgICAgIHAtPnVzZXIsIHAt
PmNsaWVudCwgcC0+aXBhZGRyICk7DQogICAgICAgICAgZnJlZSAgICggcHcu
cHdfZGlyICk7DQorICNpZm5kZWYgRENFDQogICAgICAgICAgc2xlZXAgICgg
U0xFRVBfU0VDT05EUyApOw0KKyAjZW5kaWYgLyogRENFICovDQogICAgICAg
ICAgcmV0dXJuICggUE9QX0ZBSUxVUkUgKTsNCiAgICAgIH0NCiAgDQoqKioq
KioqKioqKioqKioNCioqKiAxMzY5LDEzNzcgKioqKg0KLS0tIDE0NDcsMTQ3
MCAtLS0tDQogICAgICAgKi8NCiAgDQogICNpZmRlZiBMT0dfTE9HSU4NCisg
I2lmIGRlZmluZWQoRENFKQ0KKyAgICAgaWYodXNlX2RjZV9wYXNzd2QgPT0g
MSkNCisgICAgIHsNCisgICAgICAgICBwb3BfbG9nKCBwLCBQT1BfUFJJT1JJ
VFksIEhFUkUsDQorICAgICAgICAgICAgICAiKHYlcykgJXMgRENFIGF1dGhl
bnRpY2F0ZWQgZnJvbSAlcyAoJXMpIiwNCisgICAgICAgICAgICAgICBWRVJT
SU9OLCBwLT51c2VyLCBwLT5jbGllbnQsIHAtPmlwYWRkciApOw0KKyAgICAg
fQ0KKyAgICAgZWxzZQ0KKyAgICAgew0KKyAgICAgICAgIHBvcF9sb2coIHAs
IFBPUF9QUklPUklUWSwgSEVSRSwNCisgICAgICAgICAgICAgICAiKHYlcykg
JXMgYXV0aGVudGljYXRlZCBmcm9tICVzICglcykiLA0KKyAgICAgICAgICAg
ICAgIFZFUlNJT04sIHAtPnVzZXIsIHAtPmNsaWVudCwgcC0+aXBhZGRyICk7
DQorICAgICB9DQorICNlbHNlDQogICAgICBwb3BfbG9nICggcCwgUE9QX1BS
SU9SSVRZLCBIRVJFLA0KICAgICAgICAgICAgICAgICIodiVzKSBQT1AgbG9n
aW4gYnkgdXNlciBcIiVzXCIgYXQgKCVzKSAlcyIsDQogICAgICAgICAgICAg
ICAgVkVSU0lPTiwgcC0+dXNlciwgcC0+Y2xpZW50LCBwLT5pcGFkZHIgKTsN
CisgI2VuZGlmIC8qIERDRSAqLw0KICAjZW5kaWYgLyogTE9HX0xPR0lOICov
DQogIA0KICAjaWZkZWYgRFJBQ19BVVRIDQpkaWZmIC1jICdxcG9wcGVyMy4x
LjIvcG9wcGVyL3BvcF91cGR0LmMnICdxcG9wcGVyMy4yLjIvcG9wcGVyL3Bv
cF91cGR0LmMnDQpJbmRleDogLi9wb3BwZXIvcG9wX3VwZHQuYw0KKioqIC4v
cG9wcGVyL3BvcF91cGR0LmMJVGh1IEF1ZyAxNyAyMToyNzoyNiAyMDAwDQot
LS0gLi9wb3BwZXIvcG9wX3VwZHQuYwlUdWUgTm92IDIxIDEwOjE3OjU3IDIw
MDANCioqKioqKioqKioqKioqKg0KKioqIDExMiwxMTcgKioqKg0KLS0tIDEx
MiwxMjAgLS0tLQ0KICB1bmxpbmtfdGVtcF9kcm9wICggUE9QICpwLCBjaGFy
ICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZm4sIHNpemVfdCBsbiApDQogIHsN
CiAgI2lmZGVmICBLRUVQX1RFTVBfRFJPUA0KKyAgICAgLyogdXBkYXRlIHRo
ZSBhY2Nlc3MgdGltZSwgbm8gbWF0dGVyIHdoYXQgKi8NCisgICAgIC8qIHRo
aXMgc2hvd3MgdGhlIGxhc3QgdGltZSB1c2VyIGNoZWNrZWQgbWFpbCAqLw0K
KyAgICAgdG91Y2hfZmlsZSAoIGZpbGVuYW1lLCBwLT50cmFjZSApOw0KICAg
ICAgREVCVUdfTE9HMyAoIHAsICJLRUVQX1RFTVBfRFJPUCBzZXQgWyVzOiVs
dV07IHRlbXAgZHJvcCAoJXMpIG5vdCB1bmxpbmtlZCIsDQogICAgICAgICAg
ICAgICAgICAgZm4sIGxuLCBmaWxlbmFtZSApOw0KICAjZWxzZSAgIC8qIG5v
dCBLRUVQX1RFTVBfRFJPUCAqLw0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL3Bv
cHBlci9wb3BwZXIuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wcGVyLmMn
DQpJbmRleDogLi9wb3BwZXIvcG9wcGVyLmMNCioqKiAuL3BvcHBlci9wb3Bw
ZXIuYwlNb24gQXVnIDIxIDE4OjU4OjQ3IDIwMDANCi0tLSAuL3BvcHBlci9w
b3BwZXIuYwlUdWUgTm92IDIxIDEwOjE3OjU3IDIwMDANCioqKioqKioqKioq
KioqKg0KKioqIDc3LDgyICoqKioNCi0tLSA3Nyw5MiAtLS0tDQogICMgIGVu
ZGlmDQogICNlbmRpZiAvKiBTUEVDX1BPUF9BVVRIICovDQogIA0KKyAjaWYg
ZGVmaW5lZChMT0FETElNSVQpDQorICNpZiBkZWZpbmVkKFNPTEFSSVMyKQ0K
KyAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4NCisgI2VuZGlmIC8qIFNPTEFS
SVMyICovDQorICNpZiBkZWZpbmVkKEhQVVgpDQorICNpbmNsdWRlIDxzeXMv
cGFyYW0uaD4NCisgI2luY2x1ZGUgPHN5cy9wc3RhdC5oPg0KKyAjZW5kaWYg
LyogSFBVWCAqLw0KKyAjZW5kaWYgLyogTE9BRExJTUlUICovDQorIA0KICAj
aW5jbHVkZSAicG9wcGVyLmgiDQogICNpbmNsdWRlICJtaXNjLmgiDQogIA0K
KioqKioqKioqKioqKioqDQoqKiogMTUyLDE1OSAqKioqDQogICAgICBpZiAo
IHBvcF9pbml0ICggJnAsIGFyZ2MsIGFyZ3YgKSAhPSBQT1BfU1VDQ0VTUyAp
DQogICAgICAgICAgRVhJVCAoIDEgKTsNCiAgDQogIC8qICANCiEgICogVGVs
bCB0aGUgdXNlciB0aGF0IHdlIGFyZSBsaXN0ZW50aW5nIA0KICAgKi8NCiAg
ICAgIHsgLyogbG9jYWwgZW52ICovDQogICAgICBjaGFyICAgICAgICAgICAg
ICAgIG15bmFtZSBbIDEyOCBdOw0KLS0tIDE2MiwxODEgLS0tLQ0KICAgICAg
aWYgKCBwb3BfaW5pdCAoICZwLCBhcmdjLCBhcmd2ICkgIT0gUE9QX1NVQ0NF
U1MgKQ0KICAgICAgICAgIEVYSVQgKCAxICk7DQogIA0KKyAjaWYgZGVmaW5l
ZChMT0FETElNSVQpDQorICAgICAvKiBpZiB0aGUgc3lzdGVtIGxvYWQgdG9v
IGhpZ2gsIGRpZSBub3cgKi8NCisgICAgIGlmKHN5c3RlbV9sb2FkKCZwKSAh
PSAwKQ0KKyAgICAgew0KKyAgICAgICAgIHBvcF9tc2coICZwLFBPUF9GQUlM
VVJFLCBIRVJFLA0KKyAgICAgICAgICAgICAiU29ycnksIFBPUCBzZXJ2ZXIg
bG9hZCB0b28gaGlnaCAoJWcpLCB0cnkgbGF0ZXIuLi4iLA0KKyAgICAgICAg
ICAgICBwLmxvYWRsaW1pdCk7DQorICAgICAgICAgY2xvc2Vsb2coKTsNCisg
ICAgICAgICBleGl0KC0xKTsNCisgICAgIH0NCisgI2VuZGlmIC8qIExPQURM
SU1JVCAqLw0KKyANCiAgLyogIA0KISAgKiBUZWxsIHRoZSB1c2VyIHRoYXQg
d2UgYXJlIGxpc3RlbmluZyANCiAgICovDQogICAgICB7IC8qIGxvY2FsIGVu
diAqLw0KICAgICAgY2hhciAgICAgICAgICAgICAgICBteW5hbWUgWyAxMjgg
XTsNCioqKioqKioqKioqKioqKg0KKioqIDI5OSwzMDQgKioqKg0KLS0tIDMy
MSwzNjMgLS0tLQ0KICAgICAgY2xvc2Vsb2coKTsNCiAgICAgIHJldHVybiAo
IDAgKTsNCiAgfQ0KKyANCisgI2lmIGRlZmluZWQoTE9BRExJTUlUKQ0KKyBp
bnQgc3lzdGVtX2xvYWQocCkNCisgUE9QICpwOw0KKyAvKiBpcyB0aGUgb25l
LW1pbnV0ZSBzeXN0ZW0gbG9hZCBoaWdoZXIgdGhhbiB3ZSB3YW50PyAqLw0K
KyB7DQorICAgICBkb3VibGUgb25lX21pbl9sb2FkX2F2ZzsNCisgDQorICNp
ZiBkZWZpbmVkKFNPTEFSSVMyKQ0KKyAgICAgLyogc3BlY2lmaWMgdG8gU29s
YXJpcyAqLw0KKyAgICAgZG91YmxlIGxvYWRhdmdbM107DQorIA0KKyAgICAg
aWYoZ2V0bG9hZGF2Zyhsb2FkYXZnLCAzKSA9PSAtMSkNCisgICAgIHsNCisg
ICAgICAgICBwZXJyb3IoImdldGxvYWRhdmciKTsNCisgICAgICAgICBleGl0
KDEpOw0KKyAgICAgfQ0KKyAgICAgb25lX21pbl9sb2FkX2F2ZyA9IGxvYWRh
dmdbTE9BREFWR18xTUlOXTsNCisgI2VuZGlmIC8qIFNPTEFSSVMyICovDQor
IA0KKyAjaWYgZGVmaW5lZChIUFVYKQ0KKyAgICAgLyogY29tcG9uZW50cyBz
cGVjaWZpYyB0byBhbiBIUCAxMC54IG9yIDExLnggc3lzdGVtICovDQorICAg
ICBzdHJ1Y3QgcHN0X2R5bmFtaWMgcHNkOw0KKyANCisgICAgIGlmKHBzdGF0
X2dldGR5bmFtaWMoJnBzZCwgc2l6ZW9mKHBzZCksKHNpemVfdCkxLCAwKSA9
PSAtMSkNCisgICAgIHsNCisgICAgICAgICBwZXJyb3IoInBzdGF0X2R5bmFt
aWMiKTsNCisgICAgICAgICBleGl0KDEpOw0KKyAgICAgfQ0KKyAgICAgb25l
X21pbl9sb2FkX2F2ZyA9IHBzZC5wc2RfYXZnXzFfbWluOw0KKyAjZW5kaWYg
LyogSFBVWCAqLw0KKyANCisgICAgIERFQlVHX0xPRzIgKHAsICJDaGVja2lu
ZyBsb2FkIGxpbWl0LCBsb2FkID0gJWcsIGxpbWl0ID0gJWciLA0KKyAgICAg
ICAgICAgICAgICAgb25lX21pbl9sb2FkX2F2ZywgcC0+bG9hZGxpbWl0KTsN
CisgICAgIHJldHVybigoIG9uZV9taW5fbG9hZF9hdmcgPiBwLT5sb2FkbGlt
aXQgKSA/IDEgOiAwICk7DQorIH0NCisgI2VuZGlmIC8qIExPQURMSU1JVCAq
Lw0KICANCiAgam1wX2J1ZiBlbnY7DQogIA0KZGlmZiAtYyAncXBvcHBlcjMu
MS4yL3BvcHBlci9wb3BwZXIuaCcgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9w
cGVyLmgnDQpJbmRleDogLi9wb3BwZXIvcG9wcGVyLmgNCioqKiAuL3BvcHBl
ci9wb3BwZXIuaAlGcmkgU2VwIDI5IDE4OjM5OjUzIDIwMDANCi0tLSAuL3Bv
cHBlci9wb3BwZXIuaAlUdWUgTm92IDIxIDEwOjE3OjU3IDIwMDANCioqKioq
KioqKioqKioqKg0KKioqIDUyOCw1MzMgKioqKg0KLS0tIDUyOCw1MzcgLS0t
LQ0KICAjZW5kaWYgLyogRFJBQ19BVVRIICovDQogIA0KICAgICAgQk9PTCAg
ICAgICAgICAgICAgICB1c2VyX29wdHM7ICAgICAgICAgICAgICAvKiBwcm9j
ZXNzIH4vLnFwb3BwZXItb3B0aW9ucyA/ICovDQorICAgICBpbnQgICAgICAg
ICAgICAgICAgIG1pbl9hY2Nlc3NfdGltZTsgICAgICAgIC8qIG1pbiB0aW1l
IGJldHdlZW4gYWNjZXNzZXMgKi8NCisgI2lmZGVmIExPQURMSU1JVA0KKyAg
ICAgZG91YmxlICAgICAgICAgICAgICBsb2FkbGltaXQ7ICAgICAgICAgICAg
ICAvKiBtYXggYWxsb3dlZCBsb2FkIGxpbWl0ICovDQorICNlbmRpZiAvKiBM
T0FETElNSVQgKi8NCiAgfTsNCiAgDQogIHR5cGVkZWYgZW51bSB7IEhBTkdV
UCwgIC8qIFNJR0hVUCAqLyANCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9wb3Bw
ZXIvdmVyc2lvbi5oJyAncXBvcHBlcjMuMi4yL3BvcHBlci92ZXJzaW9uLmgn
DQpJbmRleDogLi9wb3BwZXIvdmVyc2lvbi5oDQoqKiogLi9wb3BwZXIvdmVy
c2lvbi5oCVN1biBOb3YgMTIgMTk6MTg6NDcgMjAwMA0KLS0tIC4vcG9wcGVy
L3ZlcnNpb24uaAlUdWUgTm92IDIxIDEwOjI0OjMyIDIwMDANCioqKioqKioq
KioqKioqKg0KKioqIDEzLDIxICoqKioNCiAgICogIEN1cnJlbnQgdmVyc2lv
biBvZiBRcG9wcGVyDQogICAqLw0KICANCiEgI2RlZmluZSBWRVJTX05VTSAg
ICAgICAgICAiMy4xLjIiDQogIA0KISAjaWZkZWYgS0VSQkVST1MNCiAgIyAg
aWZkZWYgS1JCNA0KICAjICAgIGRlZmluZSBWRVJTX1NVRjEgICAgICIta3Ji
LUlWIg0KICAjICBlbmRpZiAvKiBLUkI0ICovDQotLS0gMTMsMjMgLS0tLQ0K
ICAgKiAgQ3VycmVudCB2ZXJzaW9uIG9mIFFwb3BwZXINCiAgICovDQogIA0K
ISAjZGVmaW5lIFZFUlNfTlVNICAgICAgICAgICIzLjIuMiINCiAgDQohICNp
ZmRlZiBEQ0UNCiEgI2RlZmluZSBWRVJTX1NVRjEgICAgICAgICAiLURDRSIN
CiEgI2VsaWYgS0VSQkVST1MNCiAgIyAgaWZkZWYgS1JCNA0KICAjICAgIGRl
ZmluZSBWRVJTX1NVRjEgICAgICIta3JiLUlWIg0KICAjICBlbmRpZiAvKiBL
UkI0ICovDQojIyMjIEVuZCBvZiBQYXRjaCBkYXRhICMjIyMNCg0KIyMjIyBB
cHBseVBhdGNoIGRhdGEgZm9sbG93cyAjIyMjDQojIERhdGEgdmVyc2lvbiAg
ICAgICAgOiAxLjANCiMgRGF0ZSBnZW5lcmF0ZWQgICAgICA6IFR1ZSBOb3Yg
MjEgMTI6NDM6MTAgMjAwMA0KIyBHZW5lcmF0ZWQgYnkgICAgICAgIDogbWFr
ZXBhdGNoIDIuMDANCiMgUmVjdXJzZSBkaXJlY3RvcmllcyA6IFllcw0KIyBw
ICdJTlNUQUxMJyA1MjA4NSA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdjb21t
b24vZ2VucGF0aC5jJyAxMzk3NSA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdj
b25maWcuaC5pbicgMTQwOTUgOTc0ODE5ODc2IDAxMDA0MDANCiMgcCAnY29u
ZmlndXJlLmluJyAzNDQ1MyA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdkb2Mv
Q2hhbmdlcycgODg2IDk3NDgxOTg3NiAwMTAwNjAwDQojIHAgJ3BvcHBlci9N
YWtlZmlsZS5pbicgNDM0MyA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBjICdwb3Bw
ZXIvZGNlX3B3ZW50LmMnIDAgOTc0ODE5ODc2IDAxMDA2MDANCiMgYyAncG9w
cGVyL3BvcF9hdXRoZGNlLmMnIDAgOTc0ODE5ODc2IDAxMDA2MDANCiMgcCAn
cG9wcGVyL3BvcF9pbml0LmMnIDI4NzMyIDk3NDgxOTg3NiAwMTAwNDAwDQoj
IHAgJ3BvcHBlci9wb3BfcGFzcy5jJyA0MDM3OCA5NzQ4Mjg0MzkgMDEwMDYw
MA0KIyBwICdwb3BwZXIvcG9wX3VwZHQuYycgMjc4NDMgOTc0ODE5ODc3IDAx
MDA0MDANCiMgcCAncG9wcGVyL3BvcHBlci5jJyAxNTc4NyA5NzQ4MTk4Nzcg
MDEwMDQwMA0KIyBwICdwb3BwZXIvcG9wcGVyLmgnIDI4MTEzIDk3NDgxOTg3
NyAwMTAwNDAwDQojIHAgJ3BvcHBlci92ZXJzaW9uLmgnIDgyNiA5NzQ4MjAy
NzIgMDEwMDYwMA0KIyMjIyBFbmQgb2YgQXBwbHlQYXRjaCBkYXRhICMjIyMN
Cg0KIyMjIyBFbmQgb2YgUGF0Y2gga2l0IFtjcmVhdGVkOiBUdWUgTm92IDIx
IDEyOjQzOjEwIDIwMDBdICMjIyMNCiMjIyMgQ2hlY2tzdW06IDE0NjMgNDk4
MTQgNDQzMzQgIyMjIw0K
---559023410-1297389768-1036080896=:2289--
From: "Alan W. Rateliff, II" <lists at rateliff dot net>
Subject: Re: Users popping to often
Date: Thu, 31 Oct 2002 13:06:23 -0500
----- Original Message -----
From: "Jeff A. Earickson" <jaearick at colby dot edu>
To: "Simon May" <simon at imsl dot es>
Cc: "Subscribers of Qpopper" <qpopper at lists.pensive dot org>
Sent: Thursday, October 31, 2002 11:14 AM
Subject: Re: Users popping to often
> Simon,
>
> For what it is worth, attached is my patchfile for my own 3.x era
> work on qpopper. I had a ton of local customizations in version 3 of
> qpopper, most of which I dropped when I went to version 4 (I embraced
> the server mode option -S). One of the hacks I had in version three
> was the "accesstime" option, setable via command line as "-a". Search
> the patchfile for the word "accesstime". This feature required you to
> use KEEP_TEMP_DROP. What the pop_accesstime() subroutine did was to
> compare the timestamp of the dropfile to the current time. If the
> difference was less than accesstime, then the user got the POP error
> message "you just checked your mail!" and rejected the connection without
> touching the mailbox. This bit of code punished impatient users who
> wanted to check their email every few seconds.
I understand that Unix filesystems maintain several timestamps on files,
such as created time, accessed time, and modified time.
If I understand correctly:
* POP'ing a mailbox will modify the created time, since the original MBOX is
dismantled to the temp drop, then rebuilt after the session.
* Sendmail (or other MTA) delivering email will modify the modified time
Would it be possible to simply check the current time against the accessed
or created time so temp drops don't have to be left in place? Also,
wouldn't limiting POP time like that cause problems with POP-based webmail
clients? Personally, I'm converting my POP-web client to IMAP to eliminate
that issue. (OT: Anyone have an easy HOWTO on configuring Horde/IMP?)
Oh, which brings up another question, probably asked before... what happens
if a mailbox gets POP'd during an active IMAP session? I've considered
patching the IMAPd source to create a psuedo pop.lock file so QPopper will
not allow POP'ing during an open IMAP session, but haven't actually done so
yet. I wanted to get some input first.
Thanks for indulging me.
--
Alan W. Rateliff, II : RATELIFF.NET
Independent Technology Consultant : alan2 at rateliff dot net
(Office) 850/350-0260 : (Mobile) 850/559-0100
-------------------------------------------------------------
[System Administration][IT Consulting][Computer Sales/Repair]
Date: Thu, 31 Oct 2002 13:56:21 -0500 (EST)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Users popping to often
On Thu, 31 Oct 2002, Alan W. Rateliff, II wrote:
> Date: Thu, 31 Oct 2002 13:06:23 -0500
> From: "Alan W. Rateliff, II" <lists at rateliff dot net>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Re: Users popping to often
>
> > Simon,
> >
> > For what it is worth, attached is my patchfile for my own 3.x era
> > work on qpopper. I had a ton of local customizations in version 3 of
> > qpopper, most of which I dropped when I went to version 4 (I embraced
> > the server mode option -S). One of the hacks I had in version three
> > was the "accesstime" option, setable via command line as "-a". Search
> > the patchfile for the word "accesstime". This feature required you to
> > use KEEP_TEMP_DROP. What the pop_accesstime() subroutine did was to
> > compare the timestamp of the dropfile to the current time. If the
> > difference was less than accesstime, then the user got the POP error
> > message "you just checked your mail!" and rejected the connection without
> > touching the mailbox. This bit of code punished impatient users who
> > wanted to check their email every few seconds.
>
> I understand that Unix filesystems maintain several timestamps on files,
> such as created time, accessed time, and modified time.
>
Without looking at my patchfile, I probably wrote the code to look at
access time.
> If I understand correctly:
>
> * POP'ing a mailbox will modify the created time, since the original MBOX is
> dismantled to the temp drop, then rebuilt after the session.
>
> * Sendmail (or other MTA) delivering email will modify the modified time
>
> Would it be possible to simply check the current time against the accessed
> or created time so temp drops don't have to be left in place? Also,
> wouldn't limiting POP time like that cause problems with POP-based webmail
> clients? Personally, I'm converting my POP-web client to IMAP to eliminate
> that issue. (OT: Anyone have an easy HOWTO on configuring Horde/IMP?)
Looking at the mailbox times won't work because many things can modify
access times besides POP. The temp dropfile is POP's alone. I use the
KEEP_TEMP_DROP anyway because I want a record of the last time somebody
used POP (one way of tracking down stale accounts).
>
> Oh, which brings up another question, probably asked before... what happens
> if a mailbox gets POP'd during an active IMAP session? I've considered
> patching the IMAPd source to create a psuedo pop.lock file so QPopper will
> not allow POP'ing during an open IMAP session, but haven't actually done so
> yet. I wanted to get some input first.
>
I too have this issue in my future. IMAP and POP at the same time will be
a near-certain trainwreck, trashing a person's mailbox. At my site, people
can POP their mailboxes or login to a UNIX box and use pine directly on
their mailbox (not via IMAP). People who invoke a pine session while having
POP running generally get thumped. My user community has learned to avoid
this.
--- Jeff
From: "Brian L. MacDonald" <blm at nauticom dot net>
Subject: RE: Stats log and 35 octets remaining with 0 messages
Date: Thu, 31 Oct 2002 14:58:02 -0500
Added information.
If the user has received no mail when I look at the mail spool file it has a
filesize of zero. If they have received mail when I look at their mail
spool it has 1956 ^@ on the first line of the file with the first "From
...." on the same line.
Strange... I think I might be having a strange filelocking problem... but
everything is using the proper locking.
Thanks,
Brian
-----Original Message-----
From: Brian L. MacDonald [mailto:blm at nauticom dot net]
Sent: Thursday, October 31, 2002 10:56 AM
To: Subscribers of Qpopper
Subject: RE: Stats log and 35 octets remaining with 0 messages
Hello,
Sorry, I meant to mention that before. If I do a ls -l on the file it has a
filesize of 0. If edited with vi, it also shows no data in the file.
Very strange... for most users it does not appear to cause a problem. It
was just that for the users that had corrupted mail spools they had all had
this as the last successful session. I have since had corruptions without
this log entry.
Still, a strange entry.
Thanks,
Brian
-----Original Message-----
From: Simon Byrnand [mailto:simon at igrin.co dot nz]
Sent: Wednesday, October 30, 2002 4:16 PM
To: Subscribers of Qpopper
Subject: Re: Stats log and 35 octets remaining with 0 messages
At 11:18 30/10/02 -0500, Brian L. MacDonald wrote:
>Hello,
>
>We are attempting to trouble-shoot some problems with corruption of mail
>spool files and have come across the following log entry. In the course of
>today we have seen 50 or so of these messages. All of the users that have
>had corruption of their mail spool have had a log entry like this on their
>last successful popper session.
>
>Oct 30 11:12:39 pop01 popper[47388]: Stats: <user> 1 569 0 35 <fqnd> <ip>
>
>where
> <user> is the customer's username
> <fqdn> is the full DNS name for the ip of the customer
> <ip> is the ip of the customer
>
>Has anyone seen this before or know how there can be 35 octets remaining
but
>0 messages?
Hi Brian,
I havn't seen this problem before, but did you look at one of these spool
files with 35 bytes still in it to see what was there ? That may provide a
clue as to the problem...
Regards,
Simon
Date: Thu, 31 Oct 2002 17:12:56 -0800
From: Kenneth Porter <shiva at sewingwitch dot com>
Subject: How to unsubscribe
--On Thursday, October 31, 2002 11:37 AM +0200 Dima Saleh
<sysadmin at inco.com dot lb> wrote:
> How can I unsubscribe from this mailing list?
Read the headers in the list message. I know OE does its best to hide these
from you. IIRC, I think you look at the properties of the message and
select the Details tab to see the additional headers.
You should also have received a monthly administrative mailing explaining
how to unsubscribe. Never delete administrative list messages!
From: "Y Ramprasad" <yramprasad at ecomserver dot com>
Subject:
Date: Fri, 1 Nov 2002 11:25:43 +0530
Hi ,
I am Ramprasad , System Administrator at Ecomserver India Pvt Ltd. We have
RedHat Linux 7.1 MailServer with Qpopper 4 and Sendmail 8.11.2. Its work
fine. But Suddenly I received the following error while send/receive the
mails over Microsoft Outlook.
"The TCP/IP connection was unexpectedly terminated by the server. Server
Response:' -ERR 425 Unable to connect with remote host". (Account:90.0.0.3
POP3 Server:90.0.0.3, Error Number:0x800ccc0f)."
Where 90.0.0.3 is the POP3 Server Ip Address
I would be very happy and thankful if any one could give the solution to
rectify the above problem.
Regards & Thanks
Ramprasad.
From: "Phil Stubbington" <phil.stubbington at computer dot org>
Subject: RE:
Date: Fri, 1 Nov 2002 08:21:50 -0000
Ramprasad,
You may well find that's it a firewall problem. Check your configurations
of ipchains:-
ipchains --list
If you see a line:-
REJECT tcp -y---- anywhere anywhere any ->
any
Then that's why. However, don't remove the line altogether as you will be
compromising your firewall. Instead just open access for the relevant ports
(25 for pop, 110 for smtp).
Regards,
Phil
-----Original Message-----
From: Y Ramprasad [mailto:yramprasad at ecomserver dot com]
Sent: 01 November 2002 05:56
To: Subscribers of Qpopper
Subject:
Hi ,
I am Ramprasad , System Administrator at Ecomserver India Pvt Ltd. We have
RedHat Linux 7.1 MailServer with Qpopper 4 and Sendmail 8.11.2. Its work
fine. But Suddenly I received the following error while send/receive the
mails over Microsoft Outlook.
"The TCP/IP connection was unexpectedly terminated by the server. Server
Response:' -ERR 425 Unable to connect with remote host". (Account:90.0.0.3
POP3 Server:90.0.0.3, Error Number:0x800ccc0f)."
Where 90.0.0.3 is the POP3 Server Ip Address
I would be very happy and thankful if any one could give the solution to
rectify the above problem.
Regards & Thanks
Ramprasad.
Date: Fri, 01 Nov 2002 12:41:00 -0600
From: Rob Wright <robwright at poncacity dot net>
Subject: Qpopper Fake Out
Greetings. I am going to be moving my pop3 from one machine to another. I
want to turn off pop services for a while as I do this, but I don't want to
confuse my users. Once upon a time a friend of mine had a patched qpopper
that would generate a "no new mail" message to the client everytime the
mail was checked, whether there was any new mail or not. Does anyone know
where I can find the patch for that, if it even exists?
Thanks,
Rob Wright
robwright at poncacity dot net
Date: Fri, 1 Nov 2002 17:00:43 -0500 (EST)
From: Gerald <gcoon at inch dot com>
Subject: Re: Qpopper Fake Out
http://www.tdx.com/software/
dpopper (Dummy Popper) just returns No new messages
Gerald
On Fri, 1 Nov 2002, Rob Wright wrote:
> Greetings. I am going to be moving my pop3 from one machine to another. I
> want to turn off pop services for a while as I do this, but I don't want to
> confuse my users. Once upon a time a friend of mine had a patched qpopper
> that would generate a "no new mail" message to the client everytime the
> mail was checked, whether there was any new mail or not. Does anyone know
> where I can find the patch for that, if it even exists?
>
> Thanks,
>
> Rob Wright
> robwright at poncacity dot net
>
Date: Fri, 01 Nov 2002 16:11:57 -0800
From: Kenneth Porter <shiva at sewingwitch dot com>
Subject: Re: connection unexpectedly terminated by server
--On Friday, November 01, 2002 11:25:43 AM +0530 Y Ramprasad
<yramprasad at ecomserver dot com> wrote:
> "The TCP/IP connection was unexpectedly terminated by the server. Server
> Response:' -ERR 425 Unable to connect with remote host". (Account:90.0.0.3
> POP3 Server:90.0.0.3, Error Number:0x800ccc0f)."
What is happening on the server when this happens? Check your server logs.
Also, in the future, please include a subject line. Many of us track many
lists and ignore messages with empty or uninformative subject lines.
[Please reply to the list. No need to cc me.]
Date: Fri, 1 Nov 2002 18:41:48 -0800 (PST)
From: The Little Prince <thelittleprince at asteroid-b612 dot org>
Subject: Re: Qpopper Fake Out
hmm, couldn't you just configure qpopper to point to a mail spool
directory with nothing in it? I must be missing something.
--Tony
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Anthony J. Biacco Network Administrator/Engineer
thelittleprince at asteroid-b612.org http://www.asteroid-b612 dot org
"Every day should be a good day to die" -DJM
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
On Fri, 1 Nov 2002, Gerald wrote:
> http://www.tdx.com/software/
>
> dpopper (Dummy Popper) just returns No new messages
>
> Gerald
>
> On Fri, 1 Nov 2002, Rob Wright wrote:
>
> > Greetings. I am going to be moving my pop3 from one machine to another. I
> > want to turn off pop services for a while as I do this, but I don't want to
> > confuse my users. Once upon a time a friend of mine had a patched qpopper
> > that would generate a "no new mail" message to the client everytime the
> > mail was checked, whether there was any new mail or not. Does anyone know
> > where I can find the patch for that, if it even exists?
> >
> > Thanks,
> >
> > Rob Wright
> > robwright at poncacity dot net
> >
>
>
Date: Fri, 1 Nov 2002 20:19:21 -0800
From: Chuck Yerkes <chuck+qpopper at yerkes dot com>
Subject: Re: Users popping to often
ANother server I've used allowed you to set the connection rate
and, if exceeded, would just return a "no new mail" response.
It's been rarely needed. What problem are you actually having?
(With this server, it was pretty easy to handle 9000 users
at a time checking mail).
I do know that when I'm waiting for a message (e.g. a customer
says he just sent me a log extract) I *will* hammer on the
"check new mail" button. Legitimate use.
Quoting Simon May (simon at imsl dot es):
> Dear All
> I have a number of users you are checking for mail very frequently, every
> 30s etc.
> besides asking them not to is there any way other way to stop them.
>
> I feel that every 5 minutes is more than enough.
> This constant check really produces a lot of unnecessary traffic.
>
> This has only became a problem since ADSL (DSL) has became available in
> Spain.
>
> Have other people experienced this situation.
>
> Kind Regards
> Simon May
> Email simon at imsl dot es
Date: Fri, 1 Nov 2002 20:15:54 -0800
From: Chuck Yerkes <chuck+qpopper at yerkes dot com>
Subject: Re: Users popping to often
Quoting Jeff A. Earickson (jaearick at colby dot edu):
> On Thu, 31 Oct 2002, Alan W. Rateliff, II wrote:
...
> > Oh, which brings up another question, probably asked before... what happens
> > if a mailbox gets POP'd during an active IMAP session? I've considered
> > patching the IMAPd source to create a psuedo pop.lock file so QPopper will
> > not allow POP'ing during an open IMAP session, but haven't actually done so
> > yet. I wanted to get some input first.
> >
>
> I too have this issue in my future. IMAP and POP at the same time will be
> a near-certain trainwreck, trashing a person's mailbox. At my site, people
> can POP their mailboxes or login to a UNIX box and use pine directly on
> their mailbox (not via IMAP). People who invoke a pine session while having
> POP running generally get thumped. My user community has learned to avoid
> this.
The IMAP session should lock the mailbox and the popper server
shouldn't be able to access it.
I've done this regularly with POP/IMAP servers - but not mixed
vendor ones (UM-UMAP and QPopper, eg).
From: "Simon May" <simon at imsl dot es>
Subject: Re: Users popping too often
Date: Sat, 2 Nov 2002 12:14:41 +0100
Well, I guess at the end of the day you are correct and it is a matter of
Legitimate use, we all have sat and hammer on the "check new mail" button.
My original question has attracted two different ways to solve the problem
of
broadband users constantly checking for mail and thus increasing network
traffics
needlessly. and fulling the maillog
The first idea is to process the maillog and automatically send request to
the user to slow down
the second is a patch to the pop3 server.
The issue of Legitimate use I suspect would make us all lean towards
the method of parsing the maillog.
Thank you to though people who replied to the original question.
Kind Regards
Simon May
----- Original Message -----
Subject: Re: Users popping to often
> ANother server I've used allowed you to set the connection rate
> and, if exceeded, would just return a "no new mail" response.
>
> It's been rarely needed. What problem are you actually having?
>
> (With this server, it was pretty easy to handle 9000 users
> at a time checking mail).
>
> I do know that when I'm waiting for a message (e.g. a customer
> says he just sent me a log extract) I *will* hammer on the
> "check new mail" button. Legitimate use.
Date: Sat, 2 Nov 2002 03:49:12 -0800
Subject: Re: Users popping to often
From: John Rudd <jrudd at ucsc dot edu>
It'd be nice if this worked its way into the standard distribution.
I'd love to have something like that.
Btw: your story is exactly why I avoid local code customizations.
Unless the project developer is willing to take my proposed changes
into the main code base, I don't bother. Local source code changes ==
long term software maintenance nightmares.
It's not that I can't ... I've done my fair share of C coding ... it's
just not worth my time. If it can't be done via the configure script
and build options, or via command line args (sometimes config files,
given earlier statements) or wrapper scripts, it's just not worth it.
I have 10+ year old Athena stuff I have to support because it was so
heavily locally customized that we can't just upgrade it to newer
versions of Athena ... and it's not worth our time to track down
everything. So we're basically trying to build around it, and phase
out each piece as we're able to replace it with something newer and
easier to maintain.
You'd be suprised how many sysadmin interview candidates completely
overlook that part of our standard interview question about working
with source-included software.
On Thursday, Oct 31, 2002, at 08:14 US/Pacific, Jeff A. Earickson wrote:
> Simon,
>
> For what it is worth, attached is my patchfile for my own 3.x era
> work on qpopper. I had a ton of local customizations in version 3 of
> qpopper, most of which I dropped when I went to version 4 (I embraced
> the server mode option -S). One of the hacks I had in version three
> was the "accesstime" option, setable via command line as "-a". Search
> the patchfile for the word "accesstime". This feature required you to
> use KEEP_TEMP_DROP. What the pop_accesstime() subroutine did was to
> compare the timestamp of the dropfile to the current time. If the
> difference was less than accesstime, then the user got the POP error
> message "you just checked your mail!" and rejected the connection
> without
> touching the mailbox. This bit of code punished impatient users who
> wanted to check their email every few seconds.
>
> This routine would require some work to fit into version 4, because
> the "p" structure changed considerably between v3 and v4. If you are
> a C programmer and have a little time, you should be able to add
> this feature to v4. Good luck.
>
> -----------------------------------
> Jeff A. Earickson, Ph.D
> Senior UNIX Sysadmin and Email Guru
> Information Technology Services
> Colby College, 4214 Mayflower Hill,
> Waterville ME, 04901-8842
> phone: 207-872-3659 (fax = 3076)
> -----------------------------------
>
> On Thu, 31 Oct 2002, Simon May wrote:
>
>> Date: Thu, 31 Oct 2002 16:45:23 +0100
>> From: Simon May <simon at imsl dot es>
>> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
>> Subject: Re: Users popping to often
>>
>> I must say I was hoping that there was a way to stop the users
>> popping to
>> much
>> I find when I ask users to reduce the frequency they comply with no
>> problems.
>> I was thinking that maybe there is a way to leave the lock files in
>> place
>> for a set time
>> after the session finishes though I didn't notice the command in the
>> docs
>> and playing
>> with the timeouts does not seem to do this.
>>
>> Simon
>>
>> ----- Original Message -----
>> From: "Deid Reimer" <deid at drsol dot com>
>>
>>
>>
>>> I wrote a Perl script to analyse the logs and calculate traffic both
>>> moved on the network and moved on our mail server.
>>> Seems to work - none of our customers are currently abusing the
>>> system.
>>
>>> Simon May wrote:
>>>> Dear All
>>>> I have a number of users you are checking for mail very frequently,
>> every
>>>> 30s etc.
>>
>>>>
>>>>
>>>
>>
> <diffs.312.to.322>
Date: Sat, 2 Nov 2002 04:05:09 -0800
Subject: Re: MMDF bug, and lack of CLI options
From: John Rudd <jrudd at ucsc dot edu>
Now that I've had some sleep, and a week to reflect on everything that
happened, I wanted to revisit the discussion and give some feedback on
things.
On Tuesday, Oct 29, 2002, at 15:07 US/Pacific, Clifton Royston wrote:
> On Sat, Oct 26, 2002 at 07:25:02PM -0700, John Rudd wrote:
>>
>> I trimmed my part of the above down because the answer to your
>> question
>> was in my message. To explain it a little more, if a popper starts
>> up and
>> then immediately tries to open a config file, it's going to hang while
>> waiting for IO. If you've got 15000 users, that can build up. For
>> example,
>> in the last two days, when I forgot about this issue, I accidently
>> enabled
>> config files for the poppers, and I had, at some points, 6000 popper
>> processes
>> all sleeping on waiting to open their config files.
>
> I am really a bit dubious this was the source of the contention,
> unless you are running some unusual operating system, or there is some
> other underlying bug. As Chuck Yerkes noted, if you have 6000
> processes all opening the same file for read access, in most reasonable
> versions of UNIX they should all be transparently reading copies from
> the same disk buffer cached in the kernel's RAM.
>
I should have thought of that at the time, but by Friday I had had 4
hours of sleep in 48 hours, and Saturday wasn't much better. It turns
out that at the same time that I had loaded a new configuration of
config-file based pop daemons, within an hour of that event the battery
in the raid controller card in the server died. My peer hadn't set
"cache even without battery option" on the machine (which is mostly
safe for us, since everything involved has big honkin' ups'es), and
there's a bug in the raid management software that wasn't showing us
the full log file (we've logged a complaint with Sun). Plus, the log
messages, once we were able to find them, were rather cryptic (making
references to things we weren't doing). By Monday, my peer finally
found the underlying cause, and had everything fixed inside of a few
minutes.
So, it turns out that the IO slow down had nothing to do with the
config files, it was just an amazingly huge coincidence that both
events happened so close together. I'm not sure why it is that I saw
an immediate performance boost when I reversed my change ... but it was
probably also coincidental, because later the performance issues came
back. Any non-trivial load of users was enough to overwhelm the disk
access rate when caching wasn't happening. (and, it wasn't the disk
with the config files, as I had originally thought, but the disk array
that had the spool files)
Thanks for everyone's input and suggestions. Monday afternoon I felt
rather embarrassed that I hadn't gotten him to triple check the disk
array earlier.
John
Date: Sat, 2 Nov 2002 08:56:29 -0500 (EST)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Users popping to often
Hi,
In the 3.x qpopper era, I would post a patchfile to the list of all
my additions, including additions to the documentation, for the
developers at Qpopper Central to pick up and add to the next release.
Nothing, not even a "we'll look at it and get back to you". Then
4.x came out and I realized they had made some major changes to the "p"
structure and other code rearrangement, so that rolling all of my
customizations in would be a major effort. At that point I picked
out the one mod I absolutely need (a ten line change to the mailbox
directory hashing), tested 4.x otherwise, and decided to live with
what was there. Server mode in 4.x (plus moving my mail server from
HP to Sun) helped solve most of my performance problems.
Yea verily, local customizations are a pain in the arse. The Qpopper
maintainers didn't help matters any.
-----------------------------------
Jeff A. Earickson, Ph.D
Senior UNIX Sysadmin and Email Guru
Information Technology Services
Colby College, 4214 Mayflower Hill,
Waterville ME, 04901-8842
phone: 207-872-3659 (fax = 3076)
-----------------------------------
On Sat, 2 Nov 2002, John Rudd wrote:
> Date: Sat, 2 Nov 2002 03:49:12 -0800
> From: John Rudd <jrudd at ucsc dot edu>
> To: Jeff A. Earickson <jaearick at colby dot edu>
> Cc: Simon May <simon at imsl dot es>,
> Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Re: Users popping to often
>
>
> It'd be nice if this worked its way into the standard distribution.
> I'd love to have something like that.
>
> Btw: your story is exactly why I avoid local code customizations.
> Unless the project developer is willing to take my proposed changes
> into the main code base, I don't bother. Local source code changes =
> long term software maintenance nightmares.
>
Date: Sat, 02 Nov 2002 16:06:18 -0800
From: Kenneth Porter <shiva at sewingwitch dot com>
Subject: Re: Users popping to often
--On Saturday, November 02, 2002 8:56 AM -0500 "Jeff A. Earickson"
<jaearick at colby dot edu> wrote:
> Yea verily, local customizations are a pain in the arse. The Qpopper
> maintainers didn't help matters any.
The current solution is to *become* a maintainer. See Randall about getting
set up to submit stuff into the version control system.
Date: Sat, 02 Nov 2002 16:07:49 -0800
From: Kenneth Porter <shiva at sewingwitch dot com>
Subject: Re: Users popping too often
--On Saturday, November 02, 2002 12:14 PM +0100 Simon May <simon at imsl dot es>
wrote:
> The first idea is to process the maillog and automatically send request to
> the user to slow down
> the second is a patch to the pop3 server.
I wonder if you could do something like LaBrea, deliberately slowing down a
2nd TCP connection? What do clients do when they get tar-pitted for 10
minutes?
From: Carles Xavier Munyoz =?iso-8859-1?q?Baldó?= <carles at descom dot es>
Subject: SCO compile problem.
Date: Wed, 6 Nov 2002 13:29:20 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I'm trying to compile the QPopper 4 in my SCO UnixWare computer.
After I run the configure script, I run the make command and get the erro
r:
cd ./popper && make all
gcc -c -I.. -I.. -I. \
-I../mmangle -I../common \
-g -O2 -idirafter /usr/local/include -DHAVE_CONFIG_H -DU
NIX
pop_user.c -o pop_user.o
In file included from pop_user.c:94:
/usr/local/include/ndbm.h:66: syntax error before `void'
In file included from popper.h:27,
from pop_user.c:98:
/usr/local/lib/gcc-lib/i386-univel-sysv4.2MP/2.7.2/include/stdarg.h:50: s
yntax
error before `typedef'
*** Codigo de error 1 (bu21)
UX:make: ERROR: error fatal.
*** Codigo de error 1 (bu21)
UX:make: ERROR: error fatal.
How can I solve this error ?
Greetings.
- ---
Carles Xavier Munyoz Baldó
carles at descom dot es
Descom Consulting
Telf: +34 965861024
Fax: +34 965861024
http://www.descom.es/
- ---
-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8
iQA/AwUBPckLITvYAf7VZNaaEQJ0JwCgncV+2SMZxsuqL5zxQ21AAR7cieIAn3sQ
rOdWuzFUvw+vRnHuHGwvlMbX
=zbr1
-----END PGP SIGNATURE-----
Date: Wed, 06 Nov 2002 18:34:33 +0100
From: Gennaro Esposito <esposito at marscenter dot it>
Subject: Access blocked for uid below 10?
--=====================_100391835==_.ALT
Content-Type: text/plain; charset="us-ascii"; format=flowed
Greetings
I've just installed qpopper (4.0.4) on our old good DEC AlphaServer w/
DECUnix 4.0F. Qpopper was configured with the following options:
--disable-update-abort
--enable-apop
--enable-bulletins
--enable-group-bulls
--enable-nonauth-file=<pathtononauthfile>
--enable-poppassd
--enable-popuid=<popadminuser>
--enable-server-mode
--disable-specialauth
Now, I'm using Eudora 5.1 as client and, being also the administrator of
the mail server, I've a second personality: root
I'm still working with "password" authentication and not populated the apop
database yet.
My "dominant" personality works fine but "root" personality brings me in
the following situation when I check for its mails:
ERR[AUTH] Access is blocked for UIDs below 10
It's clear, for me, what it means (root is, obviusly, UID 0) but I'm very
surprised 'cause nowhere in the manual nor in the FAQ I've seen anythig
about this behaviour.
How can I circunvent/resolve the "problem"?
TIA
----------
Gennaro Esposito
(System & Security Engineer)
MARS Center *****************************
Via E. Gianturco,31 * YES! I SUPPORT *
I-80146 - Napoli - ITALY * *
ph.: +39 081-6042 493 * _/_/ _ _/_/ *
fax...: +39 081-6042 100 * _/_/===x===_/_/ *
mailto:esposito at marscenter dot it * _/_/ _/_/ *
http://www.marscenter.it * *
ftp://ftp.marscenter.it *International Space Station*
*****************************
--=====================_100391835==_.ALT
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
Greetings<br>
I've just installed qpopper (4.0.4) on our old good DEC AlphaServer w/
DECUnix 4.0F. Qpopper was configured with the following options:<br>
--disable-update-abort<br>
--enable-apop<br>
--enable-bulletins<br>
--enable-group-bulls<br>
--enable-nonauth-file=<pathtononauthfile><br>
--enable-poppassd<br>
--enable-popuid=<popadminuser><br>
--enable-server-mode<br>
--disable-specialauth<br>
Now, I'm using Eudora 5.1 as client and, being also the administrator of
the mail server, I've a second personality: root<br>
I'm still working with "password" authentication and not
populated the apop database yet.<br>
My "dominant" personality works fine but "root"
personality brings me in the following situation when I check for its
mails:<br>
ERR[AUTH] Access is blocked for UIDs below 10<br>
It's clear, for me, what it means (root is, obviusly, UID 0) but I'm very
surprised 'cause nowhere in the manual nor in the FAQ I've seen anythig
about this behaviour.<br>
How can I circunvent/resolve the "problem"?<br>
TIA<br>
<x-sigsep><p></x-sigsep>
<font face="Fixedsys" size=1>----------<br>
Gennaro Esposito<br>
(System & Security Engineer)<br>
MARS
Center &nbs
p;
*****************************<br>
Via E.
Gianturco,31 &nbs
p;
* YES! I
SUPPORT *<br>
I-80146 - Napoli -
ITALY
* &nb
sp; &
nbsp;
*<br>
ph.: +39 081-6042
493
* _/_/ _
_/_/ *<br>
fax...: +39 081-6042
100
*
_/_/===x===_/_/ *<br>
<a href="mailto:esposito@marscenter dot it%A0" eudora="autourl">mailto:espos
ito at marscenter dot it
</a> *
_/_/
_/_/ *<br>
<a href="http://www.marscenter.it=A0=A0=A0=A0=A0=A0/" eudora="autourl">h
ttp://www.marscenter.it
</a>
* &nb
sp; &
nbsp;
*<br>
<a href="ftp://ftp.marscenter.it=A0=A0=A0=A0=A0=A0=A0/" eudora="autourl"
>ftp://ftp.marscenter.it
</a> *International Space Station*<br>
&nbs
p; &n
bsp;
*****************************</font></html>
--=====================_100391835==_.ALT--
Last updated on 6 Nov 2002 by Pensive Mailing List Admin