4 * Functions which handle network and sharing configuration.
10 void edit_node(void) {
16 if (!strcmp(bstr("sc"), "OK")) {
17 strcpy(node, bstr("node") );
20 serv_puts("CONF getsys|application/x-citadel-ignet-config");
21 serv_getln(buf, sizeof buf);
23 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
24 extract_token(cnode, buf, 0, '|', sizeof cnode);
25 if (strcasecmp(node, cnode)) {
26 fprintf(fp, "%s\n", buf);
29 fprintf(fp, "%s|%s|%s|%s\n",
37 serv_puts("CONF putsys|application/x-citadel-ignet-config");
38 serv_getln(buf, sizeof buf);
40 while (fgets(buf, sizeof buf, fp) != NULL) {
41 buf[strlen(buf)-1] = 0;
55 void display_add_node(void)
57 output_headers(1, 1, 2, 0, 0, 0, 0);
58 wprintf("<div id=\"banner\">\n");
59 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
60 wprintf("<SPAN CLASS=\"titlebar\">Add new node</SPAN>");
61 wprintf("</TD></TR></TABLE>\n");
62 wprintf("</div>\n<div id=\"content\">\n");
64 wprintf("<FORM METHOD=\"POST\" ACTION=\"/edit_node\">\n");
65 wprintf("<CENTER><TABLE border=0>\n");
66 wprintf("<TR><TD>Node name</TD>");
67 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"16\"></TD></TR>\n");
68 wprintf("<TR><TD>Shared secret</TD>");
69 wprintf("<TD><INPUT TYPE=\"password\" NAME=\"secret\" MAXLENGTH=\"16\"></TD></TR>\n");
70 wprintf("<TR><TD>Host or IP</TD>");
71 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"host\" MAXLENGTH=\"64\"></TD></TR>\n");
72 wprintf("<TR><TD>Port</TD>");
73 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"port\" MAXLENGTH=\"8\"></TD></TR>\n");
74 wprintf("</TABLE><br />");
75 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
77 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
78 wprintf("</CENTER></FORM>\n");
83 void display_edit_node(void)
92 strcpy(node, bstr("node"));
94 output_headers(1, 1, 2, 0, 0, 0, 0);
95 wprintf("<div id=\"banner\">\n");
96 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
97 wprintf("<SPAN CLASS=\"titlebar\">Edit node configuration for ");
100 wprintf("</TD></TR></TABLE>\n");
101 wprintf("</div>\n<div id=\"content\">\n");
103 serv_puts("CONF getsys|application/x-citadel-ignet-config");
104 serv_getln(buf, sizeof buf);
106 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
107 extract_token(cnode, buf, 0, '|', sizeof cnode);
108 extract_token(csecret, buf, 1, '|', sizeof csecret);
109 extract_token(chost, buf, 2, '|', sizeof chost);
110 extract_token(cport, buf, 3, '|', sizeof cport);
112 if (!strcasecmp(node, cnode)) {
113 wprintf("<FORM METHOD=\"POST\" ACTION=\"/edit_node\">\n");
114 wprintf("<CENTER><TABLE border=0>\n");
115 wprintf("<TR><TD>Node name</TD>");
116 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"16\" VALUE=\"%s\"></TD></TR>\n", cnode);
117 wprintf("<TR><TD>Shared secret</TD>");
118 wprintf("<TD><INPUT TYPE=\"password\" NAME=\"secret\" MAXLENGTH=\"16\" VALUE=\"%s\"></TD></TR>\n", csecret);
119 wprintf("<TR><TD>Host or IP</TD>");
120 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"host\" MAXLENGTH=\"64\" VALUE=\"%s\"></TD></TR>\n", chost);
121 wprintf("<TR><TD>Port</TD>");
122 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"port\" MAXLENGTH=\"8\" VALUE=\"%s\"></TD></TR>\n", cport);
123 wprintf("</TABLE><br />");
124 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
126 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
127 wprintf("</CENTER></FORM>\n");
133 else { /* command error getting configuration */
134 wprintf("%s<br />\n", &buf[4]);
142 void display_netconf(void)
147 output_headers(1, 1, 2, 0, 0, 0, 0);
148 wprintf("<div id=\"banner\">\n");
149 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
150 wprintf("<SPAN CLASS=\"titlebar\">Network configuration</SPAN>\n");
151 wprintf("</TD></TR></TABLE>\n");
152 wprintf("</div>\n<div id=\"content\">\n");
155 wprintf("<A HREF=\"/display_add_node\">");
156 wprintf("Add a new node</A><br />\n");
157 wprintf("</CENTER>");
159 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
160 wprintf("<SPAN CLASS=\"titlebar\">Currently configured nodes</SPAN>\n");
161 wprintf("</TD></TR></TABLE>\n");
162 serv_puts("CONF getsys|application/x-citadel-ignet-config");
163 serv_getln(buf, sizeof buf);
165 wprintf("<CENTER><TABLE border=0>\n");
166 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
167 extract_token(node, buf, 0, '|', sizeof node);
168 wprintf("<TR><TD><FONT SIZE=+1>");
170 wprintf("</FONT></TD>");
171 wprintf("<TD><A HREF=\"/display_edit_node&node=");
173 wprintf("\">(Edit)</A></TD>");
174 wprintf("<TD><A HREF=\"/display_confirm_delete_node&node=");
176 wprintf("\">(Delete)</A></TD>");
179 wprintf("</TABLE></CENTER>\n");
185 void display_confirm_delete_node(void)
189 output_headers(1, 1, 2, 0, 0, 0, 0);
190 wprintf("<div id=\"banner\">\n");
191 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
192 wprintf("<SPAN CLASS=\"titlebar\">Confirm delete</SPAN>\n");
193 wprintf("</TD></TR></TABLE>\n");
194 wprintf("</div>\n<div id=\"content\">\n");
196 strcpy(node, bstr("node"));
197 wprintf("<CENTER>Are you sure you want to delete <FONT SIZE=+1>");
199 wprintf("</FONT>?<br />\n");
200 wprintf("<A HREF=\"/delete_node&node=");
202 wprintf("\">Yes</A> ");
203 wprintf("<A HREF=\"/display_netconf\">No</A><br />\n");
208 void delete_node(void)
215 strcpy(node, bstr("node") );
218 serv_puts("CONF getsys|application/x-citadel-ignet-config");
219 serv_getln(buf, sizeof buf);
221 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
222 extract_token(cnode, buf, 0, '|', sizeof cnode);
223 if (strcasecmp(node, cnode)) {
224 fprintf(fp, "%s\n", buf);
230 serv_puts("CONF putsys|application/x-citadel-ignet-config");
231 serv_getln(buf, sizeof buf);
233 while (fgets(buf, sizeof buf, fp) != NULL) {
234 buf[strlen(buf)-1] = 0;
252 strcpy(node, bstr("node"));
253 strcpy(sc, bstr("sc"));
255 if (!strcmp(sc, "Add")) {
256 sprintf(buf, "NSET addnode|%s", node);
258 serv_getln(buf, sizeof buf);
260 output_headers(1, 1, 0, 0, 0, 0, 0);
262 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
265 strcpy(WC->ImportantMessage, &buf[4]);