* $Id$
*
* Main Citadel header file
- * See COPYING for copyright information.
*
- * Copyright (c) 1987-2009 by the citadel.org team
+ * Copyright (c) 1987-2010 by the citadel.org team
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* system customizations are in sysconfig.h */
#define REV_LEVEL 780 /* This version */
#define REV_MIN 591 /* Oldest compatible database */
#define EXPORT_REV_MIN 760 /* Oldest compatible export files */
-#define LIBCITADEL_MIN 770 /* Minimum required version of libcitadel */
+#define LIBCITADEL_MIN 780 /* Minimum required version of libcitadel */
#define SERVER_TYPE 0 /* zero for stock Citadel; other developers please
obtain SERVER_TYPE codes for your implementations */
+++ /dev/null
-Chat subsystem information
-Brian Costello <btx@calyx.net>
-[Edits in brackets by Michael Hampton <error@citadel.org>]
-
-Chat / Messaging system
------------------------
-
-I envision a chat system that can be used for a variety of uses, from
-chatting in realtime to file exchange to slide presentations.
-
-Rooms will be able to have invitation lists -- perfect for scheduling a
-private meeting with various people around the world. [This could apply to
-both private and public rooms; though we already have chat on-demand, this
-would allow specific participants to indicate their interest in a given chat.]
-
-Meetings will be scheduled by the system scheduler. The scheduler is not
-part of this project -- the scheduler will do the work of determining a time
-when all participants are free. When a time is decided on, the scheduler
-will call the chat subsystem which will write this schedule to a file. This
-is to make sure that if the chat subsystem is shut down for some reason, it
-will remember the reserved rooms and invite lists.
-
-Rooms
------
-I think a conference call-like system would be good. Chat sessions can be
-scheduled with a predetermined list of people or started manually and their
-invite lists manually made. Either someone is designated a conference
-leader or whoever created the room is the conference leader. The conference
-leader(s) can invite new people to the room, and kick & ban people out of
-the room.
-
-Messages should be able to be sent to any logged in user from the page system
-to the chat system and vice versa.
-
-This can be implemented with the current citadel clients. [I can't send a
-message from a user to a chat unless that user is already in the chat or has
-access to it. The other way round is just fine, though.]
-
-Transfers
----------
-An addition that would be useful here would be the ability to send a file to
-everyone in a room as well as individual users.
-
-This cannot be implemented with the current citadel clients -- I DON'T
-THINK. I'm not sure. [You're right. We have no way to "push" files to
-users at present.]
-
-Graphics transfers
-------------------
-The idea is to allow slides to be shown to clients. The transfers mechanism
-will be used to send the graphics so you would be able to send slides to
-everyone or just one user.
-
-This will have to be written into the client (Unix client calls xv, for
-example). [I've already started on file/graphics viewing for the text client.]
-
-Structures
-----------
-
-/* hold the invite / ban info in this structure. Username and host are each
- * used only if they are specified. This allows banning all hosts from a
- * particular site.
- */
-
-typedef struct s_chat_userlist
-{
- char username[32];
- char host[64];
- struct s_chat_userlist *next;
-} chat_userlist;
-
-typedef struct s_chat_joinlist
-{
- struct CitContext *user_context;
- struct s_chat_joinlist *next;
-} chat_joinlist;
-
-/* Simple chatroom definition */
-
-typedef struct s_chatroom
-{
- char room_name[20];
- char room_password[20];
- time_t scheduled_start;
- time_t scheduled_stop;
- int room_flags;
- chat_userlist *invite_list;
- chat_userlist *ban_list;
- chat_joinlist *join_list; /* Context's of who's in this room */
- chat_joinlist *chanops_list; /* Context's of channel ops */
- struct s_chatroom *next;
-} chatroom;
-
-
-Definitions
------------
-#define CHATROOM_PRIVATE 1 /* Invite only */
-#define CHATROOM_HIDDEN 2 /* Hidden from listing */
-#define CHATROOM_PASSWORD 4 /* Password protected */
-
-Schedule
---------
-The stuff that can be implemented in terms of the current client will go
-first. The transfers will come next.
dnl Ensure that libcitadel is configured with autoconf 2.52 or newer
AC_PREREQ(2.52)
-AC_INIT(libcitadel, 7.70, https://uncensored.citadel.org)
+AC_INIT(libcitadel, 7.80, https://uncensored.citadel.org)
AC_CONFIG_SRCDIR(Makefile.in)
AC_CONFIG_AUX_DIR(conftools)
#include <time.h>
#include <stdlib.h>
#include <stdarg.h>
-#define LIBCITADEL_VERSION_NUMBER 770
+#define LIBCITADEL_VERSION_NUMBER 780
/*
* Here's a bunch of stupid magic to make the MIME parser portable.
-
-/* $Id$ */
+/* $Id$
+ *
+ * Copyright (c) 1987-2010 by the citadel.org team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
#include "sysdep.h"
-
-
#include <sys/select.h>
-
#include <ctype.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <pthread.h>
#include <signal.h>
#include <sys/utsname.h>
-
#include <libcitadel.h>
#ifndef INADDR_NONE
#define DEVELOPER_ID 0
#define CLIENT_ID 4
#define CLIENT_VERSION 780 /* This version of WebCit */
-#define MINIMUM_CIT_VERSION 770 /* min required Citadel ver */
-#define LIBCITADEL_MIN 766 /* min required libcitadel ver */
+#define MINIMUM_CIT_VERSION 780 /* min required Citadel ver */
+#define LIBCITADEL_MIN 780 /* min required libcitadel ver */
#define DEFAULT_HOST "localhost" /* Default Citadel server */
#define DEFAULT_PORT "504"
#define TARGET "webcit01" /* Target for inline URL's */