From owner-freebsd-hackers@FreeBSD.ORG Sat Jan 8 04:30:32 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 27CDF16A4CE for ; Sat, 8 Jan 2005 04:30:32 +0000 (GMT) Received: from internet1.mccd.edu (internet1.mccd.edu [198.189.251.20]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F07E43D2D for ; Sat, 8 Jan 2005 04:30:32 +0000 (GMT) (envelope-from alexander.s@mccd.edu) X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Date: Fri, 7 Jan 2005 20:31:08 -0800 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Missing functionality in Blowfish for crypt(3) Thread-Index: AcT1Ot+lZj7f+2WHQyC4PLcNVZhf0Q== From: "Steven Alexander" To: Subject: Missing functionality in Blowfish for crypt(3) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Jan 2005 04:30:32 -0000 SSBoYXZlIHNlcGFyYXRlbHkgcG9zdGVkIHRoaXMgdG8gZnJlZWJzZC1zZWN1cml0eSBhcyBpdCBz ZWVtZWQgcmVsZXZhbnQgdG8gYm90aCBsaXN0cy4NCg0KVGhlIGJsb3dmaXNoIGNyeXB0KDMpIG1l Y2hhbmlzbSBzdXBwb3J0cyB0aGUgdXNlIG9mIGEgImNvc3QgdmFsdWUiIGZvciBwYXNzd29yZCBl bmNyeXB0aW9uLiAgVGhlIGNvc3QgdmFsdWUgaXMgZW5jb2RlZCBpbnRvIHRoZSBlbmNyeXB0ZWQg cGFzc3dvcmQgdGhhdCBpcyBzdG9yZWQgaW4gbWFzdGVyLnBhc3N3ZC4gIE9uIE9wZW5CU0QsIHRo aXMgY29zdCB2YWx1ZSBjYW4gYmUgc2V0IGluIGxvZ2luLmNvbmYuICBGcmVlQlNEIGRvZXMgbm90 IGN1cnJlbnRseSBzdXBwb3J0IHRoZSBjb3N0IHZhbHVlLiAgVGhlIGNvc3QgdmFsdWUgaXMgdGhl IGJhc2UtMiBsb2dhcml0aG0gb2YgdGhlIG51bWJlciBvZiByb3VuZHMgb2YgZW5jcnlwdGlvbiB0 byB1c2Ugc28gcm91bmRzPTE8PGNvc3Q7ICBUaGlzIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIHN1cHBv cnRlZCB0aHJvdWdoIG1vZGlmaWNhdGlvbnMgdG8gL3Vzci9iaW4vcGFzc3dkICh3aGljaCBhY3R1 YWxseSBtZWFucyBhIGNoYW5nZSB0byBQQU0pIG9yIHRocm91Z2ggbW9kaWZpY2F0aW9ucyB0byBs aWJjcnlwdC4NCg0KSW4gb3JkZXIgdG8gcGF0Y2ggL3Vzci9iaW4vcGFzc3dkLCBpdCBtdXN0IGJl IG1vZGlmaWVkIHRvIHByb3ZpZGUgYSBzcGVjaWFsbHkgZm9ybWF0dGVkIHNhbHQgdmFsdWUgZm9y IHRoZSBlbmNyeXB0aW9uIG9mIG5ldyBwYXNzd29yZHMuICBTcGVjaWZpY2FsbHksICQyYSRDT1NU JCBtdXN0IGJlIHByZXBlbmRlZCB0byB0aGUgZ2VuZXJhdGVkIHNhbHQgdmFsdWUuICAiMmEiIGlz IHRoZSBtYWpvciBhbmQgbWlub3IgdmVyc2lvbiBmb3IgYmxvd2Zpc2gvYmNyeXB0LiAgQWdhaW4s IHRoaXMgbWVhbnMgY2hhbmdpbmcgUEFNLg0KIA0KU2luY2UgcGFzc3dkIHNob3VsZCBub3QgaGF2 ZSB0byBrZWVwIHVwIHdpdGggYW55IGZvcm1hdHRpbmcgcmVxdWlyZW1lbnRzIGZvciBhbnkgbGli Y3J5cHQgbWVjaGFuaXNtLCBJIG1vZGlmaWVkIGxpYmNyeXB0IGluc3RlYWQuDQoNClRoZSBkaWZm IGlzIHBhc3RlZCBiZWxvdyBzdHJpY3RseSBmb3Igdmlld2luZywgdGhlIHV1ZW5jb2RlZCB2ZXJz aW9uIGlzIGJlbG93IHRoYXQuICBJbiBsaWJjcnlwdCwgSSB1c2UgZ2V0cHd1aWRfcihnZXR1aWQo KSwgLi4uKSB0byBnZXQgYSBwd2Qgc3RydWN0dXJlIGZvciB0aGUgY3VycmVudCB1c2VyLiAgVGhl biwgSSB1c2UgbG9naW5fZ2V0cHdjbGFzcygpIHRvIHJldHVybiBhIGxvZ2luX2NhcF90IHN0cnVj dHVyZSBhbmQgdXNlIGxvZ2luX2dldGNhcG51bSguLi4sImxuX3JvdW5kcyIsLi4uKSB0byBncmFi IHRoZSB2YWx1ZSBmb3IgbG5fcm91bmRzIGluIGxvZ2luLmNvbmYuICANCiANClRoZSBvbmx5IGRy YXdiYWNrIHRvIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBpdCBncmFicyB0aGUgZW50cnkgZm9yIHRo ZSBjdXJyZW50IHVzZXIgcmF0aGVyIHRoYW4gdGhlIHVzZXIgd2hvc2UgcGFzc3dvcmQgaXMgYmVp bmcgY2hhbmdlZC4gIE5vcm1hbGx5LCByb290IHdpbGwgaGF2ZSBhIGhpZ2hlciBjb3N0IHZhbHVl IHRoYW4gbm9ybWFsIHVzZXJzLiAgSWYgcm9vdCBjaGFuZ2VzIGEgdXNlcidzIHBhc3N3b3JkLCB0 aGUgcGFzc3dvcmQgd2lsbCBiZSBlbmNyeXB0ZWQgd2l0aCBhIGhpZ2hlciBjb3N0IHRoYW4gaWYg dGhlIHVzZXIgY2hhbmdlZCBpdCB0aGVtc2VsdmVzLiAgVGhpcyBkb2Vzbid0IHNlZW0gdG8gYmUg YWxsIHRoYXQgYmFkLg0KIA0KVG8gc3VwcG9ydCB0aGlzIHBhdGNoLCAvZXRjL2xvZ2luLmNvbmYg bXVzdCBpbmNsdWRlIGFuIGVudHJ5IG9mIHRoZSBmb3JtICI6bG5fcm91bmRzPTEwOiIgYW5kIGNh cF9ta2RiIG11c3QgYmUgcnVuIG9uIC9ldGMvbG9naW4uY29uZiB0byBhcHBseSB0aGUgY2hhbmdl LiAgVGhpcyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgdGhhbiB0aGUgd2F5IHRoaXMgZmVhdHVyZSBp cyB0dXJuZWQgb24gaW4gT3BlbkJTRC4NCiANClRoZSBwYXRjaCBjYW4gYmUgYXBwbGllZCBieToN CiANCmNkIC91c3Ivc3JjDQpwYXRjaCA8IC9wYXRoL3RvL2xpYmNyeXB0LnBhdGNoDQogDQpJIGhh dmUgc3VibWl0dGVkIGEgY2hhbmdlIHJlcXVlc3QvUFIgZm9yIHRoaXMgc28gdGhhdCBpdCBjYW4g YmUgY29uc2lkZXJlZCBmb3IgY29tbWl0bWVudC4gIA0KIA0KQXQgdGhlIG1vbWVudCwgdGhlIHBh dGNoIGlzIGFsc28gb24gbXkgd2Vic2l0ZSBhdDoNCiANCmh0dHA6Ly93d3cubWNjZC5lZHUvc3Rh ZmYvYWxleGFuZGVycy9saWJjcnlwdC5wYXRjaA0KaHR0cDovL3d3dy5tY2NkLmVkdS9zdGFmZi9h bGV4YW5kZXJzL2xpYmNyeXB0LnV1DQogDQpNeSB0aGFua3MgdG8gRGF2aWQgTWFnZGEgZm9yIHBv aW50aW5nIG91dCB0byBtZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBPcGVuQlNEIGFuZCBG cmVlQlNEIGltcGxlbWVudGF0aW9ucy4NCiANCkVuam95Lg0KIA0KU3RldmVuDQogDQogDQogDQpb RGV0YWlscyBmb2xsb3ddDQogDQpNeSBzeXN0ZW0gaXM6DQogDQpGcmVlQlNEIGtlcm5lbC53YXlz aWRlLmNvbSA1LjMtUkVMRUFTRSBGcmVlQlNEIDUuMy1SRUxFQVNFICM2OiBGcmkgRGVjIDMxIDE5 OjQ4OjI0IFBTVCAyMDA0ICAgICByb290QGtlcm5lbC53YXlzaWRlLmNvbTovdXNyL3NyYy9zeXMv aTM4Ni9jb21waWxlL0dFTkVSSUMgIGkzODYNCiANCiANCmRpZmYgLWMgLi9zZWN1cmUvbGliL2xp YmNyeXB0L2NyeXB0LWJsb3dmaXNoLmMgLi9zZWN1cmUvbGliL2xpYmNyeXB0LW5ldy9jcnlwdC1i bG93ZmlzaC5jDQoqKiogLi9zZWN1cmUvbGliL2xpYmNyeXB0L2NyeXB0LWJsb3dmaXNoLmMgTW9u IEp1biAgMiAxMjoxNzoyNCAyMDAzDQotLS0gLi9zZWN1cmUvbGliL2xpYmNyeXB0LW5ldy9jcnlw dC1ibG93ZmlzaC5jIEZyaSBKYW4gIDcgMTk6NDM6MzEgMjAwNQ0KKioqKioqKioqKioqKioqDQoq KiogNTUsNjAgKioqKg0KLS0tIDU1LDYzIC0tLS0NCiAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0K ICAjaW5jbHVkZSA8c3RyaW5nLmg+DQogICNpbmNsdWRlIDxwd2QuaD4NCisgI2luY2x1ZGUgPGxp YnV0aWwuaD4NCisgI2luY2x1ZGUgPGxvZ2luX2NhcC5oPg0KKyANCiAgI2luY2x1ZGUgImJsb3dm aXNoLmgiDQogICNpbmNsdWRlICJjcnlwdC5oIg0KICANCioqKioqKioqKioqKioqKg0KKioqIDE0 NCwxNDkgKioqKg0KLS0tIDE0NywxNTcgLS0tLQ0KICAgdV9pbnQ4X3QgY3NhbHRbQkNSWVBUX01B WFNBTFRdOw0KICAgdV9pbnQzMl90IGNkYXRhW0JDUllQVF9CTE9DS1NdOw0KICAgc3RhdGljIGNv bnN0IGNoYXIgICAgICptYWdpYyA9ICIkMmEkMDQkIjsNCisgDQorICBzdHJ1Y3QgcGFzc3dkIHB3 LCAqcHdkOw0KKyAgY2hhciBwd2J1ZlsxMDI0XTsNCisgDQorICBsb2dpbl9jYXBfdCAqbGM7DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgLyogRGVmYXVsdHMgKi8N CiAgIG1pbnIgPSAnYSc7DQoqKioqKioqKioqKioqKioNCioqKiAxOTMsMTk4ICoqKioNCi0tLSAy MDEsMjM4IC0tLS0NCiAgDQogICAgLyogRGlzY2FyZCBudW0gcm91bmRzICsgIiQiIGlkZW50aWZp ZXIgKi8NCiAgICBzYWx0ICs9IDM7DQorICB9DQorICBlbHNlDQorICB7DQorICAgLyogV2UncmUg Y3J5cHRpbmcgYSBuZXcgcGFzc3dvcmQuICBXZSB3YW50IHRvIGdldCB0aGUNCisgICAgICBsbl9y b3VuZHMgdmFsdWUgdGhhdCBpcyBzdG9yZWQgaW4gbG9naW4uY29uZg0KKyAgICAgIGFuZCB1c2Ug aXQgdG8gaW5pdGlhbGl6ZSB0aGUgcm91bmRzIHZhbHVlLiAgDQorICAgICAgICAgICAgICAgICAg ICBsbl9yb3VuZHMgaXMgdGhlIGJhc2UgMiBsb2dhcml0aG0gb2YgdGhlIA0KKyAgICAgIGRlc2ly ZWQgcm91bmRzIHZhbHVlLiAgKi8NCisgICANCisgICAgICBpZihnZXRwd3VpZF9yKGdldHVpZCgp LCAmcHcsIHB3YnVmLCBzaXplb2YocHdidWYpLCAmcHdkKSA9PSAwKQ0KKyAgICAgIHsNCisgICBp ZiggKGxjID0gbG9naW5fZ2V0cHdjbGFzcyhwd2QpKSAhPSBOVUxMKQ0KKyAgICAgew0KKyAgICAg ICAgICAgICAgbG9nciA9IChpbnQpbG9naW5fZ2V0Y2FwbnVtKGxjLCAibG5fcm91bmRzIiwgbG9n ciwgbG9ncik7DQorICAgICAgIHJvdW5kcyA9IDEgPDwgbG9ncjsNCisgICAgICAgaWYocm91bmRz IDwgQkNSWVBUX01JTlJPVU5EUykNCisgICAgICAgew0KKyAgICBwcmludGYoImxuX3JvdW5kcyBp biBsb2dpbi5jb25mIGlzIHRvbyBzbWFsbFxuIik7DQorICAgIHJldHVybiBlcnJvcjsNCisgICAg ICAgfQ0KKyAgICAgICAgICAgICAgICAgfQ0KKyAgIGVsc2UNCisgICB7DQorICAgICAgIHByaW50 ZigiY291bGQgbm90IGxvb2sgdXAgY2FwYWJpbGl0eVxuIik7DQorICAgICAgIHJldHVybiBlcnJv cjsNCisgICB9DQorICAgICAgICAgICAgIH0NCisgICAgICBlbHNlDQorICAgICAgew0KKyAgIHBy aW50ZigiQ291bGQgbm90IGxvb2sgdXAgY3VycmVudCB1c2VyICVkXG4iLCBnZXR1aWQoKSk7DQor ICAgcmV0dXJuIGVycm9yOw0KKyAgICAgICAgICAgICB9DQogICB9DQogIA0KIA0KIA0KYmVnaW4g NjQ0IGxpYmNyeXB0LnBhdGNoDQpNOSZFRjlCYE04UmBOK1ctRThXNVI5Ml1MOjYoTzsmRUI4VylZ PCcwTzhXKVk8JzBNOEZRTz1WOUk8VkBODQpNOFJgTitXLUU4VzVSOTJdTDo2KE87JkVCOFcpWTwn ME07RjVXK1YtUj43IVQrNilMO1c9Rjo3LUgrRiwqDQpNKkJISigiWE88VjVDPTcpRStWUUk4Ql1M OjYpQzxHRVA9Il1DPEdFUD0iVUI7Jl1XOUZFUzoiWUMiNFVPDQpNO0IhKj02WEAoIyhALDMoWiwz PFosQzBALENgUCxQSE0rMlRAK0JdUzk2LVU8RjRPOyZFQitWUUk4Ri1SDQpNPjchVCs2WUU9Ul1D PEdFUD0iVUI7Jl1XOUZFUzoiWUMiNDlSOjIhKjg2WEAoIzxALDNEWi0jLFosUyRADQpNLENgUC0w SEoqQkhKKkJISipCSEoqQkhKKkJIKipCSEooIzRVKyM4UCgiSEoqQkgqKzJUTSgjNFUrIzhTDQpN KCJUTSsyVCooImBDOjZZQzsnNUQ5MmBcPFdFUytXMVk8JjVTK0ZAXiJCYEAoVkVOOFZRVTkmNEAv Jy1UDQpNPEZFTjlSWUgvQEhAKCItSTtGLUw9NjFFKCNRUD1WME46I1gqKlJgQzo2WUM7JzVEOTJg XDsmRUI9NzFJDQpNOyJZSC9ASEsoIi1JO0YtTD02MUUoI1FMO1Y9STtFXUM4N2BOOiNYKipSYCoo ImBDOjZZQzsnNUQ5MmBCDQpNOEZRTz1WOUk8VkBOOiIoKigiYEM6NllDOyc1RDkyYEI4VylZPCcw TjoiKCooImAqKkJISipCSEoqQkhKDQpNKkJISipCSEoiQkhKKkJgUS0jMEwsMzBZKCJISipCSCor MlRNKCMkVC1SUFEtMzxAKzJUTSswSEAoYEVVDQpNN1ZFTj0jQT89IiFDPFYlTD0lTSIwVSk5NCUx PzM0JTg0VCUsNSVUWyJCYEAiNzU/OjZZVCxTKT89IiFDDQpNOSYlVDg1TSIwVSk5NCUxPzBEUS8w VE0zNzNMKigiYCk8VzFBPSZFQygmLU87Ry1UKCYtSDg3KEAoImBADQpNKCJJTTg2PUk4UmBdKCIo RCxGJEQsIzBEKENMKipSYCoqUmApPFcxUj02LVQoJyFBPFctVzkiIVA9UlBADQpNKkchVzkjTCoq UmApOFZBQTxCIVA9VilVOUVMUSwjKFQ3M0wqKlJgKipSYCk7Jl1HOjZZPzhWJVA3VzBADQpNKkZR Qy5QSEAoImBAKCJgQCgiYEAoImBAKCJgQCgiYEAoImBAKCJgQCgiYEAoImBAKCJgQCgiYEAiQmBA DQpNIjBETypCISQ5NjlBPTZRVDxSYEorUEhAKGBFTTo2WVIoI1RAKVYkRy5QSEoqQkhKKkJISipC SEoqQkhKDQpNKkJIKipCSEooIyRZLFJQUS4zQEAqQkhKKkBITSsyVEAsQ2BRKyMoUy4iYE0rMlRN IkJgQCJCYEAiMERPDQpNKkIhJDo3LUM4NylEKCZZVTsyIVI7VzVOOScsQCpSYEIpIihAOjYxRTtH MUk5RkVFPEJgSitQSEAoYEQpDQpNPFYlTD0iYEsvMmBTLlBISyhgRV0iQkxAIjY1TDxWNCoqUmAp PlBISyhgRCkrUkhANVY0RzxGNEA4VylZDQpNPCcxSTtGPEA4MiFOOTc8QDwmJVM8Vz1PPEYwTigi ITc5MiFXODZZVCgnMU8oJj1FPSIhVDomNCoqUmApDQpNIjJgQCgmUU43VylPPTZZRDxSIVY4NlFV OTIhVDomJVQoJkVTKCctVDtXKUU5IiFJO0IhTDtWPUk7QllDDQpNO1ZZRiJCTEAiMERAKCIhQTtG MEA9Ny1FKCZFVCgnMU8oJkVOOjcxSTg2UUk+RjRAPSZBRSgnKU89NllEDQpNPFIhVjg2UVU5MlhA KGBISygiYEAoImBAKCJgQCgiYEAoImBAKCJgQCgiIUw7RV1SO1c1TjknLEA6NyxADQpNPSZBRSgm KUE8VjRALEIhTDtWPUE8RkVUOiZUQDtWOEA9JkFFKGBISyhgRCkoImBAOSY1Uzo3KUU5IiFSDQpN O1c1TjknLEA9RiVMPTY0TigiYEorUEhLKGBEKSJCTEAiMmBAKCIhSTlCQUc5NzFQPVc1STklXVIq Jj1FDQpNPSc1STkiQEkrImBGPCc8TCgnIVc4RzVGKyIhUzo3SUU7VjhIPCc9Qj02OEkrImBGPCc9 RCoyYF0vMmBQDQpNKjBISyhgREAoImBAPlBISyhgRCk6NjhIKCJBTDhSYF0oJlFPOVZFTjdWPUU9 JyFXOFZRQTxXLEg8Jz1EDQpNKjJEQCgzVEAzRTUsMyJEKipSYCkoImApPlBISyhgREAoImBAKCJg QCgiYEAoIiFMO1Y9UigjVEAqJkVODQpNPSJFTDtWPUk7RV1HOTcxQzg3IU49NlRIOyYsTCgiKUw7 RV1SO1c1TjknLEIrIiFMO1Y9UisiIUw7Vj1SDQpNKjNMKipSYCkiMmBAKCIhUjtXNU45JyxALzJg USgjUFwoJlFPOVcoWyJCTEAiMERAKCJgQDo2OEg8Rl1VDQpNO0YxUygjUEAwRC0yNjUhNDdUVSkz RSkvNTRZJDRSRCoqUmApIjJgQCgiIVsiQkxAIjBEKTwnKUk7RzFGDQpNKiIpTDtFXVI7VzVOOScs QDo2WEA7Jl1HOjZYTjhWXU45QiFJPFIhVDtWXEA8VlVBOyZRPDtCKEkuUEhLDQpNKGBEKSI3KUU9 JzVSO0IhRTxHKU88Q0wqKlJgKSIyYEAoIiFdIkJMQCgiYEAoImBAKCJgQCgiYEAoImBADQpNKCdU KipSYCkiNjVMPFY0KipSYCkiN0wqKlJgKSIyYEAoIiFQPEZFTj0mOEgoRi1PPTZRRCgmWU89IiFM DQpNO1ZdSygnNVAoJi1BPCYlQjo2UUk9J0U8O0IoSS5QSEsoYEQpKCJgQCgnKUU9JzVSO0IhRTxH KU88Q0wqDQpNKlJgKSI3VCoqUmBAKCJgQCgiYEAoImBAKCIhXSJCTEAiMmBAKCIhRTsnLUUiQkxA IjJgQCgiIVsiQkxADQpNIjBFUDxGRU49JjhIKEQtTz02UUQoJllPPSIhTDtWXUsoJzVQKCYtVTxH KUU7RzBAPTctRTxCYEU5JVFODQpNKEJQQDlWNVQ9NkVEKiJESS5QSEsoYEQpPEY1VD03KU4oJjVS PEZdUi5QSEsoImBAKCJgQCgiYEAoImBADQouKCdUKigiYCk/MEhAKGBIQChgSGANCmANCmVuZA0K DQo=