* inability to structure GUI programs properly. Looking at it too
* closely may cause ocular hemorrhaging. */
+#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
-#include <malloc.h>
#include <stdarg.h>
#include <gtk/gtk.h>
#include <sys/socket.h>
{
if(!wcscmp(resp->cmdname, L".connect"))
{
- if(resp->code == 200)
+ if(resp->code != 201)
{
+ msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("The server refused the connection"));
+ dc_disconnect();
+ dcdisconnected();
+ } else if(dc_checkprotocol(resp, DC_LATEST)) {
+ msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Server protocol revision mismatch"));
+ dc_disconnect();
+ dcdisconnected();
+ } else {
tosbuf = 0x10; /* Minimum cost */
setsockopt(dcfd, SOL_IP, IP_TOS, &tosbuf, sizeof(tosbuf));
updatesbar(_("Connected"));
dc_loginasync(connectas, 1, loginconv, logincallback, NULL);
- } else {
- msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("The server refused the connection"));
- dc_disconnect();
- dcdisconnected();
}
} else if(!wcscmp(resp->cmdname, L".notify")) {
dc_uimisc_handlenotify(resp);
void dcconnect(char *host)
{
- dcfd = dc_connect(host, -1);
+ dcfd = dc_connect(host);
if(dcfd < 0)
{
msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Could not connect:\n\n%s"), strerror(errno));
gtk_init(&argc, &argv);
dc_init();
signal(SIGCHLD, SIG_IGN);
- pubhubaddr = sstrdup("http://www.hublist.org/PublicHubList.config.bz2");
- dcserver = sstrdup("localhost");
+ pubhubaddr = sstrdup("http://www.hublist.org/PublicHubList.xml.bz2");
+ dcserver = sstrdup("");
if((pwent = getpwuid(getuid())) == NULL)
{
fprintf(stderr, "could not get your passwd data");