Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:14084 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 74577 invoked by uid 1010); 16 Dec 2004 04:44:30 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 72187 invoked from network); 16 Dec 2004 04:44:17 -0000 Received: from unknown (HELO charon.simplot.com) (12.18.144.212) by pb1.pair.com with SMTP; 16 Dec 2004 04:44:17 -0000 Received: from occ01mx003.na.simplot.com (10.10.6.25) by charon.simplot.com (MX V5.3 AnGp) with SMTP for ; Wed, 15 Dec 2004 21:44:14 -0700 Received: from 10.10.6.3 by occ01mx003.na.simplot.com (InterScan E-Mail VirusWall NT); Wed, 15 Dec 2004 21:44:14 -0700 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C4E329.E4AF482F" Date: Wed, 15 Dec 2004 21:47:09 -0700 Message-ID: <5367F26C013DE8429873569307F6F4A37ECCBB@OCC01MX023.na.simplot.com> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: ftp_get_resp & ftp_get_conv functions Thread-Index: AcTjJhvxwF+k7sYoQjOzt+NvFLiWPQAAHimA To: Subject: ftp_get_resp & ftp_get_conv functions From: Jesse.Binam@simplot.com ("Binam, Jesse") ------_=_NextPart_001_01C4E329.E4AF482F Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The attached diff adds 2 ftp functions. I read the README.SUBMITTING_PATCH and went thru all the steps, but there are no tests for ftp, and I didn't understand how to update the docs. So if someone would like to help me with that, great. Basically, I modifed ftpbuf_t adding a 2 dimensional array (array of strings) to store the conversation, and an int that indicates the next element in first dimension the array. I modified ftp_putcmd and ftp_getresp to add what gets sent/recvd in the conversation. And lastly I added ftp_get_resp which returns the 3 digit return code from the server of the last command sent, and ftp_get_conv (which I would not be opposed to changing the name of, that's just what I came up with) that returns the ftp conversation as an array. Both functions must be called before ftp_close (or ftp_quit) because it frees the resource. The array I defined is 2500x4096. 4096 was already there as the FTP_BUFSIZE, 2500 maybe a little excesive but in my environment it could get that bad. :/ So I was thinking that maybe I should add a optional flag on ftp_connect on where or not to trace the conversation? Thoughts? Jess ------_=_NextPart_001_01C4E329.E4AF482F Content-Type: text/plain; name="diff.txt" Content-Transfer-Encoding: base64 Content-Description: diff.txt Content-Disposition: attachment; filename="diff.txt" SW5kZXg6IGV4dC9mdHAvZnRwLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvcmVwb3NpdG9yeS9w aHAtc3JjL2V4dC9mdHAvZnRwLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEwNg0KZGlmZiAt dSAtcjEuMTA2IGZ0cC5jDQotLS0gZXh0L2Z0cC9mdHAuYwk1IE9jdCAyMDA0IDIzOjUzOjA5IC0w MDAwCTEuMTA2DQorKysgZXh0L2Z0cC9mdHAuYwkxNiBEZWMgMjAwNCAwNDoxMzowMiAtMDAwMA0K QEAgLTExMjUsNiArMTEyNSwxNiBAQA0KIAkJc2l6ZSA9IHNwcmludGYoZnRwLT5vdXRidWYsICIl c1xyXG4iLCBjbWQpOw0KIAl9DQogDQorICAgIC8qIHdyaXRlIGNvbW1hbmQgdG8gY29udmJ1ZmZb XSAqLw0KKwlpZihmdHAtPmNvbnZjbnRyIDwgRlRQX0NPTlZfQlVGU0laRSl7DQorCQlpZihzdHJj bXAoY21kLCJQQVNTIikgIT0gMCl7DQorCQkJc3ByaW50ZihmdHAtPmNvbnZidWZbZnRwLT5jb252 Y250cl0sICItLS0+ICVzIiwgZnRwLT5vdXRidWYpOw0KKwkJfSBlbHNlIHsNCisJCQlzcHJpbnRm KGZ0cC0+Y29udmJ1ZltmdHAtPmNvbnZjbnRyXSwgIi0tLT4gUEFTUyBYWFhYWFhYWCIpOw0KKwkJ fQ0KKwl9DQorCWZ0cC0+Y29udmNudHIrKzsNCisNCiAJZGF0YSA9IGZ0cC0+b3V0YnVmOw0KIA0K IAlpZiAobXlfc2VuZChmdHAsIGZ0cC0+ZmQsIGRhdGEsIHNpemUpICE9IHNpemUpIHsNCkBAIC0x MjA1LDYgKzEyMTUsMTMgQEANCiAJCQlyZXR1cm4gMDsNCiAJCX0NCiANCisgICAgICAgIC8qIGNv cHkgY29udGVudHMgb2YgaW5idWYgdG8gY29udmJ1ZmZbXSAqLw0KKwkJaWYoZnRwLT5jb252Y250 ciA8IEZUUF9DT05WX0JVRlNJWkUpew0KKwkJCW1lbWNweShmdHAtPmNvbnZidWZbZnRwLT5jb252 Y250cl0sIGZ0cC0+aW5idWYsIEZUUF9CVUZTSVpFKTsNCisJCQlmdHAtPmNvbnZjbnRyKys7DQor CQl9DQorCQkJCQ0KKwkJDQogCQkvKiBCcmVhayBvdXQgd2hlbiB0aGUgZW5kLXRhZyBpcyBmb3Vu ZCAqLw0KIAkJaWYgKGlzZGlnaXQoZnRwLT5pbmJ1ZlswXSkgJiYgaXNkaWdpdChmdHAtPmluYnVm WzFdKSAmJiBpc2RpZ2l0KGZ0cC0+aW5idWZbMl0pICYmIGZ0cC0+aW5idWZbM10gPT0gJyAnKSB7 DQogCQkJYnJlYWs7DQpJbmRleDogZXh0L2Z0cC9mdHAuaA0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6 IC9yZXBvc2l0b3J5L3BocC1zcmMvZXh0L2Z0cC9mdHAuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9u IDEuNDINCmRpZmYgLXUgLXIxLjQyIGZ0cC5oDQotLS0gZXh0L2Z0cC9mdHAuaAk4IEphbiAyMDA0 IDE3OjMyOjA4IC0wMDAwCTEuNDINCisrKyBleHQvZnRwL2Z0cC5oCTE2IERlYyAyMDA0IDA0OjEz OjAyIC0wMDAwDQpAQCAtMzcsNiArMzcsNyBAQA0KIA0KIC8qIFhYWCB0aGlzIHNob3VsZCBiZSBj b25maWd1cmFibGUgYXQgcnVudGltZSBYWFggKi8NCiAjZGVmaW5lCUZUUF9CVUZTSVpFCTQwOTYN CisjZGVmaW5lIEZUUF9DT05WX0JVRlNJWkUgMjUwMA0KIA0KIHR5cGVkZWYgZW51bSBmdHB0eXBl IHsNCiAJRlRQVFlQRV9BU0NJSSwNCkBAIC04NCw2ICs4NSw5IEBADQogCWludAkJCQlvbGRfc3Ns OwkvKiBvbGQgbW9kZSA9IGZvcmNlZCBkYXRhIGVuY3J5cHRpb24gKi8NCiAJU1NMCQkJCSpzc2xf aGFuZGxlOyAgICAgIC8qIGhhbmRsZSBmb3IgY29udHJvbCBjb25uZWN0aW9uICovDQogCWludAkJ CQlzc2xfYWN0aXZlOwkJICAvKiBzc2wgYWN0aXZlIG9uIGNvbnRyb2wgY29ubiAqLw0KKwljaGFy ICAgIGNvbnZidWZbRlRQX0NPTlZfQlVGU0laRV1bRlRQX0JVRlNJWkVdOyAvKiBjb21wbGV0ZSBj b252ZXJzYXRpb24gKi8NCisJaW50CWNvbnZjbnRyOyAgICAgICAgICAgICAgIC8qIHBvc2l0aW9u IG9mIG5leHQgZWxlbWVudCBpbiBjb252YnVmICovDQorDQogI2VuZGlmDQogDQogfSBmdHBidWZf dDsNCkluZGV4OiBleHQvZnRwL3BocF9mdHAuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9yZXBv c2l0b3J5L3BocC1zcmMvZXh0L2Z0cC9waHBfZnRwLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjEwMQ0KZGlmZiAtdSAtcjEuMTAxIHBocF9mdHAuYw0KLS0tIGV4dC9mdHAvcGhwX2Z0cC5jCTI3 IFNlcCAyMDA0IDE0OjI1OjEzIC0wMDAwCTEuMTAxDQorKysgZXh0L2Z0cC9waHBfZnRwLmMJMTYg RGVjIDIwMDQgMDQ6MTM6MDIgLTAwMDANCkBAIC04Nyw2ICs4Nyw4IEBADQogCVBIUF9GRShmdHBf bmJfY29udGludWUsCQlOVUxMKQ0KIAlQSFBfRkUoZnRwX25iX3B1dCwJCQlOVUxMKQ0KIAlQSFBf RkUoZnRwX25iX2ZwdXQsCQkJTlVMTCkNCisJUEhQX0ZFKGZ0cF9nZXRfcmVzcCwJCQlOVUxMKQ0K KwlQSFBfRkUoZnRwX2dldF9jb252LAkJCU5VTEwpDQogCVBIUF9GQUxJQVMoZnRwX3F1aXQsIGZ0 cF9jbG9zZSwgTlVMTCkNCiAJe05VTEwsIE5VTEwsIE5VTEx9DQogfTsNCkBAIC0xMjM2LDYgKzEy MzgsNDkgQEANCiB9DQogLyogfX19ICovDQogDQorLyoge3t7IHByb3RvIHN0cmluZyBmdHBfZ2V0 X3Jlc3AocmVzb3VyY2Ugc3RyZWFtKQ0KKyAqICAgIFJldHVybnMgdGhlIHJlc3BvbnNlIGNvZGUg b2YgbGFzdCBjb21tYW5kICovDQorUEhQX0ZVTkNUSU9OKGZ0cF9nZXRfcmVzcCkNCit7DQorICAg ICAgICB6dmFsICAgICAgICAgICAgKnpfZnRwOw0KKyAgICAgICAgZnRwYnVmX3QgICAgICAgICpm dHA7DQorICAgICAgICBpbnQgICAgICAgICAgICAgcmVzcDsNCisNCisgICAgICAgIGlmICh6ZW5k X3BhcnNlX3BhcmFtZXRlcnMoWkVORF9OVU1fQVJHUygpIFRTUk1MU19DQywgInIiLCAmel9mdHAp ID09IEZBSUxVUkUpIHsNCisJCXJldHVybjsNCisgICAgICAgIH0NCisNCisJWkVORF9GRVRDSF9S RVNPVVJDRShmdHAsIGZ0cGJ1Zl90KiwgJnpfZnRwLCAtMSwgbGVfZnRwYnVmX25hbWUsIGxlX2Z0 cGJ1Zik7DQorCWlmICgwID09IChyZXNwID0gZnRwX2dldF9sYXN0cmVzcChmdHApKSkgew0KKwkJ cGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiJXMiLCBmdHAtPmlu YnVmKTsNCisJCVJFVFVSTl9GQUxTRTsNCisJfQ0KKwlSRVRVUk5fTE9ORyhyZXNwKTsNCit9DQor LyogfX19ICovDQorDQorLyoge3t7IHByb3RvIGFycmF5IGZ0cF9nZXRfY29udihyZXNvdXJjZSBz dHJlYW0pDQorICogICAgUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBlbnRpcmUgRlRQ IGNvbnZlcnNhdGlvbiAqLw0KK1BIUF9GVU5DVElPTihmdHBfZ2V0X2NvbnYpDQorew0KKwl6dmFs ICAgICAgICAgICAgKnpfZnRwOw0KKwlmdHBidWZfdCAgICAgICAgKmZ0cDsNCisJY2hhciAgICAg ICAgICAgICpwdHIxLCAqKnB0cjI7DQorCXplbmRfYm9vbCAgICAgICByZWN1cnNpdmUgPSAwOw0K KwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJy IiwgJnpfZnRwKSA9PSBGQUlMVVJFKSB7DQorCQlyZXR1cm47DQorCX0NCisNCisJWkVORF9GRVRD SF9SRVNPVVJDRShmdHAsIGZ0cGJ1Zl90KiwgJnpfZnRwLCAtMSwgbGVfZnRwYnVmX25hbWUsIGxl X2Z0cGJ1Zik7DQorDQorCWFycmF5X2luaXQocmV0dXJuX3ZhbHVlKTsNCisJZm9yIChwdHIxID0g KGNoYXIqKWZ0cC0+Y29udmJ1ZjsgKipwdHIyOyBwdHIxICs9IEZUUF9CVUZTSVpFKSB7DQorCQkq cHRyMiA9IHB0cjE7DQorCQlhZGRfbmV4dF9pbmRleF9zdHJpbmcocmV0dXJuX3ZhbHVlLCAqcHRy MiwgMSk7DQorCX0NCit9DQorLyogfX19ICovDQorDQogI2VuZGlmIC8qIEhBVkVfRlRQICovDQog DQogLyoNCkluZGV4OiBleHQvZnRwL3BocF9mdHAuaA0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9y ZXBvc2l0b3J5L3BocC1zcmMvZXh0L2Z0cC9waHBfZnRwLmgsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjI4DQpkaWZmIC11IC1yMS4yOCBwaHBfZnRwLmgNCi0tLSBleHQvZnRwL3BocF9mdHAuaAk4 IEphbiAyMDA0IDE3OjMyOjA4IC0wMDAwCTEuMjgNCisrKyBleHQvZnRwL3BocF9mdHAuaAkxNiBE ZWMgMjAwNCAwNDoxMzowMiAtMDAwMA0KQEAgLTY5LDYgKzY5LDggQEANCiBQSFBfRlVOQ1RJT04o ZnRwX25iX3B1dCk7DQogUEhQX0ZVTkNUSU9OKGZ0cF9uYl9mcHV0KTsNCiBQSFBfRlVOQ1RJT04o ZnRwX25iX2NvbnRpbnVlKTsNCitQSFBfRlVOQ1RJT04oZnRwX2dldF9yZXNwKTsNCitQSFBfRlVO Q1RJT04oZnRwX2dldF9jb252KTsNCiANCiAjZGVmaW5lIHBocGV4dF9mdHBfcHRyIHBocF9mdHBf bW9kdWxlX3B0cg0KIA0K ------_=_NextPart_001_01C4E329.E4AF482F--