Add force dhcp mtu option to setup.

This commit is contained in:
Arne Fitzenreiter
2010-11-30 21:58:20 +01:00
parent 0c719f9351
commit f9c750efad
6 changed files with 36 additions and 6 deletions

View File

@@ -13,4 +13,5 @@ var/ipfire/general-functions.pl
var/ipfire/extrahd/bin/extrahd.pl
usr/local/bin/rebuild-initrd
usr/local/bin/scanhd
usr/local/sbin/setup
usr/bin/ldd

View File

@@ -589,4 +589,6 @@ char *de_tr[] = {
"Lade Installations-Abbild ...",
/* TR_DOWNLOAD_ERROR */
"Beim Herunterladen ist ein Fehler aufgetreten!",
/* TR_DHCP_FORCE_MTU */
"DHCP MTU setzen:",
};

View File

@@ -585,4 +585,6 @@ char *en_tr[] = {
"Downloading Installation-Image ...",
/* TR_DOWNLOAD_ERROR */
"Error while downloading!",
/* TR_DHCP_FORCE_MTU */
"Force DHCP mtu:",
};

View File

@@ -581,4 +581,6 @@ char *es_tr[] = {
"Downloading Installation-Image ...",
/* TR_DOWNLOAD_ERROR */
"Error while downloading!",
/* TR_DHCP_FORCE_MTU */
"Force DHCP mtu:",
};

View File

@@ -581,4 +581,6 @@ char *fr_tr[] = {
"Downloading Installation-Image ...",
/* TR_DOWNLOAD_ERROR */
"Error while downloading!",
/* TR_DHCP_FORCE_MTU */
"Force DHCP mtu:",
};

View File

@@ -31,6 +31,7 @@ newtComponent statictyperadio;
newtComponent dhcptyperadio;
newtComponent pppoetyperadio;
newtComponent dhcphostnameentry;
newtComponent dhcpforcemtuentry;
/* acceptable character filter for IP and netmaks entry boxes */
static int ip_input_filter(newtComponent entry, void * data, int ch, int cursor)
@@ -49,11 +50,13 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
char *addressresult;
char *netmaskresult;
char *dhcphostnameresult;
char *dhcpforcemturesult;
struct newtExitStruct es;
newtComponent header;
newtComponent addresslabel;
newtComponent netmasklabel;
newtComponent dhcphostnamelabel;
newtComponent dhcpforcemtulabel;
newtComponent ok, cancel;
char message[1000];
char temp[STRING_SIZE];
@@ -61,6 +64,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
char netmaskfield[STRING_SIZE];
char typefield[STRING_SIZE];
char dhcphostnamefield[STRING_SIZE];
char dhcpforcemtufield[STRING_SIZE];
int error;
int result = 0;
char type[STRING_SIZE];
@@ -73,6 +77,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
sprintf(netmaskfield, "%s_NETMASK", colour);
sprintf(typefield, "%s_TYPE", colour);
sprintf(dhcphostnamefield, "%s_DHCP_HOSTNAME", colour);
sprintf(dhcpforcemtufield, "%s_DHCP_FORCE_MTU", colour);
sprintf(message, ctr[TR_INTERFACE], colour);
newtCenteredWindow(44, (typeflag ? 18 : 12), message);
@@ -99,15 +104,25 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
newtComponentAddCallback(statictyperadio, networkdialogcallbacktype, NULL);
newtComponentAddCallback(dhcptyperadio, networkdialogcallbacktype, NULL);
newtComponentAddCallback(pppoetyperadio, networkdialogcallbacktype, NULL);
dhcphostnamelabel = newtTextbox(2, 9, 18, 1, 0);
dhcphostnamelabel = newtTextbox(2, 8, 18, 1, 0);
newtTextboxSetText(dhcphostnamelabel, ctr[TR_DHCP_HOSTNAME]);
dhcpforcemtulabel = newtTextbox(2, 9, 18, 1, 0);
newtTextboxSetText(dhcpforcemtulabel, ctr[TR_DHCP_FORCE_MTU]);
strcpy(temp, defaultdhcphostname);
findkey(kv, dhcphostnamefield, temp);
dhcphostnameentry = newtEntry(20, 9, temp, 20, &dhcphostnameresult, 0);
newtFormAddComponent(networkform, dhcphostnamelabel);
newtFormAddComponent(networkform, dhcphostnameentry);
dhcphostnameentry = newtEntry(20, 8, temp, 20, &dhcphostnameresult, 0);
strcpy(temp, "");
findkey(kv, dhcpforcemtufield, temp);
dhcpforcemtuentry = newtEntry(20, 9, temp, 20, &dhcpforcemturesult, 0);
newtFormAddComponent(networkform, dhcphostnamelabel);
newtFormAddComponent(networkform, dhcphostnameentry);
newtFormAddComponent(networkform, dhcpforcemtulabel);
newtFormAddComponent(networkform, dhcpforcemtuentry);
if (startdhcptype == 0)
newtEntrySetFlags(dhcphostnameentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
{
newtEntrySetFlags(dhcphostnameentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
newtEntrySetFlags(dhcpforcemtuentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
}
}
/* Address */
addresslabel = newtTextbox(2, (typeflag ? 11 : 4) + 0, 18, 1, 0);
@@ -184,6 +199,7 @@ int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
if (typeflag)
{
replacekeyvalue(kv, dhcphostnamefield, dhcphostnameresult);
replacekeyvalue(kv, dhcpforcemtufield, dhcpforcemturesult);
if (strcmp(type, "STATIC") != 0)
{
replacekeyvalue(kv, addressfield, "0.0.0.0");
@@ -296,10 +312,15 @@ void networkdialogcallbacktype(newtComponent cm, void *data)
newtEntrySetFlags(netmaskentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_RESET);
}
if (strcmp(type, "DHCP") == 0)
{
newtEntrySetFlags(dhcphostnameentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_RESET);
newtEntrySetFlags(dhcpforcemtuentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_RESET);
}
else
{
newtEntrySetFlags(dhcphostnameentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
newtEntrySetFlags(dhcpforcemtuentry, NEWT_FLAG_DISABLED, NEWT_FLAGS_SET);
}
newtRefresh();
newtDrawForm(networkform);
}