Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <5.2.0.9.2.20030314073900.00fa7718@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com Date: Fri, 14 Mar 2003 08:03:57 -0800 To: cygwin AT cygwin DOT com From: Randall R Schulz Subject: Real-World ssmtp Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_34597343==_" Note-from-DJ: This may be spam --=====================_34597343==_ Content-Type: text/plain; charset="us-ascii" Hi, I've found ssmtp to be useful for automated update announcements triggered by CVS check-in. It is, however, quite a bare-bones program. To make it convenient, I crafted some supporting shell scripts. The primary one is "sendmsg," which allows common header content to be specified on the command line: % sendmsg --help Options: -s subjectString # Establish the message's subject header -t recipientAddrress # Add a primary recipient -c ccAddress # Add a carbon-copy recipient -b blindCCAddress -bc blindCCAddress -bcc blindCCAddress # Add a blind carbon-copy recipient -m messageBodyFile # Specify a file containing message content # May be repeated. A single hyphen causes # the standard input to be be read -fn senderFullName -F senderFullName # Establish the sender's full name -r replyToAddress -rt replyToAddress # Establish a Reply-To: header -nd -nt # Do not add a "Date:" header field -d dateString # Specify the contents of the "Date:" header # Note: Do not include the "Date: portion" -ppp # Re-create /etc/ssmtp/ssmtp.conf -q queueFile # Enqueue message in specified queue file -pq queueFile # Print headers of mail queued in specified queue file -sq queueFile # Send mail queued in specified queue file # based on current PPP connection -h | -help | --help # Show this usage summary One complication I have stems from being a dial-in user whose ISP has some restrictions on accepting incoming SMTP mail for forwarding (in contrast with that destined for one of its subscribers). In particular, the mail must appear to come from the IP currently associated with the PPP POP over which the mail arrived. The upshot is that the ssmtp.conf file must be edited for each new dial-in connection that's established. I wrote some scripts to do that, too. You can see a hint of their use in the "-ppp" option to sendmsg, above. This automatic reconfiguration is done by the script "ssmtp-ppp-config." Note that this script doesn't really edit the ssmtp.conf file, it regenerates it. There's a hard-coded template embedded within it to do this regeneration. % ssmtp-ppp-config ssmtp-ppp-config: Usage: ssmtp-ppp-config [ option ... ] -v Be verbose -p Use current PPP host name (default) -d Use default local host name from "$PROJ_ETC/localHost" ("/c/SD/etc/localHost") -h localHost Specify the local host name -m mailHost Specify mail delivery host name -fy | -foy | -floy Allow From: override from message header -fn | -fon | -flon Forbid From: override from message header -h | -help | --help Display this usage summary Ssmtp-ppp-config uses a simple auxiliary script "pppDNS" which is one of three "faces" (invocation name) of "pppIdent" the other two are "pppIP" and "pppInfo". When invoked as pppIdent it will give a usage diagnostics and make sure links to the primary invocation names (those mentioned above) exist: % pppIdent Usage: pppIP | pppDNS | pppInfo % pppIP 1015> pppIP 66.238.120.163 192.168.136.1 (I see a problem here that's cropped up since I configured a new interface--both IP addresses are showing. This script or those that use it will need to be fixed, it seems. These command use the Windows "ipconfig" command (and I only tested on Windows 2K Pro) but it does call out PPP interfaces as such, so fixing this shouldn't be too big a problem.) % pppInfo PPP IP: 66.238.120.163 192.168.136.1 PPP DNS: xo.283.238.66.in-addr.arpa (The same problem shows up here and a bit more blatantly.) % pppDNS xo.283.238.66.in-addr.arpa I've attached these three scripts. Maybe they'll be helpful to ssmtp users. Feel free to ask me for help in using them. I the multiple interface thing is a problem for anyone, give me a poke and I'll fix up that defect. As usual, they weren't written for completely general-purpose use and may not be suitable for all users (or any users besides me). Generic ssmtp questions can stay on the Cygwin list. Questions about my scripts should go to me. Randall Schulz --=====================_34597343==_ Content-Type: application/octet-stream; name="ssmtp-ppp-config" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ssmtp-ppp-config" IyEvYmluL2Jhc2gKCgojIENvbmZpZ3VyZSBzU01UUC4KIwlJbnRlbmRlZCBwcmltYXJpbHkgZm9y IHVzZSB3aXRoIGEgZnJlcXVlbnRseSB2YXJ5aW5nCiMJaG9zdCBhZGRyZXNzIGFuZCBuYW1lLCB0 eXBpY2FsbHkgYSBQUFAgbGluay4KCgojIFVzYWdlOiBzc210cC1wcHAtY29uZmlnIFsgb3B0aW9u IC4uLiBdCiMJLXYJCQkJCQlCZSB2ZXJib3NlCiMJLXAJCQkJCQlVc2UgY3VycmVudCBQUFAgaG9z dCBuYW1lIChkZWZhdWx0KQojCS1kCQkJCQkJVXNlIGRlZmF1bHQgbG9jYWwgaG9zdCBuYW1lIGZy b20KIwkJCQkJCQkgIFwiXCRQUk9KX0VUQy9sb2NhbEhvc3RcIiAoXCIkUFJPSl9FVEMvbG9jYWxI b3N0XCIpCiMJLWggbG9jYWxIb3N0CQkJU3BlY2lmeSB0aGUgbG9jYWwgaG9zdCBuYW1lCiMJLW0g bWFpbEhvc3QJCQkJU3BlY2lmeSBtYWlsIGRlbGl2ZXJ5IGhvc3QgbmFtZQojCS1meSB8IC1mb3kg fCAtZmxveQkJQWxsb3cgRnJvbTogb3ZlcnJpZGUgZnJvbSBtZXNzYWdlIGhlYWRlcgojCS1mbiB8 IC1mb24gfCAtZmxvbgkJRm9yYmlkIEZyb206IG92ZXJyaWRlIGZyb20gbWVzc2FnZSBoZWFkZXIK IwktaCB8IC1oZWxwIHwgLS1oZWxwCQlEaXNwbGF5IHRoaXMgdXNhZ2Ugc3VtbWFyeQoKCnVzYWdl U3VtbWFyeT0iVXNhZ2U6IHNzbXRwLXBwcC1jb25maWcgWyBvcHRpb24gLi4uIF0KIyAgIC12ICAg ICAgICAgICAgICAgICAgICAgIEJlIHZlcmJvc2UKIyAgIC1wICAgICAgICAgICAgICAgICAgICAg IFVzZSBjdXJyZW50IFBQUCBob3N0IG5hbWUgKGRlZmF1bHQpCiMgICAtZCAgICAgICAgICAgICAg ICAgICAgICBVc2UgZGVmYXVsdCBsb2NhbCBob3N0IG5hbWUgZnJvbQojICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcIlwkUFJPSl9FVEMvbG9jYWxIb3N0XCIgKFwiJFBST0pfRVRDL2xvY2Fs SG9zdFwiKQojICAgLWggbG9jYWxIb3N0ICAgICAgICAgICAgU3BlY2lmeSB0aGUgbG9jYWwgaG9z dCBuYW1lCiMgICAtbSBtYWlsSG9zdCAgICAgICAgICAgICBTcGVjaWZ5IG1haWwgZGVsaXZlcnkg aG9zdCBuYW1lCiMgICAtZnkgfCAtZm95IHwgLWZsb3kgICAgICBBbGxvdyBGcm9tOiBvdmVycmlk ZSBmcm9tIG1lc3NhZ2UgaGVhZGVyCiMgICAtZm4gfCAtZm9uIHwgLWZsb24gICAgICBGb3JiaWQg RnJvbTogb3ZlcnJpZGUgZnJvbSBtZXNzYWdlIGhlYWRlcgojICAgLWggfCAtaGVscCB8IC0taGVs cCAgICAgRGlzcGxheSB0aGlzIHVzYWdlIHN1bW1hcnkKIgoKc2hvd1VzYWdlKCkgewoJZWNobyAt biAic3NtdHAtcHBwLWNvbmZpZzogIgoJZWNobyAiJHVzYWdlU3VtbWFyeSIKfQoKCmxvY2FsSG9z dD0KbWFpbEhvc3Q9CmZyb21PdmVycmlkZT0iRnJvbUxpbmVPdmVycmlkZT1ZRVMiCmZsbz0KCm9w ZXJhdGVRdWlldGx5PTEKcXVpdEVhcmx5PQoKCiMgUHJvY2VzcyBhcmd1bWVudHMKd2hpbGUgWyAk IyAtZ3QgMCBdOyBkbwoJYXJnPSIkMSIKCXNoaWZ0CgoJY2FzZSAiJGFyZyIgaW4KCS12KQoJCW9w ZXJhdGVRdWlldGx5PQoJCTs7CgoJLXApCgkJbG9jYWxIb3N0PQoJCTs7CgoJLWQpCgkJY2hlY2tl bnYgUFJPSl9FVEMgfHwgZXhpdCAxCgkJaWYgWyAhIC1zICIkUFJPSl9FVEMvbG9jYWxob3N0IiBd OyB0aGVuCgkJCWxvY2FsSG9zdD0iJChjYXQgIiRQUk9KX0VUQy9sb2NhbEhvc3QiKSIKCQllbHNl CgkJCWVjaG8gInNzbXRwLXBwcC1jb25maWc6IEVycm9yOiBcIiRSUE9KX0VUQy9sb2NhbGhvc3Rc IiBkb2VzIG5vdCBleGlzdCBvciBpcyBlbXB0eS4iID4mMgoJCQlxdWl0RWFybHk9MQoJCWZpCgkJ OzsKCgktbSkKCQltYWlsSG9zdD0iJDEiCgkJc2hpZnQKCQk7OwoKCS1oKQoJCWxvY2FsSG9zdD0i JDEiCgkJc2hpZnQKCQk7OwoKCS1meSB8IC1mb3kgfCAtZmxveSkKCQlmbG89MQoJCWZyb21PdmVy cmlkZT0iRnJvbUxpbmVPdmVycmlkZT1ZRVMiCgkJOzsKCgktZm4gfCAtZm9uIHwgLWZsb24pCgkJ ZmxvPTAKCQlmcm9tT3ZlcnJpZGU9IkZyb21MaW5lT3ZlcnJpZGU9Tk8iCgkJOzsKCgktaCB8IC1o ZWxwIHwgLS1oZWxwKQoJCXNob3dVc2FnZQoJCXF1aXRFYXJseT0wCgkJOzsKCWVzYWMKZG9uZQoK CgojIElmIG5vdCBzcGVjaWZpZWQsIHVzZSB0aGUgbG9jYWwgUFBQIGhvc3QgbmFtZSBhcyB0aGUg bG9jYWwgaG9zdCBuYW1lCmlmIFsgLXogIiRsb2NhbEhvc3QiIF07IHRoZW4KCWxvY2FsSG9zdD0i JHsyOi0kKHBwcEROUyl9IgoKCWlmIFsgLXogIiRsb2NhbEhvc3QiIF07IHRoZW4KCQllY2hvICJz c210cC1wcHAtY29uZmlnOiBDYW5ub3QgYXNjZXJ0YWluIGxvY2FsIGhvc3QgbmFtZSIKCQlxdWl0 RWFybHk9MQoJZmkKZmkKCgojIElmIG5vdCBzcGVjaWZpZWQsIHVzZSB0aGUgZGVmYXVsdCBtYWls IGh1YiBuYW1lCmlmIFsgLXogIiRtYWlsSG9zdCIgXTsgdGhlbgoJY2hlY2tlbnYgUFJPSl9FVEMg fHwgZXhpdCAxCgoJaWYgWyAtcyAiJFBST0pfRVRDL21haWxob3N0IiBdOyB0aGVuCgkJLiAiJFBS T0pfRVRDL21haWxob3N0IgoJZWxzZQoJCWVjaG8gIk5vIG91dGdvaW5nIG1haWwgaG9zdCBpbmZv cm1hdGlvbiBhdmFpbGFibGUiID4mMgoJCXF1aXRFYXJseT0xCglmaQpmaQoKCmlmIFsgIiRxdWl0 RWFybHkiIF07IHRoZW4KCWV4aXQgJHF1aXRFYXJseQpmaQoKCgppZiBbICEgIiRvcGVyYXRlUXVp ZXRseSIgXTsgdGhlbgoJZWNobyAiVXNpbmcgbWFpbCBkZWxpdmVyeSBob3N0IFwiJG1haWxIb3N0 XCIgYW5kIGxvY2FsIGhvc3QgbmFtZSBcIiRsb2NhbEhvc3RcIiIKCVsgIiRmbG8iIF0gJiYgZWNo byAiRnJvbS1saW5lIG92ZXJyaWRlIGFsbG93ZWQiIHx8IGVjaG8gIkZyb20tbGluZSBvdmVycmlk ZSBmb3JiaWRkZW4iCmZpCgoKIwojIEdlbmVyYXRlIHRoZSBzc210cCBjb25maWd1cmF0aW9uIGZp bGUKIwoKY2F0ID58Ii9ldGMvc3NtdHAvc3NtdHAuY29uZiIgPDwtRU9DT05GSUcKCSMKCSMgL2V0 Yy9zc210cC5jb25mIC0tIGEgY29uZmlnIGZpbGUgZm9yIHNTTVRQIHNlbmRtYWlsLgoJIwoKCSMg VGhlIHBlcnNvbiB3aG8gZ2V0cyBhbGwgbWFpbCBmb3IgdXNlcmlkcyA8IDEwCglyb290PXBvc3Rt YXN0ZXIKCgkjIFRoZSBwbGFjZSB3aGVyZSB0aGUgbWFpbCBnb2VzLiBUaGUgYWN0dWFsIG1hY2hp bmUgbmFtZSBpcyByZXF1aXJlZAoJIyBubyBNWCByZWNvcmRzIGFyZSBjb25zdWx0ZWQuIENvbW1v bmx5IG1haWxob3N0cyBhcmUgbmFtZWQgbWFpbC5kb21haW4uY29tCgkjIFRoZSBleGFtcGxlIHdp bGwgZml0IGlmIHlvdSBhcmUgaW4gZG9tYWluLmNvbSBhbmQgeW91IG1haWxodWIgaXMgc28gbmFt ZWQuCgltYWlsaHViPSRtYWlsSG9zdAoKCSMgV2hlcmUgd2lsbCB0aGUgbWFpbCBzZWVtIHRvIGNv bWUgZnJvbT8KCSNyZXdyaXRlRG9tYWluPSRtYWlsbmFtZQoJIyBUaGUgZnVsbCBob3N0bmFtZQoJ aG9zdG5hbWU9JGxvY2FsSG9zdAoKCSMgU2V0IHRoaXMgdG8gbmV2ZXIgcmV3cml0ZSB0aGUgIkZy b206IiBsaW5lICh1bmxlc3Mgbm90IGdpdmVuKSBhbmQgdG8KCSMgdXNlIHRoYXQgYWRkcmVzcyBp biB0aGUgImZyb20gbGluZSIgb2YgdGhlIGVudmVsb3BlLgoJJGZyb21PdmVycmlkZQpFT0NPTkZJ Rwo= --=====================_34597343==_ Content-Type: application/octet-stream; name="sendmsg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sendmsg" IyEvYmluL2Jhc2gKCgojIFVzZSBzc210cCB0byBzZW5kIGFuIGVtYWlsIG1lc3NhZ2UKCgppZiBb ICQjIC1lcSAwIF07IHRoZW4KCWVjaG8gInNlbmRtc2c6IFVzYWdlIHNlbmRtc2cgWyBvcHRpb25z IFsgb3B0QXJnIF0gfCByZWNpcGllbnRBZGRyZXNzIF0gLi4uIiA+JjIKCWV4aXQgMQpmaQoKCiMg VGFicyBoZXJlOgojIHNlbmRtc2c6IFVzYWdlIHNlbmRtc2cgWyBvcHRpb25zIFsgb3B0QXJnIF0g fCByZWNpcGllbnRBZGRyZXNzIF0gLi4uCiMgT3B0aW9uczoKIwktcyBzdWJqZWN0U3RyaW5nCQkj IEVzdGFibGlzaCB0aGUgbWVzc2FnZSdzIHN1YmplY3QgaGVhZGVyCiMJLXQgcmVjaXBpZW50QWRk cnJlc3MJIyBBZGQgYSBwcmltYXJ5IHJlY2lwaWVudAojCS1jIGNjQWRkcmVzcwkJCSMgQWRkIGEg Y2FyYm9uLWNvcHkgcmVjaXBpZW50CiMJLWIgYmxpbmRDQ0FkZHJlc3MKIwktYmMgYmxpbmRDQ0Fk ZHJlc3MKIwktYmNjIGJsaW5kQ0NBZGRyZXNzCQkjIEFkZCBhIGJsaW5kIGNhcmJvbi1jb3B5IHJl Y2lwaWVudAojCS1tIG1lc3NhZ2VCb2R5RmlsZQkJIyBTcGVjaWZ5IGEgZmlsZSBjb250YWluaW5n IG1lc3NhZ2UgY29udGVudAojCQkJCQkJCSMJTWF5IGJlIHJlcGVhdGVkLiBBIHNpbmdsZSBoeXBo ZW4gY2F1c2VzCiMJCQkJCQkJIwl0aGUgc3RhbmRhcmQgaW5wdXQgdG8gYmUgYmUgcmVhZAojCS1m IHNlbmRlckFkZHJlc3MJCSMgRXN0YWJsaXNoIHRoZSBzZW5kZXIncyAoZnJvbSkgYWRkcmVzcwoj CS1mbiBzZW5kZXJGdWxsTmFtZQojCS1GIHNlbmRlckZ1bGxOYW1lCQkjIEVzdGFibGlzaCB0aGUg c2VuZGVyJ3MgZnVsbCBuYW1lCiMJLXIgcmVwbHlUb0FkZHJlc3MKIwktcnQgcmVwbHlUb0FkZHJl c3MJCSMgRXN0YWJsaXNoIGEgIlJlcGx5LVRvOiIgaGVhZGVyCiMJLW5kCiMJLW50CQkJCQkJIyBE byBub3QgYWRkIGEgXCJEYXRlOlwiIGhlYWRlciBmaWVsZAojCS1kIGRhdGVTdHJpbmcJCQkjIFNw ZWNpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBcIkRhdGU6XCIgaGVhZGVyCiMJCQkJCQkJIwlOb3Rl OiBEbyBub3QgaW5jbHVkZSB0aGUgXCJEYXRlOiBwb3J0aW9uXCIKIwktcHBwCQkJCQkjIFJlLWNy ZWF0ZSAvZXRjL3NzbXRwL3NzbXRwLmNvbmYKIwktcSBxdWV1ZUZpbGUJCQkjIEVucXVldWUgbWVz c2FnZSBpbiBzcGVjaWZpZWQgcXVldWUgZmlsZQojCS1wcSBxdWV1ZUZpbGUJCQkjIFByaW50IGhl YWRlcnMgb2YgbWFpbCBxdWV1ZWQgaW4gc3BlY2lmaWVkIHF1ZXVlIGZpbGUKIwktc3EgcXVldWVG aWxlCQkJIyBTZW5kIG1haWwgcXVldWVkIGluIHNwZWNpZmllZCBxdWV1ZSBmaWxlCiMJCQkJCQkJ IwliYXNlZCBvbiBjdXJyZW50IFBQUCBjb25uZWN0aW9uCiMJLWggfCAtaGVscCB8IC0taGVscAkJ IyBTaG93IHRoaXMgdXNhZ2Ugc3VtbWFyeQoKCiMgU3BhY2VzIGhlcmU6CnVzYWdlU3VtbWFyeT0i IyBzZW5kbXNnOiBVc2FnZSBzZW5kbXNnIFsgb3B0aW9ucyBbIG9wdEFyZyBdIHwgcmVjaXBpZW50 QWRkcmVzcyBdIC4uLgojIE9wdGlvbnM6CiMgICAtcyBzdWJqZWN0U3RyaW5nICAgICAgICAjIEVz dGFibGlzaCB0aGUgbWVzc2FnZSdzIHN1YmplY3QgaGVhZGVyCiMgICAtdCByZWNpcGllbnRBZGRy cmVzcyAgICAjIEFkZCBhIHByaW1hcnkgcmVjaXBpZW50CiMgICAtYyBjY0FkZHJlc3MgICAgICAg ICAgICAjIEFkZCBhIGNhcmJvbi1jb3B5IHJlY2lwaWVudAojICAgLWIgYmxpbmRDQ0FkZHJlc3MK IyAgIC1iYyBibGluZENDQWRkcmVzcwojICAgLWJjYyBibGluZENDQWRkcmVzcyAgICAgIyBBZGQg YSBibGluZCBjYXJib24tY29weSByZWNpcGllbnQKIyAgIC1tIG1lc3NhZ2VCb2R5RmlsZSAgICAg ICMgU3BlY2lmeSBhIGZpbGUgY29udGFpbmluZyBtZXNzYWdlIGNvbnRlbnQKIyAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgICBNYXkgYmUgcmVwZWF0ZWQuIEEgc2luZ2xlIGh5cGhlbiBjYXVz ZXMKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICB0aGUgc3RhbmRhcmQgaW5wdXQgdG8g YmUgYmUgcmVhZAojICAgLWZuIHNlbmRlckZ1bGxOYW1lCiMgICAtRiBzZW5kZXJGdWxsTmFtZSAg ICAgICAjIEVzdGFibGlzaCB0aGUgc2VuZGVyJ3MgZnVsbCBuYW1lCiMgICAtciByZXBseVRvQWRk cmVzcwojICAgLXJ0IHJlcGx5VG9BZGRyZXNzICAgICAgIyBFc3RhYmxpc2ggYSAiUmVwbHktVG86 IiBoZWFkZXIKIyAgIC1uZAojICAgLW50ICAgICAgICAgICAgICAgICAgICAgIyBEbyBub3QgYWRk IGEgXCJEYXRlOlwiIGhlYWRlciBmaWVsZAojICAgLWQgZGF0ZVN0cmluZyAgICAgICAgICAgIyBT cGVjaWZ5IHRoZSBjb250ZW50cyBvZiB0aGUgXCJEYXRlOlwiIGhlYWRlcgojICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyAgIE5vdGU6IERvIG5vdCBpbmNsdWRlIHRoZSBcIkRhdGU6IHBvcnRp b25cIgojICAgLXBwcCAgICAgICAgICAgICAgICAgICAgIyBSZS1jcmVhdGUgL2V0Yy9zc210cC9z c210cC5jb25mCiMgICAtcSBxdWV1ZUZpbGUgICAgICAgICAgICAjIEVucXVldWUgbWVzc2FnZSBp biBzcGVjaWZpZWQgcXVldWUgZmlsZQojICAgLXBxIHF1ZXVlRmlsZSAgICAgICAgICAgIyBQcmlu dCBoZWFkZXJzIG9mIG1haWwgcXVldWVkIGluIHNwZWNpZmllZCBxdWV1ZSBmaWxlCiMgICAtc3Eg cXVldWVGaWxlICAgICAgICAgICAjIFNlbmQgbWFpbCBxdWV1ZWQgaW4gc3BlY2lmaWVkIHF1ZXVl IGZpbGUKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBiYXNlZCBvbiBjdXJyZW50IFBQ UCBjb25uZWN0aW9uCiMgICAtaCB8IC1oZWxwIHwgLS1oZWxwICAgICAjIFNob3cgdGhpcyB1c2Fn ZSBzdW1tYXJ5CiIKCnNob3dVc2FnZSgpIHsKCWVjaG8gIiR1c2FnZVN1bW1hcnkiCn0KCgoKIyBF eHRyYWN0IGFuIG9wdGlvbiBhcmd1bWVudCBmcm9tIHRoZSBzY3JpcHQncyBwb3NpdGlvbmFsIHBh cmFtZXRlcnMKIwlOb3RlOiB1bmZpbmlzaGVkIGFuZCB3cm9uZy4uLgpvcHRBcmcoKSB7CglpZiBb ICQjIC1sdCAxIF07IHRoZW4KCQllY2hvICJzZW5kbXNnOiBcIiQxXCIgb3B0aW9uIHJlcXVpcmVz IGFuIGFyZ3VtZW50IiAyPiYxCgkJcXVpdEVhcmx5PTEKCWVsc2UKCQlldmFsICIkMj0kMSIKCQlz aGlmdAoJZmkKfQoKCgojIFBlcmwtbGlrZSBqb2luIG9wZXJhdG9yCmpvaW4oKSB7CglvdXQ9Cglz ZXA9IiQxIgoKCXNoaWZ0CgoJZm9yIGVsdDsgZG8KCQlbIC16ICIkb3V0IiBdICYmIG91dD0iJGVs dCIgfHwgb3V0PSIkb3V0JHNlcCRlbHQiCglkb25lCgoJZWNobyAtbiAiJG91dCIKfQoKCnF1b3Rl QWxsKCkgewoJcXVvdGVDaGFyPSQxCglzaGlmdAoKCWZvciBlbHQKCQlkbyBlY2hvIC1uICIkcXVv dGVDaGFyJHtlbHQvLyRxdW90ZUNoYXIvXFwkcXVvdGVDaGFyL30kcXVvdGVDaGFyICIKCWRvbmUK fQoKCgpkZWNsYXJlIC1hIHJlY2lwaWVudHMKZGVjbGFyZSAtYSBjYXJib25zCmRlY2xhcmUgLWEg YmxpbmRDYXJib25zCmRlY2xhcmUgLWEgYm9keUZpbGVzCmRlY2xhcmUgLWEgZnJvbUFyZ3MKCm5v VGltZVN0YW1wPQp0aW1lU3RhbXA9IiQoZGF0ZSArJyVhLCAlZCAlYiAlWSAlVCAleicpIgoKZnJv bUFkZHI9CmZyb21OYW1lPQpyZXBseVRvQWRkcj0KCmRvUFBQQ29uZmlnPQptZXNzYWdlUXVldWVG aWxlPQpzZW5kUXVldWVGaWxlPQpwcmludFF1ZXVlRmlsZT0KCnF1aXRFYXJseT0KCgojIEFwcGVu ZCBlbnRyaWVzIHRvIHRoZSBhcnJheSB3aG9zZSBuYW1lIGlzIHRoZSBmaXJzdCBhcmd1bWVudAph cHBlbmRhKCkgewoJYU5hbWU9IiQxIgoJc2hpZnQKCWZvciBhU2xvdDsgZG8KCQlhcHBlbmRDbWQ9 IiRhTmFtZVtcJHsjJGFOYW1lW0BdfV09XCIkYVNsb3RcIiIKCQlldmFsICIkYXBwZW5kQ21kIgoJ ZG9uZQp9CgoKCndoaWxlIFsgJCMgLWd0IDAgXTsgZG8KCglhcmc9IiQxIgoJbmV4dEFyZz0iJDIi CgoJc2hpZnQKCgljYXNlICIkYXJnIiBpbgoKCS1zKQoJCSMgU3ViamVjdAoJCXN1YmplY3Q9IiRu ZXh0QXJnIgoJCXNoaWZ0CgkJOzsKCgktdCkKCQkjIFByaW1hcnkgcmVjaXBpZW50CgkJYXBwZW5k YSByZWNpcGllbnRzICIkbmV4dEFyZyIKCQlzaGlmdAoJCTs7CgoJLWMgfCAtY2MpCgkJIyBDYXJi b24gY29weSByZWNpcGllbnQKCQlhcHBlbmRhIGNhcmJvbnMgIiRuZXh0QXJnIgoJCXNoaWZ0CgkJ OzsKCgktYiB8IC1iYyB8IC1iY2MpCgkJIyBCbGluZCBjYXJib24gY29weSByZWNpcGllbnQKCQlh cHBlbmRhIGJsaW5kQ2FyYm9ucyAiJG5leHRBcmciCgkJc2hpZnQKCQk7OwoKCS1tKQoJCSMgTWVz c2FnZSBib2R5IGZpbGUKCQlhcHBlbmRhIGJvZHlGaWxlcyAiJG5leHRBcmciCgkJc2hpZnQKCQk7 OwoKCS1mKQoJCSMgU2VuZGVyIChGcm9tOikgYWRkcmVzcwoJCWZyb21BZGRyPSIkbmV4dEFyZyIK CQlzaGlmdAoJCTs7CgoJLUYgfCAtZm4pCgkJIyBTZW5kZXIgKEZyb206KSBuYW1lCgkJZnJvbU5h bWU9IiRuZXh0QXJnIgoJCXNoaWZ0CgkJOzsKCgktciB8IC1ydCkKCQkjIFJlcGx5LVRvIGFkZHJl c3MKCQlyZXBseVRvQWRkcj0iJG5leHRBcmciCgkJc2hpZnQKCQk7OwoKCS1udCB8IC1uZCkKCQkj IEluaGliaXQgIkRhdGU6IiBoZWFkZXIKCQlub1RpbWVzdGFtcD0xCgkJOzsKCgktZCkKCQkjIFNw ZWNpZnkgdGltZS1zdGFtcCB2YWx1ZQoJCXRpbWVTdGFtcD0iJG5leHRBcmciCgkJc2hpZnQKCQk7 OwoKCS1xKQoJCSMgRW5xdWV1ZSB0aGUgbWVzc2FnZSBmb3IgbGF0ZXIgc2VuZGluZwoJCW1lc3Nh Z2VRdWV1ZUZpbGU9IiRuZXh0QXJnIgoJCXNoaWZ0CgkJOzsKCgktc3EpCgkJIyBTZW5kIHF1ZXVl ZCBtZXNzYWdlcwoJCXNlbmRRdWV1ZUZpbGU9IiRuZXh0QXJnIgoJCXNoaWZ0CgkJOzsKCgktcHEp CgkJIyBMaXN0IHF1ZXVlZCBtZXNzYWdlcwoJCXByaW50UXVldWVGaWxlPSIkbmV4dEFyZyIKCQlz aGlmdAoJCTs7CgoJLXBwcCkKCQkjIFJ1biBzbXRwLXBwcC1jb25maWcgYmVmb3JlIHNlbmRpbmcK CQlkb1BQUENvbmZpZz0xCgkJOzsKCgktaCB8IC1oZWxwIHwgLS1oZWxwKQoJCSMgUHJvdmlkZSB1 c2FnZSBzdW1tYXJ5CgkJc2hvd1VzYWdlCgkJcXVpdEVhcmx5PTAKCQk7OwoKCS0qKQoJCWVjaG8g InNlbmRtc2c6IFVucmVjb2duaXplZCBvcHRpb24gXCIkYXJnXCIgKFwic2VuZG1zZyAtLWhlbHBc IiBmb3IgdXNhZ2Ugc3VtbWFyeSkiID4mMgoJCXF1aXRFYXJseT0xCgkJOzsKCgkqKQoJCSMgT3Ro ZXIgYXJndW1lbnRzIGFyZSBhc3N1bWVkIHRvIGJlIHByaW1hcnkgcmVjaXBpZW50IGFkZHJlc3Nl cwoJCWFwcGVuZGEgcmVjaXBpZW50cyAiJGFyZyIKCQk7OwoJZXNhYwpkb25lCgoKIyBTdG9wIG5v dz8KaWYgWyAiJHF1aXRFYXJseSIgXTsgdGhlbgoJZXhpdCAkcXVpdEVhcmx5CmZpCgoKIyBDb25m aWd1cmUgZm9yIFBQUCBsaW5rPwppZiBbICIkZG9QUFBDb25maWciIC1hIC1uICIkbWVzc2FnZVF1 ZXVlRmlsZSIgXTsgdGhlbgoJaWYgc3NtdHAtcHBwLWNvbmZpZzsgdGhlbgoJCToKCWVsc2UKCQll Y2hvICJzZW5kbXNnOiBVbmFibGUgdG8gY29uZmlndXJlIGVtYWlsIGZvciBQUFAiCglmaQpmaQoK CiMgUXVpdCBub3cgaWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIGRvCmlmIFsgJHsjcmVjaXBp ZW50c1tAXX0gLWVxIDAgLWEgJHsjY2FyYm9uc1tAXX0gLWVxIDAgLWEgJHsjYmxpbmRDYXJib25z W0BdfSAtZXEgMCBcCgkgLWEgLXogIiRwcmludFF1ZXVlRmlsZSIgLWEgLXogIiRzZW5kUXVldWVG aWxlIiBdOyB0aGVuCgllY2hvICJzZW5kbXNnOiBOby1vcCIKCWV4aXQgMApmaQoKCiMgUHJlcGFy ZSAiRnJvbToiIG9wdGlvbnMgZm9yIHNzbXRwCmlmIFsgLW4gIiRmcm9tQWRkciIgLW8gLW4gIiRm cm9tTmFtZSIgXTsgdGhlbgoJaWYgWyAtbiAiJG1lc3NhZ2VRdWV1ZUZpbGUiIF07IHRoZW4KCQlm cm9tQXJncz0oIlwiLWYkZnJvbUFkZHJcIiIgIlwiLUYkZnJvbU5hbWVcIiIpCgllbHNlCgkJZnJv bUFyZ3M9KCItZiRmcm9tQWRkciIgIi1GJGZyb21OYW1lIikKCWZpCmZpCgoKIyBTeW50aGVzaXpl IHRoZSBtZXNzYWdlCmlmIFsgJHsjcmVjaXBpZW50c1tAXX0gLWd0IDAgLW8gJHsjY2FyYm9uc1tA XX0gLWd0IDAgLW8gJHsjYmxpbmRDYXJib25zW0BdfSAtZ3QgMCBdOyB0aGVuCgkoCgkJIyBTeW50 aGVzaXplIGhlYWRlciBmaWVsZHMKCgkJaWYgWyAhICIkbm9UaW1lU3RhbXAiIF07IHRoZW4KCQkJ ZWNobyAiRGF0ZTogJHRpbWVTdGFtcCIKCQlmaQoKCSMJaWYgWyAtbiAiJGZyb21BZGRyIiBdOyB0 aGVuCgkjCQlpZiBbIC1uICIkZnJvbU5hbWUiIF07IHRoZW4KCSMJCQllY2hvICJGcm9tOiAke2Vj aG8gIiRmcm9tTmFtZSIgfHRyIC1kICIhQCMkJV4mKigpKz17fVtdOjtcIic8PiwuPy8ifSA8JGZy b21BZGRyPiIKCSMJCWVsc2UKCSMJCQllY2hvICJGcm9tOiAkZnJvbUFkZHIiCgkjCQlmaQoJIwlm aQoKCQlpZiBbIC1uICIkcmVwbHlUb0FkZHIiIF07IHRoZW4KCQkJZWNobyAiUmVwbHktVG86ICRy ZXBseVRvQWRkciIKCQlmaQoKCQlpZiBbIC1uICIkc3ViamVjdCIgXTsgdGhlbgoJCQllY2hvICJT dWJqZWN0OiAkc3ViamVjdCIKCQlmaQoKCQlpZiBbICR7I3JlY2lwaWVudHNbQF19IC1ndCAwIF07 IHRoZW4KCQkJZWNobyAiVG86ICQoam9pbiAiLCAiICIke3JlY2lwaWVudHNbQF19IikiCgkJZmkK CgkJaWYgWyAkeyNjYXJib25zW0BdfSAtZ3QgMCBdOyB0aGVuCgkJCWVjaG8gIkNDOiAkKGpvaW4g IiwgIiAiJHtjYXJib25zW0BdfSIpIgoJCWZpCgoJCWlmIFsgJHsjYmxpbmRDYXJib25zW0BdfSAt Z3QgMCBdOyB0aGVuCgkJCWZvciBiY2NSZWNpcGllbnQgaW4gIiR7YmxpbmRDYXJib25zW0BdfSI7 IGRvCgkJCQllY2hvICJCQ0M6ICRiY2NSZWNpcGllbnQiCgkJCWRvbmUKCQlmaQoKCQllY2hvCgoJ CSMgR2VuZXJhdGUgYW5kIC8gb3IgY29sbGVjdCAoZnJvbSBzdGFuZGFyZCBpbnB1dCkgdGhlIGJv ZHkgb2YgdGhlIG1lc3NhZ2UKCQljYXQgIiR7Ym9keUZpbGVzW0BdfSIKCSkgfCAoCgkJIyBRdWV1 ZSBmb3IgbGF0ZXIgb3Igc2VuZCBub3c/CgoJCWlmIFsgLW4gIiRtZXNzYWdlUXVldWVGaWxlIiBd OyB0aGVuCgkJCSMgUXVldWUgdGhlIG1lc3NhZ2UgZm9yIGxhdGVyCgkJCWVvbVRhZz0iRU9NXyQo ZGF0ZSArJyVZJW0lZCVIJU0lUycpIgoJCQkoCWVjaG8gInNzbXRwICQocXVvdGVBbGwgXCIgIiR7 ZnJvbUFyZ3NbQF19IiAiJHtyZWNpcGllbnRzW0BdfSIgIiR7Y2FyYm9uc1tAXX0iICIke2JsaW5k Q2FyYm9uc1tAXX0iKSA8PCRlb21UYWciCgkJCQljYXQKCQkJCWVjaG8gIiRlb21UYWciJCdcblxu JwoJCQkpPj4iJG1lc3NhZ2VRdWV1ZUZpbGUiCgoJCWVsc2UKCQkJIyBTZW5kIHRoZSBtZXNzYWdl IG9uIGl0cyB3YXk6CgkJCXNzbXRwICIke2Zyb21BcmdzW0BdfSIgIiR7cmVjaXBpZW50c1tAXX0i ICIke2NhcmJvbnNbQF19IiAiJHtibGluZENhcmJvbnNbQF19IgoJCWZpCgkpCmZpCgoKIyBMaXN0 IHF1ZXVlZCBtZXNzYWdlcwppZiBbIC1uICIkcHJpbnRRdWV1ZUZpbGUiIF07IHRoZW4KCWlmIFsg LXMgIiRwcmludFF1ZXVlRmlsZSIgXTsgdGhlbgoJCXNlZCAtbiAtZSAnL15zc210cC8sL14kL3An ICIkcHJpbnRRdWV1ZUZpbGUiIHxlZ3JlcCAtdiAnXnNzbXRwJwoJZWxzZQoJCWVjaG8gInNlbmRt c2c6IE5vIG1lc3NhZ2VzIGFyZSBjdXJyZW50bHkgcXVldWVkIGluIFwiJHByaW50UXVldWVGaWxl XCIiCglmaQpmaQoKCiMgU2VuZCBxdWV1ZWQgbWVzc2FnZXMKaWYgWyAtbiAiJHNlbmRRdWV1ZUZp bGUiIC1hIC1zICIkc2VuZFF1ZXVlRmlsZSIgXTsgdGhlbgoKCSMgQ29uZmlndXJlIGZvciBQUFAg bGluaz8KCWlmIFsgIiRkb1BQUENvbmZpZyIgLWEgLW4gIiRtZXNzYWdlUXVldWVGaWxlIiBdOyB0 aGVuCgkJaWYgc3NtdHAtcHBwLWNvbmZpZzsgdGhlbgoJCQk6CgkJZWxzZQoJCQllY2hvICJzZW5k bXNnOiBVbmFibGUgdG8gY29uZmlndXJlIHNzbXRwIGZvciBQUFAiCgkJZmkKCWZpCgoJc291cmNl ICIkc2VuZFF1ZXVlRmlsZSIKCgkjIFJlbmFtZSB0aGUgZmlsZSB3aXRoIGEgdGltZXN0YW1wIG9m IHRoZSB0aW1lIGl0IHdhcyBzZW50CgltdiAiJHNlbmRRdWV1ZUZpbGUiICIkc2VuZFF1ZXVlRmls ZS0kKGRhdGUgKyclWS0lbS0lZEAlSC0lTS0lUycpIgpmaQo= --=====================_34597343==_ Content-Type: application/octet-stream; name="pppIdent" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pppIdent" IyEvYmluL3NoCgoKIyBQUFAgaW5mb3JtYXRpb24gdXRpbGl0aWVzCgoKIyBQcmludCB0aGUgUFBQ IElQIGFkZHJlc3MKcHBwSVAoKSB7CglpcGNvbmZpZyB8c2VkIC1uIC1lICcvXlBQUC8sJCBwJyB8 IHNlZCAtbiAtZSAnL0lQIEFkZHJlc3MvIHMvLio6IC8vcCcKfQoKCiMgUHJpbnQgdGhlIFBQUCBE TlMgbmFtZQpwcHBETlMoKSB7Cgluc2xvb2t1cCAiJChwcHBJUCkiIHxzZWQgLW4gLWUgJy9eTmFt ZTovIHMvXk5hbWU6ICAqLy9wJwp9CgoKIyBEaXNwbGF5IHRoZSBQUFAgSVAgYWRkcmVzcyBhbmQg RE5TIG5hbWUKcHBwSW5mbygpIHsKCWlwPSIkKHBwcElQKSIKCWVjaG8gIlBQUCAgSVA6ICRpcCIK CWVjaG8gIlBQUCBETlM6ICQobnNsb29rdXAgIiRpcCIgfHNlZCAtbiAtZSAnL15OYW1lOi8gcy9e TmFtZTogICovL3AnKSIKfQoKCiMgTm90aWZ5IHVzZXIgdGhhdCBubyBzdWItZnVuY3Rpb24gd2Fz IHNwZWNpZmllZApwcHBJZGVudCgpIHsKCWVjaG8gIlVzYWdlOiBwcHBJUCB8IHBwcEROUyB8IHBw cEluZm8iID4mMgoKCSMgR2VuZXJhdGUgYWxpYXNlcyBhcyBuZWVkZWQKCWNkICIkezAlLyp9IiAm JiBcCgkoIFsgISAtZiBwcHBJUCBdCSYmIGxuIHBwcElkZW50IHBwcElQCgkgIFsgISAtZiBwcHBE TlMgXQkmJiBsbiBwcHBJZGVudCBwcHBETlMKCSAgWyAhIC1mIHBwcEluZm8gXQkmJiBsbiBwcHBJ ZGVudCBwcHBJbmZvICkKCglleGl0IDEKfQoKCgojIEludm9rZSB0aGUgc3BlY2lmaWVkIHN1Yi1v cHRpb24KIiR7MCMjKi99IiAiJEAiCg== --=====================_34597343==_ Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --=====================_34597343==_--