Chapter 23. The refdb client/server communication protocol

Table of Contents
23.1. Prerequisites
23.2. Basic principles
23.2.1. Message format
23.2.2. First stage
23.2.2.1. Sanity and permission check
23.2.2.2. Password encryption
23.2.3. Second stage
23.3. Commented abstract representation of the client/server protocol
23.3.1. First stage
23.3.2. Second stage
23.3.2.1. addlink
23.3.2.2. addnote
23.3.2.3. addref
23.3.2.4. addstyle
23.3.2.5. adduser
23.3.2.6. addword
23.3.2.7. confserv
23.3.2.8. createdb
23.3.2.9. deletedb
23.3.2.10. deletenote
23.3.2.11. deleteref
23.3.2.12. deletestyle
23.3.2.13. getau, geted, getas, getkw, getjo, getjf, getj1, getj2
23.3.2.14. getbib
23.3.2.15. getnote
23.3.2.16. getref
23.3.2.17. getstyle
23.3.2.18. gettexbib
23.3.2.19. listdb
23.3.2.20. liststyle
23.3.2.21. listuser
23.3.2.22. listword
23.3.2.23. pickref
23.3.2.24. scankw
23.3.2.25. selectdb
23.3.2.26. viewstat
23.3.2.27. whichdb
23.3.3. Status messages

This chapter describes the communication protocol that the refdb clients and server use to talk to each other. Knowledge of this protocol is useful for programmers who want to write custom refdb clients.

Tip: The refdb project provides a Perl client module in addition to the C clients shipped with the refdb package proper. Due to the simplicity of the Perl language, this module is a good resource for programmers who want to implement clients in other programming languages.