2005-11-24 Carl Worth <cworth@cworth.org>
[ttt] / ChangeLog
index bc176073fc7e0241c19ef2bfce625caaa48faf62..525bdfd33f631cee48339ae5b08e79316875226b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,90 @@
+2005-11-24  Carl Worth  <cworth@cworth.org>
+
+       * PROTOCOL:
+       * src/ttt-server.c: (ttt_server_init),
+       (ttt_server_register_client): Remove unique-name generation from
+       the server. The client is going to have to have code to do this
+       anyway.
+
+       * src/ttt-client.c: Change minimum arguments for HELO from 0 to 1.
+
+       * TODO: Note that HELO and ERROR INVALIDNAME are implemented in
+       the server.
+
+2005-11-23  Richard Worth  <richard@theworths.org>
+
+       * PROTOCOL: Removed unused servername
+
+       * src/ttt-client.h: * src/ttt-client.c:
+       (_ttt_client_execute_helo), (_ttt_client_init),
+       (_ttt_client_fini), (_execute_request), (ttt_client_get_name),
+       (ttt_client_set_name): Added command descriptions structure. Match
+       command case-insensitively, dispatch to execute
+       function. Implement HELO command. Register on HELO instead of on
+       connect.
+
+       * src/ttt-server.h: * src/ttt-server.c: (ttt_server_init),
+       (ttt_server_register_client), (ttt_server_unregister_client),
+       (ttt_server_get_host), (ttt_server_get_port), (main): Added host
+       and port to server. Make client registration name-based rather
+       than id-based.
+
+       * src/x.c: (xstrdup): Return NULL on NULL
+
+       * src/ttt-lex.h: Regenerated
+
+2005-11-22  Carl Worth  <cworth@cworth.org>
+
+       * TODO: Add TODO file listing all the stuff from the protocol that
+       needs to be implemented.
+       
+       * src/Makefile.am:
+       * configure.in:
+       * ylwrap:
+       * src/ttt-lex.h:
+       * src/ttt-lex.l:
+       * src/ttt-token.h: Add support for a flex-based tokenizer which
+       tokenizes newlines and space-separated strings.
+
+       * src/ttt-client.c: (_ttt_client_init), (_ttt_client_fini),
+       (_append_to_request), (_free_request), (_read_request),
+       (_execute_request): Use new tokenizer to tokenize input into an
+       array of request strings.
+
+2005-11-15  Carl Worth  <cworth@cworth.org>
+
+       * src/Makefile.am:
+       * src/ttt-error.h:
+       * src/ttt-error.c: (ttt_error_string): Add error values and error
+       strings from protocol.
+
+       * src/ttt.h: Add typedefs for ttt_client_t and ttt_server_t so
+       that there's no problem with ttt-client.h and ttt-server.h needing
+       to mutually include each other.
+
+       * src/ttt-server.h:
+       * src/ttt-server.c: (ttt_server_register_client),
+       (ttt_server_unregister_client), (_ttt_server_accept), (main): Push
+       the client request handling thread back down into ttt-client.c
+       where it really does belong. The server code no longer ever
+       reaches down inside the ttt_client_t structure. Export
+       ttt_server_register_client and ttt_server_unregister_client. Add
+       documentation for ttt_server_broadcast. Document locking semantics
+       for all functions which acquire the server lock.
+
+       * src/ttt-client.h:
+       * src/ttt-client.c: (_ttt_client_create), (_ttt_client_destroy),
+       (_read_into_request_until), (_read_request), (_execute_request),
+       (_handle_requests_thread), (ttt_client_new), (ttt_client_get_id):
+       Pull the ttt_client structure definition back down inside the
+       ttt-client.c file. Don't export ttt_client_create and
+       ttt_client_destroy anymore, but instead just use static
+       _ttt_client_init and _ttt_client_fini. Implement the broadcast by
+       just passing a client pointer around and using client->request
+       rather than passing char *request all over. Document new
+       ttt_client_new and remove ttt_client_read_line. Add locking to
+       ttt_client_send and document it. Add ttt_client_get_id.
+
 2005-11-14  Carl Worth  <cworth@cworth.org>
 
        Server now acts as a very simple chat server.