]> code.citadel.org Git - citadel.git/blobdiff - webcit/serv_func.c
Issue HTTP 502 and 503 errors instead of 200 followed by an error message, when appro...
[citadel.git] / webcit / serv_func.c
index 228c5b7e69ea8d4838fbca73ee9d25778da964d8..e812de3817b25f70feaa70afe0eadebef03d8364 100644 (file)
@@ -33,7 +33,6 @@ void DeleteServInfo(ServInfo **FreeMe)
        FreeStrBuf(&(*FreeMe)->serv_software);
        FreeStrBuf(&(*FreeMe)->serv_bbs_city);
        FreeStrBuf(&(*FreeMe)->serv_sysadm);
-       FreeStrBuf(&(*FreeMe)->serv_moreprompt);
        FreeStrBuf(&(*FreeMe)->serv_default_cal_zone);
        FreeStrBuf(&(*FreeMe)->serv_svn_revision);
        free(*FreeMe);
@@ -124,9 +123,6 @@ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent)
                case 7:
                        info->serv_sysadm = NewStrBufDup(Buf);
                        break;
-               case 9:
-                       info->serv_moreprompt = NewStrBufDup(Buf);
-                       break;
                case 14:
                        info->serv_supports_ldap = StrToi(Buf);
                        break;
@@ -148,6 +144,9 @@ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent)
                case 23:
                        info->serv_supports_openid = StrToi(Buf);
                        break;
+               case 24:
+                       info->serv_supports_guest = StrToi(Buf);
+                       break;
                }
                ++a;
        }
@@ -184,6 +183,8 @@ int GetConnected (void)
                /* Server isn't ready for us? */
                if (short_status != 2) {
                        if (Status == 571) {
+                               hprintf("HTTP/1.1 503 Service Unavailable\r\n");
+                               hprintf("Content-type: text/plain; charset=utf-8\r\n");
                                wc_printf(_("This server is already serving its maximum number of users and cannot accept any additional logins at this time.  Please try again later or contact your system administrator."));
                        }
                        else {
@@ -191,6 +192,8 @@ int GetConnected (void)
                                        Status,
                                        _("Received unexpected answer from Citadel server; bailing out.")
                                );
+                               hprintf("HTTP/1.1 502 Bad Gateway\r\n");
+                               hprintf("Content-type: text/plain; charset=utf-8\r\n");
                        }
                        end_burst();
                        end_webcit_session();
@@ -219,7 +222,7 @@ int GetConnected (void)
                if (WCC->serv_info == NULL){
                        begin_burst();
                        wc_printf(_("Received unexpected answer from Citadel server; bailing out."));
-                       hprintf("HTTP/1.1 200 OK\r\n");
+                       hprintf("HTTP/1.1 502 Bad Gateway\r\n");
                        hprintf("Content-type: text/plain; charset=utf-8\r\n");
                        end_burst();
                        end_webcit_session();