From owner-freebsd-net Mon Dec 23 16:40: 4 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C660537B401 for ; Mon, 23 Dec 2002 16:40:00 -0800 (PST) Received: from smtp.hotbox.ru (smtp.hotbox.ru [80.68.244.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBFC643EDA for ; Mon, 23 Dec 2002 16:39:58 -0800 (PST) (envelope-from lexxmail@front.ru) Received: from athlon.lexxhome.net (lexx.korolev-net.ru [212.188.65.77]) (authenticated bits=0) by smtp.hotbox.ru (8.12.6/8.12.6) with ESMTP id gBO0bV1f036709; Tue, 24 Dec 2002 03:37:31 +0300 (MSK) (envelope-from lexxmail@front.ru) Date: Tue, 24 Dec 2002 03:38:28 +0300 From: "Vadim A. Shklyaev" X-Mailer: The Bat! (v1.61) Reply-To: "Vadim A. Shklyaev" X-Priority: 3 (Normal) Message-ID: <1031006789359.20021224033828@front.ru> To: freebsd-net@freebsd.org Cc: Archie Cobbs Subject: mpd-3.10 and MySQL MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------110F01B32D5F92E" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org ------------110F01B32D5F92E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Some time back we have faced necessity of mass authorization of our VPN-clients which were connected to our server using mpd, through a MySQL-database. Thus I have made patch for mpd-3.10 for the built-in support mysql authorizations. May be code is not very clean and well styled, but it works! It works on our servers for about 3 or 4 weeks without problems, so I decided to send it here, to hear what guru thinks about that, and also someone else can will find this thing useful to itself. Patch adds 5 new configuration directives: mysql_hostname defines a host, where mysqld is running set bundle mysql_hostname localhost mysql_database defines a database to use set bundle mysql_database users mysql_username and mysql_password defines a mysql user and password with enough privileges to make sql request, specified in mysql_sql set bundle mysql_username someuser set bundle mysql_password somepassword and mysql_sql defines an sql expression, which will be passed to mysql server to get credential for login, which is substituted instead of "%s". Expression should return one row with three fields: login, password and optionaly ip address (or NULL or empty string), just like a format for mpd.secret set bundle mysql_sql "SELECT login, password, INET_NTOA(ip) FROM users WHERE login='%s' AND active=1 LIMIT 1" MySQL authentification is used when all these directives are defines, if one of them is missing - usual mpd.secret is used. That's all. I wait with impatience for comments. -- Best regards, Vadim A. Shklyaev mailto:lexxmail@front.ru ------------110F01B32D5F92E Content-Type: application/x-compressed; name="mysql_auth-mpd-3.10.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mysql_auth-mpd-3.10.tgz" H4sIANOmBz4AA+1b/1PiSBafX8Nf0YO1DsgXk/BNcfWGARypU/QEZ29qxqJiEiBlSLJJ0OVm53+/ 193ppAMJouPN1m3RVSh2v37vdffnfevE2cL73Rwpc39amjlaqVKWxLJmjMdvXrGJkijWq9U3Im1L v2WpXpfeiI1aQ5ThW70O9FWY8QaJr6lEWpt7vuIi9Ma1bX8d3eNU182fodDPbaVSCV0o9/rYMPWy 7RoTYTC3UN9+QHIVSYdNWWxWGkiGY8oUCoWQVLiwA6oaEuWmXGtKAdX796hUE4t1VICfB+j9+wzK oMHnwfnlx9Fpq9077w0/Hwv4r06re3HZh+HCxefBv85HrZvh2bEgLHQvU8igHdS2Zw6IctEuMg3r Hr6MTWXiYX7nnVanUwDikjnTiMiDQyzyUCpKUiBzB7U0DXn23FV1DymWRqejse0if6qjB8U17LmH nOnCM1TFRKayABn+wtGxjELZGCMNFmvpGsqhSEWUzxQG1+0BFj8LraesZgq8VnhANQ3d8lHpfH/u ufumDUL2TeNunwxmCu3LqyHhUupw3Es9jtqwVHOu6WxGWbfANjMortrV2efB8PNVd3Rx2elegHoo VM/W9FlZRepU8UFBxEmMT8pgGNzNLa2sJoFAkpuwrSEIKCFPI8tN8aApHUQQqMr4POCnVCHngdug Oxxd9PqjTm/Qvuz3u+1hMRrAi++3Lrpc11VrMPjt8rpTzBR2jDEsmDuFTCHkSPrOLgdDOn1poNMa tj60BqsDN4PudeIMTmx8AD5YleAQ2Nh1d3j9mV9Iu9294lfW6fZhHG/KYQNviiRWixK1DOEDbOVA 9wHqM0BoEfVvzs+LKPdgGxray8c2Bn0PeH5DWUfxvEfb1RD+ki0KgpBtAQgBbYBk3wDbZBTZ4mZS 2KKxlLTdBsEU8FPb8y1lpiP2BVTIXiyAGnm6+wBWFA1kCpuIjx8iUSImUVN85U7xdMS+YIkd1unb aA6/YNm8Es+TzXCyKhtYu2S17AuWfcM6sTt5uVQGwlWpsSOmJylkr1jnj0mNHXZMKnyQ/ofj6p4H KMLIymIhfNdzBOG530ObEUL8urrvLkB11ba0AL+ngwtEu31jpttzf1PkEvvjjUNRVd3x0RcbfpTL 5VuyihbthD66CGyOktioU4M8rBXlRuinVIwp3iiatB8hz3Jcw/LHOewCSyeg/rjMzqeIPOM/up04 li+i7C+wULSnPOSPGLc7V1fuj1LNLVQjbhxNOpqsTNw+k1SKUywpVogrlqgHM5QN9GDGmq4Ho3iB Hsx0NtCDGW66HoziBXpEIHlSj3VQiVO8QA/4bKACfNKlw2e9YBb7luyEmGBoJBxbYtCjwKDRMVJ8 28hRzmHGMV3NOA6atUpTrixlHNPljENuVqpRxnFIM8BDPuOAPQDfMnPd+RH83t9DPcvwDcj1Lq5v IAE05zra2w8WM1VcQcCpHMbBF2yGo4vWv8Pwe3vE07FziugYDG7XGDSZGjfAL3Ktdnu0Os4MI22c ATZtPFQwZRw+bIhPaLyp7cKWxc7tiOzcMDhEHHnwsAFJNdu7+SiYdzcbDYKd/gD++tHQ/CmaTWY+ AjhAoWX5yZPODAoIVXVGM8dRWRrKVxlSs1aFciQCRUS8RFetNiv1CBgSSUXh5yHBxU6QVEPI8+yx X55m+T5rMp5barzz15lWLU9PEs+V4xbVAjCbM5WIj6X7E1dxpvvWZDSDeKpMdMw3hcJxHDxKCiqZ ZI61ihgsgh2msMcQS+A5H9HuPfhlmro1od2e785VH2FSjCuC8jSYUpNx1SVrxwiAoglCNhw+nCao j8auPSOlFD4rw4LE05qAUwDB7jsPAaGGE1LFZGfuPRq+OkU507ovnbA5eh59o2usHRYbsMZ6rSix WPw9FP4RpIYpkWq7kI44kDxgiZD9PU4NdarjxBOCvz2HoovkZiA2ZZFjlKPn1QY3ZUxyeawFMRJX BT9Fx3BKDXJxmplj21xEu/hrEUk0GaE+8jvSTfCFPItnTA48OlYKpp4cI5Fos4N54uXjgY3Y8XM5 m2bBYCX8rEQbgt6wl2AnXBrhdW5Priiz7JdfvFs0t5Q7kyTgEzggDC7iIJiG6Cvw/ZoN8q06RXG9 WtkQxfSQvf8jENcpiOuNgy2I/34gJiFqqjgJtySQj+BbEu6qjBIuhybIayQuNNELgcaPhKbaD4Sm /T3YkT3U6Z72+r1h77I/IGrJBxWsl3xQDw2V2SRe1YhkTl/aZ60rkvp8ap3fxgx3qnjTVCJqmxCc iihiNsKHWUTRRNLxfPMeKJDgLYCxrt4HBouBR4zVVJ2yM8U569tjdHUGJQxh2O0Pe+3WsIt2d1Ea Xb87hNzun8zKK4eVoiSiQgWyTZlmmwKAKnf+kXCEAjWLbjxs1isYIjadx6iEOYFLwN4n7g0CD5Vi +kKK5Quphp9mt0Jk80KCyadPOyITAlVg3q+ByQrEumIb8ZviWrCmJrJsti5sXXRD4Cuk9ty2YA6s 2hC+h/5DWHYfya4jUAP9sBooUgNRNRjM2KFhqHIlBFEwt4Rf2M42QPwMenMY66WTP2aGP1LMCQ91 bAdO2dBokKzWGwRbVTA+WQ7usplQRydRKdD/Xl9Q2ctrvQIyspRmhDs8dRTu8qugKmTJH8Tu43Rx qhjmBvDaYP7RRhBrK9Y7nzhvPl5Hx7uyfOAxscHf3ynadZhjrMXbel3XAe+5yqFE5RJQ2LadBbhC MhuFCT+9GhyUsON9kCNsUvy5uvqA8YeOAZrYNbdA1YvB5enwQc7T+AbybFNPqsAqTUlsSjUuxDHa ZbKlypwU5kEo4SMaqXBiMY5xJGHqVUOaVCkeQEiT6kWpSj02whkXxP2caVj6F0gvYf/I9zwqIekW b9G7r9Y7Qonbn3+idZTuu3xAmkaFxBTLo0FqyfjQPxJMbgLoMizc009ygIQXbk30jFkEvsFUWCRo rs4covlyMpWPDGQ1o3tCChGCNhVCjxOovwVzgvQvS4QA7EnAVP3yVysbGA1C+h+Gjx/ywVYPr2+6 9E4heAiWBGex3qwcRnAOKJeJDpq1wzUpGznOXmvUvhkMLy9iYJ57vj2jCKcLetUbBM9W73V/zQUC d8VATKB+gGsTuSEVJTlI68CNXEHeAc7Jg2oIeY6u4usx/MCQPCDFiTGrfCCU+ZT4k+LmZqUTTFXE bmQI2d31qNP91Gt3iwhGNP3BUHWaez817fzyY69f5G8NWdKUEqg2t5YEniEsxdBkkixmk5lBpbKm xtmES8QkKnae2rLwCeVqrRMc6jVUJiDXAguBwhYZGvg5T3UNBwpoDymO49pgUFC44rPFVuJEVU38 0T7YSJV79uusFDUyiQoiZyE1YiG1laIGz427e4b1xCrndQMApFOA+sLBIcuq0m4UwhIFH9eI1Cl4 g/G3+O2Ec+8/v0BZfwUwW0QVQ3DdwOpestIIRUHxG+sNK+BkWwJuezG80IiEVlIWUhRfta6aaJ5S xJA6iSoS1yDVZLkUkplsYHlJhru02JUol2Cx66cccXcTv6432vWMwtmRtb6s0kg6I86AP8wNU0Ps Agwgg309xsQrv//Dv8HyyqzDtv79L7FWa8hvxEZdlBpyRapUgF6Wq5Xt+18/o0WZg+drho1zhZX8 PM3pcrdQuB/PzYCvysTMHD+qz2e+ZfAzpblrEa+LE+P0R9JodzcjCGlk4RPj9WThA931ZGHoXE+G H4weZaAa5dbH+wzydItcZqO9yHVgCjyMqAuBqfjO2TEVw6J/7bH6Ee8P8ZcQVqaKhaP1MfE3R0H/ 6Lo7IPfhUcflb4JrP8LfNBz9PtfdRfBIL4PLw44+VuamT681Ld01VDQGWXNXB7eieBDBwZuQ0jDU AqQH33Gljp9snrZ656Ne/1PrvNehmVrAvU1u2KK1zsCO0J0OPs8q6TPHX4Tc34bhA9L+cHdwzURK ZoFWp8G+5Je96czRmogyxFPJrUYWO0ohAFSuJJHYBvUxUewGvOVMseZQDi9wCgQYhCVryCR1A34N MLpBBskT40GPdmIv4d0NfC/4NihXovUmum+ynFjELp0khuyoO3ZrHQTqFR4rd97x7qS4z+WEgjDT Z5BL5nbpNFexJjpJQGPcSDfdWa4DX1EZOFM4bZ0Puty2i5jyO2x8RggRSw3DsAw/R/swDd5XRnEc BNEnj51mD02OYxORJdIO3XVtl8lYRQO+N8pw91mAd3MUpMPBrNhmLb81k/4CCQgSVl9zWH67I/1F GG6+yN5mAjN4e4yCxTx3a/ilPbVFdEA1bU/nzidh57wAfcSnJCyHvETCAZbfazKHbTL5I//2eBNL j6+LzHxqQRvxI5zQo+IF3KhOz9sQUnCC9w0xDoW9q8Pme+BhQ52Oj1+Ebp7Xqx1hdCDWfDYaG7qp eXgFcBiVZ2hIN4+yByf66NpQDwDHO91F9hhRvqC0hnLe1J5DygoxoJIPl7AknF/E2NXDHcRjLzgQ +zE8kLHuq9MR9FA5LzyKkMtm5/DDSwBJX8TbH4obAQvMlV22Lzv8iNWyz+crj7hWUrJWm0aigMU6 rSJWy1pFN4FMq2cGsHXxiy1QDhaYRHuluJ7e0jQ3oAyqQCYi1CoNBIkYyPCRE+b/1Zk/bXxG/7+S 8UT9J8pSJfz/H1ls0Pqvuq3/fkbbMcYWvq0ZRdc1o7NRZof+e8lyNy5/4rc4pLw74vrTyiKuHKLF T1ACYcugtyl/9VZs27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27b9Ldp/AQT1VHoA UAAA ------------110F01B32D5F92E-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message