Topics covered in this issue include: 1. Re: Unable to get canonical name error (Yes, I read the FAQ) Randall Gellens <randy at pensive dot org> Mon, 13 Sep 1999 22:40:42 -0700 2. Re: Unable to get canonical name error (Yes, I read the FAQ) Randall Gellens <randy at pensive dot org> Mon, 13 Sep 1999 22:40:42 -0700 3. Polling control Forrest Aldrich <forrie at forrie dot com> Tue, 14 Sep 1999 15:23:01 -0400 4. Inetd won't start popper (or ftp) "Jerry O'Brien" <jobrien at cuttingedge dot net> Tue, 14 Sep 1999 16:02:50 -0500 5. Re: pop accounts vs shell accounts "Franco Catena" <catena at surson.com dot br> Tue, 14 Sep 1999 21:56:58 -0300 6. Re: pop accounts vs shell accounts Christian Pinheiro <pinheiro at veritel.com dot br> Tue, 14 Sep 1999 22:10:16 -0300 7. Qpopper 3.0b18 PAM and BullDB? Jonathan Benson <sysadmin at ocean.com dot au> Wed, 15 Sep 1999 18:55:14 +1000 8. RE: pop accounts vs shell accounts Steven Fletcher <stevenf at shellnet.co dot uk> Wed, 15 Sep 1999 11:09:50 +0100 9. Re: Polling control "Michael D. Sofka" <sofkam at rpi dot edu> Wed, 15 Sep 1999 10:35:22 -0400 10. looking for pop3 server that works with virtual hosts "Jeremy C. Reed" <reed at wcug.wwu dot edu> Wed, 15 Sep 1999 08:17:32 -0700 (PDT) 11. RE: Polling control "Pandelis Papanikolaou" <panda at compulink dot gr> Wed, 15 Sep 1999 18:27:01 +0300 12. RE: Polling control "Michael D. Sofka" <sofkam at rpi dot edu> Wed, 15 Sep 1999 12:14:40 -0400 13. RE: Polling control "Huba Leidenfrost" <huba at uidaho dot edu> Wed, 15 Sep 1999 09:52:15 -0700 14. Re: Polling control Vincent Kwan <vinkwan at aicompro dot com> Wed, 15 Sep 1999 17:22:29 -0700 15. Re: Polling control Wayne Heming <wheming at hemnet.com dot au> Thu, 16 Sep 1999 11:15:44 +1000 16. is qpopper 3.0 vulnerable ? Dariusz Zmokly <globi at graff.com dot pl> Thu, 16 Sep 1999 13:38:44 +0200 17. Re: is qpopper 3.0 vulnerable ? pestilence <pestilence at netplan dot gr> Thu, 16 Sep 1999 16:05:14 +0300 18. RE: is qpopper 3.0 vulnerable ? Steven Fletcher <stevenf at shellnet.co dot uk> Thu, 16 Sep 1999 14:04:25 +0100 19. Re: is qpopper 3.0 vulnerable ? Nicolas Soriano <Nicolas.Soriano at univ-rennes1 dot fr> Thu, 16 Sep 1999 15:30:28 +0200 20. Re: is qpopper 3.0 vulnerable ? pestilence <pestilence at netplan dot gr> Thu, 16 Sep 1999 17:07:09 +0300 21. can receive but cannot send Feng Qiu <fqiu at biochem.okstate dot edu> Thu, 16 Sep 1999 12:30:12 -0500 22. Re: can receive but cannot send "Jeremy C. Reed" <reed at wcug.wwu dot edu> Thu, 16 Sep 1999 11:16:36 -0700 (PDT) 23. Re: Load averages and large mailfiles Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 12:22:27 +0200 (MET DST) 24. RE: Load averages and large mailfiles Steven Fletcher <stevenf at shellnet.co dot uk> Fri, 17 Sep 1999 11:49:00 +0100 25. canonical error... dandrews at mpiua dot com Fri, 17 Sep 1999 09:06:43 -0400 26. RE: canonical error... Steven Fletcher <stevenf at shellnet.co dot uk> Fri, 17 Sep 1999 14:50:24 +0100 27. .user.pop lock busy! Is another session active? "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Fri, 17 Sep 1999 11:08:10 -0400 28. Re: .user.pop lock busy! Is another session active? Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 17:38:50 +0200 (MET DST) 29. RE: .user.pop lock busy! Is another session active? Steven Fletcher <stevenf at shellnet.co dot uk> Fri, 17 Sep 1999 17:23:33 +0100 30. RE: .user.pop lock busy! Is another session active? Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 18:26:37 +0200 (MET DST) 31. Stuck pop files Rick Kunkel <kunkel at w-link dot net> Fri, 17 Sep 1999 09:43:03 -0700 (PDT) 32. I wrote about this canonical name denial once before and have checked Rick Kunkel <kunkel at w-link dot net> Fri, 17 Sep 1999 09:46:35 -0700 (PDT) 33. RE: .user.pop lock busy! Is another session active? Leonard Hermens <Leonard.Hermens at rcity dot com> Fri, 17 Sep 1999 09:53:06 -0700 34. RE: .user.pop lock busy! Is another session active? Steven Fletcher <stevenf at shellnet.co dot uk> Fri, 17 Sep 1999 18:01:32 +0100 35. Re: Stuck pop files Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 18:58:23 +0200 (MET DST) 36. Re: .user.pop lock busy! Is another session active? "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Fri, 17 Sep 1999 13:02:01 -0400 37. RE: .user.pop lock busy! Is another session active? Steven Fletcher <stevenf at shellnet.co dot uk> Fri, 17 Sep 1999 18:06:51 +0100 38. RE: .user.pop lock busy! Is another session active? Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 19:04:49 +0200 (MET DST) 39. Re: Stuck pop files Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 19:13:35 +0200 (MET DST) 40. Re: I wrote about this canonical name denial once before and have checked into some things since... Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 19:13:06 +0200 (MET DST) 41. Re: I wrote about this canonical name denial once before and have Alan Brown <alan at manawatu.gen dot nz> Sat, 18 Sep 1999 05:25:25 +1200 (NZST) 42. Re: I wrote about this canonical name denial once before and have Admin Mailing Lists <mlist at intergrafix dot net> Fri, 17 Sep 1999 13:30:49 -0400 (EDT) 43. Re: .user.pop lock busy! Is another session active? "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Fri, 17 Sep 1999 13:49:19 -0400 44. RE: .user.pop lock busy! Is another session active? Admin Mailing Lists <mlist at intergrafix dot net> Fri, 17 Sep 1999 13:40:11 -0400 (EDT) 45. RE: .user.pop lock busy! Is another session active? Admin Mailing Lists <mlist at intergrafix dot net> Fri, 17 Sep 1999 13:56:10 -0400 (EDT) 46. RE: .user.pop lock busy! Is another session active? Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 19:51:17 +0200 (MET DST) 47. RE: .user.pop lock busy! Is another session active? Carrer Yuri <yurj at dns.alfa dot it> Fri, 17 Sep 1999 19:53:50 +0200 (MET DST) 48. RE: .user.pop lock busy! Is another session active? Leonard Hermens <Leonard.Hermens at rcity dot com> Fri, 17 Sep 1999 11:40:43 -0700 49. Re: Stuck pop files "S. Faruque Ahmed" <sfque at texasgroup dot net> Sat, 18 Sep 1999 01:34:11 +0600 50. RE: .user.pop lock busy! Is another session active? James Sneeringer <jvs at ocslink dot com> Fri, 17 Sep 1999 15:52:39 -0500 (CDT)
Date: Mon, 13 Sep 1999 22:40:42 -0700 From: Randall Gellens <randy at pensive dot org> Subject: Re: Unable to get canonical name error (Yes, I read the FAQ) At 3:48 PM -0700 9/10/99, Rick Kunkel wrote: > In my case, there is >an error message in the logs (the canonical name thing) AND the connection >is refused by the server, before authentication even kicks in, as can be >shown by telnetting to port 110 and watching it connect and then pop up a >box that says connection refused. My guess is that you have a firewall or TCP wrapper or something else that prevents the connection. -- Randall Gellens Randy at Pensive dot Org ---------------------- (randomly-selected tag) --------------------- Cabbage: A familiar kitchen-garden vegetable about as large and wise as a man's head.
Date: Mon, 13 Sep 1999 22:40:42 -0700 From: Randall Gellens <randy at pensive dot org> Subject: Re: Unable to get canonical name error (Yes, I read the FAQ) At 3:48 PM -0700 9/10/99, Rick Kunkel wrote: > In my case, there is >an error message in the logs (the canonical name thing) AND the connection >is refused by the server, before authentication even kicks in, as can be >shown by telnetting to port 110 and watching it connect and then pop up a >box that says connection refused. My guess is that you have a firewall or TCP wrapper or something else that prevents the connection. -- Randall Gellens Randy at Pensive dot Org ---------------------- (randomly-selected tag) --------------------- Cabbage: A familiar kitchen-garden vegetable about as large and wise as a man's head.
Date: Tue, 14 Sep 1999 15:23:01 -0400 From: Forrest Aldrich <forrie at forrie dot com> Subject: Polling control Is there some mechanism by which we can control the frequency of when people poll for POP mail? For example: where I work, we have some dummies that set polling intervals at every 5 seconds, and so forth. If you can't enforce this through kind means, there must be some kind of mechanism that can be wrapped around popper (or implemented in it) to control this.... ? Thanks.
From: "Jerry O'Brien" <jobrien at cuttingedge dot net> Subject: Inetd won't start popper (or ftp) Date: Tue, 14 Sep 1999 16:02:50 -0500 Hi all, My POP3 server keeps dying and I'm getting these messages in syslog: popper[11401]: Unable to obtain socket and address of client, err = 107 I know I've seen discussion of this before, but I don't remember what the solution was, and the FAQ doesn't seem to address it. Also, I've found that ftp services won't start either, so I restarted inetd (HUPping it wouldn't do) and then everything runs for a few minutes. I'm not really sure whether popper or inetd is the cause. Jerry O'Brien
From: "Franco Catena" <catena at surson.com dot br> Subject: Re: pop accounts vs shell accounts Date: Tue, 14 Sep 1999 21:56:58 -0300 How can I create pop accounts without creatin UNIX accounts???? I need this kind of tool for POP and Postfix. -----Mensagem Original----- De: Webmaster <webmaster-pa at elogica.com dot br> Para: Subscribers of Qpopper <qpopper at lists.pensive dot org> Enviada em: Sexta-feira, 30 de Julho de 1999 15:34 Assunto: pop accounts vs shell accounts > Hello again, > > Is there a way in qpopper to create pop accounts without creatin > shell accounts? > > Thanks > >
Date: Tue, 14 Sep 1999 22:10:16 -0300 From: Christian Pinheiro <pinheiro at veritel.com dot br> Subject: Re: pop accounts vs shell accounts Don't think it's possible. Using Qmail with LDAP patch, it's possible. Franco Catena wrote: > > How can I create pop accounts without creatin UNIX accounts???? I need this > kind of tool for POP and Postfix. > -----Mensagem Original----- > De: Webmaster <webmaster-pa at elogica.com dot br> > Para: Subscribers of Qpopper <qpopper at lists.pensive dot org> > Enviada em: Sexta-feira, 30 de Julho de 1999 15:34 > Assunto: pop accounts vs shell accounts > > > Hello again, > > > > Is there a way in qpopper to create pop accounts without creatin > > shell accounts? > > > > Thanks > > > >
Date: Wed, 15 Sep 1999 18:55:14 +1000 From: Jonathan Benson <sysadmin at ocean.com dot au> Subject: Qpopper 3.0b18 PAM and BullDB? I obtained the source with PAM patch from: http://www.ubiobio.cl/~gpoo/linux/ My system is a fully patched RedHat 6.0 box. After also patching as per a previous post of mine to get BULLDB support I ended up with a qpopper binary compiled by using: ./configure --prefix=/usr --enable-servermode --enable-bulletins=/var/spool/bulls --with-pam It also had DBM support enabled by adding -DBULLDB to the Makefile. My problems started once I upgraded our mail server to the new system (and hence had some 4000 users start using it). I noticed (and some of ours users have complained about) messages stating that the Bulletin Database could not be opened (only every now and then, not a regular thing). Once you say OK and possibly re-enter your password (depends on mail client) everything continues as normal. As I haven't started using the feature yet I just recompiled qpopper without the bulletin support and AFAIK things are now fine. I still see a number of PAM authentication errors in the logs but these could simply be users mistyping their password or something so I'm not (yet) concerned about that. Any suggestions, feedback, etc welcome as this is a feature I'd like to use. Thanks Jon -- Jonathan Benson Systems Administrator Ocean Internet http://www.ocean.com.au/
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: pop accounts vs shell accounts Date: Wed, 15 Sep 1999 11:09:50 +0100 mysql_mail used to exist at http://www.netd.co.za/mysql_mail/, but dosen't seem to anymore. (Does anyone know where it went?) That would have let you authorise people via a SQL database and let them send mail via Exim.... however that dosen't seem to exlist anymore. I do have the patches to hand so if anyone wants them just contact me. Thanks; Steven Fletcher stevenf at shellnet.co dot uk > -----Original Message----- > From: Franco Catena [mailto:catena at surson.com dot br] > Sent: 15 September 1999 01:57 > To: Subscribers of Qpopper > Subject: Re: pop accounts vs shell accounts > > > How can I create pop accounts without creatin UNIX > accounts???? I need this > kind of tool for POP and Postfix. > -----Mensagem Original----- > De: Webmaster <webmaster-pa at elogica.com dot br> > Para: Subscribers of Qpopper <qpopper at lists.pensive dot org> > Enviada em: Sexta-feira, 30 de Julho de 1999 15:34 > Assunto: pop accounts vs shell accounts > > > > Hello again, > > > > Is there a way in qpopper to create pop accounts without creatin > > shell accounts? > > > > Thanks > > > > > > > >
Date: Wed, 15 Sep 1999 10:35:22 -0400 From: "Michael D. Sofka" <sofkam at rpi dot edu> Subject: Re: Polling control At 03:23 PM 9/14/99 -0400, Forrest Aldrich wrote: >Is there some mechanism by which we can control the frequency of when >people poll for POP mail? For example: where I work, we have some >dummies that set polling intervals at every 5 seconds, and so forth. > >If you can't enforce this through kind means, there must be some kind >of mechanism that can be wrapped around popper (or implemented in it) >to control this.... ? We have about 14,000 accounts, 6,500 of which are active. There are 350,000 popper connections per day, the majority coming from a relatively small number of users who poll every 5 seconds, or every minute. Generally, this isn't a big problem. Most of the heavy pollers end up hurting themselves with ``poplock'' errors, but the every 5 seconds turned out to be from a specialized winbiff program, which just polls for new mail (like picking up the phone every 5 seconds to see if anybody is calling you). Here are the various things we have done or have considered: 1. Wrote our own xbiff that opened a separate tcp connection, and stated the mailbox looking for any change in size. If the mailbox size changed, it popped up a little window saying ``you have mail.'' One problem is that reading mail via popper changed the size, so you would get a new window saying you had new mail after reading mail. This was fixed by having the program extract message headers and tell you who the mail was from. It then only reported new headers even after the false hits generated by a popper run. This code is very alpha, but if you are interested I can direct you to the programmer who worked on that project. 2. During a mail crisis, when a resolver library problem caused the mail servers to slow down. We wrap popper in tcp-wrappers, so I wrote a script which looked at the popper logs and denied access to anybody checking mail more than once very 5 minutes. The way the script worked, it looked at the average access over a half hour, and blocked if the average exceeded a threshold. I can send the perl script to anybody interested, but it is very idiosyncratic to our setup, which includes a modified popper logging facility. 3. You can use inetd to limit the number of popper connections per minute, and then leave it to the users to allocate a fair distribution. So, if somebody polls every 5 seconds, and doesn't mind the angry messages from users who can't read their mail, then so be it. Posting the top pollers to a web page would be necessary, and this is likely to require a policy decision. We have not tried this, but I am, personally, a firm believer in the power of peer pressure. 4. What I would like to see---and what I'm too busy to do---is to have a popper modified to run in daemon mode and maintain state information. That is, run a daemon that forks off children to handle popper request. The children communicate back to the parent the uid of the person who just read mail. Then, the parent can simply not process more than, say, one request per minute for any giver person, or no more than 1000 requests per day, or some other metric. What is nice about this approach is it is efficient, it increases the efficiency of popper (by running in daemon mode), and popper can just silently lie about the results of excessive polls. That is, if can just say ``you have zero new messages''' if the polling is excessive. :-) Mike -- Michael D. Sofka sofkam at rpi dot edu CIS/SSS Sr. Systems Programmer AFS/DFS, email, listproc, TeX, epistemology. Rensselaer Polytechnic Institute, Troy, NY. http://www.rpi.edu/~sofkam/
Date: Wed, 15 Sep 1999 08:17:32 -0700 (PDT) From: "Jeremy C. Reed" <reed at wcug.wwu dot edu> Subject: looking for pop3 server that works with virtual hosts I am looking for a pop3 server that can work with virtual domains where multiple users could have the same name, such as: jeremy at reedmedia dot net jeremy at whatcomnews dot com The pop server maybe check for an '@' in the USER name and if it exists then use a password file such as /etc/domains/w/whatcomnews.com/passwd for authentication. The mailbox could be located like /var/spool/mail/w/whatcomnews.com/jeremy Does anyone know of something simple like this? (I do not want to use qmail because it has two much extra stuff.) Thanks for any suggestions or advice. (Also: can anyone point me to some easy-to-follow pop3 source code?) Jeremy C. Reed ------------------------------------------------------------ http://www.toprecruits.com
From: "Pandelis Papanikolaou" <panda at compulink dot gr> Subject: RE: Polling control Date: Wed, 15 Sep 1999 18:27:01 +0300 This in not quite to the point but I think is relevant. How can you make the popper deny connections that exceed a specified frequency from a single IP? I am mostly worried about denial of service attacks where someone with an 'octopus' like exploit can launch a great deal of connections on any given port. Of course that is more of a problem fro tcpd to solve. Any suggestions ? -----Original Message----- From: Michael D. Sofka [mailto:sofkam at rpi dot edu] Sent: Wednesday, September 15, 1999 5:35 PM To: Subscribers of Qpopper Subject: Re: Polling control At 03:23 PM 9/14/99 -0400, Forrest Aldrich wrote: >Is there some mechanism by which we can control the frequency of when >people poll for POP mail? For example: where I work, we have some >dummies that set polling intervals at every 5 seconds, and so forth. > >If you can't enforce this through kind means, there must be some kind >of mechanism that can be wrapped around popper (or implemented in it) >to control this.... ? We have about 14,000 accounts, 6,500 of which are active. There are 350,000 popper connections per day, the majority coming from a relatively small number of users who poll every 5 seconds, or every minute. Generally, this isn't a big problem. Most of the heavy pollers end up hurting themselves with ``poplock'' errors, but the every 5 seconds turned out to be from a specialized winbiff program, which just polls for new mail (like picking up the phone every 5 seconds to see if anybody is calling you). Here are the various things we have done or have considered: 1. Wrote our own xbiff that opened a separate tcp connection, and stated the mailbox looking for any change in size. If the mailbox size changed, it popped up a little window saying ``you have mail.'' One problem is that reading mail via popper changed the size, so you would get a new window saying you had new mail after reading mail. This was fixed by having the program extract message headers and tell you who the mail was from. It then only reported new headers even after the false hits generated by a popper run. This code is very alpha, but if you are interested I can direct you to the programmer who worked on that project. 2. During a mail crisis, when a resolver library problem caused the mail servers to slow down. We wrap popper in tcp-wrappers, so I wrote a script which looked at the popper logs and denied access to anybody checking mail more than once very 5 minutes. The way the script worked, it looked at the average access over a half hour, and blocked if the average exceeded a threshold. I can send the perl script to anybody interested, but it is very idiosyncratic to our setup, which includes a modified popper logging facility. 3. You can use inetd to limit the number of popper connections per minute, and then leave it to the users to allocate a fair distribution. So, if somebody polls every 5 seconds, and doesn't mind the angry messages from users who can't read their mail, then so be it. Posting the top pollers to a web page would be necessary, and this is likely to require a policy decision. We have not tried this, but I am, personally, a firm believer in the power of peer pressure. 4. What I would like to see---and what I'm too busy to do---is to have a popper modified to run in daemon mode and maintain state information. That is, run a daemon that forks off children to handle popper request. The children communicate back to the parent the uid of the person who just read mail. Then, the parent can simply not process more than, say, one request per minute for any giver person, or no more than 1000 requests per day, or some other metric. What is nice about this approach is it is efficient, it increases the efficiency of popper (by running in daemon mode), and popper can just silently lie about the results of excessive polls. That is, if can just say ``you have zero new messages''' if the polling is excessive. :-) Mike -- Michael D. Sofka sofkam at rpi dot edu CIS/SSS Sr. Systems Programmer AFS/DFS, email, listproc, TeX, epistemology. Rensselaer Polytechnic Institute, Troy, NY. http://www.rpi.edu/~sofkam/
Date: Wed, 15 Sep 1999 12:14:40 -0400 From: "Michael D. Sofka" <sofkam at rpi dot edu> Subject: RE: Polling control At 06:27 PM 9/15/99 +0300, Pandelis Papanikolaou wrote: >This in not quite to the point but I think is relevant. >How can you make the popper deny connections that exceed a specified >frequency from a single IP? I am mostly worried about denial of service >attacks where someone with an 'octopus' like exploit can launch a great deal >of connections on any given port. >Of course that is more of a problem fro tcpd to solve. > >Any suggestions ? Tricky problem. If the IP is running idnetd, you can use tcp-wrappers to deny connections from only that user at the IP. Or, if you know what kind of machines different IP's represent, you can not block multi-user machines, even if the poling is excessive. (Depending on the circumstances, you may then be able to throw the abuser off the multi-user machine under an ``excessive use'' policy.) This is another reason I prefer a ``state-full'' popper solution, based on the UID that has read email. Most of the time this is not a problem for us, but there have been times were the system was slow, and stopping excessive poling was a quick way to restore good performance for everybody. Mike -- Michael D. Sofka sofkam at rpi dot edu CIS/SSS Sr. Systems Programmer AFS/DFS, email, listproc, TeX, epistemology. Rensselaer Polytechnic Institute, Troy, NY. http://www.rpi.edu/~sofkam/
From: "Huba Leidenfrost" <huba at uidaho dot edu> Subject: RE: Polling control Date: Wed, 15 Sep 1999 09:52:15 -0700 This is not trivial but can be done. Something like: 1) Filter your pop log traffic to popper.log 2) Run swatch or some other log watching utility to look for abusers (anyone popping their mail at greater than your policy 2b) Create that policy so you can refer to it when the user comes screaming at you with hands swinging 3) When swatch finds your abuser, have it launch a script to put a warning message in the user's mailbox 4) Continued abuse means you disable their account after x warnings where x is in that policy you created in 2b) Hmm, just re-read your message and see that this isn't really what you were asking. Well you can still use swatch and have swatch put in a hosts.deny rule for that annoying IP that's flooding you with connections. Regards, H u b a -- --- O HUBA LEIDENFROST Network Systems Analyst -- <^- huba at uidaho dot edu University of Idaho I.T.S -- -\/\ http://www.uidaho.edu/~huba --- \ TEL: 208.885.6721 FAX: 208.885.7539 > This in not quite to the point but I think is relevant. > How can you make the popper deny connections that exceed a specified > frequency from a single IP? I am mostly worried about denial of service > attacks where someone with an 'octopus' like exploit can launch a > great deal > of connections on any given port. > Of course that is more of a problem fro tcpd to solve. > > Any suggestions ?
Date: Wed, 15 Sep 1999 17:22:29 -0700 From: Vincent Kwan <vinkwan at aicompro dot com> Subject: Re: Polling control Hi all, I am trying to setup a subdomain mail. If I have a domain, xvy.com, a user vincent, and a subdomain rst, I want to be able to send a mail to vincent at rst.xvy dot com without setting a virtual domain for rst. I try doing an aliases of rst with the MX for xvy, but it can't receive mail sent from non-local mail server. Any help would be greatly appreciated. Thanks in advance. --- Vincent
Date: Thu, 16 Sep 1999 11:15:44 +1000 From: Wayne Heming <wheming at hemnet.com dot au> Subject: Re: Polling control try /etc/sendmail.cw xvy.com rst.xvy.com and restart sendmail It works for me. wayne At 10:22 16-09-99 , you wrote: >Hi all, > >I am trying to setup a subdomain mail. If I have a domain, xvy.com, a >user vincent, and a subdomain rst, I want to be able to send a mail to >vincent at rst.xvy dot com without setting a virtual domain for rst. I try >doing an aliases of rst with the MX for xvy, but it can't receive mail >sent from >non-local mail server. Any help would be greatly appreciated. Thanks in >advance. > > >--- Vincent > > >
Date: Thu, 16 Sep 1999 13:38:44 +0200 From: Dariusz Zmokly <globi at graff.com dot pl> Subject: is qpopper 3.0 vulnerable ? hi ! sscan shows that qpopper is vulnerable to buffer overflow. Is it true ? I read qpopper FAQ and there is stated that qpopper 2.5 and later versions aren't vulnerable. Which information is correct ? regards, Dariusz Zmokly
Date: Thu, 16 Sep 1999 16:05:14 +0300 From: pestilence <pestilence at netplan dot gr> Subject: Re: is qpopper 3.0 vulnerable ? $version > 2.5 are not vulnerable to the overflow. -- Kostas Petrakis aka Pestilence Head admin of Netplan LTD. http://www.netplan.gr pestilence at netplan dot gr =-=-=-=-=-=-=-=-=-=-=-=-=-= Rewted Network Security Labs http://www.rewted.org pestilen at rewted dot org
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: is qpopper 3.0 vulnerable ? Date: Thu, 16 Sep 1999 14:04:25 +0100 For the definitive guide (from the CERT advisories, CA-98.08.qpopper_vul): QUALCOMM Incorporated - --------------------- Versions of QUALCOMM qpopper prior to 2.5 are vulnerable. QUALCOMM recommends upgrading to the most recent version (currently Version 2.52). Patches are available from ftp://ftp.qualcomm.com/Eudora/servers/unix/popper Further details, questions and comments should be sent to <mailto:qpopper at qualcomm dot com>. Steven Fletcher stevenf at shellnet.co dot uk > -----Original Message----- > From: Dariusz Zmokly [mailto:globi at graff.com dot pl] > Sent: 16 September 1999 12:39 > To: Subscribers of Qpopper > Subject: is qpopper 3.0 vulnerable ? > > > hi ! > > sscan shows that qpopper is vulnerable to buffer overflow. Is > it true ? > I read qpopper FAQ and there is stated that qpopper 2.5 and > later versions > aren't vulnerable. Which information is correct ? > > regards, > Dariusz Zmokly >
Date: Thu, 16 Sep 1999 15:30:28 +0200 From: Nicolas Soriano <Nicolas.Soriano at univ-rennes1 dot fr> Subject: Re: is qpopper 3.0 vulnerable ? Dariusz Zmokly wrote: > sscan shows that qpopper is vulnerable to buffer overflow. Is it true ? > I read qpopper FAQ and there is stated that qpopper 2.5 and later versions > aren't vulnerable. Which information is correct ? According to my own experience (about ten attacks each night against my pop server) qpopper 3 is not vulnerable to bufferoverflow extract from pop.log : [17618] @Nicty58.microlink.com.br: -ERR Unknown command: " (I cut a string of 1111 chars) " But I think they will find something else... ;-(? -- _____________________________________________________________________ http://www-recomgen.univ-rennes1.fr/Dico Slackware is Linux on a motorcycle, all wheels and attitude!
Date: Thu, 16 Sep 1999 17:07:09 +0300 From: pestilence <pestilence at netplan dot gr> Subject: Re: is qpopper 3.0 vulnerable ? Security is always something that isn't stable, meaning one night you sleep next day there is a newly bug discovered. At least up to now there aren't any publickly known buffer overflows of qpopper 2.5 < $versions, if you look at the code, you will see that qpoppper handles strings passed to it very nice, and doesn't allow strings bigger than a certain length to get passed (it cuts the string down). -- Kostas Petrakis aka Pestilence Head admin of Netplan LTD. http://www.netplan.gr pestilence at netplan dot gr =-=-=-=-=-=-=-=-=-=-=-=-=-= Rewted Network Security Labs http://www.rewted.org pestilen at rewted dot org
Date: Thu, 16 Sep 1999 12:30:12 -0500 From: Feng Qiu <fqiu at biochem.okstate dot edu> Subject: can receive but cannot send Hello, all, I have sendmail setup in Sun solaris7. The qpopper let me read messages from my pc but when I try to send from pc, it said: Can't send to 'xxxxxe-mail addressxxxx'. The server gives this reason: '550 <xxxxxe-mail addressxxxx>... Relaying denied'. Anyone know what is the reason? Feng Qiu
Date: Thu, 16 Sep 1999 11:16:36 -0700 (PDT)
From: "Jeremy C. Reed" <reed at wcug.wwu dot edu>
Subject: Re: can receive but cannot send
On Thu, 16 Sep 1999, Feng Qiu wrote:
> Can't send to 'xxxxxe-mail addressxxxx'. The server gives this reason:
> '550 <xxxxxe-mail addressxxxx>... Relaying denied'.
In my /etc/sendmail.cf I have the lines:
# IP addresses of local clients allowed to relay through us
F{LocalIP}/etc/mail/localip
Then my /etc/mail/localip has the addresses for the local networks
that can sendmail will relay for, like:
192.168.1
Hope this helps.
Jeremy C. Reed
------------------------------------------------------------
http://www.toprecruits.com
Date: Fri, 17 Sep 1999 12:22:27 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: Re: Load averages and large mailfiles What does it mean this? Sep 15 09:07:08 dns popper[14892]: xxxxxx@xxxxxxxxxx: -ERR SIGHUP or SIGPIPE Thanxs
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: Load averages and large mailfiles Date: Fri, 17 Sep 1999 11:49:00 +0100 The POP3 client got disconnected, could be due to a network congestion or the client disconnecting their modem, for example, without closing their email client. Steven Fletcher stevenf at shellnet.co dot uk > -----Original Message----- > From: Carrer Yuri [mailto:yurj at dns.alfa dot it] > Sent: 17 September 1999 11:22 > Cc: Subscribers of Qpopper > Subject: Re: Load averages and large mailfiles > > > What does it mean this? > > Sep 15 09:07:08 dns popper[14892]: xxxxxx@xxxxxxxxxx: -ERR SIGHUP or > SIGPIPE > > Thanxs > > > >
From: dandrews at mpiua dot com Subject: canonical error... Date: Fri, 17 Sep 1999 09:06:43 -0400 Does anyone know the cause of this error being reported in my maillog, it seems to happen each time a client connects, although mail pickup is still successful... in.qpopper [1831]: (v2.53) unable to get canonical name of client, err = 0 Any help appreciated! =) David Andrews PC LAN Administrator MPIUA dandrews at mpiua dot com
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: canonical error... Date: Fri, 17 Sep 1999 14:50:24 +0100 Sounds like a dodgy DNS setup; do your connecting clients have both forward & reverse DNS entries? Steven Fletcher stevenf at shellnet.co dot uk > -----Original Message----- > From: David Andrews [mailto:dandrews at mpiua dot com] > Sent: 17 September 1999 14:07 > To: Subscribers of Qpopper > Subject: canonical error... > > > Does anyone know the cause of this error being reported in my > maillog, it > seems to happen each time a client connects, although mail > pickup is still > successful... > > in.qpopper [1831]: (v2.53) unable to get canonical name of > client, err = 0 > > Any help appreciated! =) > > > David Andrews > PC LAN Administrator > MPIUA > dandrews at mpiua dot com > > >
Date: Fri, 17 Sep 1999 11:08:10 -0400 From: "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Subject: .user.pop lock busy! Is another session active? Hi all, I´m using Qpopper 3.0 BETA 18 -- servermode configured in my Linux system. Some users, mainly those with mailbox with above of 2MB, have problems to download e-mails and receive the message: -ERR [IN-USE] /car/spool/mail/.user.pop lock busy! Is another session active? (11) And normally I have that to remove the lock user.pop manually of the mail spool. so.. anyone got any ideas how to resolve this problem ? Very Thanks !
Date: Fri, 17 Sep 1999 17:38:50 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: Re: .user.pop lock busy! Is another session active? > > -ERR [IN-USE] /car/spool/mail/.user.pop lock busy! Is another session > active? (11) > > And normally I have that to remove the lock user.pop manually of the > mail spool. > > so.. anyone got any ideas how to resolve this problem ? Yes, dump qpopper and use another pop server. Baing seriously, there's a bad interaction somewhere between Outlook Express and qpopper. Yuri
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: .user.pop lock busy! Is another session active? Date: Fri, 17 Sep 1999 17:23:33 +0100 > Baing seriously, there's a bad interaction somewhere between Outlook > Express and qpopper. uuuh....Why would it matter if the POP3 client was Outlook, Agent, fetchmail, or anything for that matter? POP3 is POP3, nothing will change that. More than likely people are simply timing out and trying to connect again before your server times out. I would look at Qpopper's -T option. Steven Fletcher stevenf at shellnet.co dot uk
Date: Fri, 17 Sep 1999 18:26:37 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: RE: .user.pop lock busy! Is another session active? On Fri, 17 Sep 1999, Steven Fletcher wrote: > > > Baing seriously, there's a bad interaction somewhere between Outlook > > Express and qpopper. > > uuuh....Why would it matter if the POP3 client was Outlook, Agent, > fetchmail, or anything for that matter? POP3 is POP3, nothing will change > that. > > More than likely people are simply timing out and trying to connect again > before your server times out. I would look at Qpopper's -T option. If the TCP connection die, why qpopper insists on keeping the damn .<user>.pop around? Is there a patch out there to see which message qpopper is sending to the user and how much % of the message it has sent? A lot of time some users (at the telephone with me) tell me that he is tryng to download, I see the qpopper process starting and then the connection from his side stop, but I still see the qpopper and the lock file. Yuri
Date: Fri, 17 Sep 1999 09:43:03 -0700 (PDT) From: Rick Kunkel <kunkel at w-link dot net> Subject: Stuck pop files Anyone have any idea why pop files would get stuck stuck stuck for a long time? I have customers that call occasionally saying that they can't get their mail, so they disconnect, call me, and I look, and there's still a .username.pop file from like 5 minutes before. I can sit there and wait and it doesn't go away. Eventually, later in the day I check and it's gone. My line from inetd.conf is as follow: pop stream tcp nowait root /usr/libexec/tcpd popper -T 60 -b /var/mail/bulldir I'd be cool to know why they're sticking, but it'd also be cool to know how to kill the pop process so that it doesn't generate the poplock busy when they're not even checking (like 30 minutes later!) Any help would be appreciated... Thanks, Rick Kunkel
Date: Fri, 17 Sep 1999 09:46:35 -0700 (PDT) From: Rick Kunkel <kunkel at w-link dot net> Subject: I wrote about this canonical name denial once before and have checked I get the canonical name error occasionally, which is no big deal. However, my users are actually KEPT from checking mail. It denies them when name and address don't jibe. From what I hear, it's not Qpopper causing the refusal, but maybe something else. I've looked everywhere I can think of. Any ideas of good places where some setting like that might hide out? We have a file in /usr/local/etc called netperm-table which will deny connections over various ports to people not in a list of addresses, but the pop port is open to everyone. I thought that would be the culprit, but it wasn't...Any other ideas? Rick Kunkel
Date: Fri, 17 Sep 1999 09:53:06 -0700 From: Leonard Hermens <Leonard.Hermens at rcity dot com> Subject: RE: .user.pop lock busy! Is another session active? > > Baing seriously, there's a bad interaction somewhere between Outlook > > Express and qpopper. > >uuuh....Why would it matter if the POP3 client was Outlook, Agent, >fetchmail, or anything for that matter? POP3 is POP3, nothing will change >that. > >More than likely people are simply timing out and trying to connect again >before your server times out. I would look at Qpopper's -T option. > >Steven Fletcher >stevenf at shellnet.co dot uk I can confirm that Outlook clients in the past (don't know about version 5) have caused a hang that Eudora (for example) did not exhibit when downloading a large attachment or when certain header lines were blank. This would lead to a SIGHUP on the qpopper because the Outlook client did/could not exit gracefully. -- Leonard
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: .user.pop lock busy! Is another session active? Date: Fri, 17 Sep 1999 18:01:32 +0100 > If the TCP connection die, why qpopper insists on keeping the damn > .<user>.pop around? It's a socket application - your clients probably have not just killed the connection, but simply stopped receiving data and timed out at their end. It would stay running untill either the OS's IP stack realises that it isn't happening any more (I'm guessing you're using Linux here, try a *BSD implementation instead, they have much nicer IP layers), then the connection will die (or, if Qpopper has finished sending the data to the IP stack, then it will go and wait for its idle timer to kick in before it kills itself. So more than likley, you're relying on 3 things: 1) Dodgy/slow/unreliable dial-up lines 2) IP stack keeping schtum to its daemons 3) A third idle timer, qpopper's. >Is there a patch out there to see which message > qpopper is sending to the user and how much % of the message it has > sent? Not for percentage, but use a trace file and you'll be able to see what the last RETR command that was sent was. Steven Fletcher stevenf at shellnet.co dot uk
Date: Fri, 17 Sep 1999 18:58:23 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: Re: Stuck pop files > Anyone have any idea why pop files would get stuck stuck stuck for a long > time? I have customers that call occasionally saying that they can't get > their mail, so they disconnect, call me, and I look, and there's still a > .username.pop file from like 5 minutes before. I can sit there and wait > and it doesn't go away. Eventually, later in the day I check and it's > gone. > > My line from inetd.conf is as follow: > > pop stream tcp nowait root /usr/libexec/tcpd popper -T 60 -b /var/mail/bulldir > > I'd be cool to know why they're sticking, but it'd also be cool to know > how to kill the pop process so that it doesn't generate the poplock busy > when they're not even checking (like 30 minutes later!) Any help would be > appreciated... Heh, I'm not alone :-) I'm planning to switch to cucipop. Qpopper is too "corporate". :) Yuri
Date: Fri, 17 Sep 1999 13:02:01 -0400 From: "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Subject: Re: .user.pop lock busy! Is another session active? OK! Do you know another POP3 server with support hash spool, i.e., the mail spool of the user is located in /var/spool/mail/u/s/user. Example: User peter -- /var/spool/mail/p/e/peter Old, we used CUCIPOP. But it seems does not have has supported hash spool mail. Very Thanks! Carrer Yuri wrote: > > > > -ERR [IN-USE] /car/spool/mail/.user.pop lock busy! Is another session > > active? (11) > > > > And normally I have that to remove the lock user.pop manually of the > > mail spool. > > > > so.. anyone got any ideas how to resolve this problem ? > > Yes, dump qpopper and use another pop server. > > Baing seriously, there's a bad interaction somewhere between Outlook > Express and qpopper. > > Yuri
From: Steven Fletcher <stevenf at shellnet.co dot uk> Subject: RE: .user.pop lock busy! Is another session active? Date: Fri, 17 Sep 1999 18:06:51 +0100 > I can confirm that Outlook clients in the past (don't know about > version 5) have caused a hang that Eudora (for example) did not > exhibit Yep; my point to Yuri exactly: If Outlook crashes and Eudora does not, with the same POP3 server, then what is to fault? Qpopper or Outlook? Outlook, not Qpopper :-) Steven Fletcher stevenf at shellnet.co dot uk
Date: Fri, 17 Sep 1999 19:04:49 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: RE: .user.pop lock busy! Is another session active? On Fri, 17 Sep 1999, Steven Fletcher wrote: > > > If the TCP connection die, why qpopper insists on keeping the damn > > .<user>.pop around? > > It's a socket application - your clients probably have not just killed the > connection, but simply stopped receiving data and timed out at their end. It > would stay running untill either the OS's IP stack realises that it isn't > happening any more (I'm guessing you're using Linux here, try a *BSD > implementation instead, they have much nicer IP layers), then the connection This is real bullshit. > will die (or, if Qpopper has finished sending the data to the IP stack, then > it will go and wait for its idle timer to kick in before it kills itself. > > So more than likley, you're relying on 3 things: > 1) Dodgy/slow/unreliable dial-up lines False > 2) IP stack keeping schtum to its daemons False > 3) A third idle timer, qpopper's. False Add: 4) There's a problem somewhere. > >Is there a patch out there to see which message > > qpopper is sending to the user and how much % of the message it has > > sent? > > Not for percentage, but use a trace file and you'll be able to see what the > last RETR command that was sent was. Is a compile option?
Date: Fri, 17 Sep 1999 19:13:35 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: Re: Stuck pop files > Anyone have any idea why pop files would get stuck stuck stuck for a long > time? I have customers that call occasionally saying that they can't get > their mail, so they disconnect, call me, and I look, and there's still a > .username.pop file from like 5 minutes before. I can sit there and wait > and it doesn't go away. Eventually, later in the day I check and it's > gone. > http://typhaon.ucs.uwa.edu.au/switch.html Yuri
Date: Fri, 17 Sep 1999 19:13:06 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: Re: I wrote about this canonical name denial once before and have checked into some things since... Maybe tcpwrappers? On Fri, 17 Sep 1999, Rick Kunkel wrote: > I get the canonical name error occasionally, which is no big deal. > However, my users are actually KEPT from checking mail. It denies them > when name and address don't jibe. From what I hear, it's not Qpopper > causing the refusal, but maybe something else. I've looked everywhere I > can think of. Any ideas of good places where some setting like that might > hide out? We have a file in /usr/local/etc called netperm-table which > will deny connections over various ports to people not in a list of > addresses, but the pop port is open to everyone. I thought that would be > the culprit, but it wasn't...Any other ideas? > > Rick Kunkel > >
Date: Sat, 18 Sep 1999 05:25:25 +1200 (NZST) From: Alan Brown <alan at manawatu.gen dot nz> Subject: Re: I wrote about this canonical name denial once before and have On Fri, 17 Sep 1999, Rick Kunkel wrote: > I get the canonical name error occasionally, which is no big deal. > However, my users are actually KEPT from checking mail. It denies them > when name and address don't jibe. From what I hear, it's not Qpopper > causing the refusal, but maybe something else. I've looked everywhere I > can think of. Any ideas of good places where some setting like that might > hide out? Check your tcpd hosts.allow/.deny settings for a "paranoid" entry. AB
Date: Fri, 17 Sep 1999 13:30:49 -0400 (EDT) From: Admin Mailing Lists <mlist at intergrafix dot net> Subject: Re: I wrote about this canonical name denial once before and have if you're the authority for your IP block, make sure IP->hostname and hostname->IP resolves match. I know a lot of places that don't even reverse resolve IPs back to hostname, what the heck, are they just lazy, it's not that hard..speaking about the general community of course, not you specifically. -Cygnus .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. Anthony J. Biacco Network Administrator/Engineer admin at intergrafix dot net Intergrafix Internet Services "Dream as if you'll live forever, live as if you'll die today" http://cygnus.ncohafmuta.com http://www.intergrafix.net .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. On Fri, 17 Sep 1999, Rick Kunkel wrote: > I get the canonical name error occasionally, which is no big deal. > However, my users are actually KEPT from checking mail. It denies them > when name and address don't jibe. From what I hear, it's not Qpopper > causing the refusal, but maybe something else. I've looked everywhere I > can think of. Any ideas of good places where some setting like that might > hide out? We have a file in /usr/local/etc called netperm-table which > will deny connections over various ports to people not in a list of > addresses, but the pop port is open to everyone. I thought that would be > the culprit, but it wasn't...Any other ideas? > > Rick Kunkel > >
Date: Fri, 17 Sep 1999 13:49:19 -0400 From: "Marcelo dos S. Tavares" <mtavares at argo.com dot br> Subject: Re: .user.pop lock busy! Is another session active? > > > > -ERR [IN-USE] /car/spool/mail/.user.pop lock busy! Is another session > > active? (11) > > > > And normally I have that to remove the lock user.pop manually of the > > mail spool. > > > > so.. anyone got any ideas how to resolve this problem ? > > Yes, dump qpopper and use another pop server. > > Baing seriously, there's a bad interaction somewhere between Outlook > Express and qpopper. OK! Do you know another POP3 server with support hash spool ?? The mail spool of the user is located in /var/spool/mail/u/s/user. Example: User peter -- /var/spool/mail/p/e/peter Old, we used CUCIPOP. But it seems does not have has supported hash spool mail. Very Thanks!
Date: Fri, 17 Sep 1999 13:40:11 -0400 (EDT) From: Admin Mailing Lists <mlist at intergrafix dot net> Subject: RE: .user.pop lock busy! Is another session active? I posted a patch a while back for the popper. When you connect it checks if your username has a popper process open, if you do, popper kills the former cleanly, then automatically opens a new one for you in the current session. Saves admins having to clean any stale pop files. Is there a mailing list archive around? If not, I might still have it in my sent-mail box somewhere. -Cygnus .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. Anthony J. Biacco Network Administrator/Engineer admin at intergrafix dot net Intergrafix Internet Services "Dream as if you'll live forever, live as if you'll die today" http://cygnus.ncohafmuta.com http://www.intergrafix.net .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. On Fri, 17 Sep 1999, Leonard Hermens wrote: > > > Baing seriously, there's a bad interaction somewhere between Outlook > > > Express and qpopper. > > > >uuuh....Why would it matter if the POP3 client was Outlook, Agent, > >fetchmail, or anything for that matter? POP3 is POP3, nothing will change > >that. > > > >More than likely people are simply timing out and trying to connect again > >before your server times out. I would look at Qpopper's -T option. > > > >Steven Fletcher > >stevenf at shellnet.co dot uk > > I can confirm that Outlook clients in the past (don't know about > version 5) have caused a hang that Eudora (for example) did not > exhibit when downloading a large attachment or when certain header > lines were blank. This would lead to a SIGHUP on the qpopper because > the Outlook client did/could not exit gracefully. > > -- Leonard >
Date: Fri, 17 Sep 1999 13:56:10 -0400 (EDT) From: Admin Mailing Lists <mlist at intergrafix dot net> Subject: RE: .user.pop lock busy! Is another session active? 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. ---171031142-37121570-919954547=:21504 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <Pine.LNX.4.10.9909171346362.1890 at athena.intergrafix dot net> i found it! it's against 3.0b12, which is what I currently use here. see below for instructions and see attached file. -Cygnus .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. Anthony J. Biacco Network Administrator/Engineer admin at intergrafix dot net Intergrafix Internet Services "Dream as if you'll live forever, live as if you'll die today" http://cygnus.ncohafmuta.com http://www.intergrafix.net .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. ---------- Forwarded message ---------- Date: Thu, 25 Feb 1999 09:55:47 -0500 (EST) From: System Administrator <admin at athena.intergrafix dot net> To: Byron Jones <byron at vianet.net dot au> Cc: Subscribers of Qpopper <qpopper at lists.pensive dot org> Subject: Re: qpopper not releasing lock well, first I suggest upgrading to a 3.0 beta of qpopper, then replacing your pop_dropcopy.c with the attached text file. and recompiling. i've changed this source file to: A) check for the glitch of the missing 'F' in the "From" line of the headers B) check for an already existing popper process and/or lock file for the user. If a popper process exists for the user trying to retrieve their mail, the old process will be killed, and the current process will continue the mail retrieval. If a lock file is found, it will be unlocked and removed, and the current process will continue the mail retrieval. This does NOT check for GOOD retrievals..(i.e. if you start retrieving mail from one machine, then try to retrieve on another while the first retrieval is sitll happening, the first will be cancelled and the 2nd started) just an FYI. the file contains 2 extra #defines. PS_COMMAND which sets the command to use to find the old processes. and PS_SEARCH that defines the name of the popper process we'll search for. I use linux and the default executable name, so mine are set to "ps ux" and "popper" i dont make any guarantees about this hack. it should work on your system, it works on mine in server mode, but it may not for some reason. if you lose any mail over it, I'm not responsible. :-) Hope it works for you. -Cygnus ---171031142-37121570-919954547=:21504 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="pop_dropcopy.send" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.10.9902250955470.21504 at athena.intergrafix dot net> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="pop_dropcopy.send" LyoNCiAqIENvcHlyaWdodCAoYykgMTk4OSBSZWdlbnRzIG9mIHRoZSBVbml2 ZXJzaXR5IG9mIENhbGlmb3JuaWEuDQogKiBBbGwgcmlnaHRzIHJlc2VydmVk LiAgVGhlIEJlcmtlbGV5IHNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50DQog KiBzcGVjaWZpZXMgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciByZWRp c3RyaWJ1dGlvbi4NCiAqLw0KDQovKg0KICogQ29weXJpZ2h0IChjKSAxOTk4 IFF1YWxjb21tIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N CiAqDQogKiBSZXZpc2lvbnMgOiANCiAqICA2LzIyLzk4ICBbcHldDQogKiAg ICAgICAgIC0gQWRkZWQga2x1ZGdlIGZvciBOVUxMcyBpbiBtZXNzYWdlIGNv bnRlbnQoc3VnZ2VzdGVkIGJ5IA0KICogICAgICAgICAgIE1vcmRlY2hhaSBU LkFienVnKS4NCiAqICAgICAgICAgICBVaWRsIHRvIGNvbnRhaW4gRnJvbSBF bnZlbG9wZSBpbiBub24tbW1kZiwgYW5kIGxlbmd0aCBjaGVjay4NCiAqICAz LzE4Lzk4ICBbcHldDQogKiAgICAgICAgIC0gUmV2aWV3ZWQgdGhlIGNvZGUs IGFkZGVkIERFQlVHIG1hY3JvcywgY29ycmVjdGVkIHRoZSANCiAqICAgICAg ICAgICAgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBjbG9zZWQuDQogKi8NCg0K LyoNCiAqIFdoZW4gYWRkaW5nIGVhY2ggbGluZSBsZW5ndGggaW50byB0aGUg c2l6ZSBvZiB0aGUgbWVzc2FnZSBhbmQgdGhlIG1haWxkcm9wLA0KICogaW5j cmVhc2UgdGhlIGNoYXJhY3RlciBjb3VudCBieSBvbmUgZm9yIHRoZSA8Y3I+ IGFkZGVkIHdoZW4gc2VuZGluZyB0aGUNCiAqIG1lc3NhZ2UgdG8gdGhlIG1h aWwgY2xpZW50LiAgQWxsIGxpbmVzIHNlbnQgdG8gdGhlIGNsaWVudCBhcmUg dGVybWluYXRlZA0KICogd2l0aCBhIDxjcj48bGY+Lg0KICovDQoNCiNpbmNs dWRlIDxjb25maWcuaD4NCg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jbHVk ZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRl IDxjdHlwZS5oPg0KI2luY2x1ZGUgPHN0cmluZy5oPg0KI2luY2x1ZGUgPGZs b2NrLmg+DQoNCiNpZiBIQVZFX1VOSVNURF9IDQojIGluY2x1ZGUgPHVuaXN0 ZC5oPg0KI2VuZGlmDQoNCiNpZiBIQVZFX1NZU19VTklTVERfSA0KIyBpbmNs dWRlIDxzeXMvdW5pc3RkLmg+DQojZW5kaWYNCg0KI2lmbmRlZiBIQVZFX0lO REVYDQojICBkZWZpbmUJaW5kZXgocyxjKQkJc3RyY2hyKHMsYykNCiMgIGRl ZmluZQlyaW5kZXgocyxjKQkJc3RycmNocihzLGMpDQojIGVuZGlmDQojaWYg SEFWRV9TVFJJTkdTX0gNCiMgaW5jbHVkZSA8c3RyaW5ncy5oPg0KI2VuZGlm DQojaW5jbHVkZSA8c3lzL3N0YXQuaD4NCiNpbmNsdWRlIDxzeXMvZmlsZS5o Pg0KI2luY2x1ZGUgPHB3ZC5oPg0KI2luY2x1ZGUgPHBvcHBlci5oPg0KDQoj aWZkZWYgTUFJTE9DSw0KIyBpZmRlZiBIQVZFX01BSUxMT0NLDQojICBpbmNs dWRlIDxtYWlsbG9jay5oPg0KIyBlbmRpZg0KIyBkZWZpbmUgTUFJTFVOTE9D SygpIG1haWx1bmxvY2soKQ0KI2Vsc2UgDQojIGRlZmluZSBNQUlMVU5MT0NL KCkNCiNlbmRpZg0KDQojZGVmaW5lIE1JTl9VSURMX0xFTkdUSCA1ICAgICAv KiBUaGVyZSBpcyBubyBwYXJ0aWN1bGFyIHJlYXNvbiB0byBoYXZlIHRoaXMg Ki8NCiNkZWZpbmUgTUFYX1VJRExfTEVOR1RIIDcwDQoNCi8qIFRoaXMgbWFj cm8gY29tZXMgZnJvbSBNYXJrIENyaXNwaW4ncyBjLWNsaWVudCBjb2RlICov DQoNCi8qIFZhbGlkYXRlIGxpbmUNCiAqIEFjY2VwdHM6IHBvaW50ZXIgdG8g Y2FuZGlkYXRlIHN0cmluZyB0byB2YWxpZGF0ZSBhcyBhIEZyb20gaGVhZGVy DQogKgkgICAgcmV0dXJuIHBvaW50ZXIgdG8gZW5kIG9mIGRhdGUvdGltZSBm aWVsZA0KICoJICAgIHJldHVybiBwb2ludGVyIHRvIG9mZnNldCBmcm9tIHQg b2YgdGltZSAoaG91cnMgb2YgYGBtbW0gZGQgaGg6bW0nJykNCiAqCSAgICBy ZXR1cm4gcG9pbnRlciB0byBvZmZzZXQgZnJvbSB0IG9mIHRpbWUgem9uZSAo aWYgbm9uLXplcm8pDQogKiBSZXR1cm5zOiB0LHRpLHpuIHNldCBpZiB2YWxp ZCBGcm9tIHN0cmluZywgZWxzZSB0aSBpcyBOSUwNCiAqLw0KDQojZGVmaW5l IFBTX0NPTU1BTkQJInBzIHV4IgkvKiB0aGlzIGNvbW1hbmQgaXMgcnVuIGFz IHRoZSB1c2VybmFtZSAqLw0KCQkJCS8qIGFuZCBzaG91bGQgc2hvdyBwcm9j ZXNzIG5hbWVzLHBpZHMsICovDQoJCQkJLyogYW5kIHRoZSBwcm9jZXNzIG93 bmVyCSAgICAgICAqLw0KCQkJCS8qIHBzIHV4IHdvcmtzIGZvciBsaW51eCBm b3Igc3VyZSAgICAgICovDQojZGVmaW5lIFBTX1NFQVJDSAkicG9wcGVyIiAv KiBuYW1lIHRoZSBwb3BwZXIgcHJvY2VzcyBydW5zIGFzICAgICovDQoJCQkJ IC8qIGFzIHNob3duIGluIHRoZSBwcm9jZXNzIGxpc3QgICAgICAgKi8NCnZv aWQgY2xlYXJfb2xkKFBPUCAqcCk7DQoNCiNkZWZpbmUgVkFMSUQocyx4LHRp LHpuKSB7CQkJCQkJXA0KICB0aSA9IDA7CQkJCQkJCQlcDQogIGlmICgoKnMg PT0gJ0YnKSAmJiAoc1sxXSA9PSAncicpICYmIChzWzJdID09ICdvJykgJiYg KHNbM10gPT0gJ20nKSAmJglcDQogICAgICAoc1s0XSA9PSAnICcpKSB7CQkJ CQkJCVwNCiAgICBmb3IgKHggPSBzICsgNTsgKnggJiYgKnggIT0gJ1xuJzsg eCsrKTsJCQkJXA0KICAgIGlmICh4KSB7CQkJCQkJCQlcDQogICAgICBpZiAo eCAtIHMgPj0gNDEpIHsJCQkJCQlcDQoJZm9yICh6biA9IC0xOyB4W3puXSAh PSAnICc7IHpuLS0pOwkJCQlcDQoJaWYgKCh4W3puLTFdID09ICdtJykgJiYg KHhbem4tMl0gPT0gJ28nKSAmJiAoeFt6bi0zXSA9PSAncicpICYmCVwNCgkg ICAgKHhbem4tNF0gPT0gJ2YnKSAmJiAoeFt6bi01XSA9PSAnICcpICYmICh4 W3puLTZdID09ICdlJykgJiYJXA0KCSAgICAoeFt6bi03XSA9PSAndCcpICYm ICh4W3puLThdID09ICdvJykgJiYgKHhbem4tOV0gPT0gJ20nKSAmJglcDQoJ ICAgICh4W3puLTEwXSA9PSAnZScpICYmICh4W3puLTExXSA9PSAncicpICYm ICh4W3puLTEyXSA9PSAnICcpKVwNCgkgIHggKz0gem4gLSAxMjsJCQkJCQkJ XA0KICAgICAgfQkJCQkJCQkJCVwNCiAgICAgIGlmICh4IC0gcyA+PSAyNykg ewkJCQkJCVwNCglpZiAoeFstNV0gPT0gJyAnKSB7CQkJCQkJXA0KCSAgaWYg KHhbLThdID09ICc6Jykgem4gPSAwLHRpID0gLTU7CQkJCVwNCgkgIGVsc2Ug aWYgKHhbLTldID09ICcgJykgdGkgPSB6biA9IC05OwkJCQlcDQoJICBlbHNl IGlmICgoeFstMTFdID09ICcgJykgJiYgKCh4Wy0xMF09PScrJykgfHwgKHhb LTEwXT09Jy0nKSkpCVwNCgkgICAgdGkgPSB6biA9IC0xMTsJCQkJCQlcDQoJ fQkJCQkJCQkJXA0KCWVsc2UgaWYgKHhbLTRdID09ICcgJykgewkJCQkJXA0K CSAgaWYgKHhbLTldID09ICcgJykgem4gPSAtNCx0aSA9IC05OwkJCQlcDQoJ fQkJCQkJCQkJXA0KCWVsc2UgaWYgKHhbLTZdID09ICcgJykgewkJCQkJXA0K CSAgaWYgKCh4Wy0xMV0gPT0gJyAnKSAmJiAoKHhbLTVdID09ICcrJykgfHwg KHhbLTVdID09ICctJykpKQlcDQoJICAgIHpuID0gLTYsdGkgPSAtMTE7CQkJ CQkJXA0KCX0JCQkJCQkJCVwNCglpZiAodGkgJiYgISgoeFt0aSAtIDNdID09 ICc6JykgJiYJCQkJXA0KCQkgICAgKHhbdGkgLT0gKCh4W3RpIC0gNl0gPT0g JzonKSA/IDkgOiA2KV0gPT0gJyAnKSAmJglcDQoJCSAgICAoeFt0aSAtIDNd ID09ICcgJykgJiYgKHhbdGkgLSA3XSA9PSAnICcpICYmCQlcDQoJCSAgICAo eFt0aSAtIDExXSA9PSAnICcpKSkgdGkgPSAwOwkJCVwNCiAgICAgIH0JCQkJ CQkJCQlcDQogICAgfQkJCQkJCQkJCVwNCiAgfQkJCQkJCQkJCVwNCiAgZWxz ZSBpZiAoKCpzID09ICdyJykgJiYgKHNbMV0gPT0gJ28nKSAmJiAoc1syXSA9 PSAnbScpICYmIChzWzNdID09ICcgJykpIHsJXA0KICAgIGZvciAoeCA9IHMg KyA0OyAqeCAmJiAqeCAhPSAnXG4nOyB4KyspOwkJCQlcDQogICAgaWYgKHgp IHsJCQkJCQkJCVwNCiAgICAgIGlmICh4IC0gcyA+PSA0MSkgewkJCQkJCVwN Cglmb3IgKHpuID0gLTE7IHhbem5dICE9ICcgJzsgem4tLSk7CQkJCVwNCglp ZiAoKHhbem4tMV0gPT0gJ20nKSAmJiAoeFt6bi0yXSA9PSAnbycpICYmICh4 W3puLTNdID09ICdyJykgJiYJXA0KCSAgICAoeFt6bi00XSA9PSAnZicpICYm ICh4W3puLTVdID09ICcgJykgJiYgKHhbem4tNl0gPT0gJ2UnKSAmJglcDQoJ ICAgICh4W3puLTddID09ICd0JykgJiYgKHhbem4tOF0gPT0gJ28nKSAmJiAo eFt6bi05XSA9PSAnbScpICYmCVwNCgkgICAgKHhbem4tMTBdID09ICdlJykg JiYgKHhbem4tMTFdID09ICdyJykgJiYgKHhbem4tMTJdID09ICcgJykpXA0K CSAgeCArPSB6biAtIDEyOwkJCQkJCQlcDQogICAgICB9CQkJCQkJCQkJXA0K ICAgICAgaWYgKHggLSBzID49IDI3KSB7CQkJCQkJXA0KCWlmICh4Wy01XSA9 PSAnICcpIHsJCQkJCQlcDQoJICBpZiAoeFstOF0gPT0gJzonKSB6biA9IDAs dGkgPSAtNTsJCQkJXA0KCSAgZWxzZSBpZiAoeFstOV0gPT0gJyAnKSB0aSA9 IHpuID0gLTk7CQkJCVwNCgkgIGVsc2UgaWYgKCh4Wy0xMV0gPT0gJyAnKSAm JiAoKHhbLTEwXT09JysnKSB8fCAoeFstMTBdPT0nLScpKSkJXA0KCSAgICB0 aSA9IHpuID0gLTExOwkJCQkJCVwNCgl9CQkJCQkJCQlcDQoJZWxzZSBpZiAo eFstNF0gPT0gJyAnKSB7CQkJCQlcDQoJICBpZiAoeFstOV0gPT0gJyAnKSB6 biA9IC00LHRpID0gLTk7CQkJCVwNCgl9CQkJCQkJCQlcDQoJZWxzZSBpZiAo eFstNl0gPT0gJyAnKSB7CQkJCQlcDQoJICBpZiAoKHhbLTExXSA9PSAnICcp ICYmICgoeFstNV0gPT0gJysnKSB8fCAoeFstNV0gPT0gJy0nKSkpCVwNCgkg ICAgem4gPSAtNix0aSA9IC0xMTsJCQkJCQlcDQoJfQkJCQkJCQkJXA0KCWlm ICh0aSAmJiAhKCh4W3RpIC0gM10gPT0gJzonKSAmJgkJCQlcDQoJCSAgICAo eFt0aSAtPSAoKHhbdGkgLSA2XSA9PSAnOicpID8gOSA6IDYpXSA9PSAnICcp ICYmCVwNCgkJICAgICh4W3RpIC0gM10gPT0gJyAnKSAmJiAoeFt0aSAtIDdd ID09ICcgJykgJiYJCVwNCgkJICAgICh4W3RpIC0gMTFdID09ICcgJykpKSB0 aSA9IDA7CQkJXA0KICAgICAgfQkJCQkJCQkJCVwNCiAgICB9CQkJCQkJCQkJ XA0KICB9CQkJCQkJCQkJXA0KfQ0KDQovKiBZb3UgYXJlIG5vdCBleHBlY3Rl ZCB0byB1bmRlcnN0YW5kIHRoaXMgbWFjcm8sIGJ1dCByZWFkIHRoZSBuZXh0 IHBhZ2UgaWYNCiAqIHlvdSBhcmUgbm90IGZhaW50IG9mIGhlYXJ0Lg0KICoN CiAqIEtub3duIGZvcm1hdHMgdG8gdGhlIFZBTElEIG1hY3JvIGFyZToNCiAq IAkJRnJvbSB1c2VyIFdlZCBEZWMgIDIgMDU6NTMgMTk5Mg0KICogQlNECQlG cm9tIHVzZXIgV2VkIERlYyAgMiAwNTo1MzoyMiAxOTkyDQogKiBTeXNWCQlG cm9tIHVzZXIgV2VkIERlYyAgMiAwNTo1MyBQU1QgMTk5Mg0KICogcm4JCUZy b20gdXNlciBXZWQgRGVjICAyIDA1OjUzOjIyIFBTVCAxOTkyDQogKgkJRnJv bSB1c2VyIFdlZCBEZWMgIDIgMDU6NTMgLTA3MDAgMTk5Mg0KICoJCUZyb20g dXNlciBXZWQgRGVjICAyIDA1OjUzOjIyIC0wNzAwIDE5OTINCiAqCQlGcm9t IHVzZXIgV2VkIERlYyAgMiAwNTo1MyAxOTkyIFBTVA0KICoJCUZyb20gdXNl ciBXZWQgRGVjICAyIDA1OjUzOjIyIDE5OTIgUFNUDQogKgkJRnJvbSB1c2Vy IFdlZCBEZWMgIDIgMDU6NTMgMTk5MiAtMDcwMA0KICogU29sYXJpcwlGcm9t IHVzZXIgV2VkIERlYyAgMiAwNTo1MzoyMiAxOTkyIC0wNzAwDQogKg0KICog UGx1cyBhbGwgb2YgdGhlIGFib3ZlIHdpdGggYGAgcmVtb3RlIGZyb20geHh4 JycgYWZ0ZXIgaXQuIFRoYW5rIHlvdSB2ZXJ5DQogKiBtdWNoLCBzbWFpbCBh bmQgU29sYXJpcywgZm9yIG1ha2luZyBteSBsaWZlIGNvbnNpZGVyYWJseSBt b3JlIGNvbXBsaWNhdGVkLg0KICovDQoNCg0KaW50IG5ld2xpbmUgPSAxOw0K DQovKg0KICogIDAgZm9yIG5vdCBhIGZyb20gbGluZQ0KICogIDEgZm9yIGlz IGEgZnJvbSBsaW5lDQogKi8NCg0KLyogVmFsaWQgVVVDUCBGcm9tIGxpbmVz Og0KICoNCiAqCUZyb20gQWRkcmVzcyBbdHR5XSBkYXRlDQogKglGcm9tIFt0 dHldIGRhdGUNCiAqDQogKgkiRnJvbSBbdHR5XSBkYXRlIiBpcyBwcm9iYWJs eSB2YWxpZCBidXQgSSdtIHRvbyBsYXp5IGF0IHRoaXMNCiAqCXRpbWUgdG8g YWRkIHRoZSBjb2RlLg0KICoNCiAqLw0KaW50DQppc2Zyb21saW5lKGNwKQ0K Y2hhcgkqY3A7DQp7DQogICAgaW50IHRpLCB6bjsNCiAgICBjaGFyICp4Ow0K DQogICAgLyogSWYgdGhlIHByZXZpb3VzIGxpbmUgd2FzIG5vdCBhIG5ld2xp bmUgdGhlbiBqdXN0IHJldHVybiAqLw0KICAgIC8qIEZyb20gbWVzc2FnZSBz ZXBhcmF0b3JzIGFyZSBwcmVjZWVkZWQgYnkgYSBuZXdsaW5lICovIA0KICAg IGlmICgqY3AgPT0gJ1xuJykgew0KCW5ld2xpbmUgPSAxOw0KCXJldHVybigw KTsNCiAgICB9IGVsc2UgaWYgKCFuZXdsaW5lKSB7DQoJcmV0dXJuKDApOw0K ICAgIH0gZWxzZQ0KCW5ld2xpbmUgPSAwOw0KDQogICAgVkFMSUQoY3AsIHgs IHRpLCB6bik7DQogICAgcmV0dXJuKHRpICE9IDApOw0KfQ0KDQoNCi8qDQog KiBCYXNlIDgwIGVuY29kaW5nIG9mIDE2Ynl0ZSBNRDUgaGFzaC4gVGhpcyBp cyBhYm91dCB0aGUgc21hbGxlcyBlbmNvZGluZw0KICogcG9zc2libGUgZm9y IHRoZSBNRDUgaGFzaCB1c2luZyB0aGUgY2hhcnMgYWxsb3dlZCBmb3IgVUlE THMuIA0KICogKDkzIEFTQ0lJIHZhbHVlcyBhcmUgYXZhaWxhYmxlIGFuZCAx OV45MyA8IDJeMTI4IDwgMjBeOTMpDQogKiBUaGlzIGltcGxlbWVudGF0aW9u IGlzbid0IGV4YWN0IGFib3V0IE1TQnMgYW5kIExTQiwgYnV0IGl0IGlzIHVu aXF1ZS4uDQogKi8NCg0KY2hhciAqYmFzZTgwKGNoYXIgKm91dHB1dCwgY2hh ciAqZGlnZXN0KQ0Kew0KICB1bnNpZ25lZCBsb25nIHYsIG4sIGo7DQogIGlu dCBpLCBrOw0KDQogIGZvcihpID0gMCA7IGkgPCAxNjsgKSB7DQogICAgdiA9 IDBMOw0KICAgIGRvIHsNCiAgICAgIHYgPSAodiA8PCA0KSArIGRpZ2VzdFtp KytdOw0KICAgIH0gd2hpbGUoaSU0KTsNCiAgICBmb3IoayA9IDA7IGsgPCA1 OyBrKyspIHsNCiAgICAgIGogPSB2ICUgODA7DQogICAgICB2ID0gKHYgLSBq KS84MDsNCiAgICAgICpvdXRwdXQgPSAweDIxICsgajsNCiAgICAgIC8qIEF2 b2lkIC4gYWx0Z290aGVyIHRvIGF2b2lkIGhhdmluZyB0byBzdHVmZiBpdCAq Lw0KICAgICAgaWYoKm91dHB1dCA9PSAnLicpDQogICAgICAgICpvdXRwdXQg PSAnfic7DQogICAgICBvdXRwdXQrKzsNCiAgICB9DQogIH0NCiAgKm91dHB1 dCA9ICdcMCc7DQogIHJldHVybihvdXRwdXQpOw0KfQ0KDQoNCg0KLyogSGFz aGluZyB0byBhIHNwb29sIGRpcmVjdG9yeSBoZWxwcyByZWR1Y2UgdGhlIGxv b2t1cCB0aW1lIGZvciBzaXRlcw0KICogd2l0aCB0aG91c2FuZHMgb2YgbWFp bCBzcG9vbCBmaWxlcy4gIFVuaXggdXNlcyBhIGxpbmVhciBsaXN0IHRvDQog KiBzYXZlIGRpcmVjdG9yeSBpbmZvcm1hdGlvbiBhbmQgdGhlIGZvbGxvd2lu ZyBtZXRob2RzIGF0dGVtcHQgdG8NCiAqIGltcHJvdmUgdGhlIHBlcmZvcm1h bmNlLg0KICoNCiAqIE1ldGhvZCAxIC0gYWRkIHRoZSB2YWx1ZSBvZiB0aGUg Zmlyc3QgNCBjaGFycyBtb2QgMjYgYW5kIG9wZW4gdGhlDQogKgkgICAgICBz cG9vbCBmaWxlIGluIHRoZSBkaXJlY3RvcnkgJ2EnIC0gJ3onL3VzZXIuDQog KgkgICAgICBCcmlhbiBCdWhyb3cgPGJ1aHJvd0BjYXRzLnVjc2MuZWR1Pg0K ICoNCiAqIE1ldGhvZCAyIC0gVXNlIHRoZSBmaXJzdCAyIGNoYXJhY3RlcnMg dG8gZGV0ZXJtaW5lIHdoaWNoIG1haWwgc3Bvb2wNCiAqCSAgICAgIHRvIG9w ZW4uICBFZzogL3Vzci9zcG9vbC91L3MvdXNlci4NCiAqCSAgICAgIExhcnJ5 IFNjaHdpbW1lciA8cm9zZWJ1ZEBjeWNsb25lLnN0YW5mb3JkLmVkdT4NCiAq DQogKiBBbGwgdGhlc2UgbWV0aG9kcyByZXF1aXJlIHRoYXQgbG9jYWwgbWFp bCBkZWxpdmVyeSBhbmQgY2xpZW50IHByb2dyYW1zDQogKiB1c2UgdGhlIHNh bWUgYWxnb3JpdGhtLiAgT25seSBvbmUgbWV0aG9kIHRvIGEgY3VzdG9tZXIg Oi0pDQogKi8NCg0KI2lmIChIQVNIX1NQT09MID09IDEpDQoNCmludA0KZ2Vu cGF0aChwKQ0KUE9QICpwOw0Kew0KICAgIGludCBzZWVkID0gMDsNCiAgICBj aGFyIGRpcmNoYXJbNF07DQoNCiAgICBpZiAoIXAtPnVzZXIgfHwgKnAtPnVz ZXIgPT0gJ1wwJykNCglyZXR1cm4oTlVMTCk7IC8qYm9ndXMgbG9naW4gbmFt ZSovDQoNCiAgICAvKk5vdywgcGVyZm9ybSB0aGUgaGFzaCovDQoNCiAgICBz d2l0Y2goc3RybGVuKHAtPnVzZXIpKSB7DQoJICAgY2FzZSAxOg0KCSAgIHNl ZWQgPSAocC0+dXNlclswXSk7DQoJICAgYnJlYWs7DQoJICAgY2FzZSAyOg0K CSAgIHNlZWQgPSAocC0+dXNlclswXSArIHAtPnVzZXJbMV0pOw0KCSAgIGJy ZWFrOw0KCSAgIGNhc2UgMzoNCgkgICBzZWVkID0gKHAtPnVzZXJbMF0gKyBw LT51c2VyWzFdICsgcC0+dXNlclsyXSk7DQoJICAgYnJlYWs7DQoJICAgY2Fz ZSA0Og0KCSAgIHNlZWQgPSAocC0+dXNlclswXSArIHAtPnVzZXJbMV0gKyBw LT51c2VyWzJdK3AtPnVzZXJbM10pOw0KCSAgIGJyZWFrOw0KCSAgIGRlZmF1 bHQ6DQoJICAgc2VlZCA9IChwLT51c2VyWzBdICsgcC0+dXNlclsxXSArIHAt PnVzZXJbMl0rcC0+dXNlclszXStwLT51c2VyWzRdKTsNCgkgICBicmVhazsN CiAgICB9DQogICAgZGlyY2hhclswXSA9ICcvJzsNCiAgICBkaXJjaGFyWzFd ID0gKGNoYXIpKChzZWVkICUgMjYpICsgJ2EnKTsNCiAgICBkaXJjaGFyWzJd ID0gJy8nOw0KICAgIGRpcmNoYXJbM10gPSAnXDAnOw0KICAgIHN0cm5jcHko cC0+ZHJvcF9uYW1lLCBQT1BfTUFJTERJUiwgc2l6ZW9mKHAtPmRyb3BfbmFt ZSkpOw0KICAgIHN0cm5jYXQocC0+ZHJvcF9uYW1lLCBkaXJjaGFyLCBzaXpl b2YocC0+ZHJvcF9uYW1lKSAtIHN0cmxlbihwLT5kcm9wX25hbWUpKTsNCiAg ICBzdHJuY2F0KHAtPmRyb3BfbmFtZSwgcC0+dXNlciwgc2l6ZW9mKHAtPmRy b3BfbmFtZSkgLSBzdHJsZW4ocC0+ZHJvcF9uYW1lKSk7DQoNCiAgICByZXR1 cm4oMSk7DQp9DQoNCiNlbmRpZg0KI2lmIChIQVNIX1NQT09MID09IDIpDQoN CmludA0KZ2VucGF0aChwKQ0KUE9QICpwOw0Kew0KICAgIHN0YXRpYyBjaGFy IHBhdGhzdHJbMjU2XTsNCg0KICAgIGlmICghcC0+dXNlciB8fCAqcC0+dXNl ciA9PSAnXDAnKQ0KCXJldHVybihOVUxMKTsNCiAgICANCiAgICBzcHJpbnRm KHBhdGhzdHIsICIvJWMvJWMvJXMiLA0KCQkgICAgKnAtPnVzZXIsICoocC0+ dXNlcisxKSA/ICoocC0+dXNlcisxKSA6ICpwLT51c2VyLCBwLT51c2VyKTsN Cg0KICAgIHN0cm5jcHkocC0+ZHJvcF9uYW1lLCBQT1BfTUFJTERJUiwgc2l6 ZW9mKHAtPmRyb3BfbmFtZSkpOw0KICAgIHN0cm5jYXQocC0+ZHJvcF9uYW1l LCBwYXRoc3RyLCBzaXplb2YocC0+ZHJvcF9uYW1lKSAtIHN0cmxlbihwLT5k cm9wX25hbWUpKTsNCg0KICAgIHJldHVybigxKTsNCn0NCg0KI2VuZGlmDQoj aWYgKEhBU0hfU1BPT0wgIT0gMSAmJiBIQVNIX1NQT09MICE9IDIpDQoNCmlu dA0KZ2VucGF0aChwKQ0KUE9QICpwOw0Kew0KICAgIHN0cnVjdCBwYXNzd2Qg KnB3cDsNCg0KI2lmZGVmIEhPTUVESVJNQUlMDQogICAgaWYgKChwd3AgPSBn ZXRwd25hbShwLT51c2VyKSkgPT0gTlVMTCkgew0KCXBvcF9sb2cocCwgUE9Q X0ZBSUxVUkUsICJ1bmFibGUgdG8gcmV0cmlldmUgdXNlcnMgcGFzc3dvcmQg ZW50cnkiKTsNCglyZXR1cm4oLTEpOw0KICAgIH0NCiAgICBzdHJuY3B5KHAt PmRyb3BfbmFtZSwgcHdwLT5wd19kaXIsIHNpemVvZihwLT5kcm9wX25hbWUp KTsNCiAgICBzdHJuY2F0KHAtPmRyb3BfbmFtZSwgIi8ubWFpbCIsc2l6ZW9m KHAtPmRyb3BfbmFtZSkgLSBzdHJsZW4ocC0+ZHJvcF9uYW1lKSk7DQojZWxz ZQ0KICAgIHN0cm5jcHkocC0+ZHJvcF9uYW1lLCBQT1BfTUFJTERJUiwgc2l6 ZW9mKHAtPmRyb3BfbmFtZSkpOw0KICAgIHN0cm5jYXQocC0+ZHJvcF9uYW1l LCAiLyIsIHNpemVvZihwLT5kcm9wX25hbWUpIC0gc3RybGVuKHAtPmRyb3Bf bmFtZSkpOw0KICAgIHN0cm5jYXQocC0+ZHJvcF9uYW1lLCBwLT51c2VyLCBz aXplb2YocC0+ZHJvcF9uYW1lKSAtIHN0cmxlbihwLT5kcm9wX25hbWUpKTsN CiNlbmRpZg0KDQogICAgcmV0dXJuKDEpOw0KfQ0KDQojZW5kaWYgLyogSEFT SF9TUE9PTCAqLw0KDQogIA0KDQovKiANCiAqIEJ1aWxkIHRoZSBNc2dfaW5m b19saXN0IGZyb20gdGhlIHRlbXBfZHJvcCBpbiBjYXNlIHRoZSBwcmV2aW91 cyBzZXNzaW9uDQogKiBmYWlsZWQgdG8gdHJ1bmNhdGUuIGluaXRfZHJvcGlu Zm8gYW5kIGRvX2Ryb3BfY29weSBkaWZmZXIgaW4gdGhhdA0KICogZG9fZHJv cF9jb3B5IHdvdWxkIGNvcHkgYWxsIHRoZSBtZXNzYWdlcyBmcm9tIHNvdXJj ZSBmaWxlIHRvIGRlc3RpbmF0aW9uDQogKiBmaWxlIHdoaWxlIGl0IGdlbmVy YXRlcyB0aGUgTXNnX2luZm9fbGlzdC4NCiAqLw0KaW50IGluaXRfZHJvcGlu Zm8ocCkNClBPUCAqcDsNCnsNCiAgICBNc2dJbmZvTGlzdCAgICAgICAgICog ICBtcDsgICAgICAgICAvKiBQb2ludGVyIHRvIG1lc3NhZ2UgaW5mbyBsaXN0 ICovDQogICAgaW50CQkJICAgIG1zZ19udW07CS8qIEN1cnJlbnQgbWVzc2Fn ZSBudW1iZXIgKi8NCiAgICBpbnQJCQkgICAgbmNoYXI7DQogICAgaW50CQkJ ICAgIGluaGVhZGVyOw0KICAgIGludAkJCSAgICB1aWRsX2ZvdW5kOw0KICAg IGludAkJCSAgICBleHBlY3RpbmdfdHJhaWxlcjsNCiAgICBpbnQJCQkgICAg Y29udGVudF9sZW5ndGgsIGNvbnRlbnRfbmNoYXIsIGNvbnRfbGVuOw0KICAg IGNoYXIgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcltNQVhMSU5FTEVOXTsJ CS8qICBSZWFkIGJ1ZmZlciAqLw0KICAgIGNoYXIgICAgICAgICAgICAgICAg ICAgIGZyb21idWZbTUFYTElORUxFTl07ICAgICAgICAvKiBGcm9tIEVudmVs b3BlIG9mIGVhY2gNCgkJCQkJCQkgKiBtZXNzYWdlIGlzIHNhdmVkLCBmb3IN CgkJCQkJCQkgKiBhZGRpbmcgaXQgdG8gVUlETA0KCQkJCQkJCSAqIGNvbXB1 dGF0aW9uICovDQogICAgTUQ1X0NUWAkJICAgIG1kQ29udGV4dDsNCiAgICB1 bnNpZ25lZCBjaGFyCSAgICBkaWdlc3RbMTZdOw0KICAgIGxvbmcgdW5pcXVl X251bSA9IHRpbWUoMCk7DQoNCiAgICBERUJVR19MT0cxKHAsIkRST1BJTkZP IENoZWNraW5nIGZvciBvbGQgLiVzLnBvcCBmaWxlIiwgcC0+dXNlcik7DQoN Cg0KI2lmZGVmIE5VTExLTFVER0UNCiAgICB7DQoJLyogRWF0IE5VTExzIGF0 IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1haWxzcG9vbCAqLw0KCWNoYXIgdGVt cGNoYXI7DQoJd2hpbGUgKCh0ZW1wY2hhciA9IGdldGMocC0+ZHJvcCkpID09 IDApOw0KCXVuZ2V0Yyh0ZW1wY2hhciwgcC0+ZHJvcCk7DQogICAgfQ0KI2Vu ZGlmDQoNCiAgICBpZiAobWZnZXRzKGJ1ZmZlciwgTUFYTVNHTElORUxFTiwg cC0+ZHJvcCkgPT0gTlVMTCkgew0KCURFQlVHX0xPRzEocCwgIkRyb3AgZmls ZSBlbXB0eSBpbnRpYWxseSA6ICVzIiwgcC0+dGVtcF9kcm9wKTsNCglyZXR1 cm4oUE9QX1NVQ0NFU1MpOyAgICANCiAgICB9DQoNCiAgICAvKiBJcyB0aGlz IGFuIE1NREYgZmlsZT8gKi8NCiAgICBpZiAoKmJ1ZmZlciA9PSBNTURGX1NF UF9DSEFSKSB7DQoJcC0+bW1kZl9zZXBhcmF0b3IgPSAoY2hhciAqKXN0cmR1 cChidWZmZXIpOw0KICAgIH0gZWxzZSBpZiAoIWlzZnJvbWxpbmUoYnVmZmVy KSkgew0KCXJldHVybiBwb3BfbXNnIChwLFBPUF9GQUlMVVJFLA0KCSAgIlVu YWJsZSB0byBwcm9jZXNzIEZyb20gbGluZXMgKGVudmVsb3BlcykgaW4gJXMu IixwLT50ZW1wX2Ryb3ApOw0KICAgIH0NCg0KICAgIG5ld2xpbmUgPSAxOw0K ICAgIHJld2luZChwLT5kcm9wKTsNCg0KICAgIGluaGVhZGVyID0gMDsNCiAg ICBtc2dfbnVtID0gMDsNCiAgICB1aWRsX2ZvdW5kID0gMDsNCiAgICBleHBl Y3RpbmdfdHJhaWxlciA9IDA7DQogICAgY29udGVudF9sZW5ndGggPSAwOw0K ICAgIGNvbnRlbnRfbmNoYXIgPSAwOw0KICAgIGNvbnRfbGVuID0gMDsNCiAg ICBwLT5tc2dfY291bnQgPSBBTExPQ19NU0dTOw0KDQoNCiNpZmRlZiBOVUxM S0xVREdFDQogICAgew0KCS8qIEVhdCBOVUxMcyBhdCB0aGUgYmVnaW5uaW5n IG9mIHRoZSBtYWlsc3Bvb2wgKi8NCgljaGFyIHRlbXBjaGFyOw0KCXdoaWxl ICgodGVtcGNoYXIgPSBnZXRjKHAtPmRyb3ApKSA9PSAwKTsNCgl1bmdldGMo dGVtcGNoYXIsIHAtPmRyb3ApOw0KICAgIH0NCiNlbmRpZg0KDQogICAgREVC VUdfTE9HMShwLCJCdWlsZGluZyB0aGUgTWVzc2FnZSBJbmZvcm1hdGlvbiBs aXN0IGZyb20gJXMiLHAtPnRlbXBfZHJvcCk7DQoNCiAgICBmb3IgKG1wPXAt Pm1scCAtIDE7IG1mZ2V0cyhidWZmZXIsIE1BWE1TR0xJTkVMRU4sIHAtPmRy b3ApOykgew0KCW5jaGFyID0gc3RybGVuKGJ1ZmZlcik7DQoNCglpZiAoKGNv bnRlbnRfbmNoYXIgPj0gY29udGVudF9sZW5ndGgpICYmDQoJICAgIChwLT5t bWRmX3NlcGFyYXRvciA/ICFzdHJjbXAocC0+bW1kZl9zZXBhcmF0b3IsIGJ1 ZmZlcikgOg0KCSAgICBpc2Zyb21saW5lKGJ1ZmZlcikpKSB7DQogICAgICAg ICAgICAvKiAtLS0tIEEgbWVzc2FnZSBib3VuZGFyeSAtLS0tLSAqLw0KICAg ICAgICAgICAgLyogLS0tLSBUaWR5IHVwIHByZXZpb3VzIG1lc3NhZ2UgKGlm IHRoZXJlIHdhcyBvbmUpIC0tLS0gKi8NCgkgICAgaWYgKGV4cGVjdGluZ190 cmFpbGVyKSB7DQoJCS8qIHNraXAgb3ZlciB0aGUgTU1ERiB0cmFpbGVyICov DQoJCWV4cGVjdGluZ190cmFpbGVyID0gMDsNCgkJY29udGludWU7DQoJICAg IH0NCg0KCSAgICBpZighcC0+bW1kZl9zZXBhcmF0b3IpIHsNCgkJc3RyY3B5 KGZyb21idWYsYnVmZmVyKTsgLyogUHJlc2VydmVkIEZyb20gZW52ZWxvcGUg Ki8NCgkgICAgfQ0KICAgICAgICAgICAgLyogLS0tLS0tIEdldCByZWFkeSBm b3IgdGhlIG5leHQgbWVzc2FnZSAtLS0tLSAqLw0KCSAgICBNRDVJbml0ICgm bWRDb250ZXh0KTsNCgkgICAgTUQ1VXBkYXRlKCZtZENvbnRleHQsKHVuc2ln bmVkIGNoYXIgKilidWZmZXIsc3RybGVuKGJ1ZmZlcikpOw0KICAgICAgICAg ICAgLyogSW5jbHVkZSBhIHVuaXF1ZSBudW1iZXIgaW4gY2FzZSBldmVyeXRo aW5nIGVsc2UgaXMgbm90ICovDQogICAgICAgICAgICB1bmlxdWVfbnVtKys7 DQogICAgICAgICAgICBNRDVVcGRhdGUoJm1kQ29udGV4dCwodW5zaWduZWQg Y2hhciAqKSZ1bmlxdWVfbnVtLCBzaXplb2YobG9uZykpOw0KDQoJICAgIGlm ICghaW5oZWFkZXIpIHsNCgkJaWYgKCsrbXNnX251bSA+IHAtPm1zZ19jb3Vu dCkgew0KCQkgICAgcC0+bWxwID0gKE1zZ0luZm9MaXN0ICopIHJlYWxsb2Mo cC0+bWxwLA0KCQkJKHAtPm1zZ19jb3VudCArPSBBTExPQ19NU0dTKSAqIHNp emVvZihNc2dJbmZvTGlzdCkpOw0KCQkgICAgaWYgKHAtPm1scCA9PSBOVUxM KXsNCgkJCXAtPm1zZ19jb3VudCA9IDA7DQoJCQlyZXR1cm4gcG9wX21zZyAo cCwgUE9QX0ZBSUxVUkUsDQoJCQkgICAgIkNhbid0IGJ1aWxkIG1lc3NhZ2Ug bGlzdCBmb3IgJyVzJzogT3V0IG9mIG1lbW9yeSIsDQoJCQkJICAgIHAtPnVz ZXIpOw0KCQkgICAgfQ0KCQkgICAgbXAgPSBwLT5tbHAgKyBtc2dfbnVtIC0g MjsNCgkJfQ0KCQlpZihtc2dfbnVtICE9IDEpew0KCQkgICAgREVCVUdfTE9H NShwLCJNc2cgJWQgdWlkbCAlcyBhdCBvZmZzZXQgJWQgaXMgJWQgb2N0ZXRz IGxvbmcgYW5kIGhhcyAldSBsaW5lcy4iLA0KCQkJICAgICAgIG1wLT5udW1i ZXIsIG1wLT51aWRsX3N0ciwgbXAtPm9mZnNldCwgDQoJCQkgICAgICAgbXAt Pmxlbmd0aCwgbXAtPmxpbmVzKTsNCgkJfQ0KCQllbHNlDQoJCSAgICBwb3Bf bG9nKHAsUE9QX0RFQlVHLCAiRm91bmQgdG9wIG9mIGZpcnN0IG1lc3NhZ2Ui KTsNCgkJKyttcDsNCg0KCSAgICB9IA0KCSAgICBlbHNlIHsgDQoJCXBvcF9s b2cocCxQT1BfREVCVUcsDQoJCSAgICAiTXNnICVkIGNvcnJ1cHRlZCwgaWdu b3JpbmcgcHJldmlvdXMgaGVhZGVyIGluZm9ybWF0aW9uLiIsDQoJCSAgICAg bXAtPm51bWJlcik7DQoJICAgIH0NCgkgICAgbXAtPm51bWJlciA9IG1zZ19u dW07DQoJICAgIG1wLT5sZW5ndGggPSAwOw0KCSAgICBtcC0+bGluZXMgPSAw Ow0KCSAgICBtcC0+Ym9keV9saW5lcyA9IDA7DQoJICAgIG1wLT5vZmZzZXQg PSBmdGVsbChwLT5kcm9wKSAtIG5jaGFyOw0KCSAgICBtcC0+ZGVsX2ZsYWcg PSBGQUxTRTsNCgkgICAgbXAtPnJldHJfZmxhZyA9IEZBTFNFOw0KCSAgICBt cC0+b3JpZ19yZXRyX3N0YXRlID0gRkFMU0U7DQoJICAgIG1wLT51aWRsX3N0 ciA9ICJcbiI7DQoJICAgIERFQlVHX0xPRzEocCwiTXNnICVkIGJlaW5nIGFk ZGVkIHRvIGxpc3QgJXgiLCBtcC0+bnVtYmVyKTsNCgkgICAgaW5oZWFkZXIg PSAxOw0KCSAgICB1aWRsX2ZvdW5kID0gMDsNCgkgICAgY29udGVudF9uY2hh ciA9IDA7DQoJICAgIGNvbnRlbnRfbGVuZ3RoID0gMDsNCgkgICAgY29udF9s ZW4gPSAwOw0KCSAgICBpZiAocC0+bW1kZl9zZXBhcmF0b3IpDQoJCWV4cGVj dGluZ190cmFpbGVyID0gMTsNCg0KCSAgICBjb250aW51ZTsJLyogRG9uJ3Qg Y291bnQgbWVzc2FnZSBzZXBhcmF0b3IgaW4gdG90YWwgc2l6ZSAqLw0KCX0N CgkNCglpZiAoaW5oZWFkZXIpIHsNCgkgICAgaWYgKCpidWZmZXIgPT0gJ1xu Jykgew0KCQlpbmhlYWRlciA9IDA7DQoJCWNvbnRlbnRfbGVuZ3RoID0gY29u dF9sZW47DQoJCW1wLT5ib2R5X2xpbmVzID0gMTsgIC8qIENvdW50IG5ld2xp bmUgYXMgdGhlIGZpcnN0IGJvZHkgbGluZSAqLw0KCQlpZiAoIXVpZGxfZm91 bmQpIHsNCgkJICAgIGNoYXIJKmNwOw0KCQkgICAgaW50CQlpOw0KDQoJCSAg ICBNRDVVcGRhdGUoJm1kQ29udGV4dCwgKHVuc2lnbmVkIGNoYXIgKilmcm9t YnVmLCANCgkJCSAgICAgIHN0cmxlbihmcm9tYnVmKSk7DQoJCSAgICBNRDVG aW5hbCAoZGlnZXN0LCAmbWRDb250ZXh0KTsNCgkJICAgIGNwID0gbXAtPnVp ZGxfc3RyID0gKGNoYXIgKiltYWxsb2MoKERJR19TSVpFICogMikgKyAyKTsN CgkJICAgIGNwID0gYmFzZTgwKGNwLCBkaWdlc3QpOw0KCQkgICAgKmNwKysg PSAnXG4nOw0KCQkgICAgKmNwICAgPSAnXDAnOw0KDQoJCSAgICBtcC0+bGVu Z3RoICs9IHN0cmxlbigiWC1VSURMOiAiKSArIHN0cmxlbihtcC0+dWlkbF9z dHIpICsgMTsNCgkJICAgIHAtPmRyb3Bfc2l6ZSArPSBzdHJsZW4oIlgtVUlE TDogIikgKyBzdHJsZW4obXAtPnVpZGxfc3RyKSsxOw0KDQoJLyogTmV3IFVJ RHMgZG8gbm90IGRpcnR5IHRoZSBtYWlsc3Bvb2wgaWYgTk9fU1RBVFVTIGlz IHNldC4gIFRoZXkNCgkgICBhcmUganVzdCByZWNhbGN1bGF0ZWQgZWFjaCB0 aW1lIHRoZSBwb3BwZXIgaXMgcnVuIG9yIExNT1MgaXMNCgkgICBzZXQgYW5k IHRoZSBtYWlsIHNwb29sIGlzIHVwZGF0ZWQuDQoJICovDQojaWZuZGVmIE5P X1NUQVRVUw0KCQkgICAgcC0+ZGlydHkgPSAxOw0KI2VuZGlmDQoJCX0NCg0K CSAgICB9IGVsc2UgaWYgKENPTlRFTlRfTEVOR1RIICYmICFzdHJuY21wKGJ1 ZmZlciwgIkNvbnRlbnQtTGVuZ3RoOiIsIDE1KSkgew0KCQljb250X2xlbiA9 IGF0b2koYnVmZmVyICsgMTUpOw0KCQlNRDVVcGRhdGUoJm1kQ29udGV4dCwo dW5zaWduZWQgY2hhciAqKWJ1ZmZlcixzdHJsZW4oYnVmZmVyKSk7DQoJCW1w LT5saW5lcysrOw0KCQljb250aW51ZTsJLyogbm90IHBhcnQgb2YgdGhlIG1l c3NhZ2Ugc2l6ZSAqLw0KCSAgICB9IGVsc2UgaWYgKCF1aWRsX2ZvdW5kICYm ICghc3RybmNhc2VjbXAoIlJlY2VpdmVkOiIsIGJ1ZmZlciwgOSkgfHwNCgkJ CQkgICAgICAgIXN0cm5jYXNlY21wKCJEYXRlOiIsIGJ1ZmZlciwgNSkgfHwN CgkJCQkgICAgICAgIXN0cm5jYXNlY21wKCJNZXNzYWdlLUlkOiIsYnVmZmVy LCAxMSkgfHwNCgkJCQkgICAgICAgIXN0cm5jYXNlY21wKCJTdWJqZWN0OiIs YnVmZmVyLCA4KQ0KCQkJCSAgICAgICApKSB7DQoJCU1ENVVwZGF0ZSgmbWRD b250ZXh0LCh1bnNpZ25lZCBjaGFyICopYnVmZmVyLHN0cmxlbihidWZmZXIp KTsNCgkgICAgfSBlbHNlIGlmICghc3RybmNhc2VjbXAoIlgtVUlETDoiLCBi dWZmZXIsIDcpKSB7DQoJCWlmICghdWlkbF9mb3VuZCkgew0KCQkgICAgY2hh ciAqY3A7DQoJCSAgICBpbnQgbGVuOw0KDQoJCSAgICAvKiBTa2lwIG92ZXIg aGVhZGVyIHN0cmluZyAqLw0KCQkgICAgY3AgPSBidWZmZXI7DQoJCSAgICBp ZiAoY3AgPSBpbmRleChidWZmZXIsICc6JykpIHsNCgkJCWNwKys7DQoJCQl3 aGlsZSAoKmNwICYmICgqY3AgPT0gJyAnIHx8ICpjcCA9PSAnXHQnKSkgY3Ar KzsNCgkJICAgIH0gZWxzZQ0KCQkJY3AgPSAiIjsNCg0KCQkgICAgaWYoIChs ZW4gPSBzdHJsZW4oY3ApKSA+IE1JTl9VSURMX0xFTkdUSCAmJiBsZW4gPCBN QVhfVUlETF9MRU5HVEggKSB7DQoJCQl1aWRsX2ZvdW5kKys7DQoJCQltcC0+ dWlkbF9zdHIgPSAoY2hhciAqKXN0cmR1cChjcCk7DQoJCQltcC0+bGVuZ3Ro ICs9IG5jaGFyICsgMTsNCgkJCXAtPmRyb3Bfc2l6ZSArPSBuY2hhciArIDE7 DQoJCSAgICB9DQoJCX0NCgkJbXAtPmxpbmVzKys7DQoJCWNvbnRpbnVlOyAg LyogRG8gbm90IGluY2x1ZGUgdGhpcyB2YWx1ZSBpbiB0aGUgbWVzc2FnZSBz aXplICovDQoJICAgIH0gZWxzZSBpZiAoKHN0cm5jYXNlY21wKGJ1ZmZlciwi U3RhdHVzOiIsNykgPT0gMCkpIHsNCgkJaWYgKGluZGV4KGJ1ZmZlciwgJ1In KSAhPSBOVUxMKSB7DQoJCSAgICBtcC0+cmV0cl9mbGFnID0gVFJVRTsNCgkJ ICAgIG1wLT5vcmlnX3JldHJfc3RhdGUgPSBUUlVFOw0KCQl9DQoJICAgIH0N Cgl9IGVsc2Ugew0KCSAgICBjb250ZW50X25jaGFyICs9IG5jaGFyOw0KCSAg ICBtcC0+Ym9keV9saW5lcysrOw0KCX0NCiAgICAgICANCgltcC0+bGVuZ3Ro ICs9IG5jaGFyICsgMTsNCglwLT5kcm9wX3NpemUgKz0gbmNoYXIgKyAxOw0K CW1wLT5saW5lcysrOw0KICAgIH0NCg0KICAgIHAtPm1zZ19jb3VudCA9IG1z Z19udW07DQoNCiAgICByZXR1cm4oUE9QX1NVQ0NFU1MpOw0KfQ0KDQoNCi8q IA0KICogIHVzZSB0byBiZSBkcm9waW5mbzogICBFeHRyYWN0IGluZm9ybWF0 aW9uIGFib3V0IHRoZSBQT1AgbWFpbGRyb3AgYW5kIHN0b3JlIA0KICogIGl0 IGZvciB1c2UgYnkgdGhlIG90aGVyIFBPUCByb3V0aW5lcy4NCiAqDQogKiAg Tm93LCB0aGUgY29weSBhbmQgaW5mbyBjb2xsZWN0aW9uIGFyZSBkb25lIGF0 IHRoZSBzYW1lIHRpbWUuDQogKi8NCg0KZG9fZHJvcF9jb3B5KHAsIG1mZCwg ZGZkKQ0KaW50CW1mZCwgZGZkOw0KUE9QCSpwOw0Kew0KICAgIGNoYXIgICAg ICAgICAgICAgICAgICAgIGJ1ZmZlcltNQVhMSU5FTEVOXTsgICAgIC8qICBS ZWFkIGJ1ZmZlciAqLw0KICAgIGNoYXIgICAgICAgICAgICAgICAgICAgIGZy b21idWZbTUFYTElORUxFTl07ICAgIC8qICBUbyBzYXZlIEZyb20gRW52ZWxv cGUgKi8NCiAgICBNc2dJbmZvTGlzdCAgICAgICAgICogICBtcDsgICAgICAg ICAgICAgICAgICAgICAvKiAgUG9pbnRlciB0byBtZXNzYWdlIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbmZvIGxpc3QgKi8NCiAgICBpbnQgICAgICAgICAgICAgICAgICAg ICBuY2hhcjsgICAgICAgICAgICAgICAgICAvKiAgQnl0ZXMgd3JpdHRlbi9y ZWFkICovDQogICAgaW50CQkJICAgIGluaGVhZGVyOwkJICAgIC8qICBIZWFk ZXIgc2VjdGlvbiBmbGFnICovDQogICAgaW50CQkJICAgIHVpZGxfZm91bmQ7 CQkgICAgLyogIFVJREwgaGVhZGVyIGZsYWcgKi8NCiAgICBpbnQJCQkgICAg bXNnX251bTsNCiAgICBpbnQJCQkgICAgZXhwZWN0aW5nX3RyYWlsZXI7DQog ICAgaW50CQkJICAgIGNvbnRlbnRfbGVuZ3RoLCBjb250ZW50X25jaGFyLCBj b250X2xlbjsNCiAgICBNRDVfQ1RYCQkgICAgbWRDb250ZXh0Ow0KICAgIHVu c2lnbmVkIGNoYXIJICAgIGRpZ2VzdFsxNl07DQogICAgaW50ICAgICAgICAg ICAgICAgICAgICAgbWFuZ2xlZF9vbmU7DQogICAgRklMRQkJICAgICptYWls X2Ryb3A7CQkgICAgLyogIFN0cmVhbXMgZm9yIGZpZHMgKi8NCiAgICBsb25n IHVuaXF1ZV9udW0gPSB0aW1lKDApOw0KDQogICAgREVCVUdfTE9HMChwLCJE Uk9QQ09QWTogUmVhZGluZyB0aGUgTWFpbCBEcm9wIGJveC4iKTsNCiAgICAv KiAgQWNxdWlyZSBhIHN0cmVhbSBwb2ludGVyIGZvciB0aGUgbWFpbGRyb3Ag Ki8NCiAgICBpZiAoIChtYWlsX2Ryb3AgPSBmZG9wZW4obWZkLCJyIikpID09 IE5VTEwgKSB7DQogICAgICAgIHJldHVybiBwb3BfbXNnKHAsUE9QX0ZBSUxV UkUsIkNhbm5vdCBhc3NpZ24gc3RyZWFtIGZvciAlcyAoJWQpIiwNCgkJICAg ICAgIHAtPmRyb3BfbmFtZSwgZXJybm8pOw0KICAgIH0NCg0KICAgIHJld2lu ZCAobWFpbF9kcm9wKTsNCiNpZmRlZiBOVUxMS0xVREdFDQogICAgey8qIEVh dCBOVUxMcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtYWlsc3Bvb2wgKi8N CiAgICAgICAgY2hhciB0ZW1wY2hhciA7DQoJd2hpbGUgKCh0ZW1wY2hhciA9 IGdldGMocC0+ZHJvcCkpID09IDApOw0KCXVuZ2V0Yyh0ZW1wY2hhciwgcC0+ ZHJvcCk7DQogICAgfQ0KI2VuZGlmDQogICAgaWYgKG1mZ2V0cyhidWZmZXIs IE1BWE1TR0xJTkVMRU4sIG1haWxfZHJvcCkgPT0gTlVMTCkgew0KCXJldHVy bihQT1BfU1VDQ0VTUyk7DQogICAgfQ0KDQogICAgLyogSXMgdGhpcyBhbiBN TURGIGZpbGU/ICovDQogICAgaWYgKCpidWZmZXIgPT0gTU1ERl9TRVBfQ0hB Uikgew0KCWlmICghcC0+bW1kZl9zZXBhcmF0b3IpDQoJICAgIHAtPm1tZGZf c2VwYXJhdG9yID0gKGNoYXIgKilzdHJkdXAoYnVmZmVyKTsNCiAgICB9IGVs c2UgaWYgKCFpc2Zyb21saW5lKGJ1ZmZlcikpIHsNCglERUJVR19MT0cxKHAs ImJ1ZmZlciBjaGVja2VkICVzIiwgYnVmZmVyKTsNCglyZXR1cm4gcG9wX21z ZyAocCxQT1BfRkFJTFVSRSwNCgkgIlVuYWJsZSB0byBwcm9jZXNzIEZyb20g bGluZXMgKGVudmVsb3BlcyksIGNoYW5nZSByZWNvZ25pdGlvbiBtb2Rlcy4i KTsNCiAgICB9DQoNCiAgICBuZXdsaW5lID0gMTsNCiAgICByZXdpbmQgKG1h aWxfZHJvcCk7DQoNCiAgICAvKiAgU2NhbiB0aGUgZmlsZSwgbG9hZGluZyB0 aGUgbWVzc2FnZSBpbmZvcm1hdGlvbiBsaXN0IHdpdGggDQogICAgICAgIGlu Zm9ybWF0aW9uIGFib3V0IGVhY2ggbWVzc2FnZSAqLw0KDQogICAgaW5oZWFk ZXIgPSAwOw0KICAgIHVpZGxfZm91bmQgPSAwOw0KICAgIGV4cGVjdGluZ190 cmFpbGVyID0gMDsNCiAgICBtc2dfbnVtID0gcC0+bXNnX2NvdW50Ow0KICAg IGNvbnRlbnRfbGVuZ3RoID0gMDsNCiAgICBjb250ZW50X25jaGFyID0gMDsN CiAgICBjb250X2xlbiA9IDA7DQogICAgbWFuZ2xlZF9vbmUgPSAwOw0KICAg IHAtPm1zZ19jb3VudCA9ICgoKHAtPm1zZ19jb3VudCAtIDEpIC8gQUxMT0Nf TVNHUykgKyAxKSAqIEFMTE9DX01TR1M7DQojaWZkZWYgTlVMTEtMVURHRQ0K ICAgIHsvKiBFYXQgTlVMTHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFp bHNwb29sIGlmIGFueS4qLw0KCWNoYXIgdGVtcGNoYXI7DQoJd2hpbGUgKCh0 ZW1wY2hhciA9IGdldGMocC0+ZHJvcCkpID09IDApOw0KCXVuZ2V0Yyh0ZW1w Y2hhciwgcC0+ZHJvcCk7DQogICAgfQ0KI2VuZGlmDQogICAgZm9yIChtcCA9 IHAtPm1scCArIG1zZ19udW0gLSAxOyBtZmdldHMoYnVmZmVyLE1BWE1TR0xJ TkVMRU4sbWFpbF9kcm9wKTspIHsNCg0KCW5jaGFyID0gc3RybGVuKGJ1ZmZl cik7DQoNCglpZiAoZnB1dHMoYnVmZmVyLCBwLT5kcm9wKSA9PSBFT0YpIHsN CgkgICAgaWYgKGVycm5vID09IEVEUVVPVCkNCgkJcmV0dXJuIHBvcF9tc2cg KHAsUE9QX0ZBSUxVUkUsDQoJCSAgICAiVW5hYmxlIHRvIGNvcHkgbWFpbCBz cG9vbCBmaWxlLCBxdW90YSBleGNlZWRlZCAoJWQpIiwNCgkJCWVycm5vKTsN CgkgICAgcmV0dXJuIHBvcF9tc2cgKHAsUE9QX0ZBSUxVUkUsDQoJCSJVbmFi bGUgdG8gY29weSBtYWlsIHNwb29sIGZpbGUgdG8gdGVtcCBwb3AgZHJvcGJv eCAlcyAoJWQpIiwNCgkJICAgIHAtPnRlbXBfZHJvcCwgZXJybm8pOw0KCX0N CgkvKiBFbmQgb2YgcHJldmlvdXMgbWVzc2FnZSAqLw0KCWlmICgoY29udGVu dF9uY2hhciA+PSBjb250ZW50X2xlbmd0aCkgJiYNCgkgICAgKHAtPm1tZGZf c2VwYXJhdG9yID8gIXN0cmNtcChwLT5tbWRmX3NlcGFyYXRvciwgYnVmZmVy KSA6DQoJICAgIGlzZnJvbWxpbmUoYnVmZmVyKSkpIHsNCiAgICAgICAgICAg IC8qPT09IE1hdGNoZWQgc2VwYXJhdG9yLCB0aWUgb2YgbGFzdCBtZXNzYWdl LCBzdGFydCBuZXcgb25lID09PSovDQoNCg0KCSAgICBpZiAoZXhwZWN0aW5n X3RyYWlsZXIpIHsNCgkJZXhwZWN0aW5nX3RyYWlsZXIgPSAwOw0KCQljb250 aW51ZTsNCgkgICAgfQ0KDQoJICAgIGlmKCAhcC0+bW1kZl9zZXBhcmF0b3Ig KSB7DQoJCXN0cmNweShmcm9tYnVmLCBidWZmZXIpOw0KCSAgICB9DQoNCiAg ICAgICAgICAgIC8qPT09IFN0YXJ0aW5nIG5ldyBtZXNzYWdlID09PSovDQoJ ICAgIE1ENUluaXQgKCZtZENvbnRleHQpOw0KCSAgICBNRDVVcGRhdGUoJm1k Q29udGV4dCwodW5zaWduZWQgY2hhciAqKWJ1ZmZlcixzdHJsZW4oYnVmZmVy KSk7DQogICAgICAgICAgICAvKiBJbmNsdWRlIGEgdW5pcXVlIG51bWJlciBp biBjYXNlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBub3QgKi8NCiAgICAgICAgICAg IHVuaXF1ZV9udW0rKzsNCiAgICAgICAgICAgIE1ENVVwZGF0ZSgmbWRDb250 ZXh0LCh1bnNpZ25lZCBjaGFyICopJnVuaXF1ZV9udW0sIHNpemVvZihsb25n KSk7DQoNCgkgICAgaWYgKCFpbmhlYWRlcikgew0KCQlpZiAoKyttc2dfbnVt ID4gcC0+bXNnX2NvdW50KSB7DQoJCSAgICBwLT5tbHA9KE1zZ0luZm9MaXN0 ICopIHJlYWxsb2MocC0+bWxwLA0KCQkJKHAtPm1zZ19jb3VudCs9QUxMT0Nf TVNHUykqc2l6ZW9mKE1zZ0luZm9MaXN0KSk7DQoJCSAgICBpZiAocC0+bWxw ID09IE5VTEwpIHsNCgkJCXAtPm1zZ19jb3VudCA9IDA7DQoJCQlyZXR1cm4g cG9wX21zZyAocCxQT1BfRkFJTFVSRSwNCgkJCSAgICAiQ2FuJ3QgYnVpbGQg bWVzc2FnZSBsaXN0IGZvciAnJXMnOiBPdXQgb2YgbWVtb3J5IiwNCgkJCQlw LT51c2VyKTsNCgkJICAgIH0NCgkJICAgIG1wID0gcC0+bWxwICsgbXNnX251 bSAtIDI7DQoJCX0NCgkJaWYoIG1zZ19udW0gIT0gMSkNCgkJICAgIERFQlVH X0xPRzUocCwiTXNnICVkIHVpZGwgJXMgYXQgb2Zmc2V0ICVkIGlzICVkIG9j dGV0cyBsb25nIGFuZCBoYXMgJXUgbGluZXMuIiwNCgkJCSAgICAgIG1wLT5u dW1iZXIsbXAtPnVpZGxfc3RyLG1wLT5vZmZzZXQsbXAtPmxlbmd0aCwNCgkJ CSAgICAgIG1wLT5saW5lcyk7DQoJCSsrbXA7DQoNCgkgICAgfSBlbHNlIHsN CgkJcG9wX2xvZyhwLFBPUF9ERUJVRywiTXNnICVkIGNvcnJ1cHRlZCwgaWdu b3JpbmcgcHJldmlvdXMgaGVhZGVyIGluZm9ybWF0aW9uLiIsDQoJCSAgICAg bXAtPm51bWJlcik7DQoJICAgIH0NCg0KICAgICAgICAgICAgbXAtPm51bWJl ciA9IG1zZ19udW07DQogICAgICAgICAgICBtcC0+bGVuZ3RoID0gMDsNCiAg ICAgICAgICAgIG1wLT5saW5lcyA9IDA7DQogICAgICAgICAgICBtcC0+Ym9k eV9saW5lcyA9IDA7DQogICAgICAgICAgICBtcC0+b2Zmc2V0ID0gZnRlbGwo cC0+ZHJvcCkgLSBuY2hhcjsNCiAgICAgICAgICAgIG1wLT5kZWxfZmxhZyA9 IEZBTFNFOw0KICAgICAgICAgICAgbXAtPnJldHJfZmxhZyA9IEZBTFNFOw0K ICAgICAgICAgICAgbXAtPm9yaWdfcmV0cl9zdGF0ZSA9IEZBTFNFOw0KCSAg ICBtcC0+dWlkbF9zdHIgPSAiXG4iOw0KDQoJICAgIERFQlVHX0xPRzEocCwi TXNnICVkIGJlaW5nIGFkZGVkIHRvIGxpc3QuIiwgbXAtPm51bWJlcik7DQoJ ICAgIGluaGVhZGVyID0gMTsNCgkgICAgY29udGVudF9sZW5ndGggPSAwOw0K CSAgICBjb250ZW50X25jaGFyID0gMDsNCgkgICAgY29udF9sZW4gPSAwOw0K CSAgICB1aWRsX2ZvdW5kID0gMDsNCgkgICAgaWYgKHAtPm1tZGZfc2VwYXJh dG9yKQ0KCQlleHBlY3RpbmdfdHJhaWxlciA9IDE7DQoNCg0KCSAgICBjb250 aW51ZTsJLyogRG8gbm90IGluY2x1ZGUgRnJvbSBzZXBhcmF0b3IgaW4gbWVz c2FnZSBzaXplICovDQogICAgICAgIH0NCg0KICAgICAgICAvKiA9PT09PT0g SGFuZGxlIGhlYWRlciBhbmQgYm9keSBvZiBtZXNzYWdlIGhlcmUgPT09PSAq Lw0KCWlmIChpbmhlYWRlcikgew0KICAgICAgICAgICAgLyogPT09PT0gSGFu ZGxlIHRoZSBoZWFkZXIgb2YgYSBtZXNzYWdlID09PT0gKi8NCgkgICAgaWYg KCpidWZmZXIgPT0gJ1xuJykgew0KICAgICAgICAgICAgICAgIC8qID09PSBF bmNvdW50ZXJlZCB0cmFuc2l0aW9uIHRvIGJvZHkgPT09PSovDQoJCWluaGVh ZGVyID0gMDsNCgkJbXAtPmJvZHlfbGluZXMgPSAxOw0KCQljb250ZW50X2xl bmd0aCA9IGNvbnRfbGVuOw0KDQoJCWlmICghdWlkbF9mb3VuZCkgew0KCQkg ICAgY2hhciAqY3A7DQoJCSAgICBpbnQgIGk7DQoNCgkJICAgIE1ENVVwZGF0 ZSgmbWRDb250ZXh0LCAodW5zaWduZWQgY2hhciAqKWZyb21idWYsDQoJCQkg ICAgICBzdHJsZW4oZnJvbWJ1ZikpOw0KCQkgICAgTUQ1RmluYWwgKGRpZ2Vz dCwgJm1kQ29udGV4dCk7DQoJCSAgICBjcCA9IG1wLT51aWRsX3N0ciA9IChj aGFyICopbWFsbG9jKChESUdfU0laRSAqIDIpICsgMik7DQogICAgICAgICAg ICAgICAgICAgIGNwID0gYmFzZTgwKGNwLCBkaWdlc3QpOw0KCQkgICAgKmNw KysgPSAnXG4nOw0KCQkgICAgKmNwICAgPSAnXDAnOw0KICAgICAgICAgICAg ICAgICAgICBERUJVR19MT0cxKHAsICJVSURMIC0lcy0iLCBtcC0+dWlkbF9z dHIpOw0KDQoJCSAgICBtcC0+bGVuZ3RoICs9IHN0cmxlbigiWC1VSURMOiAi KSArIHN0cmxlbihtcC0+dWlkbF9zdHIpICsgMTsNCgkJICAgIHAtPmRyb3Bf c2l6ZSArPSBzdHJsZW4oIlgtVUlETDogIikgKyBzdHJsZW4obXAtPnVpZGxf c3RyKSsxOw0KDQogICAgICAgICAgICAgICAgICAgIC8qIE5ldyBVSURzIGRv IG5vdCBkaXJ0eSB0aGUgbWFpbHNwb29sIGlmIE5PX1NUQVRVUyBpcw0KICAg ICAgICAgICAgICAgICAgICAgICBzZXQuICBUaGV5IGFyZSBqdXN0IHJlY2Fs Y3VsYXRlZCBlYWNoIHRpbWUgdGhlDQogICAgICAgICAgICAgICAgICAgICAg IHBvcHBlciBpcyBydW4gb3IgTE1PUyBpcyBzZXQgYW5kIHRoZSBtYWlsIHNw b29sDQogICAgICAgICAgICAgICAgICAgICAgIGlzIHVwZGF0ZWQuICovDQoj aWZuZGVmIE5PX1NUQVRVUw0KCQkgICAgcC0+ZGlydHkgPSAxOw0KI2VuZGlm DQoJCX0NCg0KCSAgICB9IGVsc2UgaWYoQ09OVEVOVF9MRU5HVEggJiYgIXN0 cm5jbXAoYnVmZmVyLCJDb250ZW50LUxlbmd0aDoiLDE1KSl7DQogICAgICAg ICAgICAgICAgLyo9PT0gSGFuZGxlIGNvbnRlbnRfbGVuZ3RoIGlmIHdlIGRv IHRoYXQgc29ydCBvZiB0aGluZyA9PT0qLw0KCQljb250X2xlbiA9IGF0b2ko YnVmZmVyICsgMTUpOw0KCQlNRDVVcGRhdGUoJm1kQ29udGV4dCwodW5zaWdu ZWQgY2hhciAqKWJ1ZmZlcixzdHJsZW4oYnVmZmVyKSk7DQoJCW1wLT5saW5l cysrOw0KCQljb250aW51ZTsgIC8qIE5vdCBpbmNsdWRlZCBpbiBtZXNzYWdl IHNpemUgKi8NCg0KCSAgICB9IGVsc2UgaWYgKCF1aWRsX2ZvdW5kICYmICgh c3RybmNhc2VjbXAoIlJlY2VpdmVkOiIsIGJ1ZmZlciwgOSkgfHwNCgkJCQkg ICAgICAgIXN0cm5jYXNlY21wKCJEYXRlOiIsIGJ1ZmZlciwgNSkgfHwNCgkJ CQkgICAgICAgIXN0cm5jYXNlY21wKCJNZXNzYWdlLUlkOiIsYnVmZmVyLCAx MSkgfHwNCgkJCQkgICAgICAgIXN0cm5jYXNlY21wKCJTdWJqZWN0OiIsYnVm ZmVyLCA4KQ0KCQkJCSAgICAgICApKSB7DQogICAgICAgICAgICAgICAgLyog PT09IEFjY3VtdWF0ZSBjZXJ0YWluIGhlYWRlciB3ZSBtaWdodCBzZWUgZm9y IFVJREwgPT09Ki8NCgkJTUQ1VXBkYXRlKCZtZENvbnRleHQsKHVuc2lnbmVk IGNoYXIgKilidWZmZXIsc3RybGVuKGJ1ZmZlcikpOw0KCSAgICB9IGVsc2Ug aWYgKCFzdHJuY2FzZWNtcCgiWC1VSURMOiIsIGJ1ZmZlciwgNykpIHsNCiAg ICAgICAgICAgICAgLyogPT09PSBEbyB0aGUgVUlETCBoZWFkZXIgPT09PSAq Lw0KCQlpZiAoIXVpZGxfZm91bmQpIHsNCgkJICAgIGNoYXIgKmNwOw0KCQkg ICAgaW50IGxlbjsNCg0KCQkgICAgLyogU2tpcCBvdmVyIGhlYWRlciAqLw0K CQkgICAgY3AgPSBidWZmZXI7DQoJCSAgICBpZiAoY3AgPSBpbmRleChidWZm ZXIsICc6JykpIHsNCgkJCWNwKys7DQoJCQl3aGlsZSAoKmNwICYmICgqY3Ag PT0gJyAnIHx8ICpjcCA9PSAnXHQnKSkgY3ArKzsNCgkJICAgIH0gZWxzZQ0K CQkJY3AgPSAiIjsNCg0KCQkgICAgaWYoIChsZW4gPSBzdHJsZW4oY3ApKSA+ IE1JTl9VSURMX0xFTkdUSCAmJiBsZW4gPCBNQVhfVUlETF9MRU5HVEggKSB7 DQoJCQl1aWRsX2ZvdW5kKys7DQoJCQltcC0+dWlkbF9zdHIgPSAoY2hhciAq KXN0cmR1cChjcCk7DQoJCQltcC0+bGVuZ3RoICs9IG5jaGFyICsgMTsNCgkJ CXAtPmRyb3Bfc2l6ZSArPSBuY2hhciArIDE7DQoJCSAgICB9DQoJCX0NCgkJ bXAtPmxpbmVzKys7DQoJCWNvbnRpbnVlOyAgLyogRG8gbm90IGluY2x1ZGUg dGhpcyB2YWx1ZSBpbiB0aGUgbWVzc2FnZSBzaXplICovDQoJICAgIH0gZWxz ZSBpZiAoIXN0cm5jYXNlY21wKGJ1ZmZlciwiU3RhdHVzOiIsNykpIHsNCiAg ICAgICAgICAgICAgICAvKiA9PT0gRG8gdGhlIHN0YXR1cyBoZWFkZXIgPT09 ICovDQoJCWlmIChpbmRleChidWZmZXIsICdSJykgIT0gTlVMTCkgew0KCQkg ICAgbXAtPnJldHJfZmxhZyA9IFRSVUU7DQoJCSAgICBtcC0+b3JpZ19yZXRy X3N0YXRlID0gVFJVRTsNCgkJfQ0KCSAgICB9DQoJfSBlbHNlIHsNCiAgICAg ICAgICAgIC8qID09PT0gSGFuZGxlIHRoZSBib2R5IG9mIGEgbWVzc2FnZSAo bm90IG11Y2ggdG8gZG8pID09PSAqLw0KCSAgICBjb250ZW50X25jaGFyICs9 IG5jaGFyOw0KCSAgICBtcC0+Ym9keV9saW5lcysrOw0KCX0NCg0KICAgICAg ICBtcC0+bGVuZ3RoICs9IG5jaGFyICsgMTsNCiAgICAgICAgcC0+ZHJvcF9z aXplICs9IG5jaGFyICsgMTsNCiAgICAgICAgbXAtPmxpbmVzKys7DQogICAg fQ0KDQogICAgcC0+bXNnX2NvdW50ID0gbXNnX251bTsNCg0KI2lmZGVmIERF QlVHDQogICAgaWYocC0+ZGVidWcgJiYgbXNnX251bSA+IDApIHsNCiAgICAg ICAgcmVnaXN0ZXIgICAgaTsNCiAgICAgICAgZm9yIChpID0gMCwgbXAgPSBw LT5tbHA7IGkgPCBwLT5tc2dfY291bnQ7IGkrKywgbXArKykNCiAgICAgICAg ICAgIHBvcF9sb2cocCxQT1BfREVCVUcsDQoJICAgICJNc2cgJWQgdWlkbCAl cyBhdCBvZmZzZXQgJWQgaXMgJWQgb2N0ZXRzIGxvbmcgYW5kIGhhcyAldSBs aW5lcy4iLA0KCSAgICBtcC0+bnVtYmVyLG1wLT51aWRsX3N0cixtcC0+b2Zm c2V0LG1wLT5sZW5ndGgsbXAtPmxpbmVzKTsNCiAgICB9DQojZW5kaWYNCg0K ICAgIGlmIChmZmx1c2gocC0+ZHJvcCkgPT0gRU9GKQ0KICAgICAgICByZXR1 cm4gcG9wX21zZyhwLFBPUF9GQUlMVVJFLCJGbHVzaCBvZiB0ZW1wIHBvcCBk cm9wYm94ICVzIGZhaWxlZCAoJWQpIiwNCgkgICAgcC0+dGVtcF9kcm9wLCBl cnJubyk7DQoNCiAgICByZXR1cm4oUE9QX1NVQ0NFU1MpOw0KfQ0KDQovKiAN CiAqICBkcm9wY29weTogICBNYWtlIGEgdGVtcG9yYXJ5IGNvcHkgb2YgdGhl IHVzZXIncyBtYWlsIGRyb3AgYW5kIA0KICogIHNhdmUgYSBzdHJlYW0gcG9p bnRlciBmb3IgaXQuDQogKi8NCg0KcG9wX2Ryb3Bjb3B5KHAsIHB3cCkNClBP UCAgICAgKiAgIHA7DQpzdHJ1Y3QgcGFzc3dkCSoJcHdwOw0Kew0KICAgIGlu dCAgICAgICAgICAgICAgICAgICAgIG1mZDsgICAgICAgICAgICAgICAgICAg IC8qICBGaWxlIGRlc2NyaXB0b3IgZm9yIA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdXNl cidzIG1haWxkcm9wICovDQogICAgaW50ICAgICAgICAgICAgICAgICAgICAg ZGZkOyAgICAgICAgICAgICAgICAgICAgLyogIEZpbGUgZGVzY3JpcHRvciBm b3IgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRoZSBTRVJWRVIgbWFpbGRyb3AgKi8NCiAgICBG SUxFCQkgICAgKnRmOwkJICAgIC8qICBUaGUgdGVtcCBmaWxlICovDQogICAg aW50CQkJICAgIHRmbjsJCSAgICANCiAgICBjaGFyICAgICAgICAgICAgICAg ICAgICBidWZmZXJbTUFYTElORUxFTl07ICAgICAvKiAgUmVhZCBidWZmZXIg Ki8NCiAgICBjaGFyCQkgICAgbWVzc1syNTZdOwkJLyogQ1lHTlVTICovDQog ICAgbG9uZyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OyAgICAgICAgICAg ICAgICAgLyogIE9sZC9OZXcgYm91bmRhcnkgKi8NCiAgICBpbnQgICAgICAg ICAgICAgICAgICAgICBuY2hhcjsgICAgICAgICAgICAgICAgICAvKiAgQnl0 ZXMgd3JpdHRlbi9yZWFkICovDQogICAgc3RydWN0IHN0YXQgICAgICAgICAg ICAgbXlidWY7ICAgICAgICAgICAgICAgICAgLyogIEZvciBmc3RhdCgpICov DQoNCiAgICBpZiAoZ2VucGF0aChwKSA8IDApDQoJcmV0dXJuKHBvcF9tc2co cCwgUE9QX0ZBSUxVUkUsICJVbmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBk cm9wIG5hbWUiKSk7DQoNCiAgICAvKiAgQ3JlYXRlIGEgdGVtcG9yYXJ5IG1h aWxkcm9wIGludG8gd2hpY2ggdG8gY29weSB0aGUgdXBkYXRlZCBtYWlsZHJv cCAqLw0KICAgICh2b2lkKXNwcmludGYocC0+dGVtcF9kcm9wLCBQT1BfRFJP UCwgcC0+dXNlcik7DQoNCiAgICBERUJVR19MT0cxKHAsIkNyZWF0aW5nIHRl bXBvcmFyeSBtYWlsZHJvcCAnJXMnIixwLT50ZW1wX2Ryb3ApOw0KDQojaWZk ZWYgQlVMTERCDQogICAgaWYgKHAtPmJ1bGxkaXIpIHsNCgljaGFyIGJ1bGxf ZGJbTUFYTElORUxFTl07DQoNCiNpZmRlZiBCVUxMREJESVINCglzcHJpbnRm KGJ1bGxfZGIsICIlcy9idWxsZGIiLCBCVUxMREJESVIpOw0KI2Vsc2UNCglz cHJpbnRmKGJ1bGxfZGIsICIlcy9idWxsZGIiLCBwLT5idWxsZGlyKTsNCiNl bmRpZg0KI2lmZGVmIEdEQk0NCglpZiAoKHAtPmJ1bGxfZGIgPSBnZGJtX29w ZW4gKGJ1bGxfZGIsIDUxMiwgR0RCTV9XUkNSRUFULCAwNjAwLCAwKSkgPT0g TlVMTCkNCiNlbHNlDQogICAgICAgIGlmICgocC0+YnVsbF9kYiA9IGRibV9v cGVuIChidWxsX2RiLCBPX1JEV1IgfCBPX0NSRUFULCAwNjAwKSkgPT0gTlVM TCkgDQojZW5kaWYNCgkJew0KCQkgICAgcG9wX2xvZyhwLFBPUF9QUklPUklU WSwiZ2RibV9vcGVuIGZhaWxlZCA6ICVzICglZCkiLA0KCQkJICAgIHN5c19l cnJsaXN0W2Vycm5vXSxlcnJubyk7DQoJCSAgICByZXR1cm4ocG9wX21zZyhw LCBQT1BfRkFJTFVSRSwNCgkJCQkgICAiVW5hYmxlIHRvIG9wZW4gQnVsbGV0 aW4gZGF0YWJhc2UsIGNvbnRhY3QgeW91ciBhZG1pbmlzdHJhdG9yIikpOw0K CQl9DQogICAgfQ0KI2VuZGlmDQoNCiAgICAvKiBIZXJlIHdlIHdvcmsgdG8g bWFrZSBzdXJlIHRoZSB1c2VyIGRvZXNuJ3QgY2F1c2UgdXMgdG8gcmVtb3Zl IG9yDQogICAgICogd3JpdGUgb3ZlciBleGlzdGluZyBmaWxlcyBieSBsaW1p dGluZyBob3cgbXVjaCB3b3JrIHdlIGRvIHdoaWxlDQogICAgICogcnVubmlu ZyBhcyByb290Lg0KICAgICAqLw0KDQojaWZkZWYgQklOTUFJTF9JU19TRVRH SUQNCiMgaWYgQklOTUFJTF9JU19TRVRHSUQgPiAxDQogICAgcHdwLT5wd19n aWQgPSAoZ2lkX3QpQklOTUFJTF9JU19TRVRHSUQ7DQojIGVsc2UNCiAgICBp ZiAoIXN0YXQoUE9QX01BSUxESVIsICZteWJ1ZikpDQoJcHdwLT5wd19naWQg PSBteWJ1Zi5zdF9naWQ7DQojIGVuZGlmDQojZW5kaWYNCg0KICAgIC8qIE5v dyB3ZSBydW4gYXMgdGhlIHVzZXIuICovDQogICAgKHZvaWQpIHNldGdpZCgo R0lEX1QpcHdwLT5wd19naWQpOw0KICAgIC8qIFNldCB0aGUgc3VwcGxlbWVu dGFyeSBncm91cHMgbGlzdCAqLw0KICAgICh2b2lkKSBzZXRncm91cHMoMSwo R0lEX1QgKikmcHdwLT5wd19naWQpOyANCiAgICAodm9pZCkgc2V0dWlkKChV SURfVClwd3AtPnB3X3VpZCk7DQoNCiAgICBERUJVR19MT0cyKHAsInVpZCA9 ICVkLCBnaWQgPSAlZCIsZ2V0dWlkKCksZ2V0Z2lkKCkpOw0KDQovKiBTVEFS VCBDWUdOVVMgKi8NClNUQVJUT1BFTjoNCm1lc3NbMF09MDsNCi8qIEVORCBD WUdOVVMgKi8NCiAgICBpZiAoKGRmZCA9IG9wZW4ocC0+dGVtcF9kcm9wLCBP X1JEV1IgfCBPX0NSRUFULCAwNjAwKSkgPT0gLTEpIHsNCiAgICAgICAgcG9w X2xvZyhwLCBQT1BfUFJJT1JJVFksDQogICAgICAgICAgICAiVW5hYmxlIHRv IG9wZW4gdGVtcG9yYXJ5IG1haWxkcm9wICclcyc6ICVzICglZCkiLHAtPnRl bXBfZHJvcCwNCiAgICAgICAgICAgICAgICAoZXJybm8gPCBzeXNfbmVycikg PyBzeXNfZXJybGlzdFtlcnJub10gOiAiIiwgZXJybm8pIDsNCiAgICAgICAg cmV0dXJuIHBvcF9tc2cocCxQT1BfRkFJTFVSRSwNCiAgIAkgICAiRmFpbGVk IHRvIGNyZWF0ZSAlcyB3aXRoIHVpZCAlZCwgZ2lkICVkLiBDaGFuZ2UgcGVy bWlzc2lvbnMuIiwNCgkJICAgICAgIHAtPnRlbXBfZHJvcCxwd3AtPnB3X3Vp ZCwgcHdwLT5wd19naWQpOw0KICAgIH0NCg0KICAgIGZzdGF0KGRmZCwgJm15 YnVmKTsNCiAgICBpZiAobXlidWYuc3RfdWlkICE9IHB3cC0+cHdfdWlkKSB7 DQoJY2xvc2UoZGZkKTsNCglyZXR1cm4ocG9wX21zZyhwLCBQT1BfRkFJTFVS RSwiVGVtcG9yYXJ5IGRyb3AgZmlsZSBub3Qgb3duZWQgYnkgJXMuIiwNCgkJ ICAgICAgIHAtPnVzZXIpKTsNCiAgICB9DQojaWZkZWYgTkVYVA0KICAgIGlm IChteWJ1Zi5zdF9tb2RlICYgKDB4NykpDQojZWxzZQ0KICAgIGlmIChteWJ1 Zi5zdF9tb2RlICYgKFNfSVdPVEggfCBTX0lST1RIKSkNCiNlbmRpZg0KICAg IHsNCgljbG9zZShkZmQpOw0KCXJldHVybihwb3BfbXNnKHAsIFBPUF9GQUlM VVJFLA0KCSAgIllvdXIgdGVtcG9yYXJ5IGZpbGUgJXMgaXMgYWNjZXNzaWJs ZSBieSBvdGhlcnMuICBUaGlzIG11c3QgYmUgZml4ZWQiLA0KCSAgICBwLT50 ZW1wX2Ryb3ApKTsNCiAgICB9DQogICAgLyogTWFrZSBzdXJlIHRoZSBtYWls c3Bvb2wgaXMgbm90IGEgaGFyZCBsaW5rICovDQogICAgaWYgKG15YnVmLnN0 X25saW5rICE9IDEpIHsNCgljbG9zZShkZmQpOw0KCXJldHVybihwb3BfbXNn KHAsIFBPUF9GQUlMVVJFLA0KCSAgICAiWW91ciB0ZW1wb3JhcnkgZmlsZSBh cHBlYXJzIHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBsaW5rLiIpKTsNCiAgICB9 DQoNCiAgICAvKiBJZiB0aGUgdGVtcG9yYXJ5IHBvcGRyb3AgaXMgbm90IGVt cHR5LCByZXZlcnQgdG8gcmVndWxhciBtb2RlLiAqLw0KICAgIGlmIChteWJ1 Zi5zdF9zaXplICE9IDApDQoJcC0+c2VydmVyX21vZGUgPSAwOw0KDQogICAg LyogIExvY2sgdGhlIHRlbXBvcmFyeSBtYWlsZHJvcC4gTG9ja2luZyBpcyBq dXN0IHRvIGNoZWNrIGZvciBzaW5nbGUNCiAgICAgKiAgcG9wIHNlc3Npb24g cGVyIHVzZXIuDQogICAgICovDQogICAgaWYgKCBmbG9jayAoZGZkLCBMT0NL X0VYfExPQ0tfTkIpID09IC0xICkgew0KCXN3aXRjaChlcnJubykgew0KCSAg ICBjYXNlIEVXT1VMREJMT0NLOg0KCQkvKiBTVEFSVCBDWUdOVVMgKi8NCgkJ cG9wX2xvZyhwLFBPUF9QUklPUklUWSwiRm91bmQgbG9ja2VkIHNwb29sIGZv ciAlcyEiLHAtPnVzZXIpOw0KCQljbGVhcl9vbGQocCk7IC8qIGtpbGwgdXNl ciBwcm9jZXNzIGlmIHRoZXJlIGlzIG9uZSAqLw0KCQkvKiBwcmludF9sb2Nr X2RpcihwKTsgKi8NCgkJcG9wX2xvZyhwLFBPUF9QUklPUklUWSwiVW5sb2Nr aW5nIGxvY2sgZmlsZSBmb3IgJXMiLHAtPnVzZXIpOw0KCQkvKiB1bmxvY2sg dGhlIGRyb3AgZmlsZSAqLw0KCSAgICAJaWYgKGZsb2NrKGRmZCwgTE9DS19V Tik9PS0xKSB7DQoJCXBvcF9sb2cocCxQT1BfUFJJT1JJVFksIkNhbnQgdW5s b2NrIGxvY2sgZmlsZSBmb3IgJXMhICglcykiLHAtPnVzZXIsc3RyZXJyb3Io ZXJybm8pKTsNCgkJcG9wX2xvZyhwLFBPUF9QUklPUklUWSwiQ2xvc2luZyBk cm9wIGZpbGUgZm9yICVzISIscC0+dXNlcik7DQoJCWNsb3NlKGRmZCk7IC8q IGNsb3NlIHRoZSBkcm9wIGZpbGUgKi8NCgkJcG9wX2xvZyhwLFBPUF9QUklP UklUWSwiQ0xPU0VEIGRyb3AgZmlsZSBmb3IgJXMhIixwLT51c2VyKTsNCgkJ Z290byBTVEFSVEVORDsNCgkJfQ0KCQlwb3BfbG9nKHAsUE9QX1BSSU9SSVRZ LCJVTkxPQ0tFRCBsb2NrIGZpbGUgZm9yICVzIixwLT51c2VyKTsNCgkJcG9w X2xvZyhwLFBPUF9QUklPUklUWSwiQ2xvc2luZyBkcm9wIGZpbGUgZm9yICVz ISIscC0+dXNlcik7DQoJCWNsb3NlKGRmZCk7IC8qIGNsb3NlIHRoZSBkcm9w IGZpbGUgKi8NCgkJcG9wX2xvZyhwLFBPUF9QUklPUklUWSwiQ0xPU0VEIGRy b3AgZmlsZSBmb3IgJXMhIixwLT51c2VyKTsNCgkJcG9wX2xvZyhwLFBPUF9Q UklPUklUWSwiUmVtb3ZpbmcgZHJvcCBmaWxlIGZvciAlcyEiLHAtPnVzZXIp Ow0KCQkodm9pZCl1bmxpbmsocC0+dGVtcF9kcm9wKTsgLyogcmVtb3ZlIHRo ZSBkcm9wIGZpbGUgKi8NCgkJcG9wX2xvZyhwLFBPUF9QUklPUklUWSwiUkVN T1ZFRCBkcm9wIGZpbGUgZm9yICVzISIscC0+dXNlcik7DQoJCWdvdG8gU1RB UlRPUEVOOw0KCQlTVEFSVEVORDoNCgkJLyogRU5EIENZR05VUyAqLw0KCQly ZXR1cm4gcG9wX21zZyhwLFBPUF9GQUlMVVJFLA0KCQkgICAgICJbSU4tVVNF XSAlcyBsb2NrIGJ1c3khICBJcyBhbm90aGVyIHNlc3Npb24gYWN0aXZlPyAo JWQpIiwNCgkJCQkJCQlwLT50ZW1wX2Ryb3AsIGVycm5vKTsNCgkgICAgZGVm YXVsdDoNCgkJY2xvc2UoZGZkKTsNCgkJcmV0dXJuIHBvcF9tc2cocCxQT1Bf RkFJTFVSRSwiZmxvY2s6ICclcyc6ICVzICglZCkiLA0KCQkJICAgICAgIHAt PnRlbXBfZHJvcCwgKGVycm5vIDwgc3lzX25lcnIpID8gDQoJCQkgICAgICAg c3lzX2Vycmxpc3RbZXJybm9dIDogIiIsIGVycm5vKTsNCgl9DQogICAgfQ0K ICAgIA0KI2lmbmRlZiBLRUVQX1RFTVBfRFJPUA0KICAgIC8qIGNoZWNrIGZv ciByYWNlIGNvbmRpdGlvbnMgaW52b2x2aW5nIHVubGluay4gIFNlZSBwb3Bf dXBkdC5jICovDQogICAgLyogcy1kb3JuZXJAdWl1Yy5lZHUsIDEyLzkxICov DQogICAgew0KICAgICAgc3RydWN0IHN0YXQgYnlOYW1lLCBieUZkOw0KICAg ICAgaWYgKHN0YXQocC0+dGVtcF9kcm9wLCAmYnlOYW1lKSB8fCBmc3RhdChk ZmQsICZieUZkKSB8fA0KCSAgYnlOYW1lLnN0X2lubyAhPSBteWJ1Zi5zdF9p bm8pDQogICAgICB7DQogICAgICAgIHJldHVybiBwb3BfbXNnKHAsUE9QX0ZB SUxVUkUsDQoJCSJNYWlsZHJvcCBiZWluZyB1bmxvY2tlZDsgdHJ5IGFnYWlu LiIpOw0KICAgICAgfQ0KICAgIH0NCiNlbmRpZg0KICAgIA0KICAgIC8qICBB Y3F1aXJlIGEgc3RyZWFtIHBvaW50ZXIgZm9yIHRoZSB0ZW1wb3JhcnkgbWFp bGRyb3AgKi8NCiAgICBpZiAoIChwLT5kcm9wID0gZmRvcGVuKGRmZCwicisi KSkgPT0gTlVMTCApIHsNCiAgICAgICAgKHZvaWQpY2xvc2UoZGZkKSA7DQog ICAgICAgIHJldHVybiBwb3BfbXNnKHAsUE9QX0ZBSUxVUkUsIkNhbm5vdCBh c3NpZ24gc3RyZWFtIGZvciAlcyAoJWQpIiwNCgkJICAgICAgIHAtPnRlbXBf ZHJvcCwgZXJybm8pOw0KICAgIH0NCiAgICAvKiAgQWxsb2NhdGUgbWVtb3J5 IGZvciBtZXNzYWdlIGluZm9ybWF0aW9uIHN0cnVjdHVyZXMgYW5kIHRoaXMg aXMNCiAgICAgKiAgaXMgbm90IGRlbGV0ZWQgc2luY2UgYSBmYWlsdXJlLCBm b3Igc29tZSByZWFzb24gaW4gdGhpcyBmdW5jdGlvbg0KICAgICAqICB3b3Vs ZCByZXN1bHQgaW4gcHJvY2VzcyBkZWF0aC4gKi8NCiAgICBwLT5tbHAgPSAo TXNnSW5mb0xpc3QgKiljYWxsb2MoKHVuc2lnbmVkKUFMTE9DX01TR1Msc2l6 ZW9mKE1zZ0luZm9MaXN0KSk7DQogICAgaWYgKHAtPm1scCA9PSBOVUxMKXsN CiAgICAgICAgcmV0dXJuIHBvcF9tc2cgKHAsUE9QX0ZBSUxVUkUsDQogICAg ICAgICAgICAiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBtZXNzYWdlIGxp c3QuIik7DQogICAgfQ0KICAgIHAtPm1zZ19jb3VudCA9IDA7DQogICAgcC0+ ZHJvcF9zaXplID0gMDsNCg0KICAgIGlmIChteWJ1Zi5zdF9zaXplICE9IDAp IHsgLyogTW9zdGx5IHRoaXMgaXMgZm9yIHJlZ3VsYXIgbW9kZS4gKi8NCglp ZiAoaW5pdF9kcm9waW5mbyhwKSAhPSBQT1BfU1VDQ0VTUykgew0KCSAgICAv KiBPY2N1cnMgb24gdGVtcF9kcm9wIGNvcnJ1cHRpb24gKi8NCgkgICAgZmxv Y2soZGZkLCBMT0NLX1VOKTsNCgkgICAgY2xvc2UoZGZkKTsNCgkgICAgcmV0 dXJuKFBPUF9GQUlMVVJFKTsNCgl9DQoJLyogU3luYyB3aXRoIHN0ZGlvOyBz aG91bGQgYmUgYXQgZW5kIGFueXdheSAqLw0KCSh2b2lkKWZzZWVrKHAtPmRy b3AsIDBMLCBTRUVLX0VORCk7DQoJb2Zmc2V0ID0gZnRlbGwocC0+ZHJvcCk7 DQogICAgfQ0KDQojaWZkZWYgTUFJTE9DSw0KICAgIC8qIFNZU1YgbG9ja2lu ZyBmb3IgdXNlcnMgbWFpbGJveC4qLw0KICAgIGlmIChtYWlsbG9jayhwLT51 c2VyLDEpICE9IDApDQogICAgICAgICAgICByZXR1cm4gcG9wX21zZyhwLFBP UF9GQUlMVVJFLCAibWFpbGxvY2s6ICclcyciLCBwLT50ZW1wX2Ryb3ApOw0K I2VuZGlmDQoNCiAgICAvKiAgT3BlbiB0aGUgdXNlcidzIG1haWxkcm9wLCBJ ZiB0aGlzIGZhaWxzLCAgbm8gaGFybSBpbiBhc3N1bWluZyBlbXB0eSAqLw0K ICAgIC8qIDx0b2RvPiBNYWlsIGRyb3AgaGFzIHRvIGJlIGNyZWF0ZWQgaWYg b25lIGRvZXNuJ3QgZXhpc3QgZm9yIHNlcnZlcl9tb2RlLg0KICAgICAqIEJl Y2F1c2UgcC0+ZHJvcCBpcyB1c2VkIGZvciBidWxsZXRpbnMuIFJpZ2h0IG5v dyBpdCByZXZlcnRzIGJhY2sgdG8gDQogICAgICogcmVndWxhciBtb2RlIGlm IGRyb3AgYm94IG9wZW4gZmFpbHMuIDwvdG9kbz4NCiAgICAgKi8NCiAgICBp ZiAoKG1mZCA9IG9wZW4ocC0+ZHJvcF9uYW1lLCBPX1JEV1IpKSA+IDApIHsN CiAgICAgICAgLyogTG9jayB0aGUgbWFpbGRyb3AgKi8NCiAgICAgICAgaWYg KGZsb2NrIChtZmQsTE9DS19FWCkgPT0gLTEpIHsNCiAgICAgICAgICAgICh2 b2lkKWNsb3NlKG1mZCkgOw0KCSAgICBNQUlMVU5MT0NLKCk7DQogICAgICAg ICAgICByZXR1cm4gcG9wX21zZyhwLFBPUF9GQUlMVVJFLCAiZmxvY2s6ICcl cyc6ICVzICglZCkiLCBwLT5kcm9wX25hbWUsDQoJCQkgICAoZXJybm8gPCBz eXNfbmVycikgPyBzeXNfZXJybGlzdFtlcnJub10gOiAiIiwgZXJybm8pOw0K ICAgICAgICB9DQoNCglpZiAoIXAtPnNlcnZlcl9tb2RlKSB7DQoJICAgIC8q IE5ldyByb3V0aW5lIHRvIGNvcHkgYW5kIGdldCBkcm9wYm94IGluZm8gYWxs IGF0IHRoZSBzYW1lIHRpbWUgKi8NCgkgICAgbmNoYXIgPSBkb19kcm9wX2Nv cHkocCwgbWZkLCBkZmQpOw0KDQoJICAgIGlmICggbmNoYXIgIT0gUE9QX1NV Q0NFU1MgKSB7DQoJCS8qIHBvcF9kcm9wY29weSBoYXMgaW50ZWdyYXRlZCB0 aGUgaW5mbyBnYXRoZXJpbmcgcGFzcyBpbnRvDQoJCSAgIHRoZSBjb3B5IHBh c3Mgc28gbm93IHRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgZHJvcGZpbGUgaXMN CgkJICAgaW5jb25zaXN0ZW50IGlmIHRoZXJlIGlzIGFuIGVycm9yLiAgTm93 IHdlIGV4aXQgaW5zdGVhZA0KCQkgICBvZiB0cnlpbmcgdG8gY29udGludWUg d2l0aCB3aGF0IGlzIGF2YWlsYWJsZS4NCgkJKi8NCgkJKHZvaWQpZnRydW5j YXRlKGRmZCwgKE9GRl9UKW9mZnNldCkgOw0KCQlnb3RvIGJhaWxvdXQ7DQoJ ICAgIH0gDQoJICAgIGVsc2Ugew0KCQkvKiBNYWlsIHRyYW5zZmVycmVkISAg WmVybyB0aGUgbWFpbCBkcm9wIE5PVywgIHRoYXQgd2UNCgkJICAgZG8gbm90 IGhhdmUgdG8gZG8gZ3ltbmFzdGljcyB0byBmaWd1cmUgb3V0IHdoYXQncyBu ZXcNCgkJICAgYW5kIHdoYXQgaXMgb2xkIGxhdGVyICovDQoJCSh2b2lkKWZ0 cnVuY2F0ZShtZmQsIChPRkZfVCkwKSA7DQoJICAgIH0NCg0KCSAgICAvKiBV bmxvY2sgYW5kIGNsb3NlIHRoZSBhY3R1YWwgbWFpbCBkcm9wICovDQoJICAg IGZsb2NrKG1mZCwgTE9DS19VTik7DQoJICAgICh2b2lkKWNsb3NlIChtZmQp Ow0KCX0gDQoJZWxzZSB7IC8qIFNFUlZFUl9NT0RFICovDQoJICAgIC8qIFNh dmUgdGhlIHRlbXBvcmFyeSBkcm9wIEZJTEUgYW5kIGZpZCB2YWx1ZXMgKi8N CgkgICAgcC0+aG9sZCA9IHAtPmRyb3A7DQoJICAgIGlmICgocC0+ZHJvcCA9 IGZkb3BlbihtZmQsInIrIikpID09IE5VTEwpIHsNCgkJcG9wX21zZyhwLFBP UF9GQUlMVVJFLCJDYW5ub3QgYXNzaWduIHN0cmVhbSBmb3IgJXMgKCVkKSIs DQoJCQlwLT5kcm9wX25hbWUsIGVycm5vKTsNCgkJZ290byBiYWlsb3V0Ow0K CSAgICB9DQoJICAgIGlmIChpbml0X2Ryb3BpbmZvKHApICE9IFBPUF9TVUND RVNTKQ0KCQlnb3RvIGJhaWxvdXQ7DQoJfQ0KICAgIH0NCiAgICBlbHNlIHsN CgkvKiBSZXZlcnQgdG8gcmVndWxhciBvcGVyYXRpb24gd2hlbiB0aGVyZSBh cmUgbm8gbWFpbHMgaW4NCgkgKiB1c2VycyBtYWlsIGJveC4gVGhpcyBpcyBm b3IgdGhlIHNha2Ugb2YgYW55IGJ1bGxldGlucywgDQoJICogd2hpY2ggdXNl cyBwLT5kcm9wICh0ZW1wX2Ryb3ApIGFuZCB0byBhbGxvdyBwb3BfdXBkdCB0 bw0KCSAqIGNvcHkgYmFjayB0byBvcmlnaW5hbCBtYWlsIGJveC4qLw0KCWlm KHAtPnNlcnZlcl9tb2RlKSB7DQoJICAgIHAtPnNlcnZlcl9tb2RlID0gMDsg DQoJfQ0KICAgIH0NCg0KICAgIGlmIChwLT5idWxsZGlyKSB7DQoJLyogUmVj YWxjdWxhdGUgb2Zmc2V0ICovDQoJKHZvaWQpZnNlZWsocC0+ZHJvcCwgMEws IFNFRUtfRU5EKTsNCglvZmZzZXQgPSBmdGVsbChwLT5kcm9wKTsNCgkvKiBJ biBTZXJ2ZXJfbW9kZSwgcC0+ZHJvcCBjYW4gYmUgDQoJICogbnVsbChubyBt YWlscyksIHBvcF9idWxsIHJlcXVpcmVzIGEgZHJvcCBoYW5kbGUuIDwvYnVn PiAqLw0KCWlmKHBvcF9idWxsKHAsIHB3cCkgIT0gUE9QX1NVQ0NFU1Mpew0K CSAgICAvKiBSZXR1cm4gcG9wIGRyb3AgYmFjayB0byB3aGF0IGl0IHdhcyBi ZWZvcmUgdGhlIGJ1bGxldGlucyAqLw0KCSAgICAodm9pZClmdHJ1bmNhdGUo cC0+c2VydmVyX21vZGUgPyANCgkJCSAgICAoKG1mZCA9PSAtMSk/ZGZkOm1m ZCk6ZGZkLCAoT0ZGX1Qpb2Zmc2V0KTsNCgl9DQogICAgfQ0KI2lmZGVmIEJV TExEQg0KI2lmZGVmIEdEQk0NCiAgICBnZGJtX2Nsb3NlKHAtPmJ1bGxfZGIp Ow0KI2Vsc2UNCiAgICBkYm1fY2xvc2UocC0+YnVsbF9kYik7DQojZW5kaWYN CiNlbmRpZg0KDQogICAgKHZvaWQpZnNlZWsocC0+ZHJvcCwgMEwsIFNFRUtf RU5EKTsNCiAgICBwLT5zcG9vbF9lbmQgPSBmdGVsbChwLT5kcm9wKTsNCg0K I2lmZGVmIERFQlVHDQogICAgaWYocC0+ZGVidWcgJiYgcC0+bXNnX2NvdW50 ID4gMCkgew0KICAgICAgICByZWdpc3RlciAgICBpOw0KCU1zZ0luZm9MaXN0 ICptcDsgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICBmb3IgKGkgPSAw LCBtcCA9IHAtPm1scDsgaSA8IHAtPm1zZ19jb3VudDsgaSsrLCBtcCsrKQ0K ICAgICAgICAgICAgcG9wX2xvZyhwLFBPUF9ERUJVRywNCgkgICAgIk1zZyAl ZCB1aWRsICVzIGF0IG9mZnNldCAlZCBpcyAlZCBvY3RldHMgbG9uZyBhbmQg aGFzICV1IGxpbmVzLiIsDQoJCSAgICBtcC0+bnVtYmVyLG1wLT51aWRsX3N0 cixtcC0+b2Zmc2V0LG1wLT5sZW5ndGgsbXAtPmxpbmVzKTsNCiAgICB9DQoj ZW5kaWYNCiAgICBNQUlMVU5MT0NLKCk7DQoNCiAgICBpZiAocC0+c2VydmVy X21vZGUpDQogICAgICAgIGZsb2NrKG1mZCwgTE9DS19VTik7DQoNCiAgICBy ZXR1cm4oUE9QX1NVQ0NFU1MpOw0KDQogYmFpbG91dDoNCiAgICBNQUlMVU5M T0NLKCk7DQogICAgZmxvY2sobWZkLCBMT0NLX1VOKTsNCiAgICBmbG9jayhk ZmQsIExPQ0tfVU4pOw0KICAgIGNsb3NlKG1mZCk7DQogICAgY2xvc2UoZGZk KTsNCiAgICByZXR1cm4oUE9QX0ZBSUxVUkUpOw0KfQ0KDQovKg0KICogVGhp cyBmdW5jdGlvbiBlbXVsYXRlcyBmZ2V0cygpIGV4Y2VwdCB0aGF0IGl0IHJl cGxhY2VzIHRoZSBOVUxMcyB3aXRoDQogKiBTUEFDRXMNCiAqLw0KDQpjaGFy ICoNCm1mZ2V0cyggcywgc2l6ZSwgc3RyZWFtICkNCmNoYXIgKnM7DQppbnQg c2l6ZTsNCkZJTEUgKnN0cmVhbTsNCnsNCiAgICBpbnQgYzsNCiAgICBjaGFy ICpwID0gczsNCiAgICBpZiggc2l6ZSA8PSAwICkgew0KCXJldHVybiBOVUxM Ow0KICAgIH0NCiAgICB3aGlsZSggLS1zaXplICYmICgoYyA9IGdldGMoc3Ry ZWFtKSkgIT0gRU9GKSApIHsNCglpZiggKCpwID0gKGNoYXIpYykgPT0gJ1ww JyApICpwID0gJyAnOw0KCWlmKCAqcCsrID09ICdcbicgKSBicmVhazsNCiAg ICB9DQogICAgaWYoIHAgPT0gcyApIHJldHVybiBOVUxMOw0KICAgICpwID0g J1wwJzsNCiAgICByZXR1cm4gczsNCn0NCg0KLyogU1RBUlQgQ1lHTlVTICov DQoNCnZvaWQgY2xlYXJfb2xkKFBPUCAqcCkNCnsNCmludCBwc2ZvdW5kPTA7 DQpjaGFyIHBzbGluZVsyNTddOw0KY2hhciBwc3BpZF9zdHJbMTBdOw0KcGlk X3QgcHNwaWQ9LTE7DQpGSUxFICpwcDsNCg0KcHNsaW5lWzBdPTA7DQpwc3Bp ZF9zdHJbMF09MDsNCnBwPXBvcGVuKFBTX0NPTU1BTkQsInIiKTsNCndoaWxl IChmZ2V0cyhwc2xpbmUsMjU2LHBwKSAhPSBOVUxMKSB7DQoJaWYgKHN0cnN0 cihwc2xpbmUsUFNfU0VBUkNIKSkgew0KCQlyZW1vdmVfZmlyc3QocHNsaW5l KTsNCgkJc3NjYW5mKHBzbGluZSwiJXMgIixwc3BpZF9zdHIpOw0KCQlwc3Bp ZD0ocGlkX3QpYXRvaShwc3BpZF9zdHIpOyANCgkJaWYgKGdldHBpZCgpPT1w c3BpZCkgew0KCQkJcHNsaW5lWzBdPTA7DQoJCQlwc3BpZF9zdHJbMF09MDsN CgkJCWNvbnRpbnVlOw0KCQkgIH0NCgkJcHNmb3VuZD0xOw0KCQlicmVhazsN Cgl9DQogfSAvKiBlbmQgb2Ygd2hpbGUgKi8NCnBjbG9zZShwcCk7DQppZiAo cHNmb3VuZD09MSkgew0KIC8qIHNlbmQgU0lHVEVSTSAqLw0KIHBvcF9sb2co cCxQT1BfUFJJT1JJVFksIkdvdCBwaWQgJXMgZm9yIHVzZXIgJXMiLHBzcGlk X3N0cixwLT51c2VyKTsNCiBpZiAoa2lsbChwc3BpZCwxNSkgPCAwKSB7DQog IHBvcF9sb2cocCxQT1BfUFJJT1JJVFksIkZBSUxFRCBzZW5kaW5nIFRFUk0g c2lnbmFsIHRvIHBvcHBlciBwcm9jZXNzICV1IGZvciAlcyAoJXMpIiwodW5z aWduZWQgaW50KXBzcGlkLHAtPnVzZXIsc3RyZXJyb3IoZXJybm8pKTsNCiB9 DQogZWxzZSB7DQogIHBvcF9sb2cocCxQT1BfUFJJT1JJVFksIlNlbnQgVEVS TSBzaWduYWwgdG8gcG9wcGVyIHByb2Nlc3MgJXUgZm9yICVzIiwodW5zaWdu ZWQgaW50KXBzcGlkLHAtPnVzZXIpOw0KICBzbGVlcCgyKTsNCiAgfQ0KIH0g LyogZW5kIG9mIGlmIHBzZm91bmQgKi8NCmVsc2Ugew0KIHBvcF9sb2cocCxQ T1BfUFJJT1JJVFksIk5vIG9wZW4gcG9wcGVyIHByb2Nlc3MgZm91bmQgZm9y ICVzIixwLT51c2VyKTsNCiB9DQoNCn0NCg0KDQovKioqIHJlbW92ZXMgZmly c3Qgd29yZCBhdCBmcm9udCBvZiBzdHJpbmcgYW5kIG1vdmVzIHJlc3QgZG93 biAqKiovDQpyZW1vdmVfZmlyc3QoaW5wc3RyKQ0KY2hhciAqaW5wc3RyOw0K ew0KaW50IG5ld3BvcyxvbGRwb3M7DQoNCm5ld3Bvcz0wOyAgb2xkcG9zPTA7 DQovKiBmaW5kIGZpcnN0IHdvcmQgKi8NCndoaWxlKGlucHN0cltvbGRwb3Nd PT0nICcpIHsNCiAgICAgICAgaWYgKCFpbnBzdHJbb2xkcG9zXSkgeyBpbnBz dHJbMF09MDsgIHJldHVybjsgfQ0KICAgICAgICBvbGRwb3MrKzsNCiAgICAg ICAgfQ0KLyogZmluZCBlbmQgb2YgZmlyc3Qgd29yZCAqLw0Kd2hpbGUoaW5w c3RyW29sZHBvc10hPScgJykgew0KICAgICAgICBpZiAoIWlucHN0cltvbGRw b3NdKSB7IGlucHN0clswXT0wOyAgcmV0dXJuOyB9DQogICAgICAgIG9sZHBv cysrOw0KICAgICAgICB9DQovKiBmaW5kIHNlY29uZCB3b3JkICovDQp3aGls ZShpbnBzdHJbb2xkcG9zXT09JyAnKSB7DQogICAgICAgIGlmICghaW5wc3Ry W29sZHBvc10pIHsgaW5wc3RyWzBdPTA7ICByZXR1cm47IH0NCiAgICAgICAg b2xkcG9zKys7DQogICAgICAgIH0NCndoaWxlKGlucHN0cltvbGRwb3NdIT0w KQ0KICAgICAgICBpbnBzdHJbbmV3cG9zKytdPWlucHN0cltvbGRwb3MrK107 DQppbnBzdHJbbmV3cG9zXT0nXDAnOw0KfQ0KDQovKiBFTkQgQ1lHTlVTICov DQoNCg== ---171031142-37121570-919954547=:21504--
Date: Fri, 17 Sep 1999 19:51:17 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: RE: .user.pop lock busy! Is another session active? On Fri, 17 Sep 1999, Leonard Hermens wrote: > > > Baing seriously, there's a bad interaction somewhere between Outlook > > > Express and qpopper. > > > >uuuh....Why would it matter if the POP3 client was Outlook, Agent, > >fetchmail, or anything for that matter? POP3 is POP3, nothing will change > >that. > > > >More than likely people are simply timing out and trying to connect again > >before your server times out. I would look at Qpopper's -T option. > > > >Steven Fletcher > >stevenf at shellnet.co dot uk > > I can confirm that Outlook clients in the past (don't know about > version 5) have caused a hang that Eudora (for example) did not > exhibit when downloading a large attachment or when certain header > lines were blank. This would lead to a SIGHUP on the qpopper because > the Outlook client did/could not exit gracefully. SIGHUP means a server crash?
Date: Fri, 17 Sep 1999 19:53:50 +0200 (MET DST) From: Carrer Yuri <yurj at dns.alfa dot it> Subject: RE: .user.pop lock busy! Is another session active? On Fri, 17 Sep 1999, Steven Fletcher wrote: > > I can confirm that Outlook clients in the past (don't know about > > version 5) have caused a hang that Eudora (for example) did not > > exhibit > > Yep; my point to Yuri exactly: If Outlook crashes and Eudora does not, with > the same POP3 server, then what is to fault? Qpopper or Outlook? Is not Outlook crashing, is qpopper not acting well sometimes. Is has to delete the .user.pop lock file if the tcp/ip connection drop. Instead I suspect it crashes and leaves the lock. Ant way to check if qpopper crash? Yuri
Date: Fri, 17 Sep 1999 11:40:43 -0700 From: Leonard Hermens <Leonard.Hermens at rcity dot com> Subject: RE: .user.pop lock busy! Is another session active? > SIGHUP means a server crash? No, the qpopper has never "crashed" in 3 years of use at my former employer's site. The SIGHUP is a "hangup" signal that terminates the connection. > Is not Outlook crashing, is qpopper not acting well sometimes. Is has to > delete the .user.pop lock file if the tcp/ip connection drop. Instead I >suspect it crashes and leaves the lock. Ant way to check if qpopper >crash? > >> Yuri In each instance we observed at our site, Outlook didn't crash, it just didn't behave correctly under the conditions. -- Leonard
Date: Sat, 18 Sep 1999 01:34:11 +0600 From: "S. Faruque Ahmed" <sfque at texasgroup dot net> Subject: Re: Stuck pop files Gentlemen, Here's a thought, and a possible solution ...I quote from Qualcomm's site for the new Qpopper 3.0 Public Beta at http://www.eudora.com/freeware/qpop.html#BETA "New features and bug fixes include: ... A failure at some point in a transaction now releases all locks explicitly...." Although it is beta, you might want to give it a shot? SFQ At 18:58 17/09/99 +0200, you wrote: > >> Anyone have any idea why pop files would get stuck stuck stuck for a long >> time? I have customers that call occasionally saying that they can't get >> their mail, so they disconnect, call me, and I look, and there's still a >> .username.pop file from like 5 minutes before. I can sit there and wait >> and it doesn't go away. Eventually, later in the day I check and it's >> gone. >> >> My line from inetd.conf is as follow: >> >> pop stream tcp nowait root /usr/libexec/tcpd popper -T 60 -b /var/mail/bulldir >> >> I'd be cool to know why they're sticking, but it'd also be cool to know >> how to kill the pop process so that it doesn't generate the poplock busy >> when they're not even checking (like 30 minutes later!) Any help would be >> appreciated... > > Heh, I'm not alone :-) I'm planning to switch to cucipop. Qpopper is too > "corporate". :) > > Yuri > >
Date: Fri, 17 Sep 1999 15:52:39 -0500 (CDT) From: James Sneeringer <jvs at ocslink dot com> Subject: RE: .user.pop lock busy! Is another session active? On Fri, 17 Sep 1999, Admin Mailing Lists wrote: | I posted a patch a while back for the popper. When you connect it | checks if your username has a popper process open, if you do, popper | kills the former cleanly, then automatically opens a new one for you in | the current session. Saves admins having to clean any stale pop files. List archives are kept at: http://www.pensive.org/mailing_lists/Archives/qpopper/ I found your fix at item #111 of: http://www.pensive.org/mailing_lists/Archives/qpopper/Archive-1999-02-27.html Note that it's MIME-encoded, so you'll need to extract the attachment and run it through metamail or some other MIME decoder to get the file. It appears to be from version 3.0b12, based on a later posting you made. -James