MSGS command can now do full text search on the room
[citadel.git] / citadel / serv_inetcfg.c
index 90cb8273e93d2183e2fc09d02bf5c98b1516fc79..5d49d5fa8951c645e2a412ff49debf74457fa390 100644 (file)
@@ -38,7 +38,7 @@
 #include "citserver.h"
 #include "support.h"
 #include "config.h"
-#include "dynloader.h"
+#include "serv_extensions.h"
 #include "room_ops.h"
 #include "user_ops.h"
 #include "policy.h"
@@ -57,15 +57,15 @@ void inetcfg_setTo(struct CtdlMessage *msg) {
        char buf[SIZ];
        
        if (msg->cm_fields['M']==NULL) return;
-       conf = strdoop(msg->cm_fields['M']);
+       conf = strdup(msg->cm_fields['M']);
 
        if (conf != NULL) {
                do {
-                       extract_token(buf, conf, 0, '\n');
+                       extract_token(buf, conf, 0, '\n', sizeof buf);
                        strcpy(conf, &conf[strlen(buf)+1]);
                } while ( (strlen(conf)>0) && (strlen(buf)>0) );
 
-               if (inetcfg != NULL) phree(inetcfg);
+               if (inetcfg != NULL) free(inetcfg);
                inetcfg = conf;
        }
 }
@@ -82,20 +82,20 @@ void spamstrings_setTo(struct CtdlMessage *msg) {
        while (spamstrings != NULL) {
                sptr = spamstrings;
                spamstrings = spamstrings->next;
-               phree(sptr->string);
-               phree(sptr);
+               free(sptr->string);
+               free(sptr);
        }
 
        /* Read in the new list */
        if (msg->cm_fields['M']==NULL) return;
-       conf = strdoop(msg->cm_fields['M']);
+       conf = strdup(msg->cm_fields['M']);
        if (conf == NULL) return;
 
        n = num_tokens(conf, '\n');
        for (i=0; i<n; ++i) {
-               extract_token(buf, conf, i, '\n');
-               sptr = mallok(sizeof(struct spamstrings_t));
-               sptr->string = strdoop(buf);
+               extract_token(buf, conf, i, '\n', sizeof buf);
+               sptr = malloc(sizeof(struct spamstrings_t));
+               sptr->string = strdup(buf);
                sptr->next = spamstrings;
                spamstrings = sptr;
        }
@@ -129,12 +129,6 @@ int inetcfg_aftersave(struct CtdlMessage *msg) {
                           strlen(INTERNETCFG))) {
                                inetcfg_setTo(msg);     /* changing configs */
                        }
-#ifdef ___NOT_CURRENTLY_IN_USE___
-                       if (!strncasecmp(&ptr[14], SPAMSTRINGS,
-                          strlen(INTERNETCFG))) {
-                               spamstrings_setTo(msg); /* changing configs */
-                       }
-#endif
                }
 
                ptr = strchr((char *)ptr, '\n');
@@ -148,7 +142,7 @@ int inetcfg_aftersave(struct CtdlMessage *msg) {
 void inetcfg_init_backend(long msgnum, void *userdata) {
        struct CtdlMessage *msg;
 
-               msg = CtdlFetchMessage(msgnum);
+               msg = CtdlFetchMessage(msgnum, 1);
                if (msg != NULL) {
                inetcfg_setTo(msg);
                        CtdlFreeMessage(msg);
@@ -160,7 +154,7 @@ void inetcfg_init_backend(long msgnum, void *userdata) {
 void spamstrings_init_backend(long msgnum, void *userdata) {
        struct CtdlMessage *msg;
 
-               msg = CtdlFetchMessage(msgnum);
+               msg = CtdlFetchMessage(msgnum, 1);
                if (msg != NULL) {
                spamstrings_setTo(msg);
                        CtdlFreeMessage(msg);
@@ -170,13 +164,9 @@ void spamstrings_init_backend(long msgnum, void *userdata) {
 
 
 void inetcfg_init(void) {
-       if (getroom(&CC->quickroom, SYSCONFIGROOM) != 0) return;
-       CtdlForEachMessage(MSGS_LAST, 1, INTERNETCFG, NULL,
+       if (getroom(&CC->room, SYSCONFIGROOM) != 0) return;
+       CtdlForEachMessage(MSGS_LAST, 1, NULL, INTERNETCFG, NULL,
                inetcfg_init_backend, NULL);
-/*
-       CtdlForEachMessage(MSGS_LAST, 1, SPAMSTRINGS, NULL,
-               spamstrings_init_backend, NULL);
- */
 }