Date: Tue, 13 Jun 2006 16:14:31 +0400 From: =?Windows-1251?B?wOvl6vHl6SDD5fDs4O3u4g==?= <lex9999@mail.ru> To: FreeBSD-CVSweb mailing list <freebsd-cvsweb@FreeBSD.org> Subject: Firebird backuper for Sequoia Message-ID: <1485400932.20060613161431@mail.ru>
next in thread | raw e-mail | index | archive | help
------------11436260E2B4B Content-Type: text/plain; charset=Windows-1251 Content-Transfer-Encoding: 8bit Hello, FreeBSD-CVSweb! Here is a Firebird backuper for Sequoia. It was successfully tested with Sequoia 2.8.2 and Firebird 1.5.3 under Windows XP SP2. Backuper uses gbak utility for backup and restore operations. Alexey Germanov, TopDog Russia mailto:lex9999@mail.ru ------------11436260E2B4B Content-Type: application/octet-stream; name="FirebirdBackuper.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FirebirdBackuper.java" LyoqDQogKiBTZXF1b2lhOiBEYXRhYmFzZSBjbHVzdGVyaW5nIHRlY2hub2xvZ3kuDQogKiBDb3B5 cmlnaHQgKEMpIDIwMDUgRW1pYyBOZXR3b3Jrcw0KICogQ29udGFjdDogc2VxdW9pYUBjb250aW51 ZW50Lm9yZw0KICogDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNp b24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEg Y29weSBvZiB0aGUgTGljZW5zZSBhdA0KICogDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj ZW5zZXMvTElDRU5TRS0yLjANCiAqIA0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUg bGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJ VEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVz cyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3Vh Z2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExp Y2Vuc2UuIA0KICoNCiAqIEluaXRpYWwgZGV2ZWxvcGVyKHMpOiBFbW1hbnVlbCBDZWNjaGV0Lg0K ICogQ29udHJpYnV0b3Iocyk6IF9fX19fX19fX19fX19fX19fX19fX18uDQogKi8NCg0KcGFja2Fn ZSBvcmcuY29udGludWVudC5zZXF1b2lhLmNvbnRyb2xsZXIuYmFja3VwLmJhY2t1cGVyczsNCg0K aW1wb3J0IGphdmEuaW8uRmlsZTsNCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOw0KaW1wb3J0 IGphdmEudXRpbC5BcnJheUxpc3Q7DQppbXBvcnQgamF2YS51dGlsLkRhdGU7DQppbXBvcnQgamF2 YS51dGlsLkxpc3Q7DQoNCmltcG9ydCBvcmcuY29udGludWVudC5zZXF1b2lhLmNvbW1vbi5leGNl cHRpb25zLkJhY2t1cEV4Y2VwdGlvbjsNCmltcG9ydCBvcmcuY29udGludWVudC5zZXF1b2lhLmNv bW1vbi5sb2cuVHJhY2U7DQppbXBvcnQgb3JnLmNvbnRpbnVlbnQuc2VxdW9pYS5jb250cm9sbGVy LmJhY2tlbmQuRGF0YWJhc2VCYWNrZW5kOw0KaW1wb3J0IG9yZy5jb250aW51ZW50LnNlcXVvaWEu Y29udHJvbGxlci5iYWNrdXAuQmFja3VwTWFuYWdlcjsNCmltcG9ydCBvcmcuY29udGludWVudC5z ZXF1b2lhLmNvbnRyb2xsZXIuYmFja3VwLkJhY2t1cGVyOw0KaW1wb3J0IG9yZy5jb250aW51ZW50 LnNlcXVvaWEuY29udHJvbGxlci5iYWNrdXAuRHVtcFRyYW5zZmVySW5mbzsNCg0KLyoqDQogKiBU aGlzIGNsYXNzIGRlZmluZXMgYSBCYWNrdXBlciBmb3IgRmlyZWJpcmQgZGF0YWJhc2VzLg0KICog PHA+DQogKiBTdXBwb3J0ZWQgVVJMcyBhcmUgamRiYzpmaXJlYmlyZHNxbDpQYXRoVG9GaXJlYmly ZERhdGFiYXNlDQogKiA8cD4NCiAqIFRoZSBCYWNrdXBlciBpdHNlbGYgZG9lcyBub3QgdGFrZSBh bnkgb3B0aW9uLiBJdCBzaW1wbHkgZHVtcHMgdGhlIEZpcmViaXJkDQogKiBkYXRhYmFzZSBpbnRv IGEgZmlsZS4NCiAqIA0KICogQGF1dGhvciA8YSBocmVmPSJtYWlsdG86bGV4OTk5OUBtYWlsLnJ1 Ij5BbGV4ZXkgR2VybWFub3Y8L2E+DQogKiBAdmVyc2lvbiAxLjANCiAqLw0KcHVibGljIGNsYXNz IEZpcmViaXJkQmFja3VwZXIgaW1wbGVtZW50cyBCYWNrdXBlciB7DQoJc3RhdGljIFRyYWNlIGxv Z2dlciA9IFRyYWNlLmdldExvZ2dlcihGaXJlYmlyZEJhY2t1cGVyLmNsYXNzLmdldE5hbWUoKSk7 DQoNCgkvKioNCgkgKiBDcmVhdGVzIGEgbmV3IDxjb2RlPkZpcmViaXJkQmFja3VwZXI8L2NvZGU+ IG9iamVjdA0KCSAqLw0KCXB1YmxpYyBGaXJlYmlyZEJhY2t1cGVyKCkgew0KCX0NCg0KCS8qKg0K CSAqIEBzZWUgb3JnLmNvbnRpbnVlbnQuc2VxdW9pYS5jb250cm9sbGVyLmJhY2t1cC5CYWNrdXBl ciNnZXREdW1wRm9ybWF0KCkNCgkgKi8NCglwdWJsaWMgU3RyaW5nIGdldER1bXBGb3JtYXQoKSB7 DQoJCXJldHVybiAiRmlyZWJpcmQgZGF0YWJhc2UgZHVtcCI7DQoJfQ0KDQoJLyoqDQoJICogQHNl ZSBvcmcuY29udGludWVudC5zZXF1b2lhLmNvbnRyb2xsZXIuYmFja3VwLkJhY2t1cGVyI2dldE9w dGlvbnMoKQ0KCSAqLw0KCXB1YmxpYyBTdHJpbmcgZ2V0T3B0aW9ucygpIHsNCgkJcmV0dXJuIG51 bGw7DQoJfQ0KDQoJLyoqDQoJICogQHNlZSBvcmcuY29udGludWVudC5zZXF1b2lhLmNvbnRyb2xs ZXIuYmFja3VwLkJhY2t1cGVyI3NldE9wdGlvbnMoamF2YS5sYW5nLlN0cmluZykNCgkgKi8NCglw dWJsaWMgdm9pZCBzZXRPcHRpb25zKFN0cmluZyBvcHRpb25zKSB7DQoJCS8vIG5vIG9wdGlvbnMg YXJlIHN1cHBvcnRlZA0KCX0NCg0KCS8qKg0KCSAqIEBzZWUgb3JnLmNvbnRpbnVlbnQuc2VxdW9p YS5jb250cm9sbGVyLmJhY2t1cC5CYWNrdXBlciNiYWNrdXAob3JnLmNvbnRpbnVlbnQuc2VxdW9p YS5jb250cm9sbGVyLmJhY2tlbmQuRGF0YWJhc2VCYWNrZW5kLA0KCSAqICAgICAgamF2YS5sYW5n LlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywNCgkgKiAgICAgIGph dmEubGFuZy5TdHJpbmcsIGphdmEudXRpbC5BcnJheUxpc3QpDQoJICovDQoJcHVibGljIERhdGUg YmFja3VwKERhdGFiYXNlQmFja2VuZCBiYWNrZW5kLCBTdHJpbmcgbG9naW4sIFN0cmluZyBwYXNz d29yZCwNCgkJCVN0cmluZyBkdW1wTmFtZSwgU3RyaW5nIHBhdGgsIEFycmF5TGlzdCB0YWJsZXMp DQoJCQl0aHJvd3MgQmFja3VwRXhjZXB0aW9uIHsNCg0KCQlTdHJpbmcgZmlyZWJpcmRVcmxQcmVm aXggPSAiamRiYzpmaXJlYmlyZHNxbDoiOw0KCQlTdHJpbmcgdXJsID0gYmFja2VuZC5nZXRVUkwo KS50cmltKCk7DQoNCgkJaWYgKCF1cmwuc3RhcnRzV2l0aChmaXJlYmlyZFVybFByZWZpeCkpIHsN CgkJCXRocm93IG5ldyBCYWNrdXBFeGNlcHRpb24oIlVuc3VwcG9ydGVkIGRiIHVybCAiICsgdXJs KTsNCgkJfQ0KCQlTdHJpbmcgcGF0aFRvRGIgPSB1cmwucmVwbGFjZUZpcnN0KGZpcmViaXJkVXJs UHJlZml4LCAiIik7DQoNCgkJdHJ5IHsNCgkJCVN0cmluZyBiYWNrdXBQYXRoID0gZ2V0RHVtcFBo eXNpY2FsUGF0aChwYXRoLCBkdW1wTmFtZSk7DQoNCgkJCWlmIChsb2dnZXIuaXNEZWJ1Z0VuYWJs ZWQoKSkNCgkJCQlsb2dnZXIuZGVidWcoIkR1bXBpbmcgIiArIHBhdGhUb0RiICsgIiBpbiAiICsg YmFja3VwUGF0aCk7DQoNCgkJCVN0cmluZyBjb21tYW5kID0gImdiYWsgLUIgLVVTRVIgIiArIGxv Z2luICsgIiAtUEFTICIgKyBwYXNzd29yZA0KCQkJCQkrICIgIiArIHBhdGhUb0RiICsgIiAiICsg YmFja3VwUGF0aDsNCgkJCWV4ZWN1dGVOYXRpdmVDb21tYW5kKGNvbW1hbmQpOw0KCQl9IGNhdGNo IChFeGNlcHRpb24gZSkgew0KCQkJU3RyaW5nIG1zZyA9ICJFcnJvciB3aGlsZSBwZXJmb3JtaW5n IGJhY2t1cCI7DQoJCQlsb2dnZXIuZXJyb3IobXNnLCBlKTsNCgkJCXRocm93IG5ldyBCYWNrdXBF eGNlcHRpb24obXNnLCBlKTsNCgkJfQ0KDQoJCXJldHVybiBuZXcgRGF0ZShTeXN0ZW0uY3VycmVu dFRpbWVNaWxsaXMoKSk7DQoJfQ0KDQoJLyoqDQoJICogRXhlY3V0ZXMgYSBuYXRpdmUgb3BlcmF0 aW5nIHN5c3RlbSBjb21tYW5kLCBvdXRwdXQgb2YgdGhpcyBjb21tYW5kDQoJICogaXMgY2FwdHVy ZWQgYW5kIGxvZ2dlZC4NCgkgKiANCgkgKiBAcGFyYW0gY29tbWFuZCBTdHJpbmcgb2YgY29tbWFu ZCB0byBleGVjdXRlDQoJICogQHJldHVybiAwIGlmIHN1Y2Nlc3NmdWwsIGFueSBudW1iZXIgb3Ro ZXJ3aXNlDQoJICogQHRocm93cyBJT0V4Y2VwdGlvbg0KCSAqIEB0aHJvd3MgSW50ZXJydXB0ZWRF eGNlcHRpb24NCgkgKi8NCglwcm90ZWN0ZWQgaW50IGV4ZWN1dGVOYXRpdmVDb21tYW5kKFN0cmlu ZyBjb21tYW5kKSB0aHJvd3MgSU9FeGNlcHRpb24sDQoJCQlJbnRlcnJ1cHRlZEV4Y2VwdGlvbiB7 DQoNCgkJUnVudGltZSBydW50aW1lID0gUnVudGltZS5nZXRSdW50aW1lKCk7DQoJCVByb2Nlc3Mg cHJvY2VzcyA9IHJ1bnRpbWUuZXhlYyhjb21tYW5kKTsNCgkJTGlzdCBlcnJvcnMgPSBuZXcgQXJy YXlMaXN0KCk7DQoNCgkJLy8gU3Bhd24gMiB0aHJlYWRzIHRvIGNhcHR1cmUgdGhlIHByb2Nlc3Mg b3V0cHV0LCBwcmV2ZW50cyBibG9ja2luZw0KCQlOYXRpdmVDb21tYW5kT3V0cHV0VGhyZWFkIGlu U3RyZWFtVGhyZWFkID0gbmV3IE5hdGl2ZUNvbW1hbmRPdXRwdXRUaHJlYWQoDQoJCQkJcHJvY2Vz cy5nZXRJbnB1dFN0cmVhbSgpKTsNCgkJTmF0aXZlQ29tbWFuZE91dHB1dFRocmVhZCBlcnJTdHJl YW1UaHJlYWQgPSBuZXcgTmF0aXZlQ29tbWFuZE91dHB1dFRocmVhZCgNCgkJCQlwcm9jZXNzLmdl dEVycm9yU3RyZWFtKCkpOw0KDQoJCWlmIChsb2dnZXIuaXNJbmZvRW5hYmxlZCgpKSB7DQoJCQls b2dnZXIuaW5mbyhjb21tYW5kKTsNCgkJfQ0KDQoJCWluU3RyZWFtVGhyZWFkLnN0YXJ0KCk7DQoJ CWVyclN0cmVhbVRocmVhZC5zdGFydCgpOw0KDQoJCXByb2Nlc3Mud2FpdEZvcigpOw0KDQoJCS8v IFNhdmUgdGhlIGVycm9ycyAoaWYgYW55KSB0aGF0IHdlIHdlcmUgcmV0dXJuZWQgZnJvbSB0aGUg b3V0cHV0IHRocmVhZA0KCQllcnJvcnMuYWRkQWxsKGluU3RyZWFtVGhyZWFkLmdldEVycm9ycygp KTsNCgkJZXJyb3JzLmFkZEFsbChlcnJTdHJlYW1UaHJlYWQuZ2V0RXJyb3JzKCkpOw0KDQoJCWlm IChsb2dnZXIuaXNJbmZvRW5hYmxlZCgpKSB7DQoJCQlsb2dnZXIuaW5mbygiQ29tbWFuZCBcIiIg KyBjb21tYW5kICsgIlwiIGxvZ2dlZCAiICsgZXJyb3JzLnNpemUoKQ0KCQkJCQkrICIgZXJyb3Jz IGFuZCB0ZXJtaW5hdGVkIHdpdGggZXhpdGNvZGUgIg0KCQkJCQkrIHByb2Nlc3MuZXhpdFZhbHVl KCkpOw0KCQl9DQoNCgkJLy8gUmV0dXJuIGV4aXRWYWx1ZSArIHNpemUgb2YgZXJyb3JzIChpZiBh bGwgaXMgd2VsbCwgc2hvdWxkIGJlIDApDQoJCXJldHVybiBwcm9jZXNzLmV4aXRWYWx1ZSgpICsg ZXJyb3JzLnNpemUoKTsNCgl9DQoNCgkvKioNCgkgKiBAc2VlIG9yZy5jb250aW51ZW50LnNlcXVv aWEuY29udHJvbGxlci5iYWNrdXAuQmFja3VwZXIjcmVzdG9yZShvcmcuY29udGludWVudC5zZXF1 b2lhLmNvbnRyb2xsZXIuYmFja2VuZC5EYXRhYmFzZUJhY2tlbmQsDQoJICogICAgICBqYXZhLmxh bmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLA0KCSAqICAgICAg amF2YS5sYW5nLlN0cmluZywgamF2YS51dGlsLkFycmF5TGlzdCkNCgkgKi8NCglwdWJsaWMgdm9p ZCByZXN0b3JlKERhdGFiYXNlQmFja2VuZCBiYWNrZW5kLCBTdHJpbmcgbG9naW4sIFN0cmluZyBw YXNzd29yZCwNCgkJCVN0cmluZyBkdW1wTmFtZSwgU3RyaW5nIHBhdGgsIEFycmF5TGlzdCB0YWJs ZXMpIHRocm93cyBCYWNrdXBFeGNlcHRpb24gew0KDQoJCVN0cmluZyBmaXJlYmlyZFVybFByZWZp eCA9ICJqZGJjOmZpcmViaXJkc3FsOiI7DQoJCVN0cmluZyB1cmwgPSBiYWNrZW5kLmdldFVSTCgp LnRyaW0oKTsNCg0KCSAgICBGaWxlIGR1bXAgPSBuZXcgRmlsZShnZXREdW1wUGh5c2ljYWxQYXRo KHBhdGgsIGR1bXBOYW1lKSk7DQoJICAgIGlmICghZHVtcC5leGlzdHMoKSkNCgkgICAgICB0aHJv dyBuZXcgQmFja3VwRXhjZXB0aW9uKCJCYWNrdXAgJyIgKyBkdW1wICsgIicgZG9lcyBub3QgZXhp c3QhIik7DQoNCgkgICAgaWYgKCF1cmwuc3RhcnRzV2l0aChmaXJlYmlyZFVybFByZWZpeCkpDQoJ ICAgIHsNCgkgICAgICB0aHJvdyBuZXcgQmFja3VwRXhjZXB0aW9uKCJVbnN1cHBvcnRlZCBkYiB1 cmwgIiArIHVybCk7DQoJICAgIH0NCgkgICAgU3RyaW5nIHBhdGhUb0RiID0gdXJsLnJlcGxhY2VG aXJzdChmaXJlYmlyZFVybFByZWZpeCwgIiIpOw0KCQkNCgkgICAgdHJ5DQoJICAgIHsNCgkgICAg ICBpZiAobG9nZ2VyLmlzRGVidWdFbmFibGVkKCkpDQoJICAgICAgICBsb2dnZXIuZGVidWcoIlJl c3RvcmluZyAiICsgcGF0aFRvRGIgKyAiIGZyb20gIiArIGR1bXApOw0KDQoJICAgICAgU3RyaW5n IGNvbW1hbmQgPSAiZ2JhayAtUiAtVVNFUiAiICsgbG9naW4gKyAiIC1QQVMgIiArIHBhc3N3b3Jk ICsgIiAiICsgZHVtcCArICIgIiArIHBhdGhUb0RiOw0KCSAgICAgIGV4ZWN1dGVOYXRpdmVDb21t YW5kKGNvbW1hbmQpOw0KCSAgICB9DQoJICAgIGNhdGNoIChFeGNlcHRpb24gZSkNCgkgICAgew0K CSAgICAgIFN0cmluZyBtc2cgPSAiRXJyb3Igd2hpbGUgcGVyZm9ybWluZyByZXN0b3JlIjsNCgkg ICAgICBsb2dnZXIuZXJyb3IobXNnLCBlKTsNCgkgICAgICB0aHJvdyBuZXcgQmFja3VwRXhjZXB0 aW9uKG1zZywgZSk7DQoJICAgIH0NCgl9DQoNCgkvKioNCgkgKiBAc2VlIG9yZy5jb250aW51ZW50 LnNlcXVvaWEuY29udHJvbGxlci5iYWNrdXAuQmFja3VwZXIjZGVsZXRlRHVtcChqYXZhLmxhbmcu U3RyaW5nLA0KCSAqICAgICAgamF2YS5sYW5nLlN0cmluZykNCgkgKi8NCglwdWJsaWMgdm9pZCBk ZWxldGVEdW1wKFN0cmluZyBwYXRoLCBTdHJpbmcgZHVtcE5hbWUpIHRocm93cyBCYWNrdXBFeGNl cHRpb24gew0KCQlGaWxlIHRvUmVtb3ZlID0gbmV3IEZpbGUoZ2V0RHVtcFBoeXNpY2FsUGF0aChw YXRoLCBkdW1wTmFtZSkpOw0KCQlpZiAobG9nZ2VyLmlzRGVidWdFbmFibGVkKCkpDQoJCQlsb2dn ZXIuZGVidWcoIkRlbGV0aW5nIGR1bXAgIiArIHRvUmVtb3ZlKTsNCgkJdG9SZW1vdmUuZGVsZXRl KCk7DQoJfQ0KDQoJLyoqDQoJICogR2V0IHRoZSBkdW1wIHBoeXNpY2FsIHBhdGggZnJvbSBpdHMg bG9naWNhbCBuYW1lDQoJICogDQoJICogQHBhcmFtIHBhdGgNCgkgKiAgICAgICAgICAgIHRoZSBw YXRoIHdoZXJlIHRoZSBkdW1wIGlzIHN0b3JlZA0KCSAqIEBwYXJhbSBkdW1wTmFtZQ0KCSAqICAg ICAgICAgICAgZHVtcCBsb2dpY2FsIG5hbWUNCgkgKiBAcmV0dXJuIHBhdGggdG8gemlwIGZpbGUN CgkgKi8NCglwcml2YXRlIFN0cmluZyBnZXREdW1wUGh5c2ljYWxQYXRoKFN0cmluZyBwYXRoLCBT dHJpbmcgZHVtcE5hbWUpIHsNCgkJcmV0dXJuIHBhdGggKyBGaWxlLnNlcGFyYXRvciArIGR1bXBO YW1lOw0KCX0NCg0KCS8qKg0KCSAqIEBzZWUgb3JnLmNvbnRpbnVlbnQuc2VxdW9pYS5jb250cm9s bGVyLmJhY2t1cC5CYWNrdXBlciNmZXRjaER1bXAob3JnLmNvbnRpbnVlbnQuc2VxdW9pYS5jb250 cm9sbGVyLmJhY2t1cC5EdW1wVHJhbnNmZXJJbmZvLA0KCSAqICAgICAgamF2YS5sYW5nLlN0cmlu ZywgamF2YS5sYW5nLlN0cmluZykNCgkgKi8NCglwdWJsaWMgdm9pZCBmZXRjaER1bXAoRHVtcFRy YW5zZmVySW5mbyBkdW1wVHJhbnNmZXJJbmZvLCBTdHJpbmcgcGF0aCwNCgkJCVN0cmluZyBkdW1w TmFtZSkgdGhyb3dzIEJhY2t1cEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gew0KCQlCYWNrdXBNYW5h Z2VyLmZldGNoRHVtcEZpbGUoZHVtcFRyYW5zZmVySW5mbywgcGF0aCwgZHVtcE5hbWUpOw0KCX0N Cg0KCS8qKg0KCSAqIEBzZWUgb3JnLmNvbnRpbnVlbnQuc2VxdW9pYS5jb250cm9sbGVyLmJhY2t1 cC5CYWNrdXBlciNzZXR1cER1bXBTZXJ2ZXIoKQ0KCSAqLw0KCXB1YmxpYyBEdW1wVHJhbnNmZXJJ bmZvIHNldHVwRHVtcFNlcnZlcigpIHRocm93cyBJT0V4Y2VwdGlvbiB7DQoJCXJldHVybiBCYWNr dXBNYW5hZ2VyLnNldHVwRHVtcEZpbGVTZXJ2ZXIoKTsNCgl9DQoNCn0= ------------11436260E2B4B--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1485400932.20060613161431>