Basic Authorization for Server (proposal/patch)

"Carel Bast" <Carel.Bast-qWit8jRvyhVmR6Xm/[email protected]> Wed, 19 Feb 2003 00:13:22 +0100
Newsgroups gmane.music.equipment.slimp3.dev
Message-ID <[email protected]>
------=_NextPart_000_0006_01C2D7AB.B6F0A980
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi,

I've implemented basic HTTP Authorization for the
Browser Interface to the server.

Features:
- uses HTTP standard authentication
- extra form in server setup screens
- can be enabled/disabled
- password stored crypted
- supports (only) one username
- uses MIME::Base64 for decoding request Authentication header

Please find attached a patchfile that implements it.

-- Carel



------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get 128 Bit SSL Encryption!
http://us.click.yahoo.com/FpY02D/vN2EAA/xGHJAA/rIp0lB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


------=_NextPart_000_0006_01C2D7AB.B6F0A980
Content-Type: application/octet-stream;
	name="a.a"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="a.a"

KioqIHN0cmluZ3MudHh0Ln4xLjE1NC5+CVR1ZSBGZWIgMTggMjA6MzQ6MjYgMjAwMwotLS0gc3Ry
aW5ncy50eHQJVHVlIEZlYiAxOCAyMzozNjozMCAyMDAzCioqKioqKioqKioqKioqKgoqKiogMTkz
NiwxOTQxICoqKioKLS0tIDE5MzYsMTk1NyAtLS0tCiAgCVJVCf7J08zPCiAgCVNFCU51bW1lcgog
IAorIFNFVFVQX05PX0FVVEhPUklaRQorIAlFTglObyBBdXRob3JpemF0aW9uIAorIAlOTAlHZWVu
IEF1dG9yaXNhdGllIAorIAorIFNFVFVQX0FVVEhPUklaRQorIAlFTglBdXRob3JpemF0aW9uIAor
IAlOTAlBdXRvcmlzYXRpZSAKKyAKKyBTRVRVUF9VU0VSTkFNRQorIAlFTglVc2VybmFtZQorIAlO
TAlHZWJydWlrZXJzbmFhbQorIAorIFNFVFVQX1BBU1NXT1JECisgCUVOCVBhc3N3b3JkCisgCU5M
CVdhY2h0d29vcmQKKyAKICBTRVRVUF9ET05UX0NBQ0hFCiAgCURFCU5pY2h0IFp3aXNjaGVuc3Bl
aWNoZXJuCiAgCUVOCURvbid0IENhY2hlCioqKioqKioqKioqKioqKgoqKiogMzA3MywzMDc4ICoq
KioKLS0tIDMwODksMzA5OCAtLS0tCiAgCU5MCUdlZHJhZwogIAlTRQlCZXRlZW5kZQogIAorIFNF
Q1VSSVRZX1NFVFRJTkdTCisgCUVOCVNlY3VyaXR5CisgCU5MCUJldmVpbGlnaW5nCisgCiAgUEVS
Rk9STUFOQ0VfU0VUVElOR1MKICAJREUJTGVpc3R1bmcKICAJRU4JUGVyZm9ybWFuY2UKKioqIGxp
Yi9TbGlNUDMvU2V0dXAucG0ufjEuODAufglUdWUgRmViIDE4IDIwOjM1OjE4IDIwMDMKLS0tIGxp
Yi9TbGlNUDMvU2V0dXAucG0JVHVlIEZlYiAxOCAyMzoyNDoxMiAyMDAzCioqKioqKioqKioqKioq
KgoqKiogMzU2LDM2MiAqKioqCiAgCX0gIyBlbmQgb2Ygc2V0dXB7J3BsYXllcmlyJ30gaGFzaAog
IAkJCQogIAksJ3NlcnZlcicgPT4gewohIAkJJ2NoaWxkcmVuJyA9PiBbJ2ludGVyZmFjZScsJ2Jl
aGF2aW9yJywnZm9ybWF0dGluZycsJ3BlcmZvcm1hbmNlJywnbmV0d29yaycsJ2RlYnVnJ10KICAJ
CSwndGl0bGUnID0+IHN0cmluZygnU0VSVkVSX1NFVFRJTkdTJykKICAJCSwnc2luZ2xlQ2hpbGRM
aW5rVGV4dCcgPT4gc3RyaW5nKCdBRERJVElPTkFMX1NFUlZFUl9TRVRUSU5HUycpCiAgCQksJ3By
ZUV2YWwnID0+IHN1YiB7Ci0tLSAzNTYsMzYyIC0tLS0KICAJfSAjIGVuZCBvZiBzZXR1cHsncGxh
eWVyaXInfSBoYXNoCiAgCQkJCiAgCSwnc2VydmVyJyA9PiB7CiEgCQknY2hpbGRyZW4nID0+IFsn
aW50ZXJmYWNlJywnYmVoYXZpb3InLCdmb3JtYXR0aW5nJywnc2VjdXJpdHknLCdwZXJmb3JtYW5j
ZScsJ25ldHdvcmsnLCdkZWJ1ZyddCiAgCQksJ3RpdGxlJyA9PiBzdHJpbmcoJ1NFUlZFUl9TRVRU
SU5HUycpCiAgCQksJ3NpbmdsZUNoaWxkTGlua1RleHQnID0+IHN0cmluZygnQURESVRJT05BTF9T
RVJWRVJfU0VUVElOR1MnKQogIAkJLCdwcmVFdmFsJyA9PiBzdWIgewoqKioqKioqKioqKioqKioK
KioqIDkyNSw5MzAgKioqKgotLS0gOTI1LDk1NyAtLS0tCiAgCQkJCQl9CiAgCQkJfQogIAkJfSAj
ZW5kIG9mIHNldHVweydmb3JtYXR0aW5nJ30gaGFzaAorIAksJ3NlY3VyaXR5JyA9PiB7CisgCQkn
dGl0bGUnID0+IHN0cmluZygnU0VDVVJJVFlfU0VUVElOR1MnKQorIAkJLCdwYXJlbnQnID0+ICdz
ZXJ2ZXInCisgCQksJ0dyb3VwT3JkZXInID0+IFsnRGVmYXVsdCddCisgCQksJ0dyb3VwcycgPT4g
eworIAkJCSdEZWZhdWx0JyA9PiB7CisgCQkJCQknUHJlZk9yZGVyJyA9PiBbJ2F1dGhvcml6ZScs
J3VzZXJuYW1lJywncGFzc3dvcmQnXQorIAkJCQl9CisgCQkJfQorIAkJLCdQcmVmcycgPT4gewor
IAkJCSdhdXRob3JpemUnID0+IHsKKyAJCQkJCQkndmFsaWRhdGUnID0+IFwmdmFsaWRhdGVUcnVl
RmFsc2UKKyAJCQkJCQksJ29wdGlvbnMnID0+IHsKKyAJCQkJCQkJCScwJyA9PiBzdHJpbmcoJ1NF
VFVQX05PX0FVVEhPUklaRScpCisgCQkJCQkJCQksJzEnID0+IHN0cmluZygnU0VUVVBfQVVUSE9S
SVpFJykKKyAJCQkJCQkJCX0KKyAJCQkJCX0KKyAJCQksJ3VzZXJuYW1lJyA9PiB7CisgCQkJCQkJ
J3ZhbGlkYXRlJyA9PiBcJnZhbGlkYXRlQWNjZXB0QWxsCisgCQkJCQkJLCdQcmVmU2l6ZScgPT4g
J2xhcmdlJworIAkJCQkJfQorIAkJCSwncGFzc3dvcmQnID0+IHsKKyAJCQkJCQkndmFsaWRhdGUn
ID0+IFwmdmFsaWRhdGVQYXNzd29yZAorIAkJCQkJCSwnUHJlZlNpemUnID0+ICdsYXJnZScKKyAJ
CQkJCX0KKyAJCQl9CisgCQl9ICNlbmQgb2Ygc2V0dXB7J3NlY3VyaXR5J30gaGFzaAogIAksJ3Bl
cmZvcm1hbmNlJyA9PiB7CiAgCQkndGl0bGUnID0+IHN0cmluZygnUEVSRk9STUFOQ0VfU0VUVElO
R1MnKQogIAkJLCdwYXJlbnQnID0+ICdzZXJ2ZXInCioqKioqKioqKioqKioqKgoqKiogMTk1MCwx
OTU1ICoqKioKLS0tIDE5NzcsMTk5NSAtLS0tCiAgCX0KICB9CiAgCisgc3ViIHZhbGlkYXRlUGFz
c3dvcmQgeworIAlteSAkdmFsID0gc2hpZnQ7CisgCW15ICRjdXJyZW50UGFzc3dvcmQgPSBTbGlN
UDM6OlByZWZzOjpnZXQoJ3Bhc3N3b3JkJyk7CisgCWlmIChkZWZpbmVkKCR2YWwpICYmICR2YWwg
bmUgJycgJiYgJHZhbCBuZSAkY3VycmVudFBhc3N3b3JkKSB7CisgCQlzcmFuZCAodGltZSgpKTsK
KyAJCW15ICRyYW5kbGV0dGVyID0gIihpbnQgKHJhbmQgKDI2KSkgKyAoaW50IChyYW5kICgxKSAr
IC41KSAlIDIgPyA2NSA6IDk3KSkiOworIAkJbXkgJHNhbHQgPSBzcHJpbnRmICgiJWMlYyIsIGV2
YWwgJHJhbmRsZXR0ZXIsIGV2YWwgJHJhbmRsZXR0ZXIpOworIAkJcmV0dXJuIGNyeXB0KCR2YWws
ICRzYWx0KTsKKyAJfSBlbHNlIHsKKyAJCXJldHVybiAkY3VycmVudFBhc3N3b3JkOworIAl9Cisg
fQorIAogICNUT0RPIG1ha2UgdGhpcyBhY3R1YWxseSBjaGVjayB0byBzZWUgaWYgdGhlIGZvcm1h
dCBpcyB2YWxpZAogIHN1YiB2YWxpZGF0ZUZvcm1hdCB7CiAgCW15ICR2YWwgPSBzaGlmdDsKKioq
IGxpYlxTbGlNUDNcUHJlZnMucG0ufjEuOTEufglTdW4gRmViIDE2IDIyOjM0OjA4IDIwMDMKLS0t
IGxpYlxTbGlNUDNcUHJlZnMucG0JVHVlIEZlYiAxOCAyMTo1NDo0OCAyMDAzCioqKioqKioqKioq
KioqKgoqKiogMzgsNDMgKioqKgotLS0gMzgsNDYgLS0tLQogIAksInBsYXl0cmFja2FsYnVtIiAJ
CT0+IDEKICAJLCJhcnRpc3RpbmFsYnVtc2VhcmNoIiAJPT4gMAogIAksImlnbm9yZWRhcnRpY2xl
cyIJCT0+ICJUaGUgRWwgTGEgTG9zIExhcyBMZSBMZXMiCisgCSwiYXV0aG9yaXplIgkJCT0+IDAJ
CQkJIyBObyBhdXRob3JpemF0aW9uIGJ5IGRlZmF1bHQKKyAJLCJ1c2VybmFtZSIJCQkJPT4gJycK
KyAJLCJwYXNzd29yZCIJCQkJPT4gJycKICAJLCJ0Y3BSZWFkTWF4IgkJCT0+IDIKICAJLCJ0Y3BX
cml0ZU1heCIJCQk9PiAyCiAgCSwidGNwQ29ubmVjdE1heCIJCT0+IDMKKioqIGxpYi9TbGlNUDMv
SFRUUC5wbS5+MS4yMjQufglUdWUgRmViIDE4IDIxOjUwOjQ2IDIwMDMKLS0tIGxpYi9TbGlNUDMv
SFRUUC5wbQlUdWUgRmViIDE4IDIzOjI3OjM0IDIwMDMKKioqKioqKioqKioqKioqCioqKiAxNCwx
OSAqKioqCi0tLSAxNCwyMCAtLS0tCiAgdXNlIEZpbGVIYW5kbGU7CiAgdXNlIE5ldDo6aG9zdGVu
dDsgICAgICAgICAgICAgICMgZm9yIE9PIHZlcnNpb24gb2YgZ2V0aG9zdGJ5YWRkcgogIHVzZSBG
aWxlOjpTcGVjOjpGdW5jdGlvbnMgcXcoOkFMTCk7CisgdXNlIE1JTUU6OkJhc2U2NDsKICAKICB1
c2UgUE9TSVggcXcoOmZjbnRsX2gpOwogIHVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwpOwoq
KioqKioqKioqKioqKioKKioqIDI3MCwyOTAgKioqKgogIAkJCQljbG9zZSAkaHR0cGNsaWVudHNv
Y2s7CiAgCQkJCSRjb25uZWN0ZWQtLTsKICAJCQl9CiEgCQl9IGVsc2lmICgkZmlyc3RsaW5lID1+
IC9eR0VUIChbXHdcJFwtXC5cK1wqXChcKVw/XC8sOzpAJj0hJyVdKikgSFRUUFwvMS5bMDFdW1ww
MTVcMDEyXSskL2kpICB7IAogIAkJCW15IEBwYXJhbWFycmF5OwogIAkJCW15ICRwYXJhbTsKICAJ
CQlteSAkdXJsOwohIAkJCW15ICRwYXRoOwogIAogIAkJCSR1cmwgPSAkMTsKICAKICAJCQl3aGls
ZSAoPCRodHRwY2xpZW50c29jaz4pIHsKISAJCQkJIyBpZ25vcmUgaGVhZGVycywgZm9yIG5vdwoh
IAkJCQlpZiAoICRfICYmICgkXyAhfiAvXFMvKSkgewohIAkJCQkJbGFzdDsKICAJCQkJfQogIAkJ
CX0KICAKICAJCQkjIHBhcnNlIG91dCBVUkk6CiAgCQkJCiAgCQkJJHVybCA9fiAvXihbXC9cd1wk
XC1cLlwrXCpcKFwpLDs6QCY9ISclXSopLiooPzpcPyhbXHdcJFwtXC5cK1wqXChcKSw7OkAmPSEn
JV0qfCkpJC87IAkKLS0tIDI3MSwzMDggLS0tLQogIAkJCQljbG9zZSAkaHR0cGNsaWVudHNvY2s7
CiAgCQkJCSRjb25uZWN0ZWQtLTsKICAJCQl9CiEgCQl9IGVsc2lmICgkZmlyc3RsaW5lID1+IC9e
R0VUIChbXHdcJFwtXC5cK1wqXChcKVw/XC8sOzpAJj0hXCclXSopIEhUVFBcLzEuWzAxXVtcMDE1
XDAxMl0rJC9pKSAgewogIAkJCW15IEBwYXJhbWFycmF5OwogIAkJCW15ICRwYXJhbTsKICAJCQlt
eSAkdXJsOwohIAkJICAgIG15ICRwYXRoOwogIAogIAkJCSR1cmwgPSAkMTsKICAKKyAJCQlteSAk
YXV0aG9yaXplZCA9ICFTbGlNUDM6OlByZWZzOjpnZXQoImF1dGhvcml6ZSIpOworIAogIAkJCXdo
aWxlICg8JGh0dHBjbGllbnRzb2NrPikgewohIAkJCQlpZiAoJF8pIHsKISAJCQkJCSMgYXV0aG9y
aXphdGlvbiBoZWFkZXIuCiEgCQkJCQlpZiAoJF8gPX4gL15BdXRob3JpemF0aW9uOiBCYXNpYyAo
LiopLykgewohIAkJCQkJCSRhdXRob3JpemVkID0gJmNoZWNrQXV0aG9yaXphdGlvbigkMSk7CiEg
CQkJCQl9CiEgICAgICAgICAgICAgICAgICAgICAjIEVuZCBvZiBoZWFkZXJzCiEgCQkJCQlpZiAo
JF8gIX4gL1xTLykgeyAgCiEgCQkJCQkJbGFzdDsKISAJCQkJCX0KICAJCQkJfQogIAkJCX0KICAK
KyAJCQlpZiAoISRhdXRob3JpemVkKSB7ICMgbm8gVmFsaWQgYXV0aG9yaXphdGlvbiBzdXBwbGll
ZCEKKyAJCQkJbXkgJG1lc3NhZ2UgPSAiSFRUUC8xLjAgNDAxIEF1dGhvcml6YXRpb24gUmVxdWly
ZWQiIC4gJEVPTCAuIAorIAkJCQkJIldXVy1BdXRoZW50aWNhdGU6IGJhc2ljIHJlYWxtPVwiU0xJ
TVAzIFNlcnZlclwiIiAuICRFT0wgLgorIAkJCQkJIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sJEJM
QU5LIiAuIAorIAkJCQkJIjxIVE1MPjxIRUFEPjxUSVRMRT40MDEgQXV0aG9yaXphdGlvbiBSZXF1
aXJlZDwvVElUTEU+PC9IRUFEPiIgLiAKKyAJCQkJCSI8Qk9EWT40MDEgQXV0aG9yaXphdGlvbiBp
cyBSZXF1aXJlZCB0byBhY2Nlc3MgdGhpcyBTTElNUDMgU2VydmVyPC9CT0RZPjwvSFRNTD4kRU9M
IjsKKyAJCQkJYWRkcmVzcG9uc2UoJGh0dHBjbGllbnRzb2NrLCRtZXNzYWdlKTsKKyAJCQl9Cisg
CQkJCQogIAkJCSMgcGFyc2Ugb3V0IFVSSToKICAJCQkKICAJCQkkdXJsID1+IC9eKFtcL1x3XCRc
LVwuXCtcKlwoXCksOzpAJj0hJyVdKikuKig/Olw/KFtcd1wkXC1cLlwrXCpcKFwpLDs6QCY9IScl
XSp8KSkkLzsgCQoqKioqKioqKioqKioqKioKKioqIDQ4Nyw0OTIgKioqKgotLS0gNTA1LDUyOCAt
LS0tCiAgCX0KICB9CiAgCisgc3ViIGNoZWNrQXV0aG9yaXphdGlvbiB7CisgCW15ICRvayA9IDA7
CisgCWlmIChTbGlNUDM6OlByZWZzOjpnZXQoJ2F1dGhvcml6ZScpKSB7CisgCQlteSAoJHVzZXJu
YW1lLCAkcGFzc3dvcmQpID0gc3BsaXQgKCc6JyxkZWNvZGVfYmFzZTY0KHNoaWZ0KSk7CisgCQlp
ZiAoJHVzZXJuYW1lIGVxIFNsaU1QMzo6UHJlZnM6OmdldCgndXNlcm5hbWUnKSkgeworIAkJCW15
ICRwd2QgID0gU2xpTVAzOjpQcmVmczo6Z2V0KCdwYXNzd29yZCcpOworIAkJCW15ICRzYWx0ID0g
c3Vic3RyKCRwd2QsIDAsIDIpOworIAkJCWlmIChjcnlwdCgkcGFzc3dvcmQsICRzYWx0KSBlcSAk
cHdkKSB7CisgCQkJCSRvayA9IDE7CisgCQkJfQorIAkJfQorIAl9CisgCWVsc2UgeyAjIE5vIGF1
dGhvcml6YXRpb24gbmVlZGVkCisgCQkkb2sgPSAxOworIAl9CisgCXJldHVybiAkb2s7CisgfQor
IAogIHN1YiBmb3JnZXRDbGllbnQgewogIAlteSAkY2xpZW50ID0gc2hpZnQ7CiAgCWlmIChkZWZp
bmVkKCRjbGllbnQtPnN0cmVhbWluZ3NvY2tldCkpIHsK

------=_NextPart_000_0006_01C2D7AB.B6F0A980--