serv_rssclient.c: style update
[citadel.git] / webcit / inetconf.c
diff --git a/webcit/inetconf.c b/webcit/inetconf.c
deleted file mode 100644 (file)
index 265f3f6..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/* 
- * Functions which handle Internet domain configuration etc.
- */
-
-#include "webcit.h"
-#include "webserver.h"
-
-
-typedef enum _e_cfg {
-       ic_localhost,
-       ic_directory,
-       ic_smarthost,
-       ic_fallback,
-       ic_rbl,
-       ic_spamass,
-       ic_masq,
-       ic_clamav,
-       ic_notify,
-       ic_max
-} ECfg;
-
-
-  /* These are server config keywords; do not localize! */
-ConstStr CfgNames[] = {
-       { HKEY("localhost") },
-       { HKEY("directory") },
-       { HKEY("smarthost") },
-       { HKEY("fallbackhost") },
-       { HKEY("rbl") },
-       { HKEY("spamassassin") },
-       { HKEY("masqdomain") },
-       { HKEY("clamav") },
-       { HKEY("notify") }
-};
-
-       
-
-
-/*
- * display the inet config dialog 
- */
-void load_inetconf(void)
-{
-       wcsession *WCC = WC;
-       StrBuf *Buf, *CfgToken, *Value;
-       void *vHash;
-       HashList *Hash;
-       char nnn[64];
-       int i, len, nUsed;
-       
-       WCC->InetCfg = NewHash(1, NULL);
-
-       for (i = 0; i < (sizeof(CfgNames) / sizeof(ConstStr)); i++) {
-               Hash = NewHash(1, NULL);
-               Put(WCC->InetCfg, CKEY(CfgNames[i]), Hash, HDeleteHash);
-       }
-
-       serv_printf("CONF GETSYS|application/x-citadel-internet-config");
-       Buf = NewStrBuf();
-       StrBuf_ServGetln(Buf);
-               
-       if (GetServerStatus(Buf, NULL) == 1) {
-               CfgToken = NewStrBuf();
-               while ((len = StrBuf_ServGetln(Buf), ((len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000")))))
-               {
-                       Value = NewStrBuf();
-                       StrBufExtract_token(CfgToken, Buf, 1, '|');
-
-                       // VILE SLEAZY HACK: change obsolete "directory" domains to "localhost" domains
-                       if (!strcasecmp(ChrPtr(CfgToken), "directory")) {
-                               FreeStrBuf(&CfgToken);
-                               CfgToken = NewStrBufPlain(HKEY("localhost"));
-                       }
-
-                       StrBufExtract_token(Value, Buf, 0, '|');
-                       GetHash(WCC->InetCfg, ChrPtr(CfgToken), StrLength(CfgToken), &vHash);
-                       Hash = (HashList*) vHash;
-                       if (Hash == NULL) {
-                               syslog(LOG_WARNING, "ERROR Loading inet config line: [%s]", ChrPtr(Buf));
-                               FreeStrBuf(&Value);
-                               continue;
-                       }
-                       nUsed = GetCount(Hash);
-                       nUsed = snprintf(nnn, sizeof(nnn), "%d", nUsed+1);
-                       Put(Hash, nnn, nUsed, Value, HFreeStrBuf); 
-               }
-               FreeStrBuf(&CfgToken);
-       }
-       FreeStrBuf(&Buf);
-}
-
-
-/*
- * save changes to the inet config
- */
-void new_save_inetconf(void) {
-       wcsession *WCC = WC;
-       HashList *Hash;
-       StrBuf *Str;
-       StrBuf *Buf;
-       const StrBuf *eType, *eNum, *eName;
-       char nnn[64];
-       void *vHash, *vStr;
-       int i, nUsed;
-
-       load_inetconf();
-       eType = sbstr("etype");
-
-       GetHash(WCC->InetCfg, ChrPtr(eType), StrLength(eType), &vHash);
-       Hash = (HashList*) vHash;
-       if (Hash == NULL) {
-               AppendImportantMessage(_("Invalid Parameter"), -1);
-               url_do_template();
-               return;
-       }
-
-       if (strcasecmp(bstr("oper"), "delete") == 0) {
-               eNum = sbstr("ename");
-               if (!GetHash(Hash, ChrPtr(eNum), StrLength(eNum), &vStr) ||
-                   (vStr == NULL)) {
-                       AppendImportantMessage(_("Invalid Parameter"), -1);
-                       url_do_template();
-                       return;
-               }
-
-               Str = (StrBuf*)vStr;
-               AppendImportantMessage(SKEY(Str));
-               AppendImportantMessage(_(" has been deleted."), -1);
-               FlushStrBuf(Str);       
-       }
-       else if (!strcasecmp(bstr("oper"), "add")) {
-               StrBuf *name;
-               eName = sbstr("ename");
-               if (eName == NULL) {
-                       AppendImportantMessage(_("Invalid Parameter"), -1);
-                       url_do_template();
-                       return;
-               }
-
-               nUsed = GetCount(Hash);
-               nUsed = snprintf(nnn, sizeof(nnn), "%d", nUsed+1);
-               name = NewStrBufDup(eName);
-               StrBufTrim(name);
-               Put(Hash, nnn, nUsed, name, HFreeStrBuf); 
-               AppendImportantMessage(SKEY(eName));
-               AppendImportantMessage( /*<domain> added status message*/ _(" added."), -1); 
-       }
-
-       Buf = NewStrBuf();
-       serv_printf("CONF PUTSYS|application/x-citadel-internet-config");
-       StrBuf_ServGetln(Buf);
-       if (GetServerStatus(Buf, NULL) == 4) {
-               for (i = 0; i < (sizeof(CfgNames) / sizeof(ConstStr)); i++) {
-                       HashPos *where;
-                       const char *Key;
-                       long KeyLen;
-
-                       GetHash(WCC->InetCfg, CKEY(CfgNames[i]), &vHash);
-                       Hash = (HashList*) vHash;
-                       if (Hash == NULL) {
-                               AppendImportantMessage(_("Invalid Parameter"), -1);
-                               url_do_template();
-                               return;
-                       }
-                       if (GetCount(Hash) > 0) {
-                               where = GetNewHashPos(Hash, 0);
-                               while (GetNextHashPos(Hash, where, &KeyLen, &Key, &vStr)) {
-                                       Str = (StrBuf*) vStr;
-                                       if ((Str!= NULL) && (StrLength(Str) > 0))
-                                               serv_printf("%s|%s", ChrPtr(Str), CfgNames[i].Key); 
-                               }
-                               DeleteHashPos(&where);
-                       }                       
-               }
-               serv_puts("000");
-               DeleteHash(&WCC->InetCfg);
-       }
-       FreeStrBuf(&Buf);
-       url_do_template();
-}
-
-
-void DeleteInetConfHash(StrBuf *Target, WCTemplputParams *TP)
-{
-       wcsession *WCC = WC;
-
-       if (WCC->InetCfg != NULL)
-               DeleteHash(&WCC->InetCfg);
-
-}
-
-
-HashList *GetInetConfHash(StrBuf *Target, WCTemplputParams *TP)
-{
-       wcsession *WCC = WC;
-       void *vHash;
-
-       if (WCC->InetCfg == NULL)
-               load_inetconf();
-       GetHash(WCC->InetCfg, TKEY(5), &vHash);
-       PutBstr(HKEY("__SERVCFG:INET:TYPE"), NewStrBufPlain(TKEY(5)));
-       return vHash;
-}
-
-
-HashList *GetValidDomainNames(StrBuf *Target, WCTemplputParams *TP) 
-{
-       StrBuf *Line;
-       HashList *ValidDomainNames = NULL;
-       long State;
-       int gvdnlevel = 0;
-       
-       serv_printf("GVDN %d", gvdnlevel);
-       Line = NewStrBuf();
-       StrBuf_ServGetln(Line);
-       if (GetServerStatus(Line, &State) == 1) 
-       {
-               int Done = 0;
-               int n = 0;
-
-               ValidDomainNames = NewHash(1, NULL);
-               while(!Done && (StrBuf_ServGetln(Line) >= 0))
-                       if ( (StrLength(Line)==3) && 
-                            !strcmp(ChrPtr(Line), "000"))
-                       {
-                               Done = 1;
-                       }
-                       else
-                       {
-                               Put(ValidDomainNames, 
-                                   IKEY(n),
-                                   NewStrBufDup(Line), 
-                                   HFreeStrBuf);
-                               n++; /* #0 is the type... */
-                       }
-       }
-       else if (State == 550)
-               AppendImportantMessage(_("Higher access is required to access this function."), -1);
-
-       FreeStrBuf(&Line);
-
-       return ValidDomainNames;
-}
-
-
-
-void 
-InitModule_INETCONF
-(void)
-{
-       WebcitAddUrlHandler(HKEY("save_inetconf"), "", 0, new_save_inetconf, 0);
-       RegisterIterator("SERVCFG:INET", 1, NULL, GetInetConfHash, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
-       RegisterNamespace("SERVCFG:FLUSHINETCFG",0, 0, DeleteInetConfHash, NULL, CTX_NONE);
-       RegisterIterator("ITERATE:VALID:DOMAINNAMES", 1, NULL, GetValidDomainNames, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
-}