cddbproto 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894
  1. <html><html>
  2. <head>
  3. <title>::freedb.org::</title>
  4. </head>
  5. <body bgcolor="#FFFFFF" text="#000000" link="#101070" vlink="#101070">
  6. <center>
  7. <table cellpadding=0 cellspacing=0 border=0 width="99%" align=center><tr><td align=left>
  8. <a href="/">
  9. <table border=0>
  10. <td bgcolor="#ffffff">
  11. <table border=0 width=100% cellpadding=0 cellspacing=0>
  12. <td bgcolor=#101070>
  13. <table border=0>
  14. <td bgcolor=#ffffff><font face="Arial,Helvetica,Lucida" color="#101070" size=8><b>freedb</b></td>
  15. <td bgcolor=#101070><font face="Arial,Helvetica,Lucida" color="#ffffff" size=8><b>.org</b></td>
  16. </table>
  17. </td>
  18. <tr>
  19. <td align=right><font face="Arial,Helvetica,Lucida" color="#101070" size=2><b>a free approach to cddbp
  20. </table>
  21. </td>
  22. </table>
  23. </a>
  24. </td><td align=right width=100%>
  25. <form action="search.php" method=post>
  26. <font face=Arial,Helvetica size=2><input type=name name=query width=20 size=20 length=20>
  27. </td>
  28. <td align=right>&nbsp;&nbsp;<input type=image src=images/menu/english/search.gif border=0 align=middle></td>
  29. </form>
  30. </td></tr></table><br>
  31. <table cellpadding=0 cellspacing=0 border=0 width="99%" bgcolor=101070><tr><td>
  32. <table cellpadding=5 cellspacing=1 border=0 width="100%" bgcolor=FFFFFF><tr><td>
  33. <font face=Lucida,Verdana,Arial,Helvetica size=2>freedb.org - a free approach to cddbp</td></tr></table></td></tr></table><P>
  34. <table width="99%" align=center cellpadding=0 cellspacing=0 border=0><tr>
  35. <td valign=top rowspan=5>
  36. <table border=0><tr><td>
  37. <table width="115" border="0" cellpadding="0" cellspacing="0"><tr valign="top" bgcolor="#101070">
  38. <td bgcolor="#FFFFFF"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  39. <td><img src="themes/SlashOcean/cl.gif" width="7" height="10"></td>
  40. <td><font face="verdana,helvetica,arial" size="1" color="#ffffff"><B>Main Menu</B></font></td>
  41. <td align="right"><img src="themes/SlashOcean/cr.gif" width="7" height="10" alt=""></td>
  42. <td bgcolor="#FFFFFF" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  43. </tr></table>
  44. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  45. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  46. <tr bgcolor="#ffffff">
  47. <td background="themes/SlashOcean/sl.gif"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  48. <td width="100%">
  49. <table width="100%" border="0" cellpadding="5" cellspacing="0"><tr>
  50. <td><font face="verdana,helvetica,arial" size="1">
  51. <li><a href=index.php>Home</a>
  52. <li><a href=topics.php>News-Topics</a>
  53. <li><a href=sections.php?op=listarticles&secid=1>About</a>
  54. <li><a href=sections.php?op=listarticles&secid=2>Developers</a>
  55. <li><a href=sections.php?op=listarticles&secid=3>Applications</a>
  56. <li><a href=sections.php?op=listarticles&secid=7>Download</a>
  57. <li><a href=forum/index.php>Forum</a>
  58. <li><a href=http://freedb.music.sk/search/>Web-based Search</a>
  59. <li><a href=links.php>Web Links</a>
  60. <li><a href=user.php>Your Account</a>
  61. <li><a href=submit.php>Submit News</a>
  62. </font></td>
  63. </tr></table>
  64. </td><td background="themes/SlashOcean/sr.gif" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  65. </tr>
  66. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  67. </table>
  68. </td>
  69. </tr></td></table>
  70. <br>
  71. <table border=0><tr><td>
  72. <table width="115" border="0" cellpadding="0" cellspacing="0"><tr valign="top" bgcolor="#101070">
  73. <td bgcolor="#FFFFFF"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  74. <td><img src="themes/SlashOcean/cl.gif" width="7" height="10"></td>
  75. <td><font face="verdana,helvetica,arial" size="1" color="#ffffff"><B>FAQ</B></font></td>
  76. <td align="right"><img src="themes/SlashOcean/cr.gif" width="7" height="10" alt=""></td>
  77. <td bgcolor="#FFFFFF" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  78. </tr></table>
  79. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  80. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  81. <tr bgcolor="#ffffff">
  82. <td background="themes/SlashOcean/sl.gif"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  83. <td width="100%">
  84. <table width="100%" border="0" cellpadding="5" cellspacing="0"><tr>
  85. <td><font face="verdana,helvetica,arial" size="1">
  86. Our FAQ can be found <a href="http://freedb.freedb.org/sections.php?op=viewarticle&artid=26">here</a>.<br>
  87. Please read the FAQ before asking questions via email. </font></td>
  88. </tr></table>
  89. </td><td background="themes/SlashOcean/sr.gif" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  90. </tr>
  91. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  92. </table>
  93. </td>
  94. </tr></td></table>
  95. <br>
  96. <table border=0><tr><td>
  97. <table width="115" border="0" cellpadding="0" cellspacing="0"><tr valign="top" bgcolor="#101070">
  98. <td bgcolor="#FFFFFF"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  99. <td><img src="themes/SlashOcean/cl.gif" width="7" height="10"></td>
  100. <td><font face="verdana,helvetica,arial" size="1" color="#ffffff"><B>Contact</B></font></td>
  101. <td align="right"><img src="themes/SlashOcean/cr.gif" width="7" height="10" alt=""></td>
  102. <td bgcolor="#FFFFFF" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  103. </tr></table>
  104. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  105. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  106. <tr bgcolor="#ffffff">
  107. <td background="themes/SlashOcean/sl.gif"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  108. <td width="100%">
  109. <table width="100%" border="0" cellpadding="5" cellspacing="0"><tr>
  110. <td><font face="verdana,helvetica,arial" size="1">
  111. General questions:<br>
  112. <a href="mailto:info@freedb.org">info@freedb.org</a><hr>
  113. Databaseupdates:<br>
  114. <a href="mailto:updates@freedb.org">updates@freedb.org</a><br>
  115. (<b>NOT</b> for submission!)<hr>
  116. Please keep in mind that we are NOT the Nero-Support and please do not send CD-submits to the adresses above.<br>
  117. Submits have to go to:<br>
  118. <a href="mailto:freedb-submit@freedb.org">freedb-submit@freedb.org</a> </font></td>
  119. </tr></table>
  120. </td><td background="themes/SlashOcean/sr.gif" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  121. </tr>
  122. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  123. </table>
  124. </td>
  125. </tr></td></table>
  126. <br>
  127. <table border=0><tr><td>
  128. <table width="115" border="0" cellpadding="0" cellspacing="0"><tr valign="top" bgcolor="#101070">
  129. <td bgcolor="#FFFFFF"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  130. <td><img src="themes/SlashOcean/cl.gif" width="7" height="10"></td>
  131. <td><font face="verdana,helvetica,arial" size="1" color="#ffffff"><B>Downloads</B></font></td>
  132. <td align="right"><img src="themes/SlashOcean/cr.gif" width="7" height="10" alt=""></td>
  133. <td bgcolor="#FFFFFF" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3"></td>
  134. </tr></table>
  135. <table width="100%" border="0" cellpadding="0" cellspacing="0">
  136. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  137. <tr bgcolor="#ffffff">
  138. <td background="themes/SlashOcean/sl.gif"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  139. <td width="100%">
  140. <table width="100%" border="0" cellpadding="5" cellspacing="0"><tr>
  141. <td><font face="verdana,helvetica,arial" size="1">
  142. The link to the database downloads is <a href="/sections.php?op=viewarticle&artid=12">here</a> </font></td>
  143. </tr></table>
  144. </td><td background="themes/SlashOcean/sr.gif" align="right"><img src="themes/SlashOcean/pix.gif" width="3" height="3" alt=""></td>
  145. </tr>
  146. <tr bgcolor="#101070"><td colspan="3"><img src="themes/SlashOcean/pix.gif" width="1" height="1"></td></tr>
  147. </table>
  148. </td>
  149. </tr></td></table>
  150. <td>&nbsp;</td><td valign="top" width="100%">
  151. <!-- columna de inicio -->
  152. <center>
  153. <table border=0 cellpadding=1 cellspacing=0 width=100% bgcolor=000000><tr><td>
  154. <table border=0 cellpadding=8 cellspacing=0 width=100% bgcolor=FFFFFF>
  155. <tr><td align=left><font face=Arial,Helvetica size=3>
  156. <b>CDDB-protocol documentation</b><br>
  157. <font size=2>
  158. <br><br>
  159. <pre>
  160. CDDB Protocol
  161. By Steve Scherf and Ti Kan
  162. --------------------------
  163. Revision: $Id: CDDBPROTO,v 1.6 1997/05/14 07:53:52 steve Exp steve $
  164. Notation:
  165. -&gt; : client to server
  166. &lt;- : server to client
  167. terminating marker: `.' character in the beginning of a line
  168. Server response code (three digit code):
  169. First digit:
  170. 1xx Informative message
  171. 2xx Command OK
  172. 3xx Command OK so far, continue
  173. 4xx Command OK, but cannot be performed for some specified reasons
  174. 5xx Command unimplemented, incorrect, or program error
  175. Second digit:
  176. x0x Ready for further commands
  177. x1x More server-to-client output follows (until terminating marker)
  178. x2x More client-to-server input follows (until terminating marker)
  179. x3x Connection will close
  180. Third digit:
  181. xx[0-9] Command-specific code
  182. CDDB Protocol Level 1:
  183. ----------------------
  184. Server sign-on banner:
  185. ----------------------
  186. &lt;- code hostname CDDBP server version ready at date
  187. code:
  188. 200 OK, read/write allowed
  189. 201 OK, read only
  190. 432 No connections allowed: permission denied
  191. 433 No connections allowed: X users allowed, Y currently active
  192. 434 No connections allowed: system load too high
  193. hostname:
  194. Server host name. Example: xyz.fubar.com
  195. version:
  196. Version number of server software. Example: v1.0PL0
  197. date:
  198. Current date and time. Example: Wed Mar 13 00:41:34 1996
  199. Initial client-server handshake:
  200. --------------------------------
  201. Note: This handshake must occur before other cddb commands
  202. are accepted by the server.
  203. Client command:
  204. -&gt; cddb hello username hostname clientname version
  205. username:
  206. Login name of user. Example: johndoe
  207. hostname:
  208. Host name of client. Example: abc.fubar.com
  209. clientname:
  210. The name of the connecting client. Example: xmcd, cda, EasyCD,
  211. et cetera. Do not use the name of another client which already
  212. exists.
  213. version:
  214. Version number of client software. Example: v1.0PL0
  215. Server response:
  216. &lt;- code hello and welcome username@hostname running clientname version
  217. code:
  218. 200 Handshake successful
  219. 431 Handshake not successful, closing connection
  220. 402 Already shook hands
  221. CDDB query:
  222. -----------
  223. Client command:
  224. -&gt; cddb query discid ntrks off1 off2 ... nsecs
  225. discid:
  226. CD disc ID number. Example: f50a3b13
  227. ntrks:
  228. Total number of tracks on CD.
  229. off1, off2, ...:
  230. Frame offset of the starting location of each track.
  231. nsecs:
  232. Total playing length of CD in seconds.
  233. Server response:
  234. &lt;- code categ discid dtitle
  235. or
  236. &lt;- code close matches found
  237. &lt;- categ discid dtitle
  238. &lt;- categ discid dtitle
  239. &lt;- (more matches...)
  240. &lt;- .
  241. code:
  242. 200 Found exact match
  243. 211 Found inexact matches, list follows (until terminating marker)
  244. 202 No match found
  245. 403 Database entry is corrupt
  246. 409 No handshake
  247. categ:
  248. CD category. Example: rock
  249. discid:
  250. CD disc ID number of the found entry. Example: f50a3b13
  251. dtitle:
  252. The Disc Artist and Disc Title (The DTITLE line). For example:
  253. Pink Floyd / The Dark Side of the Moon
  254. CDDB read:
  255. ----------
  256. Client command:
  257. -&gt; cddb read categ discid
  258. categ:
  259. CD category. Example: rock
  260. discid:
  261. CD disc ID number. Example: f50a3b13
  262. Server response:
  263. &lt;- code categ discid
  264. &lt;- # xmcd 2.0 CD database file
  265. &lt;- # ...
  266. &lt;- (CDDB data...)
  267. &lt;- .
  268. or
  269. &lt;- code categ discid No such CD entry in database
  270. code:
  271. 210 OK, CDDB database entry follows (until terminating marker)
  272. 401 Specified CDDB entry not found.
  273. 402 Server error.
  274. 403 Database entry is corrupt.
  275. 409 No handshake.
  276. categ:
  277. CD category. Example: rock
  278. discid:
  279. CD disc ID number. Example: f50a3b13
  280. CDDB search: (command not yet implemented in freedb-serversoftware!)
  281. ------------
  282. Client command:
  283. -&gt; cddb srch key search_type ... search_type
  284. key:
  285. Pseudo-regular expression to match. Expressions should meet the
  286. following description:
  287. - No white space.
  288. - Printable characters only.
  289. - Case is ignored.
  290. search_type:
  291. CDDB fields to search through. Example: title
  292. Supported types: artist, title, extd, ext, trk
  293. categ:
  294. CD category. Example: rock
  295. Server response:
  296. &lt;- code matches found
  297. &lt;- categ discid dtitle
  298. &lt;- categ discid dtitle
  299. &lt;- (more matches...)
  300. &lt;- .
  301. code:
  302. 210 OK, matches found, list follows (until terminating marker)
  303. 401 No match found.
  304. 409 No handshake.
  305. categ:
  306. CD category. Example: rock
  307. dtitle:
  308. The Disc Artist and Disc Title (The DTITLE line). For example:
  309. Pink Floyd / The Dark Side of the Moon
  310. CDDB write:
  311. -----------
  312. Client command:
  313. -&gt; cddb write categ discid
  314. categ:
  315. CD category. Example: rock
  316. discid:
  317. CD disc ID number. Example: f50a3b13
  318. Server response:
  319. &lt;- code categ discid
  320. code:
  321. 320 OK, input CDDB data (until terminating marker)
  322. 401 Permission denied.
  323. 402 Server file system full/file access failed.
  324. 409 No handshake.
  325. 501 Entry rejected: reason for rejection.
  326. categ:
  327. CD category. Example: rock
  328. discid:
  329. CD disc ID number. Example: f50a3b13
  330. Client data:
  331. -&gt; # xmcd 2.0 CD database file
  332. -&gt; # ...
  333. -&gt; (CDDB data)
  334. -&gt; .
  335. Server response:
  336. &lt;- code message
  337. code:
  338. 200 CDDB entry accepted
  339. 401 CDDB entry rejected: reason why
  340. message:
  341. Message string to indicate write status:
  342. CDDB entry accepted, or CDDB entry rejected.
  343. Help information:
  344. -----------------
  345. Client command:
  346. -&gt; help
  347. or
  348. -&gt; help cmd
  349. cmd:
  350. CDDB command. Example: quit
  351. or
  352. -&gt; help cmd subcmd
  353. cmd:
  354. CDDB command. Example: cddb
  355. subcmd:
  356. CDDB command argument. Example: query
  357. Server response:
  358. &lt;- code Help information follows
  359. &lt;- (help data ...)
  360. &lt;- .
  361. or
  362. &lt;- code no help information available
  363. code:
  364. 210 OK, help information follows (until terminating marker)
  365. 401 No help information available
  366. Log statistics:
  367. ---------------
  368. Client command:
  369. -&gt; log [[-l lines] [start date [end date]] | [day [days]] | [get"]]
  370. lines:
  371. The maximum number of lines to print for each data list in the
  372. log statistics.
  373. start date:
  374. The date after which statistics should be calculated. Date is
  375. of the format: hh[mm[ss[MM[DD[[CC]YY]]]]]
  376. E.g.: 201200053196 for 8:12 PM on May 31, 1996.
  377. 20120005312096 for 8:12 PM on May 31, 2096.
  378. 080530 for today at at 8:15 and 30 seconds.
  379. If the century ("CC") is omitted, a reasonable guess is made. If
  380. this argument is omitted, all messages are considered.
  381. end date:
  382. The date after which statistics should not be calculated. If
  383. omitted, the end date is assumed to be the current date.
  384. day:
  385. The string "day". This solitary argument will cause a log search
  386. of messages generated within the last day.
  387. days:
  388. A positive numerical argument which modifies the number of days'
  389. messages to searh. If this argument is left out, the default is 1.
  390. get:
  391. The string "get". This solitary argument will cause the server
  392. to send the contents of the log file.
  393. Server response:
  394. &lt;- code Log summary follows
  395. &lt;- (log stats)
  396. &lt;- .
  397. or
  398. &lt;- code Log follows
  399. &lt;- (log stats)
  400. &lt;- .
  401. code:
  402. 210 OK, log summary follows (until terminating marker)
  403. 211 OK, log follows (until terminating marker)
  404. 401 Permission denied
  405. 402 No log information available
  406. 501 Invalid start/end date
  407. Message of the day:
  408. ------------------
  409. Client command:
  410. -&gt; motd
  411. Server response:
  412. &lt;- code Last modified: date MOTD follows (until terminating marker)
  413. &lt;- (message text)
  414. &lt;- .
  415. code:
  416. 210 Last modified: 05/31/96 06:31:14 MOTD follows (until terminating marker)
  417. 401 No message of the day available
  418. date:
  419. The date the text of the message of the day was modified. The date
  420. appears in the following format:
  421. 05/31/96 06:31:14
  422. This value may be used by client software as a message timestamp
  423. for purposes of determining if it has already been displayed. This
  424. format was chosen because it is more easily parsed than the standard
  425. ctime() format.
  426. Server protocol level:
  427. ----------------------
  428. Client command:
  429. -&gt; proto [level]
  430. level:
  431. The (numerical) protocol level to set the server to.
  432. Server response:
  433. &lt;- code CDDB protocol level: current cur_level, supported supported_level
  434. or
  435. &lt;- code OK, protocol version now: cur_level
  436. code:
  437. 200 CDDB protocol level: current cur_level, supported supp_level
  438. 201 OK, protocol version now: cur_level
  439. 501 Illegal protocol level.
  440. 502 Protocol level already cur_level.
  441. cur_level:
  442. The current protocol level at which the server is running.
  443. supported_level:
  444. The maximum supported protocol level.
  445. Server sites:
  446. --------------
  447. Client command:
  448. -&gt; sites
  449. Server response:
  450. &lt;- code OK, site information follows (until terminating `.')
  451. &lt;- (data)
  452. &lt;- .
  453. code:
  454. 210 Ok, site information follows
  455. 401 No site information available.
  456. The data format is as follows:
  457. site port latitude longitude description
  458. The fields are as follows:
  459. site:
  460. The Internet address of the remote site.
  461. port:
  462. The port at which the server resides on that site.
  463. latitude:
  464. The latitude of the server site. The format is as follows:
  465. CDDD.MM
  466. Where "C" is the compass direction (N, S), "DDD" is the
  467. degrees, and "MM" is the minutes.
  468. longitude:
  469. The longitude of the server site. Format is as above, except
  470. the compass direction must be one of (E, W).
  471. description:
  472. A short description of the geographical location of the site.
  473. Example:
  474. cddb.moonsoft.com 888 N037.23 W122.01 Fremont, CA USA
  475. Server status:
  476. --------------
  477. Client command:
  478. -&gt; stat
  479. Server response:
  480. &lt;- code OK, status information follows (until terminating `.')
  481. &lt;- (data)
  482. &lt;- .
  483. code:
  484. 210 Ok, status information follows
  485. The possible data is as follows:
  486. current proto: &lt;current_level&gt;
  487. An integer representing the server's current operating protocol
  488. level.
  489. max proto: &lt;max_level&gt;
  490. The maximum supported protocol level.
  491. gets: &lt;yes | no&gt;
  492. Whether or not the client is allowed to get log information,
  493. according to the string "yes" or "no".
  494. updates: &lt;yes | no&gt;
  495. Whether or not the client is allowed to initiate a database
  496. update, according to the string "yes" or "no".
  497. posting: &lt;yes | no&gt;
  498. Whether or not the client is allowed to post new entries,
  499. according to the string "yes" or "no".
  500. quotes: &lt;yes | no&gt;
  501. Whether or not quoted arguments are enabled, according to
  502. the string "yes" or "no".
  503. current users: &lt;num_users&gt;
  504. The number of users currently connected to the server.
  505. max users: &lt;num_max_users&gt;
  506. The number of users that can concurrently connect to the server.
  507. strip ext: &lt;yes | no&gt;
  508. Whether or not extended data is stripped by the server before
  509. presented to the user.
  510. Database entries: &lt;num_db_entries&gt;
  511. The total number of entries in the database.
  512. Database entries by category:
  513. This field is followed by a list of catgories and the number
  514. of entries in that category. Each entry is of the following
  515. format:
  516. &lt;white space&gt;catgory: &lt;num_db_entries&gt;
  517. The list of entries is terminated by the first line that does
  518. not begin with white space.
  519. Pending file transmissions:
  520. This field is followed by a list of sites that are fed new
  521. database entries at periodic intervals, and the number of
  522. entries that have yet to be transmitted to that site.
  523. Each entry is of the following format:
  524. &lt;white space&gt;site: &lt;num_db_entries&gt;
  525. The list of entries is terminated by the first line that does
  526. not begin with white space.
  527. This list may grow as needed, so clients must expect possible
  528. unrecognizable data. Also, additional fields may be added to
  529. the currently existing lines, although no existing fields will
  530. be removed or change position.
  531. Server version:
  532. ---------------
  533. Client command:
  534. -&gt; ver
  535. Server response:
  536. &lt;- code servername version copyright
  537. or
  538. &lt;- code Version information follows
  539. code:
  540. 200 Version information.
  541. 211 OK, version information follows (until terminating marker)
  542. version:
  543. Server version. Example: v1.0PL0
  544. copyright:
  545. Copyright string. Example: Copyright (c) 1996 Steve Scherf
  546. Database update:
  547. ----------------
  548. Client command:
  549. -&gt; update
  550. Server response:
  551. &lt;- code Updating the database.
  552. or
  553. &lt;- code Permission denied.
  554. or
  555. &lt;- code Unable to update the database.
  556. code:
  557. 200 Updating the database.
  558. 401 Permission denied.
  559. 402 Unable to update the database.
  560. Server users:
  561. -------------
  562. Client command:
  563. -&gt; whom
  564. Server response:
  565. &lt;- code User list follows
  566. code:
  567. 210 OK, user list follows (until terminating marker)
  568. 401 No user information available.
  569. Client sign-off:
  570. ----------------
  571. Client command:
  572. -&gt; quit
  573. Server response:
  574. &lt;- code hostname closing connection. Goodbye.
  575. code:
  576. 230 OK, goodbye.
  577. hostname:
  578. Server host name. Example: xyz.fubar.com
  579. General errors:
  580. ---------------
  581. Server response:
  582. &lt;- code error
  583. code:
  584. 402 Server error.
  585. 408 CGI environment error.
  586. 500 Command syntax error, command unknown, command unimplemented.
  587. 530 Server error, server timeout.
  588. Reserved errors:
  589. ----------------
  590. The following error codes are reserved, and will never be returned as a
  591. response to a CDDB protocol command. They are intended to be used internally
  592. by clients that have a need for generating pseudo-responses.
  593. 600-699
  594. CDDB Protocol Level 2:
  595. ----------------------
  596. In all respects, protocol level 2 is the same as level 1, with the exceptions
  597. listed below.
  598. Arguments to commands may be surrounded by double quotes. All characters
  599. within the quotes, including white space, are included in the argument. All
  600. white space is replaced by the `_' (2Dh) character by the server. White space
  601. is defined as ` ' (20h) and `^I' (control-I, or 09h).
  602. Arguments containing quotes that should not be interpreted with the special
  603. meaning described above should be escaped with a preceding backslash character,
  604. or '' (5Ch). If an actual backslash appears in an argument, it should be
  605. escaped with a preceding backslash. In both cases, the preceding backslash
  606. will be removed from the input before being interpreted.
  607. CDDB Protocol Level 3:
  608. ----------------------
  609. Protocol level 3 is the same as level 2, with the exception listed below.
  610. The output of the "sites" command has changed to meet the folowing description:
  611. The data format is as follows:
  612. site protocol port address latitude longitude description
  613. The fields are as follows:
  614. site:
  615. The Internet address of the remote site.
  616. protocol:
  617. The transfer protocol used to access the site.
  618. port:
  619. The port at which the server resides on that site.
  620. address:
  621. Any additional addressing information needed to access the
  622. server. For example, for HTTP protocol servers, this would be
  623. the path to the CDDB server CGI script. This field will be
  624. "-" if no additional addressing information is needed.
  625. latitude:
  626. The latitude of the server site. The format is as follows:
  627. CDDD.MM
  628. Where "C" is the compass direction (N, S), "DDD" is the
  629. degrees, and "MM" is the minutes.
  630. longitude:
  631. The longitude of the server site. Format is as above, except
  632. the compass direction must be one of (E, W).
  633. description:
  634. A short description of the geographical location of the site.
  635. Example:
  636. cddb.moonsoft.com cddbp 888 - N037.23 W122.01 Fremont, CA USA
  637. cddb.moonsoft.com http 80 /~cddb/cddb.cgi N037.23 W122.01 Fremont,CA USA
  638. Note that a site may appear once for each type of protocol it supports for
  639. accessing the server.
  640. Addendum A: Proper use of CDDBP:
  641. --------------------------------
  642. There are a few guidelines that must be followed in order to make proper use
  643. of CDDBP:
  644. - When handshaking with the server via the "cddb hello" command, the client
  645. must specify its own name and version, not that of some other client (such
  646. as xmcd). Also, the "username" and "hostname" must be that of the actual
  647. user running the program, not some hardwired value.
  648. - Before performing a "cddb read", the client program MUST perform a
  649. "cddb query". Failure to do so may result in the client program receiving
  650. incorrect CDDB data from the server. Also, without performing a query, the
  651. client program will not benefit from close matches in the event of the
  652. lack of an exact match in the database.
  653. - For accounting purposes, it is best if client programs only perform a single
  654. "cddb query" for a particular disc before performing a "cddb read" for that
  655. disc.
  656. Addendum B: CDDBP under HTTP:
  657. -----------------------------
  658. Accessing a server as a CGI script is done in much the same way as through
  659. direct interaction. The command set is identical, though the method of
  660. communication is through CDDBP commands encapsulated in the HTTP protocol.
  661. The only limitation is that a single command may be executed per connection,
  662. since HTTP is not truly interactive. For the server to be accessed in this
  663. way, it must reside on the target host at a known URL which is accessible by
  664. the host HTTP server. The client program must connect to the HTTP server on
  665. the target host and issue an HTTP command with the appropriate CDDBP command
  666. encapsulated within.
  667. Commands may be submitted to servers in CGI mode using either the "GET" or
  668. "POST" HTTP commands. Both methods are supported, and there is no real
  669. difference between how both are to be used other than the syntactical
  670. difference between the two methods. The "POST" method may provide the ability
  671. to issue longer commands, though, depending on the architecture of the system
  672. on which the server resides.
  673. The server command must be sent as part of the "Request-URI" in the case
  674. of the "GET" method, and as the "Entity-Body" in the case of the "POST"
  675. method. In both cases, the command must be of the following form:
  676. cmd=server+command&amp;hello=joe+my.host.com+clientname+version&amp;proto=1
  677. Where the text following the "cmd=" represents the CDDBP command to be
  678. executed, the text following the "hello=" represents the arguments to
  679. the "cddb hello" command that is implied by this operation, and the
  680. text following the "proto=" represents the argument to the "proto" command
  681. that is implied by this operation.
  682. The "+" characters in the input represent spaces, and will be translated
  683. by the server before performing the request. Special characters may be
  684. represented by the sequence "%XX" where "XX" is a two-digit hex number
  685. corresponding to the ASCII (ISO-8859-1) sequence of that character. The
  686. "&amp;" characters denote separations between the command, hello and proto
  687. arguments. Newlines and carriage returns must not appear anywhere in the
  688. string except at the end.
  689. All CDDBP commands are supported under HTTP, except for "cddb hello",
  690. "cddb write", "proto" and "quit".
  691. For example, should user "joe" on system "my.host.com" be running xmcd 2.1,
  692. a read request for his currenly playing CD might look like this:
  693. cmd=cddb+read+rock+12345678&amp;hello=joe+my.host.com+xmcd+2.1&amp;proto=1
  694. The server will perform the implied "proto" and "cddb hello" commands,
  695. and then perform the requested "cddb read" command.
  696. Server response to the command is encapsulated in the HTTP server response,
  697. and appears in the "Entity-Body" exactly as it would appear using the CDDBP
  698. protocol. Note that the HTTP response "Entity-Header" is not guaranteed to
  699. contain a "Content-Length" field, so clients should be prepared to accept
  700. variable length input. This is no different from operation under CDDBP. The
  701. header will always contain a Mime "Content-Type" field which describes the
  702. body of data as "text/plain".
  703. For more detailed information on HTTP and Mime, see RFC 1945 and RFC 1521.
  704. </pre>
  705. </tr></td>
  706. <tr><td align=center><font face=Arial,Helvetica>
  707. &nbsp;
  708. </tr></td>
  709. </table></tr></td></table></center></td><td>&nbsp;</td>
  710. </tr></table></td></tr></table><br><br>
  711. <font face=Arial,Helvetica size=1><center>
  712. <br>
  713. <br>
  714. <br>
  715. <br>
  716. </body>
  717. </html>