]> code.citadel.org Git - citadel.git/commitdiff
* migratenet almost finished
authorArt Cancro <ajc@citadel.org>
Sun, 28 Oct 2001 05:18:51 +0000 (05:18 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 28 Oct 2001 05:18:51 +0000 (05:18 +0000)
citadel/ChangeLog
citadel/migratenet.c
citadel/serv_network.c

index 0297e7f112eef6ce5511aba970995f0faa75b0b6..383a1edf25badf4e842a0a7080a1be4a8c98ca79 100644 (file)
@@ -1,4 +1,7 @@
  $Log$
+ Revision 580.70  2001/10/28 05:18:51  ajc
+ * migratenet almost finished
+
  Revision 580.69  2001/10/26 04:26:45  ajc
  * more work on the net migrator
 
@@ -2840,3 +2843,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import 
+
index 76faf87626751c6e5bd2f61f9ec2062d46281f49..74219ae58e050f36e3c329fe1aa35174b2170aba 100644 (file)
 #include "tools.h"
 #include "config.h"
 
+struct mn_roomlist {
+       struct mn_roomlist *next;
+       char roomname[SIZ];
+};
 
 void logoff(int code)
 {
@@ -39,6 +43,8 @@ int main(int argc, char **argv)
        char roomfilename[SIZ];
        FILE *nodefp;
        char nodefilename[SIZ];
+       struct mn_roomlist *mn = NULL;
+       struct mn_roomlist *mnptr = NULL;
 
        printf("\n\n\n\n\n"
 "This utility migrates your network settings (room sharing with other\n"
@@ -104,23 +110,29 @@ int main(int argc, char **argv)
                        fprintf(nodefp, "%s|", d->d_name);
                        printf("Enter shared secret: ");
                        gets(buf);
+                       if (buf[0] == 0) strcpy(buf, config.c_net_password);
                        fprintf(nodefp, "%s|", buf);
                        printf("Enter host name/IP : ");
                        gets(buf);
+                       if (buf[0] == 0) sprintf(buf, "%s.citadel.org",
+                               d->d_name);
                        fprintf(nodefp, "%s|", buf);
                        printf("Enter port number  : ");
                        gets(buf);
+                       if (buf[0] == 0) strcpy(buf, "504");
                        fprintf(nodefp, "%s\n", buf);
 
+                       fgets(buf, sizeof buf, fp);
+                       printf("skipping: %s", buf);
                        while (fgets(room, sizeof room, fp),
-                               fscanf(fp, "%ld\n", &thighest),
-                               !feof(fp) ) {
-                                       room[strlen(room) - 1] = 0;
-                                       fprintf(roomfp, "%s|%s\n",
-                                               d->d_name, room);
-                                       if (thighest > highest) {
-                                               highest = thighest;
-                                       }
+                             (fgets(buf, sizeof buf, fp) != NULL) ) {
+                               thighest = atol(buf),
+                               room[strlen(room) - 1] = 0;
+                               fprintf(roomfp, "%s|%s\n",
+                                       d->d_name, room);
+                               if (thighest > highest) {
+                                       highest = thighest;
+                               }
                        }
                        fclose(fp);
                }
@@ -166,16 +178,56 @@ int main(int argc, char **argv)
        while (fgets(room, sizeof room, roomfp) != NULL) {
                room[strlen(room)-1] = 0;
                if (strlen(room) > 0) {
-                       printf("Room <%s>\n", room);
+                       mnptr = (struct mn_roomlist *)
+                               malloc(sizeof (struct mn_roomlist));
+                       strcpy(mnptr->roomname, room);
+                       mnptr->next = mn;
+                       mn = mnptr;
                }
        }
 
        pclose(roomfp);
 
+       /* Enter configurations for each room... */
+       while (mn != NULL) {
+               printf("Room <%s>\n", mn->roomname);
+
+               sprintf(buf, "GOTO %s", mn->roomname);
+               serv_puts(buf);
+               serv_gets(buf);
+               if (buf[0] != '2') goto roomerror;
+
+               serv_puts("SNET");
+               serv_gets(buf);
+               if (buf[0] != '4') goto roomerror;
+
+               sprintf(buf, "lastsent|%ld", highest);
+               serv_puts(buf);
+
+               roomfp = fopen(roomfilename, "r");
+               if (roomfp != NULL) {
+                       while (fgets(buf, sizeof buf, roomfp) != NULL) {
+                               buf[strlen(buf)-1] = 0;
+                               extract(node, buf, 0);
+                               extract(room, buf, 1);
+                               if (!strcasecmp(room, mn->roomname)) {
+                                       sprintf(buf, 
+                                               "ignet_push_share|%s", node);
+                                       serv_puts(buf);
+                               }
+                       }
+                       fclose(roomfp);
+               }
+
+               serv_puts("000");
+
+roomerror:     /* free this record */
+               mnptr = mn->next;
+               free(mn);
+               mn = mnptr;
+       }
+
        unlink(roomfilename);
        unlink(nodefilename);
        return(0);
 }
-
-
-
index 026fc93d1b43d2eb1e57eb5eee0d4f695c34c34c..382fdc22bcc3f7344d0f5f234edde6cb284ce287 100644 (file)
@@ -1387,7 +1387,7 @@ void cmd_netp(char *cmdbuf)
 char *Dynamic_Module_Init(void)
 {
        CtdlRegisterProtoHook(cmd_gnet, "GNET", "Get network config");
-       CtdlRegisterProtoHook(cmd_snet, "SNET", "Get network config");
+       CtdlRegisterProtoHook(cmd_snet, "SNET", "Set network config");
        CtdlRegisterProtoHook(cmd_netp, "NETP", "Identify as network poller");
        CtdlRegisterSessionHook(network_do_queue, EVT_TIMER);
        return "$Id$";