moar skeleton
authorArt Cancro <ajc@citadel.org>
Fri, 22 Dec 2023 16:54:16 +0000 (11:54 -0500)
committerArt Cancro <ajc@citadel.org>
Fri, 22 Dec 2023 16:54:16 +0000 (11:54 -0500)
webcit-ng/server/calendar_functions.c
webcit-ng/server/webcit.h

index 820de037a184fa6e98ac36b39d4c2e95c8b7626d..73305d7336dd4467db74bba8f48102a4cd589f25 100644 (file)
 
 // Client is requesting a message list
 void calendar_msglist(struct http_transaction *h, struct ctdlsession *c, char *range) {
+
+       // Begin by requesting all messages in the room
+       int i = 0;
+       Array *msglist = get_msglist(c, "ALL");
+       if (msglist == NULL) {
+               do_404(h);
+               return;
+       }
+
+       for (i = 0; i < array_len(msglist); ++i) {
+               long m;
+               memcpy(&m, array_get_element_at(msglist, i), sizeof(long));
+               syslog(LOG_DEBUG, "FIXME %ld", m);
+       }
+       array_free(msglist);
+
+       // FIXME we still fail because we aren't finished yet
        do_404(h);
 }
index 2bcbccb155e1968add2d72adf4e3964014b4997a..b678ceffc2007e0b33a802533ef1d11207788090 100644 (file)
@@ -128,29 +128,23 @@ enum {
 #define CTDL_DIR               "/usr/local/citadel"
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define TARGET                 "webcit02"      /* Window target for inline URL's */
+#define TARGET                 "webcit02"      // Window target for inline URL's
 #define ROOMNAMELEN            128             // The size of a roomname string
 #define        DAV_MOVE                0               // MOVE=0 COPY=1 don't change these!
 #define DAV_COPY               1               // they are the values used in the Citadel Server MOVE command
 
-// The prototypes below this line are generated with `cproto server/*.c >>server/webcit.h`
-
-/* server/admin_functions.c */
 void try_login(struct http_transaction *h, struct ctdlsession *c);
 void logout(struct http_transaction *h, struct ctdlsession *c);
 void whoami(struct http_transaction *h, struct ctdlsession *c);
 void biff(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_a(struct http_transaction *h, struct ctdlsession *c);
-/* server/caldav_reports.c */
 void caldav_xml_start(void *data, const char *el, const char **attr);
 void caldav_xml_end(void *data, const char *el);
 void caldav_xml_chardata(void *data, const XML_Char *s, int len);
 StrBuf *fetch_ical(struct ctdlsession *c, long msgnum);
 void caldav_response(struct http_transaction *h, struct ctdlsession *c, StrBuf *ReportOut, StrBuf *ThisHref);
 void caldav_report(struct http_transaction *h, struct ctdlsession *c);
-/* server/calendar_functions.c */
 void calendar_msglist(struct http_transaction *h, struct ctdlsession *c, char *range);
-/* server/ctdlclient.c */
 int ctdl_read_binary(struct ctdlsession *ctdl, char *buf, int bytes_requested);
 int ctdl_readline(struct ctdlsession *ctdl, char *buf, int maxbytes);
 StrBuf *ctdl_readtextmsg(struct ctdlsession *ctdl);
@@ -161,25 +155,19 @@ void extract_auth(struct http_transaction *h, char *authbuf, int authbuflen);
 int login_to_citadel(struct ctdlsession *c, char *auth, char *resultbuf);
 struct ctdlsession *connect_to_citadel(struct http_transaction *h);
 void disconnect_from_citadel(struct ctdlsession *ctdl);
-/* server/ctdl_commands.c */
 void serv_info(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_c(struct http_transaction *h, struct ctdlsession *c);
-/* server/ctdlfunctions.c */
 void ctdl_delete_msgs(struct ctdlsession *c, long *msgnums, int num_msgs);
-/* server/floor_functions.c */
 void floor_list(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_f(struct http_transaction *h, struct ctdlsession *c);
-/* server/forum_view.c */
 void setup_for_forum_view(struct ctdlsession *c);
 JsonValue *json_tokenize_recipients(const char *Key, long keylen, char *recp);
 void json_render_one_message(struct http_transaction *h, struct ctdlsession *c, long msgnum);
-/* server/html2html.c */
 void stripquotes(char *s);
 void extract_charset_from_meta(char *charset, char *meta_http_equiv, char *meta_content);
 StrBuf *html2html(const char *supplied_charset, int treat_as_wiki, char *roomname, long msgnum, StrBuf *Source);
 void UrlizeText(StrBuf *Target, StrBuf *Source, StrBuf *WrkBuf);
 void url(char *buf, size_t bufsize);
-/* server/http.c */
 int client_write(struct client_handle *ch, char *buf, int nbytes);
 int client_read(struct client_handle *ch, char *buf, int nbytes);
 int client_readline(struct client_handle *ch, char *buf, int maxbytes);
@@ -188,16 +176,13 @@ void add_response_header(struct http_transaction *h, char *key, char *val);
 void perform_one_http_transaction(struct client_handle *ch);
 char *header_val(struct http_transaction *h, char *requested_header);
 char *get_url_param(struct http_transaction *h, char *requested_param);
-/* server/main.c */
 int main(int argc, char **argv);
-/* server/messages.c */
 long locate_message_by_uid(struct ctdlsession *c, char *uid);
 void dav_delete_message(struct http_transaction *h, struct ctdlsession *c, long msgnum);
 void dav_move_or_copy_message(struct http_transaction *h, struct ctdlsession *c, long msgnum, int move_or_copy);
 void dav_get_message(struct http_transaction *h, struct ctdlsession *c, long msgnum);
 void dav_put_message(struct http_transaction *h, struct ctdlsession *c, char *euid, long old_msgnum);
 void download_mime_component(struct http_transaction *h, struct ctdlsession *c, long msgnum, char *partnum);
-/* server/request.c */
 void do_404(struct http_transaction *h);
 void do_405(struct http_transaction *h);
 void do_412(struct http_transaction *h);
@@ -206,7 +191,6 @@ void do_502(struct http_transaction *h);
 void request_http_authenticate(struct http_transaction *h);
 void http_redirect(struct http_transaction *h, char *to_where);
 void perform_request(struct http_transaction *h);
-/* server/room_functions.c */
 int match_etags(char *taglist, long msgnum);
 void json_stat(struct http_transaction *h, struct ctdlsession *c);
 void json_mailbox(struct http_transaction *h, struct ctdlsession *c);
@@ -221,16 +205,12 @@ void get_the_room_itself(struct http_transaction *h, struct ctdlsession *c);
 void the_room_itself(struct http_transaction *h, struct ctdlsession *c);
 void room_list(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_r(struct http_transaction *h, struct ctdlsession *c);
-/* server/static.c */
 void output_static(struct http_transaction *h);
-/* server/tcp_sockets.c */
 int lingering_close(int fd);
 int webcit_tcp_server(const char *ip_addr, int port_number, int queue_len);
 int webcit_uds_server(char *sockpath, int queue_len);
-/* server/text2html.c */
 StrBuf *text2html(const char *supplied_charset, int treat_as_wiki, char *roomname, long msgnum, StrBuf *Source);
 StrBuf *variformat2html(StrBuf *Source);
-/* server/tls.c */
 void bind_to_key_and_certificate(void);
 void init_ssl(void);
 void update_key_and_cert_if_needed(void);
@@ -238,7 +218,6 @@ void starttls(struct client_handle *ch);
 void endtls(struct client_handle *ch);
 int client_write_ssl(struct client_handle *ch, char *buf, int nbytes);
 int client_read_ssl(struct client_handle *ch, char *buf, int nbytes);
-/* server/upload.c */
 void upload_handler(char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *userdata);
 void upload_files(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_p_base(struct http_transaction *h, struct ctdlsession *c);
@@ -249,17 +228,15 @@ void attachment_filter(char *name, char *filename, char *partnum, char *disp, vo
 void load_attachments_from_message(struct http_transaction *h, struct ctdlsession *c, char *name);
 void specific_upload(struct http_transaction *h, struct ctdlsession *c, char *name);
 void ctdl_p(struct http_transaction *h, struct ctdlsession *c);
-/* server/user_functions.c */
 void fetch_user_photo(struct http_transaction *h, struct ctdlsession *c, char *username);
 void fetch_user_bio(struct http_transaction *h, struct ctdlsession *c, char *username);
 void object_in_user(struct http_transaction *h, struct ctdlsession *c, char *requested_username);
 void the_user_itself(struct http_transaction *h, struct ctdlsession *c, char *username);
 void user_list(struct http_transaction *h, struct ctdlsession *c);
 void ctdl_u(struct http_transaction *h, struct ctdlsession *c);
-/* server/util.c */
 int unescape_input(char *buf);
 char *http_datestring(time_t xtime);
-/* server/webserver.c */
 void spawn_another_worker_thread(int *pointer_to_master_socket);
 void worker_entry(int *pointer_to_master_socket);
 int webserver(char *webserver_interface, int webserver_port, int webserver_protocol);
+Array *get_msglist(struct ctdlsession *c, char *which_msgs);