}
for (i = 0; i < MAXCDB; ++i) {
- syslog(LOG_INFO, "bdb: mounting database %02x", i);
ret = db_create(&bdb_table[i], bdb_env, 0); // Create a database handle
if (ret) {
syslog(LOG_ERR, "bdb: db_create: %s", db_strerror(ret));
// close the tables
syslog(LOG_INFO, "bdb: closing databases");
for (i = 0; i < MAXCDB; ++i) {
- syslog(LOG_INFO, "bdb: closing database %02x", i);
ret = bdb_table[i]->close(bdb_table[i], 0);
if (ret) {
syslog(LOG_ERR, "bdb: db_close: %s", db_strerror(ret));
icalcomponent *encaps = NULL;
char *ser = NULL;
+ // Only allow this operation if we're in a room containing a calendar or tasks view
if ( (CC->room.QRdefaultview != VIEW_CALENDAR)
- &&(CC->room.QRdefaultview != VIEW_TASKS)
+ && (CC->room.QRdefaultview != VIEW_TASKS)
) {
cprintf("%d Not a calendar room\n", ERROR+NOT_HERE);
return; // This room does not contain a calendar.
&& (CC->room.QRdefaultview != VIEW_TASKS)
) {
cprintf("%d Not a calendar room\n", ERROR+NOT_HERE);
- return;
+ return; // This room does not contain a calendar.
}
// Only allow this operation if we have permission to overwrite the existing calendar
// fundamentally handled in the Citadel Server. A web implementation should be able to just
// change the encapsulation to HTTP with the data format unchanged.
void ical_report(void) {
- cprintf("%d Hi from Citadel\n", CIT_OK);
+ char buf[SIZ];
+
+ // Only allow this operation if we're in a room containing a calendar or tasks view
+ if ( (CC->room.QRdefaultview != VIEW_CALENDAR)
+ && (CC->room.QRdefaultview != VIEW_TASKS)
+ ) {
+ cprintf("%d Not a calendar room\n", ERROR+NOT_HERE);
+ return; // This room does not contain a calendar.
+ }
+
+ cprintf("%d Send query then receive response\n", SEND_THEN_RECV);
+ while(client_getln(buf, sizeof buf) >= 0 && strcmp(buf,"000")) {
+ }
+ cprintf("000\n");
}