Date: Sun, 27 Sep 2015 01:29:23 +0200 From: Dirk Engling <erdgeist@erdgeist.org> To: "freebsd-bluetooth@freebsd.org" <freebsd-bluetooth@freebsd.org> Subject: first shot at user friendly bluetooth-config script Message-ID: <56072A53.4010005@erdgeist.org>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000805080601020205030608 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Find attached a script that tries to tie together essential parts of the bluetooth sub-system in a human friendly manner. Currently I implemented all the steps necessary to get a hid running, and helping out the user along the way. Next up I want to implement setting up everything necessary to get connected using the DUN profile, if available. Still some questions remain about pairing: besides grepping debug.log's output, is there a reliable way to get pairing status? Looking into /var/db/hcsecd.keys may give me positive results, but info like whether a PIN_Code_Negative_Reply has been sent to the device because of a wrong pin code would be helpful. It would also be helpful to know if the device never sent a PIN_Code_Request in the first place. And how do you use hcsecd to actively start pairing? The script's style may still be a little concise, but is extensively documented, I will factor out code blocks into functions later. I am also trying to make it more usable from a script by adding a quiet mode that is not interactive and tries to automatically resolve everything by the info passed on command line. Now I wonder, where the code will be heading. Is it likely to go into the bluetooth framework or should I start writing a port? Do you have suggestions where the user might be provided additional info on how to continue, especially if stuff breaks? Regards, erdgeist --------------000805080601020205030608 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="bluetooth-config" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bluetooth-config" IyEvYmluL3NoCgojIGRlZmluZSBvdXIgYmFpbCBvdXQgc2hvcnRjdXQKZXhlcnIgKCkgeyBl Y2hvIC1lICJFcnJvcjogJCoiID4mMiA7IGV4aXQgMTsgfQoKIyBBc3N1bWluZyB3ZSBhcmUg Y2FsbGVkIHRvIGRvIHRoZSBwYWlyLW5ldy1kZXZpY2Ugc3ViY29tbWFuZCBmaXJzdAoKbWFp bigpIHsKdW5zZXQgbm9kZSBkZXZpY2Ugc3RhcnRlZCBiZGFkZHJlc3NlcyByZXRyeQoKWyAk KCBpZCAtdSApIC1lcSAwIF0gfHwgZXhlcnIgIiQwIG5lZWRzIHRvIG1vZGlmeSBmaWxlcyB0 aGF0IGJlbG9uZyB0byByb290LiBSZS1ydW4gYXMgcm9vdC4iCgojIEdldCBjb21tYW5kIGxp bmUgb3B0aW9ucwp3aGlsZSBnZXRvcHRzIDphOm46IGFyZzsgZG8KICBjYXNlICR7YXJnfSBp bgogICAgbikgbm9kZT0iJE9QVEFSRyI7OwogICAgYSkgZGV2aWNlPSIkT1BUQVJHIjs7CiAg ICA/KSBleGVyciAiU3ludGF4OiAkMCBbLW4gbm9kZV0gY21kIjs7CiAgZXNhYwpkb25lCgpr bm93bl9ub2Rlcz0kKC91c3Ivc2Jpbi9oY2NvbnRyb2wgcmVhZF9ub2RlX2xpc3QgMj4vZGV2 L251bGwgfCBcCiAgICAvdXNyL2Jpbi90YWlsIC1uICsyIHwgL3Vzci9iaW4vY3V0IC1kICcg JyAtZiAxKQoKIyBDaGVjayBpZiBuZXRncmFwaCBrbm93cyBhYm91dCBhbnkgSENJIG5vZGVz CmlmICEgWyAiJHtrbm93bl9ub2Rlc30iIF07IHRoZW4KICBuZ19ub2Rlcz0kKC91c3Ivc2Jp bi9uZ2N0bCBsaXN0IDI+L2Rldi9udWxsIHwgXAogICAgL3Vzci9iaW4vZ3JlcCAtbyAiTmFt ZTogLiogVHlwZTogdWJ0IiB8IC91c3IvYmluL2N1dCAtZCAnICcgLWYgMikKCiAgWyAiJHtu Z19ub2Rlc30iIF0gfHwgZXhlcnIgIk5vIGJsdWV0b290aCBob3N0IGNvbnRyb2xsZXJzIGZv dW5kLiIKCiAgdW5zZXQgZm91bmQKICBmb3IgbiBpbiAke25nX25vZGVzfTsgZG8KICAgIGlm IFsgIiR7bn0iID0gIiR7bm9kZSVoY2l9IiBdOyB0aGVuCiAgICAgICMgSWYgd2UgZm91bmQg dGhlIG5vZGUgYnV0IGl0J3Mgc3RhY2sgaXMgbm90IHNldCB1cCwgZG8gaXQgbm93CiAgICAg IC91c3Ivc2Jpbi9zZXJ2aWNlIGJsdWV0b290aCBzdGFydCAke25vZGUlaGNpfSB8fCBleGl0 IDEKICAgICAgZm91bmQ9IllFUyIKICAgIGZpCiAgZG9uZQoKICAjIElmIHdlIGhhdmUgYmx1 ZXRvb3RoIGNvbnRyb2xsZXIgbm9kZXMgd2l0aG91dCBhIHNldHVwIHN0YWNrLAogICMgYXNr IHRoZSB1c2VyIGlmIHdlIHNoYWxsIHN0YXJ0IGl0IHVwCiAgaWYgISBbICIke2ZvdW5kfSIg XTsgdGhlbgogICAgcHJpbnRmICJObyB1c2FibGUgYmx1ZXRvb3RoIGhvc3QgY29udHJvbGxl cnMgd2VyZSBmb3VuZC5cblRoZXNlIGhvc3QgY29udHJvbGxlcnMgZXhpc3QgaW4gdGhlIHN5 c3RlbTpcbiAgJXMiICIgJHtuZ19ub2Rlc30iCiAgICByZWFkIC1wICJDaG9vc2UgYSBob3N0 IGNvbnRyb2xsZXIgdG8gc2V0IHVwOiBbJHtuZ19ub2RlcyUlICp9XSIgbm9kZQogICAgOiAk e25vZGU6PSIke25nX25vZGVzJSUgKn0ifQogICAgL3Vzci9zYmluL3NlcnZpY2UgYmx1ZXRv b3RoIHN0YXJ0ICR7bm9kZX0gfHwgZXhpdCAxCiAgZmkKCiAgIyBSZS1yZWFkIGtub3duIG5v ZGVzCiAga25vd25fbm9kZXM9JCgvdXNyL3NiaW4vaGNjb250cm9sIHJlYWRfbm9kZV9saXN0 IDI+L2Rldi9udWxsIHwgXAogICAgL3Vzci9iaW4vdGFpbCAtbiArMiB8IC91c3IvYmluL2N1 dCAtZCAnICcgLWYgMSkKICAjIGNoZWNrIGlmIHdlIHN1Y2NlZWRlZCBpbiBicmluZ2luZyBp dCB1cAogIFsgIiR7a25vd25fbm9kZXN9IiBdIHx8IGV4ZXJyICJGYWlsZWQgdG8gc2V0dXAg Ymx1ZXRvb3RoIHN0YWNrIgpmaQoKIyBpZiBhIG5vZGUgd2FzIHJlcXVlc3RlZCBvbiBjb21t YW5kIGxpbmUsIGNoZWNrIGlmIGl0IGlzIHRoZXJlCmlmIFsgIiR7bm9kZX0iIF07IHRoZW4K ICB1bnNldCBmb3VuZAogIGZvciBuIGluICR7a25vd25fbm9kZXN9OyBkbwogICAgWyAiJHtu fSIgPSAiJHtub2RlfSIgXSAmJiBmb3VuZD0iWUVTIgogICAgWyAiJHtufSIgPSAiJHtub2Rl fWhjaSIgXSAmJiBub2RlPSIke25vZGV9aGNpIiAmJiBmb3VuZD0iWUVTIgogIGRvbmUKICBb ICIke2ZvdW5kfSIgXSB8fCBleGVyciAiTm9kZSAke25vZGV9IG5vdCBmb3VuZCIKZmkKClsg IiR7bm9kZX0iIF0gJiYgbm9kZT0iLW4gJHtub2RlfSIKCndoaWxlICEgWyAiJHtiZGFkZHJl c3Nlc30iIF07IGRvCiAgcmV0cnk9WCR7cmV0cnl9CiAgcHJpbnRmICJTY2FubmluZyBmb3Ig bmV3IGJsdWV0b290aCBkZXZpY2VzIChBdHRlbXB0ICVkIG9mIDUpIC4uLiAiICR7I3JldHJ5 fQogIGJkYWRkcmVzc2VzPSQoIC91c3Ivc2Jpbi9oY2NvbnRyb2wgLU4gJHtub2RlfSBpbnF1 aXJ5IDI+L2Rldi9udWxsIHwgXAogICAgL3Vzci9iaW4vZ3JlcCAtbyAiQkRfQUREUjogLioi IHwgL3Vzci9iaW4vY3V0IC1kICcgJyAtZiAyICkKCiAgIyBDb3VudCBlbnRyaWVzIGFuZCwg aWYgYSBkZXZpY2Ugd2FzIHJlcXVlc3RlZCBvbiBjb21tYW5kIGxpbmUsCiAgIyB0cnkgdG8g ZmluZCBpdAogIHVuc2V0IGZvdW5kIGNvdW50CiAgZm9yIGJkYWRkcmVzcyBpbiAke2JkYWRk cmVzc2VzfTsgZG8KICAgIGNvdW50PVgke2NvdW50fQogICAgaWYgWyAiJHtiZGFkZHJlc3N9 IiA9ICIke2RldmljZX0iIF07IHRoZW4KICAgICAgZm91bmQ9WUVTCiAgICAgIGJkYWRkcmVz c2VzPSIke2RldmljZX0iCiAgICAgIGNvdW50PVgKICAgICAgYnJlYWsKICAgIGZpCiAgZG9u ZQoKICAjIElmIGRldmljZSB3YXMgcmVxdWVzdGVkIG9uIGNvbW1hbmQgbGluZSBidXQgaXMg bm90IGZvdW5kLAogICMgb3Igbm8gZGV2aWNlcyBmb3VuZCBhdCBhbGwsIHJlc2NhbiB1bnRp bCByZXRyeSBpcyBleGhhdXN0ZWQKICBpZiAhIFsgIiR7Zm91bmR9IiAtbyAiJHtjb3VudH0i IC1hIC16ICIke2RldmljZX0iIF07IHRoZW4KICAgIHByaW50ZiAiZmFpbGVkLlxuIgogICAg aWYgWyAiJHsjcmV0cnl9IiAtZXEgNSBdOyB0aGVuCiAgICAgIFsgIiR7ZGV2aWNlfSIgXSAm JiBleGVyciAiRGV2aWNlICR7ZGV2aWNlfSBub3QgZm91bmQiCiAgICAgIGV4ZXJyICJObyBu ZXcgYmx1ZXRvb3RoIGRldmljZXMgZm91bmQiCiAgICBmaQogICAgdW5zZXQgYmRhZGRyZXNz ZXMKICAgIHNsZWVwIDIKICAgIGNvbnRpbnVlCiAgZmkKCiAgcHJpbnRmICJkb25lLlxuRm91 bmQgJWQgbmV3IGJsdWV0b290aCBkZXZpY2UocykgKHNjYW5uaW5nIGZvciBuYW1lcyk6XG4i ICR7I2NvdW50fQoKICAjIExvb3BpbmcgYWdhaW4gZm9yIHRoZSBmYXN0ZXIgZmVlZGJhY2sK ICB1bnNldCBjb3VudAogIGZvciBiZGFkZHJlc3MgaW4gJHtiZGFkZHJlc3Nlc307IGRvCiAg ICBjb3VudD1YJHtjb3VudH0KICAgIGJkbmFtZT0kKCAvdXNyL2Jpbi9idGhvc3QgLWIgIiR7 YmRhZGRyZXNzfSIgMj4vZGV2L251bGwgKQogICAgZnJpZW5kbHluYW1lPSQoIC91c3Ivc2Jp bi9oY2NvbnRyb2wgUmVtb3RlX05hbWVfUmVxdWVzdCAke2JkYWRkcmVzc30gMj4gL2Rldi9u dWxsIHwgXAogICAgICAvdXNyL2Jpbi9ncmVwIC1vICJOYW1lOiAuKiIgfCAvdXNyL2Jpbi9j dXQgLWQgJyAnIC1mIDItICkKCiAgICAjIHNkcGNvbnRyb2wgc2hvdWxkIGJlIGFibGUgdG8g cHVsbCB2ZW5kb3IgYW5kIHByb2R1Y3QgaWQgdmlhIHNkcAogICAgcHJpbnRmICJbJTJkXSAl c1x0XCIlc1wiICglcylcbiIgJHsjY291bnR9ICIke2JkYWRkcmVzc30iICIke2ZyaWVuZGx5 bmFtZX0iICIke2JkbmFtZX0iCgogICAgZXZhbCBiZGFkZHJlc3NfJHsjY291bnR9PVwke2Jk YWRkcmVzc30KICAgIGV2YWwgYmRuYW1lXyR7I2NvdW50fT1cJHtiZG5hbWV9CiAgICBldmFs IGZyaWVuZGx5bmFtZV8keyNjb3VudH09XCR7ZnJpZW5kbHluYW1lfQogIGRvbmUKCiAgIyBJ ZiBhIGRldmljZSB3YXMgcHJlLXNlbGVjdGVkLCBkb24ndCBxdWVyeSB0aGUgdXNlcgogIFsg IiR7ZGV2aWNlfSIgXSAmJiB0b3BhaXI9MSB8fCB1bnNldCB0b3BhaXIKCiAgIyBFdmVuIGlm IG9ubHkgb25lIGRldmljZSB3YXMgZm91bmQsIHVzZXIgbWF5IGNob3NlIDAgdG8gcmVzY2Fu CiAgd2hpbGUgISBbICIke3RvcGFpcn0iIF07IGRvCiAgICByZWFkIC1wICJTZWxlY3Qgd2hp Y2ggZGV2aWNlIHlvdSB3YW50IHRvIHBhaXIgd2l0aCBbMS0keyNjb3VudH0sIDAgdG8gcmVz Y2FuXTogIiB0b3BhaXIKICAgIGlmICEgWyAiJHt0b3BhaXJ9IiAtZ2UgMCAtYSAiJHt0b3Bh aXJ9IiAtbGUgIiR7I2NvdW50fSIgXSAyPi9kZXYvbnVsbCA7IHRoZW4KICAgICAgcHJpbnRm ICJWYWx1ZSBvdXQgb2YgcmFuZ2U6ICVzLlxuIiB7dG9wYWlyfQogICAgICB1bnNldCB0b3Bh aXIKICAgIGZpCiAgZG9uZQoKICBbICIke3RvcGFpcn0iIC1lcSAiMCIgXSAmJiB1bnNldCBi ZGFkZHJlc3NlcyByZXRyeQpkb25lCgpldmFsIGJkYWRkcmVzcz1cJHtiZGFkZHJlc3NfJHt0 b3BhaXJ9fQpldmFsIGJkbmFtZT1cJHtiZG5hbWVfJHt0b3BhaXJ9fQpldmFsIGZyaWVuZGx5 bmFtZT1cJHtmcmllbmRseW5hbWVfJHt0b3BhaXJ9fQoKIyBEbyB3ZSBuZWVkIHRvIGFkZCBh biBlbnRyeSB0byAvZXRjL2JsdWV0b290aC9ob3N0cz8KaWYgISBbICIke2JkbmFtZX0iIF07 IHRoZW4KICBwcmludGYgIlxuQWRkaW5nIGRldmljZSAke2JkYWRkcmVzc30gdG8gL2V0Yy9i bHVldG9vdGgvaG9zdHMuXG4iCgogIHdoaWxlICEgWyAiJHtiZG5hbWV9IiBdOyBkbwogICAg cmVhZCAtcCAiUGxlYXNlIGVudGVyIGZyaWVuZGx5IG5hbWUuIFske2ZyaWVuZGx5bmFtZX1d OiAiIFJFUExZCiAgICA6ICR7UkVQTFk6PSIke2ZyaWVuZGx5bmFtZX0ifQoKICAgIGlmIFsg IiR7UkVQTFl9IiBdOyB0aGVuCiAgICAgICMgUmVtb3ZlIHdoaXRlIHNwYWNlIGFuZCBub24t ZnJpZW5kbHkgY2hhcmFjdGVycwogICAgICBiZG5hbWU9JCggcHJpbnRmICIlcyIgIiR7UkVQ TFl9IiB8IHRyIC1jICdbOmFsbnVtOl0tLC4nIF8gKQogICAgICBbICIke1JFUExZfSIgIT0g IiR7YmRuYW1lfSIgXSAmJiBwcmludGYgIk5vdGljZTogVXNpbmcgc2FuaXRpemVkIG5hbWUg XCIlc1wiIGluIC9ldGMvYmx1ZXRvb3RoL2hvc3RzLlxuIiAiJHtiZG5hbWV9IgogICAgZmkK ICBkb25lCgogIHByaW50ZiAiJXNcdCVzXG4iICIke2JkYWRkcmVzc30iICIke2JkbmFtZX0i ID4+IC9ldGMvYmx1ZXRvb3RoL2hvc3RzCmZpCgojIElmIHNjYW5uaW5nIGZvciB0aGUgbmFt ZSBkaWQgbm90IHN1Y2NlZWQsIHJlc29ydCB0byBiZG5hbWUKOiAke2ZyaWVuZGx5bmFtZTo9 IiR7YmRuYW1lfSJ9CgojIG5vdyBvdmVyIHRvIGhjc2VjZAoKIyBTaW5jZSBoY3NlY2QgZG9l cyBub3QgYWxsb3cgcXVlcnlpbmcgZm9yIGtub3duIGRldmljZXMsIHdlIG5lZWQgdG8KIyBj aGVjayBmb3IgYmRhZGRyIGVudHJpZXMgbWFudWFsbHkuCiMKIyBBbHNvIHdlIGNhbiBub3Qg cmVhbGx5IG1vZGlmeSB0aGUgUElOIGluIGFuIGV4aXN0aW5nIGVudHJ5LiBTbyB3ZQojIG5l ZWQgdG8gcHJvbXB0IHRoZSB1c2VyIHRvIG1hbnVhbGx5IGRvIGl0IGFuZCByZXN0YXJ0IHRo aXMgc2NyaXB0CmlmICEgL3Vzci9zYmluL3NlcnZpY2UgaGNzZWNkIGVuYWJsZWQ7IHRoZW4K ICBwcmludGYgIlxuV2FybmluZzogaGNzZWNkIGlzIG5vdCBlbmFibGVkIG9uIHlvdXIgc3lz dGVtLlxuVGhpcyBkYWVtb24gbWFuYWdlcyBwYXJpbmcgcmVxdWVzdHMuXG4iCiAgcmVhZCAt cCAiRW5hYmxlIGhjc2VjZD8gW3llc106ICIgUkVQTFkKICBjYXNlICIke1JFUExZfSIgaW4g bm98bnxOT3xOfE5vfG5PKSA7OyAqKSAvdXNyL3NiaW4vc3lzcmMgaGNzZWNkX2VuYWJsZT0i WUVTIjs7IGVzYWMKZmkKc2VjZF9jb25maWc9JCggL3Vzci9zYmluL3N5c3JjIC1uIGhjc2Vj ZF9jb25maWcgKQpzZWNkX2VudHJpZXM9JCggL3Vzci9iaW4vZ3JlcCAtRW8gImJkYWRkcltb OnNwYWNlOl1dKygke2JkYWRkcmVzc318JHtiZG5hbWV9KSIgJHtzZWNkX2NvbmZpZ30gfCBh d2sgJ3sgcHJpbnQgJDI7IH0nICkKCmlmIFsgIiR7c2VjZF9lbnRyaWVzfSIgXTsgdGhlbgog IHByaW50ZiAiXG5XYXJuaW5nOiBBbiBlbnRyeSBmb3IgZGV2aWNlICVzIGlzIGFscmVhZHkg cHJlc2VudCBpbiAlcy5cbiIgJHtzZWNkX2VudHJpZXN9ICR7c2VjZF9jb25maWd9CiAgcHJp bnRmICJJZiB5b3Ugd2FudCB0byBtb2RpZml5IHBhaXJpbmcgaW5mb3JtYXRpb24sIGVkaXQg dGhpcyBmaWxlIGFuZCBydW4gdGhlIGNvbW1hbmRcbiAgc2VydmljZSBoY3NlY2QgcmVzdGFy dFxuIgogIHJlYWQgLXAgIkNvbnRpbnVlPyBbeWVzXTogIiBSRVBMWQogIGNhc2UgIiR7UkVQ TFl9IiBpbiBub3xufE5PfE58Tm98bk8pIGV4aXQ7OyBlc2FjCmVsc2UKICBwcmludGYgIlxu V3JpdGluZyBwYWlyaW5nIGluZm9ybWF0aW9uIGRlc2NyaXB0aW9uIGJsb2NrIHRvICVzLlxu IiAke3NlY2RfY29uZmlnfQogIHByaW50ZiAiKE5vdGljZTogVG8gZ2V0IFBJTiwgeW91IG1p Z2h0IHdhbnQgdG8gcHV0IGRldmljZSBpbiBwYWlyaW5nIG1vZGUsIGZpcnN0LilcbiIKICBy ZWFkIC1wICJFbnRlciBQSU4gW25vcGluXTogIiBwaW4KICBbICIke3Bpbn0iIF0gJiYgcGlu PVwiIiR7cGlufSJcIiB8fCBwaW49Im5vcGluIgoKICAjIFdyaXRlIG91dCBuZXcgaGNzZWNk IGNvbmZpZyBibG9jawogIHByaW50ZiAiXG5kZXZpY2Uge1xuXHRiZGFkZHJcdCVzO1xuXHRu YW1lXHRcIiVzXCI7XG5cdGtleVx0bm9rZXlcO1xuXHRwaW5cdCVzXDtcbn1cbiIgXAogICAg IiR7YmRhZGRyZXNzfSIgIiR7ZnJpZW5kbHluYW1lfSIgIiR7cGlufSIgPj4gJHtzZWNkX2Nv bmZpZ30KCiAgIyAuLi4gYW5kIG1ha2UgZGFlbW9uIHJlbG9hZCBjb25maWcsIFRPRE86IGhj c2VjZCBzaG91bGQgcHJvdmlkZSBhIHJlbG9hZCBob29rCiAgL3Vzci9zYmluL3NlcnZpY2Ug aGNzZWNkIHJlc3RhcnQKCiAgIyBUT0RPOiB3ZSBzaG91bGQgY2hlY2sgaWYgaGNzZWNkIHN1 Y2NlZWRlZCBwYWlyaW5nIGFuZCByZXZlcnQgdG8gYW4gb2xkIHZlcnNpb24KICAjIG9mIGhj c2VjZC5jb25mIHNvIHdlIGNhbiB1bmRvIGFkZGluZyB0aGUgYmxvY2sgYWJvdmUgYW5kIHJl dHJ5IHdpdGggYSBuZXcgUElOCiAgIyBhbHNvLCBpZiB0aGVyZSdzIGEgd2F5IHRvIGZvcmNl IGRldmljZXMgdG8gcmUtcGFpciwgdHJ5IHRoaXMKZmkKCiMgbm93IGNoZWNrIGZvciBzcGVj aWZpYyBzZXJ2aWNlcyB0byBiZSBwcm92aWRlZCBieSB0aGUgZGV2aWNlCiMgZmlyc3QgdXA6 IEhJRAoKaWYgL3Vzci9zYmluL3NkcGNvbnRyb2wgLWEgIiR7YmRhZGRyZXNzfSIgc2VhcmNo IEhJRCB8IFwKICAgL3Vzci9iaW4vZ3JlcCAtcSAiXlJlY29yZCBIYW5kbGU6ICI7IHRoZW4K CiAgcHJpbnRmICJcblRoaXMgZGV2aWNlIHByb3ZpZGVzIGh1bWFuIGludGVyZmFjZSBkZXZp Y2Ugc2VydmljZXMuXG4iCiAgcmVhZCAtcCAiRG8geW91IHdhbnQgdG8gc2V0IGl0IHVwPyBb eWVzXTogIiBSRVBMWQogIGNhc2UgIiR7UkVQTFl9IiBpbiBub3xufE5PfE58Tm98bk8pIDs7 CiAgKikKICAgIGlmICEgL3Vzci9zYmluL3NlcnZpY2UgYnRoaWRkIGVuYWJsZWQ7IHRoZW4K ICAgICAgcHJpbnRmICJcbldhcm5pbmc6IGJ0aGlkZCBpcyBub3QgZW5hYmxlZCBvbiB5b3Vy IHN5c3RlbS5cblRoaXMgZGFlbW9uIG1hbmFnZXMgYmx1ZXRvb3RoIEhJRCBkZXZpY2VzLlxu IgogICAgICByZWFkIC1wICJFbmFibGUgYnRoaWRkPyBbeWVzXTogIiBSRVBMWQogICAgICBj YXNlICIke1JFUExZfSIgaW4gbm98bnxOT3xOfE5vfG5PKSA7OyAqKSAvdXNyL3NiaW4vc3lz cmMgYnRoaWRkX2VuYWJsZT0iWUVTIjs7IGVzYWMKICAgIGZpCgogICAgIyBDaGVjayBpZiBi dGhpZGQgYWxyZWFkeSBrbm93cyBhYm91dCB0aGlzIGRldmljZQogICAgYnRoaWRkX2tub3du PSQoIC91c3Ivc2Jpbi9idGhpZGNvbnRyb2wgLWEgIiR7YmRhZGRyZXNzfSIga25vd24gKQog ICAgaWYgWyAiJHtidGhpZGRfa25vd259IiBdOyB0aGVuCiAgICAgIHByaW50ZiAiTm90aWNl OiBEZXZpY2UgJXMgYWxyZWFkeSBrbm93biB0byBidGhpZGQuXG4iICIke2JkYWRkcmVzc30i CiAgICBlbHNlCiAgICAgIGJ0aGlkZF9jb25maWc9JCggL3Vzci9zYmluL3N5c3JjIC1uIGJ0 aGlkZF9jb25maWcgKQogICAgICBwcmludGYgIldyaXRpbmcgSElEIGRlc2NyaXB0b3IgYmxv Y2sgdG8gJXMgLi4uICIgIiR7YnRoaWRkX2NvbmZpZ30iCiAgICAgIC91c3Ivc2Jpbi9idGhp ZGNvbnRyb2wgLWEgIiR7YmRhZGRyZXNzfSIgcXVlcnkgPj4gIiR7YnRoaWRkX2NvbmZpZ30i CgogICAgICAjIFJlLXJlYWQgY29uZmlnIHRvIHNlZSBpZiB3ZSBzdWNjZWVkZWQgYWRkaW5n IHRoZSBkZXZpY2UKICAgICAgYnRoaWRkX2tub3duPSQoIC91c3Ivc2Jpbi9idGhpZGNvbnRy b2wgLWEgIiR7YmRhZGRyZXNzfSIga25vd24gKQogICAgICBpZiAhIFsgIiR7YnRoaWRkX2tu b3dufSIgXTsgdGhlbgogICAgICAgIHByaW50ZiAiZmFpbGVkLlxuIgogICAgICBlbHNlCiAg ICAgICAgcHJpbnRmICJzdWNjZXNzLlxuSW4gb3JkZXIgdG8gcmUtcmVhZCBpdHMgY29uZmln LCBidGhpZGQgbXVzdCBiZSByZXN0YXJ0ZWQuXG4iCiAgICAgICAgcHJpbnRmICJXYXJuaW5n OiBJZiB5b3UncmUgdXNpbmcgYSBibHVldG9vdGgga2V5Ym9hcmQsIGNvbm5lY3Rpb24gbWF5 IGJlIGxvc3QuXG4iCiAgICAgICAgcHJpbnRmICJZb3UgbWF5IG1hbnVhbGx5IHJlc3RhcnQg aXQgbGF0ZXIgdXNpbmdcbiAgc2VydmljZSBidGhpZGQgcmVzdGFydFxuIgogICAgICAgIHJl YWQgLXAgIlJlc3RhcnQgYnRoaWRkIG5vdz8gW3llc106ICIgUkVQTFkKICAgICAgICBjYXNl ICIke1JFUExZfSIgaW4gbm98bnxOT3xOfE5vfG5PKSA7OyAqKSAvdXNyL3NiaW4vc2Vydmlj ZSBidGhpZGQgcmVzdGFydDs7IGVzYWMKICAgICAgZmkKICAgIGZpCiAgOzsKICBlc2FjCmZp Cgp9CgojIEFmdGVyIGZ1bmN0aW9uIGRlZmluaXRpb25zLCBtYWluKCkgY2FuIHVzZSB0aGVt Cm1haW4gIiRAIgoKZXhpdAoKIyBUT0RPCiMgKiBJZiBkZXZpY2UgaXMgYSBrZXlib2FyZCwg b2ZmZXIgYSB0ZXh0IGVudHJ5IHRlc3QgZmllbGQgYW5kIGlmIGl0IGRvZXMKIyAgIG5vdCBz dWNjZWVkLCBsZWF2ZSBzb21lIGNsdWVzIGZvciBkZWJ1Z2dpbmcgKGkuZS4gaWYgdGhlIG5v ZGUgcmVzcG9uZHMKIyAgIHRvIHBpbmdzLCBtYXliZSBzd2l0Y2gga2V5Ym9hcmQgb24vb2Zm LCBldGMpCiMgKiBTYW1lIGlmIGRldmljZSBpcyBhIG1vdXNlLCBpLmUuIGhleGR1bXAgL2Rl di9zeXNtb3VzZS4KIyAqIElmIGRldmljZSBvZmZlcnMgRFVOIHByb2ZpbGVzLCBhc2sgdGhl IHVzZXIgaWYgYW4gZW50cnkgaW4KIyAgIC9ldGMvcHBwL3BwcC5jb25mIHNob3VsZCBiZSBj cmVhdGVkCiMgKiBJZiBPUFVTSCBvciBTUFAgaXMgb2ZmZXJlZCwgcmVmZXIgdG8gdGhlIHJl c3BlY3RpdmUgbWFuIHBhZ2VzIHRvIGdpdmUKIyAgIHNvbWUgY2x1ZXMgaG93IHRvIGNvbnRp bnVlCgo= --------------000805080601020205030608--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56072A53.4010005>