/*
* German (de) Data File
*
- * This file is part of the IPCop Firewall.
+ * This file is part of the IPFire.
*
* IPCop is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with IPCop; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
+ * (c) IPFire Team <info@ipfire.org>
+ *
+ * based on work of SmoothWall and IPCop
+ *
* (c) The SmoothWall Team
*
* IPCop translation
"Starte den DHCP-Server ...",
/* TR_DHCP_STOPSERVER */
"Stoppe den DHCP-Server ...",
+/* TR_LICENSE_ACCEPT */
+"Ich akzeptiere diese Lizens.",
+/* TR_LICENSE_NOT_ACCEPTED */
+"Die Lizens wurde nicht akzeptiert. Abbruch!",
+
};
/*
* English (en) Data File
*
- * This file is part of the IPCop Firewall.
+ * This file is part of the IPFire.
*
* IPCop is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with IPCop; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
+ * (c) IPFire Team <info@ipfire.org>
+ *
+ * based on work of SmoothWall and IPCop
+ *
* (c) The SmoothWall Team
*
*/
"Starting DHCP-Server ...",
/* TR_DHCP_STOPSERVER */
"Stopping DHCP-Server ...",
+/* TR_LICENSE_ACCEPT */
+"I accept this license.",
+/* TR_LICENSE_NOT_ACCEPTED */
+"License not accepted. Exit!",
};
/*
* Spanish (es) Data File
*
- * This file is part of the IPFire Firewall.
+ * This file is part of the IPFire.
*
* IPFire is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with IPFire; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
+ * (c) IPFire Team <info@ipfire.org>
+ *
*/
#include "libsmooth.h"
"Iniciando Servidor DHCP ...",
/* TR_DHCP_STOPSERVER */
"Deteniendo Servidor DHCP ...",
+/* TR_LICENSE_ACCEPT */
+"I accept this license.",
+/* TR_LICENSE_NOT_ACCEPTED */
+"License not accepted. Exit!",
};
/*
* French (fr) Data File
*
- * This file is part of the IPCop Firewall.
+ * This file is part of the IPFire.
*
* IPCop is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with IPCop; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * (c) The SmoothWall Team
- *
+ * (c) IPFire Team <info@ipfire.org>
+ *
*/
#include "libsmooth.h"
"Démarrage du serveur DHCP ...",
/* TR_DHCP_STOPSERVER */
"Arrêt du serveur DHCP ...",
+/* TR_LICENSE_ACCEPT */
+"I accept this license.",
+/* TR_LICENSE_NOT_ACCEPTED */
+"License not accepted. Exit!",
};
ipfiremake mbr
ipfiremake memtest
ipfiremake installer
+ cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/
installmake strip
ipfiremake initrd
}
int main(int argc, char *argv[])
{
+
+ char discl_msg[40000] = "Disclaimer\n";
+
char *langnames[] = { "Deutsch", "English", "Français", "Español", NULL };
char *shortlangnames[] = { "de", "en", "fr", "es", NULL };
char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, NULL };
int allok_fastexit=0;
int raid_disk = 0;
struct keyvalue *ethernetkv = initkeyvalues();
- FILE *handle, *cmdfile;
+ FILE *handle, *cmdfile, *copying;
char line[STRING_SIZE];
char string[STRING_SIZE];
long memory = 0, disk = 0, free;
}
}
+ // Read gpl ...
+ if (! (copying = fopen("/COPYING", "r")))
+ {
+ fprintf(flog, "Couldn't open gpl (/COPYING)\n");
+ sprintf(discl_msg, "Couldn't open gpl (/COPYING)\n");
+ } else {
+ fread(discl_msg, 1, 40000, copying);
+ fclose(copying);
+ }
+
// Load common modules
mysystem("/sbin/modprobe iso9660"); // CDROM
mysystem("/sbin/modprobe ext2"); // Boot patition
sprintf(message, ctr[TR_WELCOME], NAME);
newtWinMessage(title, ctr[TR_OK], message);
+ if (!unattended) {
+ if (disclaimerbox(discl_msg)==0) {
+ errorbox(ctr[TR_LICENSE_NOT_ACCEPTED]);
+ goto EXIT;
+ }
+ }
+
switch (mysystem("/bin/mountsource.sh")) {
case 0:
break;
void stripnl(char *s);
int mysystem(char *command);
void errorbox(char *message);
+int statuswindowscroll(int width, int height, char *title, char *text, ...);
+int disclaimerbox(char *message);
void statuswindow(int width, int height, char *title, char *text, ...);
int runcommandwithprogress(int width, int height, char *title, char *command,
int lines, char *text, ...);
newtWinMessage(ctr[TR_ERROR], ctr[TR_OK], message);
}
+int scrollmsgbox(int width, int height, char *title, char *text, ...)
+{
+ int rc = 0;
+ newtComponent t, f, b, c;
+ char *buf = NULL;
+ char checkbox;
+ int size = 0;
+ int i = 0;
+ va_list args;
+
+ va_start(args, text);
+
+ do {
+ size += 40000;
+ if (buf) free(buf);
+ buf = malloc(size);
+ i = vsnprintf(buf, size, text, args);
+ } while (i == size);
+
+ va_end(args);
+
+ newtCenteredWindow(width, height, title);
+
+ b = newtCompactButton(width - 15 ,height - 2, ctr[TR_OK]);
+ c = newtCheckbox(3, height - 2, ctr[TR_LICENSE_ACCEPT], ' ', " *", &checkbox);
+
+ t = newtTextbox(1, 1, width - 2, height - 4, NEWT_TEXTBOX_WRAP+NEWT_TEXTBOX_SCROLL);
+ newtTextboxSetText(t, buf);
+
+ f = newtForm(NULL, NULL, 0);
+ free(buf);
+
+ newtFormAddComponent(f, c);
+ newtFormAddComponent(f, b);
+ newtFormAddComponent(f, t);
+
+ newtRunForm(f);
+ if (checkbox=='*') rc=1;
+ newtFormDestroy(f);
+ return rc;
+}
+
+int disclaimerbox(char *message)
+{
+ int rc;
+ char title[STRING_SIZE];
+
+ sprintf (title, "%s v%s - %s", NAME, VERSION, SLOGAN);
+ rc = scrollmsgbox(75, 20, title, message);
+ newtPopWindow();
+
+ return rc;
+}
+
+
void statuswindow(int width, int height, char *title, char *text, ...)
{
newtComponent t, f;