From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58332 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PcKlG-000563-2K for qemu-devel@nongnu.org; Mon, 10 Jan 2011 11:38:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PcKkE-0002hw-ND for qemu-devel@nongnu.org; Mon, 10 Jan 2011 11:37:24 -0500 Received: from mx1.redhat.com ([209.132.183.28]:26786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PcKkE-0002hk-7q for qemu-devel@nongnu.org; Mon, 10 Jan 2011 11:37:22 -0500 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id p0AGbLeO024000 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 10 Jan 2011 11:37:21 -0500 Message-ID: <4D2B35BE.7000907@redhat.com> Date: Mon, 10 Jan 2011 17:37:18 +0100 From: Gerd Hoffmann MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 2/6] spice: client migration. References: <1294666311-23457-1-git-send-email-kraxel@redhat.com> <1294666311-23457-3-git-send-email-kraxel@redhat.com> <20110110154934.GP2723@redhat.com> <20110110155712.GA17952@playa.tlv.redhat.com> <4D2B2F08.9060103@redhat.com> <20110110161817.GQ2723@redhat.com> In-Reply-To: <20110110161817.GQ2723@redhat.com> Content-Type: multipart/mixed; boundary="------------000804080105070006060905" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------000804080105070006060905 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, >> I like client_migrate_info and it fits both spice+vnc naming too. >> >> Given that vnc just needs hostname and port (which are present >> already) and the arguments not used by vnc are optional all we need >> to do is rename the command and add a "protocol" argument similar to >> "set_password", correct? > > Yeah, that sounds sufficient to me. Quick incremental patch attached. Became a bit larger than initially expected due to some code reorganization (move out of ui/spice-core.c) needed. comments? cheers, Gerd --------------000804080105070006060905 Content-Type: text/plain; name="fix" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fix" ZGlmZiAtLWdpdCBhL2htcC1jb21tYW5kcy5oeCBiL2htcC1jb21tYW5kcy5oeAppbmRleCBl NmQ4ZjM2Li4wNWI3NzdiIDEwMDY0NAotLS0gYS9obXAtY29tbWFuZHMuaHgKKysrIGIvaG1w LWNvbW1hbmRzLmh4CkBAIC04MTUsMjQgKzgxNSwyMSBAQCBFVEVYSQogICAgIH0sCiAKIFNU RVhJCi1AaXRlbSBzcGljZV9taWdyYXRlX2luZm8gQHZhcntob3N0bmFtZX0gQHZhcntwb3J0 fSBAdmFye3Rscy1wb3J0fSBAdmFye2NlcnQtc3ViamVjdH0KLUBmaW5kZXggc3BpY2VfbWln cmF0ZV9pbmZvCi1TZXQgdGhlIHNwaWNlIGNvbm5lY3Rpb24gaW5mbyBmb3IgdGhlIG1pZ3Jh dGlvbiB0YXJnZXQuICBUaGUgc3BpY2UKLXNlcnZlciB3aWxsIGFzayB0aGUgc3BpY2UgY2xp ZW50IHRvIGF1dG9tYXRpY2FsbHkgcmVjb25uZWN0IHVzaW5nIHRoZQotbmV3IHBhcmFtZXRl cnMgKGlmIHNwZWNpZmllZCkgb25jZSB0aGUgdm0gbWlncmF0aW9uIGZpbmlzaGVkCi1zdWNj ZXNzZnVsbHkuCitAaXRlbSBjbGllbnRfbWlncmF0ZV9pbmZvIEB2YXJ7cHJvdG9jb2x9IEB2 YXJ7aG9zdG5hbWV9IEB2YXJ7cG9ydH0gQHZhcnt0bHMtcG9ydH0gQHZhcntjZXJ0LXN1Ympl Y3R9CitAZmluZGV4IGNsaWVudF9taWdyYXRlX2luZm8KK1NldCB0aGUgc3BpY2Uvdm5jIGNv bm5lY3Rpb24gaW5mbyBmb3IgdGhlIG1pZ3JhdGlvbiB0YXJnZXQuICBUaGUgc3BpY2Uvdm5j CitzZXJ2ZXIgd2lsbCBhc2sgdGhlIHNwaWNlL3ZuYyBjbGllbnQgdG8gYXV0b21hdGljYWxs eSByZWNvbm5lY3QgdXNpbmcgdGhlCituZXcgcGFyYW1ldGVycyAoaWYgc3BlY2lmaWVkKSBv bmNlIHRoZSB2bSBtaWdyYXRpb24gZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LgogRVRFWEkKIAot I2lmIGRlZmluZWQoQ09ORklHX1NQSUNFKQogICAgIHsKLSAgICAgICAgLm5hbWUgICAgICAg PSAic3BpY2VfbWlncmF0ZV9pbmZvIiwKLSAgICAgICAgLmFyZ3NfdHlwZSAgPSAiaG9zdG5h bWU6cyxwb3J0Omk/LHRscy1wb3J0Omk/LGNlcnQtc3ViamVjdDpzPyIsCi0gICAgICAgIC5w YXJhbXMgICAgID0gImhvc3RuYW1lIHBvcnQgdGxzLXBvcnQgY2VydC1zdWJqZWN0IiwKLSAg ICAgICAgLmhlbHAgICAgICAgPSAic2VuZCBtaWdyYXRpb24gaW5mbyB0byBzcGljZSBjbGll bnQiLAorICAgICAgICAubmFtZSAgICAgICA9ICJjbGllbnRfbWlncmF0ZV9pbmZvIiwKKyAg ICAgICAgLmFyZ3NfdHlwZSAgPSAicHJvdG9jb2w6cyxob3N0bmFtZTpzLHBvcnQ6aT8sdGxz LXBvcnQ6aT8sY2VydC1zdWJqZWN0OnM/IiwKKyAgICAgICAgLnBhcmFtcyAgICAgPSAicHJv dG9jb2wgaG9zdG5hbWUgcG9ydCB0bHMtcG9ydCBjZXJ0LXN1YmplY3QiLAorICAgICAgICAu aGVscCAgICAgICA9ICJzZW5kIG1pZ3JhdGlvbiBpbmZvIHRvIHNwaWNlL3ZuYyBjbGllbnQi LAogICAgICAgICAudXNlcl9wcmludCA9IG1vbml0b3JfdXNlcl9ub29wLAotICAgICAgICAu bWhhbmRsZXIuY21kX25ldyA9IG1vbl9zcGljZV9taWdyYXRlLAorICAgICAgICAubWhhbmRs ZXIuY21kX25ldyA9IGNsaWVudF9taWdyYXRlX2luZm8sCiAgICAgfSwKLSNlbmRpZgogCiBT VEVYSQogQGl0ZW0gc25hcHNob3RfYmxrZGV2CmRpZmYgLS1naXQgYS9tb25pdG9yLmMgYi9t b25pdG9yLmMKaW5kZXggMDM4ZDUzMi4uNmY1ZWUxNCAxMDA2NDQKLS0tIGEvbW9uaXRvci5j CisrKyBiL21vbml0b3IuYwpAQCAtMTE3Myw2ICsxMTczLDMzIEBAIHN0YXRpYyBpbnQgZXhw aXJlX3Bhc3N3b3JkKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3QgKnFkaWN0LCBRT2JqZWN0 ICoqcmV0X2RhdGEpCiAgICAgcmV0dXJuIC0xOwogfQogCitzdGF0aWMgaW50IGNsaWVudF9t aWdyYXRlX2luZm8oTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QsIFFPYmplY3Qg KipyZXRfZGF0YSkKK3sKKyAgICBjb25zdCBjaGFyICpwcm90b2NvbCA9IHFkaWN0X2dldF9z dHIocWRpY3QsICJwcm90b2NvbCIpOworICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lID0gcWRp Y3RfZ2V0X3N0cihxZGljdCwgImhvc3RuYW1lIik7CisgICAgY29uc3QgY2hhciAqc3ViamVj dCAgPSBxZGljdF9nZXRfdHJ5X3N0cihxZGljdCwgImNlcnQtc3ViamVjdCIpOworICAgIGlu dCBwb3J0ICAgICAgICAgICAgID0gcWRpY3RfZ2V0X3RyeV9pbnQocWRpY3QsICJwb3J0Iiwg LTEpOworICAgIGludCB0bHNfcG9ydCAgICAgICAgID0gcWRpY3RfZ2V0X3RyeV9pbnQocWRp Y3QsICJ0bHMtcG9ydCIsIC0xKTsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKHN0cmNtcChw cm90b2NvbCwgInNwaWNlIikgPT0gMCkgeworICAgICAgICBpZiAoIXVzaW5nX3NwaWNlKSB7 CisgICAgICAgICAgICBxZXJyb3JfcmVwb3J0KFFFUlJfREVWSUNFX05PVF9BQ1RJVkUsICJz cGljZSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAg cmV0ID0gcWVtdV9zcGljZV9taWdyYXRlX2luZm8oaG9zdG5hbWUsIHBvcnQsIHRsc19wb3J0 LCBzdWJqZWN0KTsKKyAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICBxZXJy b3JfcmVwb3J0KFFFUlJfVU5ERUZJTkVEX0VSUk9SKTsKKyAgICAgICAgICAgIHJldHVybiAt MTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBxZXJyb3Jf cmVwb3J0KFFFUlJfSU5WQUxJRF9QQVJBTUVURVIsICJwcm90b2NvbCIpOworICAgIHJldHVy biAtMTsKK30KKwogc3RhdGljIGludCBkb19zY3JlZW5fZHVtcChNb25pdG9yICptb24sIGNv bnN0IFFEaWN0ICpxZGljdCwgUU9iamVjdCAqKnJldF9kYXRhKQogewogICAgIHZnYV9od19z Y3JlZW5fZHVtcChxZGljdF9nZXRfc3RyKHFkaWN0LCAiZmlsZW5hbWUiKSk7CmRpZmYgLS1n aXQgYS9xbXAtY29tbWFuZHMuaHggYi9xbXAtY29tbWFuZHMuaHgKaW5kZXggMjRhZGEwNC4u MmVkOGY0NCAxMDA2NDQKLS0tIGEvcW1wLWNvbW1hbmRzLmh4CisrKyBiL3FtcC1jb21tYW5k cy5oeApAQCAtNTAzLDM5ICs1MDMsMzkgQEAgRVFNUAogICAgIH0sCiAKIFNRTVAKLXNwaWNl X21pZ3JhdGVfaW5mbworY2xpZW50X21pZ3JhdGVfaW5mbwogLS0tLS0tLS0tLS0tLS0tLS0t CiAKLVNldCB0aGUgc3BpY2UgY29ubmVjdGlvbiBpbmZvIGZvciB0aGUgbWlncmF0aW9uIHRh cmdldC4gIFRoZSBzcGljZQotc2VydmVyIHdpbGwgYXNrIHRoZSBzcGljZSBjbGllbnQgdG8g YXV0b21hdGljYWxseSByZWNvbm5lY3QgdXNpbmcgdGhlCi1uZXcgcGFyYW1ldGVycyAoaWYg c3BlY2lmaWVkKSBvbmNlIHRoZSB2bSBtaWdyYXRpb24gZmluaXNoZWQKLXN1Y2Nlc3NmdWxs eS4KK1NldCB0aGUgc3BpY2Uvdm5jIGNvbm5lY3Rpb24gaW5mbyBmb3IgdGhlIG1pZ3JhdGlv biB0YXJnZXQuICBUaGUgc3BpY2Uvdm5jCitzZXJ2ZXIgd2lsbCBhc2sgdGhlIHNwaWNlL3Zu YyBjbGllbnQgdG8gYXV0b21hdGljYWxseSByZWNvbm5lY3QgdXNpbmcgdGhlCituZXcgcGFy YW1ldGVycyAoaWYgc3BlY2lmaWVkKSBvbmNlIHRoZSB2bSBtaWdyYXRpb24gZmluaXNoZWQg c3VjY2Vzc2Z1bGx5LgogCiBBcmd1bWVudHM6CiAKKy0gInByb3RvY29sIjogICAgIHByb3Rv Y29sOiAic3BpY2UiIG9yICJ2bmMiIChqc29uLXN0cmluZykKIC0gImhvc3RuYW1lIjogICAg IG1pZ3JhdGlvbiB0YXJnZXQgaG9zdG5hbWUgKGpzb24tc3RyaW5nKQotLSAicG9ydCI6ICAg ICAgICAgc3BpY2UgdGNwIHBvcnQgZm9yIHBsYWludGV4dCBjaGFubmVscyAoanNvbi1pbnQs IG9wdGlvbmFsKQorLSAicG9ydCI6ICAgICAgICAgc3BpY2Uvdm5jIHRjcCBwb3J0IGZvciBw bGFpbnRleHQgY2hhbm5lbHMgKGpzb24taW50LCBvcHRpb25hbCkKIC0gInRscy1wb3J0Ijog ICAgIHNwaWNlIHRjcCBwb3J0IGZvciB0bHMtc2VjdXJlZCBjaGFubmVscyAoanNvbi1pbnQs IG9wdGlvbmFsKQogLSAiY2VydC1zdWJqZWN0Ijogc2VydmVyIGNlcnRpZmljYXRlIHN1Ympl Y3QgKGpzb24tc3RyaW5nLCBvcHRpb25hbCkKIAogRXhhbXBsZToKIAotLT4geyAiZXhlY3V0 ZSI6ICJzcGljZV9taWdyYXRlX2luZm8iLAotICAgICAiYXJndW1lbnRzIjogeyAiaG9zdG5h bWUiOiAidmlydDQyLmxhYi5rcmF4ZWwub3JnIiwgInBvcnQiOiAxMjM0IH0gfQorLT4geyAi ZXhlY3V0ZSI6ICJjbGllbnRfbWlncmF0ZV9pbmZvIiwKKyAgICAgImFyZ3VtZW50cyI6IHsg InByb3RvY29sIjogInNwaWNlIiwKKyAgICAgICAgICAgICAgICAgICAgImhvc3RuYW1lIjog InZpcnQ0Mi5sYWIua3JheGVsLm9yZyIsCisgICAgICAgICAgICAgICAgICAgICJwb3J0Ijog MTIzNCB9IH0KIDwtIHsgInJldHVybiI6IHt9IH0KIAogRVFNUAogCi0jaWYgZGVmaW5lZChD T05GSUdfU1BJQ0UpCiAgICAgewotICAgICAgICAubmFtZSAgICAgICA9ICJzcGljZV9taWdy YXRlX2luZm8iLAotICAgICAgICAuYXJnc190eXBlICA9ICJob3N0bmFtZTpzLHBvcnQ6aT8s dGxzLXBvcnQ6aT8sY2VydC1zdWJqZWN0OnM/IiwKLSAgICAgICAgLnBhcmFtcyAgICAgPSAi aG9zdG5hbWUgcG9ydCB0bHMtcG9ydCBjZXJ0LXN1YmplY3QiLAotICAgICAgICAuaGVscCAg ICAgICA9ICJzZW5kIG1pZ3JhdGlvbiBpbmZvIHRvIHNwaWNlIGNsaWVudCIsCisgICAgICAg IC5uYW1lICAgICAgID0gImNsaWVudF9taWdyYXRlX2luZm8iLAorICAgICAgICAuYXJnc190 eXBlICA9ICJwcm90b2NvbDpzLGhvc3RuYW1lOnMscG9ydDppPyx0bHMtcG9ydDppPyxjZXJ0 LXN1YmplY3Q6cz8iLAorICAgICAgICAucGFyYW1zICAgICA9ICJwcm90b2NvbCBob3N0bmFt ZSBwb3J0IHRscy1wb3J0IGNlcnQtc3ViamVjdCIsCisgICAgICAgIC5oZWxwICAgICAgID0g InNlbmQgbWlncmF0aW9uIGluZm8gdG8gc3BpY2Uvdm5jIGNsaWVudCIsCiAgICAgICAgIC51 c2VyX3ByaW50ID0gbW9uaXRvcl91c2VyX25vb3AsCi0gICAgICAgIC5taGFuZGxlci5jbWRf bmV3ID0gbW9uX3NwaWNlX21pZ3JhdGUsCisgICAgICAgIC5taGFuZGxlci5jbWRfbmV3ID0g Y2xpZW50X21pZ3JhdGVfaW5mbywKICAgICB9LAotI2VuZGlmCiAKIFNRTVAKIG1pZ3JhdGVf c2V0X3NwZWVkCmRpZmYgLS1naXQgYS91aS9xZW11LXNwaWNlLmggYi91aS9xZW11LXNwaWNl LmgKaW5kZXggZjIzNGM0ZC4uNzhkZjNiNCAxMDA2NDQKLS0tIGEvdWkvcWVtdS1zcGljZS5o CisrKyBiL3VpL3FlbXUtc3BpY2UuaApAQCAtMzYsMTAgKzM2LDExIEBAIGludCBxZW11X3Nw aWNlX2FkZF9pbnRlcmZhY2UoU3BpY2VCYXNlSW5zdGFuY2UgKnNpbik7CiBpbnQgcWVtdV9z cGljZV9zZXRfcGFzc3dkKGNvbnN0IGNoYXIgKnBhc3N3ZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBmYWlsX2lmX2Nvbm5lY3RlZCwgYm9vbCBkaXNjb25uZWN0X2lmX2Nv bm5lY3RlZCk7CiBpbnQgcWVtdV9zcGljZV9zZXRfcHdfZXhwaXJlKHRpbWVfdCBleHBpcmVz KTsKK2ludCBxZW11X3NwaWNlX21pZ3JhdGVfaW5mbyhjb25zdCBjaGFyICpob3N0bmFtZSwg aW50IHBvcnQsIGludCB0bHNfcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyICpzdWJqZWN0KTsKIAogdm9pZCBkb19pbmZvX3NwaWNlX3ByaW50KE1vbml0 b3IgKm1vbiwgY29uc3QgUU9iamVjdCAqZGF0YSk7CiB2b2lkIGRvX2luZm9fc3BpY2UoTW9u aXRvciAqbW9uLCBRT2JqZWN0ICoqcmV0X2RhdGEpOwotaW50IG1vbl9zcGljZV9taWdyYXRl KE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3QgKnFkaWN0LCBRT2JqZWN0ICoqcmV0X2RhdGEp OwogCiBDaGFyRHJpdmVyU3RhdGUgKnFlbXVfY2hyX29wZW5fc3BpY2UoUWVtdU9wdHMgKm9w dHMpOwogCkBAIC00OCw2ICs0OSw3IEBAIENoYXJEcml2ZXJTdGF0ZSAqcWVtdV9jaHJfb3Bl bl9zcGljZShRZW11T3B0cyAqb3B0cyk7CiAjZGVmaW5lIHVzaW5nX3NwaWNlIDAKICNkZWZp bmUgcWVtdV9zcGljZV9zZXRfcGFzc3dkKF9wLCBfZjEsIF9mMikgKC0xKQogI2RlZmluZSBx ZW11X3NwaWNlX3NldF9wd19leHBpcmUoX2UpICgtMSkKKyNkZWZpbmUgcWVtdV9zcGljZV9t aWdyYXRlX2luZm8oX2gsIF9wLCBfdCwgX3MpICgtMSkKIAogI2VuZGlmIC8qIENPTkZJR19T UElDRSAqLwogCmRpZmYgLS1naXQgYS91aS9zcGljZS1jb3JlLmMgYi91aS9zcGljZS1jb3Jl LmMKaW5kZXggOTUxMTZjYy4uMWFhMWE1ZSAxMDA2NDQKLS0tIGEvdWkvc3BpY2UtY29yZS5j CisrKyBiL3VpL3NwaWNlLWNvcmUuYwpAQCAtNDMxLDI2ICs0MzEsMTEgQEAgc3RhdGljIHZv aWQgbWlncmF0aW9uX3N0YXRlX25vdGlmaWVyKE5vdGlmaWVyICpub3RpZmllcikKICAgICB9 CiB9CiAKLWludCBtb25fc3BpY2VfbWlncmF0ZShNb25pdG9yICptb24sIGNvbnN0IFFEaWN0 ICpxZGljdCwgUU9iamVjdCAqKnJldF9kYXRhKQoraW50IHFlbXVfc3BpY2VfbWlncmF0ZV9p bmZvKGNvbnN0IGNoYXIgKmhvc3RuYW1lLCBpbnQgcG9ydCwgaW50IHRsc19wb3J0LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN1YmplY3QpCiB7Ci0gICAg Y29uc3QgY2hhciAqaG9zdG5hbWUgPSBxZGljdF9nZXRfc3RyKHFkaWN0LCAiaG9zdG5hbWUi KTsKLSAgICBjb25zdCBjaGFyICpzdWJqZWN0ICA9IHFkaWN0X2dldF90cnlfc3RyKHFkaWN0 LCAiY2VydC1zdWJqZWN0Iik7Ci0gICAgaW50IHBvcnQgICAgICAgICAgICAgPSBxZGljdF9n ZXRfdHJ5X2ludChxZGljdCwgInBvcnQiLCAtMSk7Ci0gICAgaW50IHRsc19wb3J0ICAgICAg ICAgPSBxZGljdF9nZXRfdHJ5X2ludChxZGljdCwgInRscy1wb3J0IiwgLTEpOwotICAgIGlu dCByZXQ7Ci0KLSAgICBpZiAoIXNwaWNlX3NlcnZlcikgewotICAgICAgICBxZXJyb3JfcmVw b3J0KFFFUlJfREVWSUNFX05PVF9BQ1RJVkUsICJzcGljZSIpOwotICAgICAgICByZXR1cm4g LTE7Ci0gICAgfQotCi0gICAgcmV0ID0gc3BpY2Vfc2VydmVyX21pZ3JhdGVfaW5mbyhzcGlj ZV9zZXJ2ZXIsIGhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcG9ydCwgdGxzX3BvcnQsIHN1YmplY3QpOwotICAgIGlmIChyZXQgIT0gMCkgewotICAg ICAgICBxZXJyb3JfcmVwb3J0KFFFUlJfVU5ERUZJTkVEX0VSUk9SKTsKLSAgICAgICAgcmV0 dXJuIC0xOwotICAgIH0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gc3BpY2Vfc2VydmVy X21pZ3JhdGVfaW5mbyhzcGljZV9zZXJ2ZXIsIGhvc3RuYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBvcnQsIHRsc19wb3J0LCBzdWJqZWN0KTsKIH0KIAog c3RhdGljIGludCBhZGRfY2hhbm5lbChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2 YWx1ZSwgdm9pZCAqb3BhcXVlKQo= --------------000804080105070006060905--