Artifact
88cd83acf7cfe33e07da9eb53c3000cc32845392:
Ticket change
[88cd83acf7]
- New ticket [c46b0f7bb7]
Support HTTP Basic Auth for sync operations.
by
anonymous
2011-04-13 19:29:34.
0000: 44 20 32 30 31 31 2d 30 34 2d 31 33 54 31 39 3a D 2011-04-13T19:
0010: 32 39 3a 33 34 2e 35 32 37 0a 4a 20 63 6f 6d 6d 29:34.527.J comm
0020: 65 6e 74 20 48 54 54 50 5c 73 42 61 73 69 63 5c ent HTTP\sBasic\
0030: 73 41 75 74 68 5c 73 6e 65 65 64 73 5c 73 74 6f sAuth\sneeds\sto
0040: 5c 73 62 65 5c 73 73 75 70 70 6f 72 74 65 64 5c \sbe\ssupported\
0050: 73 66 6f 72 5c 73 73 79 6e 63 5c 73 6f 70 65 72 sfor\ssync\soper
0060: 61 74 69 6f 6e 73 5c 73 69 6e 5c 73 6f 72 64 65 ations\sin\sorde
0070: 72 5c 73 74 6f 5c 73 62 65 5c 73 63 6f 6d 70 61 r\sto\sbe\scompa
0080: 74 69 62 6c 65 5c 73 77 69 74 68 5c 73 61 6e 79 tible\swith\sany
0090: 5c 73 6b 69 6e 64 5c 73 6f 66 5c 73 75 73 65 72 \skind\sof\suser
00a0: 5c 73 76 61 6c 69 64 61 74 69 6f 6e 5c 73 64 6f \svalidation\sdo
00b0: 6e 65 5c 73 62 79 5c 73 74 68 65 5c 73 77 65 62 ne\sby\sthe\sweb
00c0: 5c 73 73 65 72 76 65 72 5c 73 68 6f 73 74 69 6e \sserver\shostin
00d0: 67 5c 73 66 6f 73 73 69 6c 2e 5c 72 5c 6e 5c 72 g\sfossil.\r\n\r
00e0: 5c 6e 41 5c 73 70 61 74 63 68 5c 73 77 61 73 5c \nA\spatch\swas\
00f0: 73 70 72 6f 76 69 64 65 64 5c 73 28 36 5c 73 6c sprovided\s(6\sl
0100: 69 6e 65 73 5c 73 6f 66 5c 73 63 6f 64 65 29 5c ines\sof\scode)\
0110: 73 62 79 5c 73 6d 69 67 68 74 79 68 65 5c 73 6f sby\smightyhe\so
0120: 6e 5c 73 53 75 6e 2c 5c 73 32 37 5c 73 4d 61 72 n\sSun,\s27\sMar
0130: 5c 73 32 30 31 31 5c 73 30 37 3a 34 35 3a 30 36 \s2011\s07:45:06
0140: 5c 73 2d 30 37 30 30 5c 73 61 6e 64 5c 73 6d 61 \s-0700\sand\sma
0150: 79 5c 73 62 65 5c 73 61 63 63 65 73 73 65 64 5c y\sbe\saccessed\
0160: 73 61 74 3a 5c 72 5c 6e 5c 72 5c 6e 5c 73 5c 73 sat:\r\n\r\n\s\s
0170: 3c 61 5c 73 68 72 65 66 3d 22 68 74 74 70 3a 2f <a\shref="http:/
0180: 2f 77 77 77 2e 6d 61 69 6c 2d 61 72 63 68 69 76 /www.mail-archiv
0190: 65 2e 63 6f 6d 2f 66 6f 73 73 69 6c 2d 75 73 65 e.com/fossil-use
01a0: 72 73 40 6c 69 73 74 73 2e 66 6f 73 73 69 6c 2d rs@lists.fossil-
01b0: 73 63 6d 2e 6f 72 67 2f 6d 73 67 30 34 32 31 39 scm.org/msg04219
01c0: 2e 68 74 6d 6c 22 3e 68 74 74 70 3a 2f 2f 77 77 .html">http://ww
01d0: 77 2e 6d 61 69 6c 2d 61 72 63 68 69 76 65 2e 63 w.mail-archive.c
01e0: 6f 6d 2f 66 6f 73 73 69 6c 2d 75 73 65 72 73 40 om/fossil-users@
01f0: 6c 69 73 74 73 2e 66 6f 73 73 69 6c 2d 73 63 6d lists.fossil-scm
0200: 2e 6f 72 67 2f 6d 73 67 30 34 32 31 39 2e 68 74 .org/msg04219.ht
0210: 6d 6c 3c 2f 61 3e 5c 72 5c 6e 5c 72 5c 6e 61 6e ml</a>\r\n\r\nan
0220: 64 5c 73 66 6f 72 5c 73 63 6f 6e 76 65 6e 69 65 d\sfor\sconvenie
0230: 6e 63 65 5c 73 69 73 5c 73 69 6e 63 6c 75 64 65 nce\sis\sinclude
0240: 64 5c 73 68 65 72 65 5c 73 28 4e 4f 54 45 3a 5c d\shere\s(NOTE:\
0250: 73 61 5c 73 66 69 78 5c 73 66 6f 72 5c 73 61 6e sa\sfix\sfor\san
0260: 5c 73 69 6e 63 6f 72 72 65 63 74 5c 73 6c 69 6e \sincorrect\slin
0270: 65 5c 73 74 65 72 6d 69 6e 61 74 6f 72 5c 73 6f e\sterminator\so
0280: 6e 5c 73 74 68 65 5c 73 50 72 6f 78 79 2d 41 75 n\sthe\sProxy-Au
0290: 74 68 6f 72 69 7a 61 74 69 6f 6e 5c 73 68 65 61 thorization\shea
02a0: 64 65 72 5c 73 69 73 5c 73 61 6c 73 6f 5c 73 6d der\sis\salso\sm
02b0: 69 78 65 64 5c 73 69 6e 5c 73 77 69 74 68 5c 73 ixed\sin\swith\s
02c0: 74 68 69 73 5c 73 70 61 74 63 68 29 3a 5c 72 5c this\spatch):\r\
02d0: 6e 3c 76 65 72 62 61 74 69 6d 3e 5c 72 5c 6e 49 n<verbatim>\r\nI
02e0: 6e 64 65 78 3a 5c 73 73 72 63 2f 68 74 74 70 2e ndex:\ssrc/http.
02f0: 63 5c 72 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d c\r\n===========
0300: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0310: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0320: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0330: 3d 3d 3d 3d 3d 3d 3d 3d 5c 72 5c 6e 2d 2d 2d 5c ========\r\n---\
0340: 73 73 72 63 2f 68 74 74 70 2e 63 5c 72 5c 6e 2b ssrc/http.c\r\n+
0350: 2b 2b 5c 73 73 72 63 2f 68 74 74 70 2e 63 5c 72 ++\ssrc/http.c\r
0360: 5c 6e 40 40 5c 73 2d 31 30 35 2c 31 31 5c 73 2b \n@@\s-105,11\s+
0370: 31 30 35 2c 31 39 5c 73 40 40 5c 72 5c 6e 5c 73 105,19\s@@\r\n\s
0380: 5c 73 5c 73 7d 65 6c 73 65 7b 5c 72 5c 6e 5c 73 \s\s}else{\r\n\s
0390: 5c 73 5c 73 5c 73 5c 73 7a 53 65 70 5c 73 3d 5c \s\s\s\szSep\s=\
03a0: 73 22 2f 22 3b 5c 72 5c 6e 5c 73 5c 73 5c 73 7d s"/";\r\n\s\s\s}
03b0: 5c 72 5c 6e 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 \r\n\s\s\sblob_a
03c0: 70 70 65 6e 64 66 28 70 48 64 72 2c 5c 73 22 50 ppendf(pHdr,\s"P
03d0: 4f 53 54 5c 73 25 73 25 73 78 66 65 72 2f 78 66 OST\s%s%sxfer/xf
03e0: 65 72 5c 73 48 54 54 50 2f 31 2e 30 5c 5c 72 5c er\sHTTP/1.0\\r\
03f0: 5c 6e 22 2c 5c 73 67 2e 75 72 6c 50 61 74 68 2c \n",\sg.urlPath,
0400: 5c 73 7a 53 65 70 29 3b 5c 72 5c 6e 5c 73 5c 73 \szSep);\r\n\s\s
0410: 5c 73 69 66 28 5c 73 67 2e 75 72 6c 50 72 6f 78 \sif(\sg.urlProx
0420: 79 41 75 74 68 5c 73 29 7b 5c 72 5c 6e 2d 5c 73 yAuth\s){\r\n-\s
0430: 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 70 65 6e \s\s\sblob_appen
0440: 64 66 28 70 48 64 72 2c 5c 73 22 50 72 6f 78 79 df(pHdr,\s"Proxy
0450: 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 5c -Authorization:\
0460: 73 25 73 5c 5c 6e 22 2c 5c 73 67 2e 75 72 6c 50 s%s\\n",\sg.urlP
0470: 72 6f 78 79 41 75 74 68 29 3b 5c 72 5c 6e 2b 5c roxyAuth);\r\n+\
0480: 73 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 70 65 s\s\s\sblob_appe
0490: 6e 64 66 28 70 48 64 72 2c 5c 73 22 50 72 6f 78 ndf(pHdr,\s"Prox
04a0: 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a y-Authorization:
04b0: 5c 73 25 73 5c 5c 72 5c 5c 6e 22 2c 5c 73 67 2e \s%s\\r\\n",\sg.
04c0: 75 72 6c 50 72 6f 78 79 41 75 74 68 29 3b 5c 72 urlProxyAuth);\r
04d0: 5c 6e 2b 5c 73 5c 73 7d 5c 72 5c 6e 2b 5c 73 5c \n+\s\s}\r\n+\s\
04e0: 73 2f 2f 5c 73 42 61 73 69 63 5c 73 48 54 54 50 s//\sBasic\sHTTP
04f0: 5c 73 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 5c \sAuthorization\
0500: 72 5c 6e 2b 5c 73 5c 73 69 66 28 5c 73 67 2e 75 r\n+\s\sif(\sg.u
0510: 72 6c 55 73 65 72 5c 73 26 26 5c 73 67 2e 75 72 rlUser\s&&\sg.ur
0520: 6c 55 73 65 72 5b 30 5d 5c 73 26 26 5c 73 67 2e lUser[0]\s&&\sg.
0530: 75 72 6c 50 61 73 73 77 64 5c 73 29 7b 5c 72 5c urlPasswd\s){\r\
0540: 6e 2b 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 63 68 n+\s\s\s\s\s\sch
0550: 61 72 5c 73 2a 7a 70 77 5c 73 3d 5c 73 6d 70 72 ar\s*zpw\s=\smpr
0560: 69 6e 74 66 28 22 25 73 3a 25 73 22 2c 5c 73 67 intf("%s:%s",\sg
0570: 2e 75 72 6c 55 73 65 72 2c 5c 73 67 2e 75 72 6c .urlUser,\sg.url
0580: 50 61 73 73 77 64 29 3b 5c 72 5c 6e 2b 5c 73 5c Passwd);\r\n+\s\
0590: 73 5c 73 5c 73 5c 73 5c 73 63 68 61 72 5c 73 2a s\s\s\s\schar\s*
05a0: 7a 70 77 36 34 5c 73 3d 5c 73 65 6e 63 6f 64 65 zpw64\s=\sencode
05b0: 36 34 28 7a 70 77 2c 5c 73 73 74 72 6c 65 6e 28 64(zpw,\sstrlen(
05c0: 7a 70 77 29 29 3b 5c 72 5c 6e 2b 5c 73 5c 73 5c zpw));\r\n+\s\s\
05d0: 73 5c 73 5c 73 5c 73 66 72 65 65 28 7a 70 77 29 s\s\s\sfree(zpw)
05e0: 3b 5c 72 5c 6e 2b 5c 73 5c 73 5c 73 5c 73 5c 73 ;\r\n+\s\s\s\s\s
05f0: 5c 73 62 6c 6f 62 5f 61 70 70 65 6e 64 66 28 70 \sblob_appendf(p
0600: 48 64 72 2c 5c 73 22 41 75 74 68 6f 72 69 7a 61 Hdr,\s"Authoriza
0610: 74 69 6f 6e 3a 5c 73 42 61 73 69 63 5c 73 25 73 tion:\sBasic\s%s
0620: 5c 5c 72 5c 5c 6e 22 2c 5c 73 7a 70 77 36 34 29 \\r\\n",\szpw64)
0630: 3b 5c 72 5c 6e 2b 5c 73 5c 73 5c 73 5c 73 5c 73 ;\r\n+\s\s\s\s\s
0640: 5c 73 66 72 65 65 28 7a 70 77 36 34 29 3b 5c 72 \sfree(zpw64);\r
0650: 5c 6e 5c 73 5c 73 5c 73 7d 5c 72 5c 6e 5c 73 5c \n\s\s\s}\r\n\s\
0660: 73 5c 73 62 6c 6f 62 5f 61 70 70 65 6e 64 66 28 s\sblob_appendf(
0670: 70 48 64 72 2c 5c 73 22 48 6f 73 74 3a 5c 73 25 pHdr,\s"Host:\s%
0680: 73 5c 5c 72 5c 5c 6e 22 2c 5c 73 67 2e 75 72 6c s\\r\\n",\sg.url
0690: 48 6f 73 74 6e 61 6d 65 29 3b 5c 72 5c 6e 5c 73 Hostname);\r\n\s
06a0: 5c 73 5c 73 62 6c 6f 62 5f 61 70 70 65 6e 64 66 \s\sblob_appendf
06b0: 28 70 48 64 72 2c 5c 73 22 55 73 65 72 2d 41 67 (pHdr,\s"User-Ag
06c0: 65 6e 74 3a 5c 73 46 6f 73 73 69 6c 2f 22 5c 73 ent:\sFossil/"\s
06d0: 4d 41 4e 49 46 45 53 54 5f 56 45 52 53 49 4f 4e MANIFEST_VERSION
06e0: 5c 73 22 5c 5c 72 5c 5c 6e 22 29 3b 5c 72 5c 6e \s"\\r\\n");\r\n
06f0: 5c 73 5c 73 5c 73 69 66 28 5c 73 67 2e 66 48 74 \s\s\sif(\sg.fHt
0700: 74 70 54 72 61 63 65 5c 73 29 7b 5c 72 5c 6e 5c tpTrace\s){\r\n\
0710: 73 5c 73 5c 73 5c 73 5c 73 62 6c 6f 62 5f 61 70 s\s\s\s\sblob_ap
0720: 70 65 6e 64 66 28 70 48 64 72 2c 5c 73 22 43 6f pendf(pHdr,\s"Co
0730: 6e 74 65 6e 74 2d 54 79 70 65 3a 5c 73 61 70 70 ntent-Type:\sapp
0740: 6c 69 63 61 74 69 6f 6e 2f 78 2d 66 6f 73 73 69 lication/x-fossi
0750: 6c 2d 64 65 62 75 67 5c 5c 72 5c 5c 6e 22 29 3b l-debug\\r\\n");
0760: 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69 6d 3e 0a \r\n</verbatim>.
0770: 4a 20 66 6f 75 6e 64 69 6e 20 32 30 31 31 2d 30 J foundin 2011-0
0780: 34 2d 31 33 5c 73 31 32 3a 30 35 3a 31 38 0a 4a 4-13\s12:05:18.J
0790: 20 73 65 76 65 72 69 74 79 20 53 65 76 65 72 65 severity Severe
07a0: 0a 4a 20 73 74 61 74 75 73 20 4f 70 65 6e 0a 4a .J status Open.J
07b0: 20 74 69 74 6c 65 20 53 75 70 70 6f 72 74 5c 73 title Support\s
07c0: 48 54 54 50 5c 73 42 61 73 69 63 5c 73 41 75 74 HTTP\sBasic\sAut
07d0: 68 5c 73 66 6f 72 5c 73 73 79 6e 63 5c 73 6f 70 h\sfor\ssync\sop
07e0: 65 72 61 74 69 6f 6e 73 0a 4a 20 74 79 70 65 20 erations.J type
07f0: 46 65 61 74 75 72 65 5f 52 65 71 75 65 73 74 0a Feature_Request.
0800: 4b 20 63 34 36 62 30 66 37 62 62 37 32 34 31 61 K c46b0f7bb7241a
0810: 30 32 61 37 31 36 35 66 31 30 38 32 30 36 66 38 02a7165f108206f8
0820: 36 36 65 30 66 33 66 37 62 33 0a 55 20 61 6e 6f 66e0f3f7b3.U ano
0830: 6e 79 6d 6f 75 73 0a 5a 20 32 33 39 62 39 32 65 nymous.Z 239b92e
0840: 31 32 39 39 64 31 37 63 39 34 36 61 36 37 30 66 1299d17c946a670f
0850: 31 30 38 33 30 66 66 32 63 0a 10830ff2c.