mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Ich hab mal ein bisschen die Arbeit vom Cuebernommen :D
Aber trotzdem geht die Routine noch kein bisschen. SegFault :( Ansonsten: Busyboy erweitert, PCMCIA Support begonnen zu entfernen git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@375 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
@@ -17,7 +17,7 @@ usr/share/mc/cedit.menu
|
||||
usr/share/mc/edit.indent.rc
|
||||
usr/share/mc/edit.spell.rc
|
||||
#usr/share/mc/extfs
|
||||
usr/share/mc/extfs/README
|
||||
#usr/share/mc/extfs/README
|
||||
usr/share/mc/extfs/a
|
||||
usr/share/mc/extfs/apt
|
||||
usr/share/mc/extfs/audio
|
||||
@@ -28,6 +28,7 @@ usr/share/mc/extfs/debd
|
||||
usr/share/mc/extfs/dpkg
|
||||
usr/share/mc/extfs/extfs.ini
|
||||
usr/share/mc/extfs/hp48
|
||||
usr/share/mc/extfs/iso9660
|
||||
usr/share/mc/extfs/lslR
|
||||
usr/share/mc/extfs/mailfs
|
||||
usr/share/mc/extfs/patchfs
|
||||
@@ -51,27 +52,33 @@ usr/share/mc/mc.hint
|
||||
#usr/share/mc/mc.hint.nl
|
||||
#usr/share/mc/mc.hint.pl
|
||||
#usr/share/mc/mc.hint.ru
|
||||
#usr/share/mc/mc.hint.sr
|
||||
#usr/share/mc/mc.hint.uk
|
||||
#usr/share/mc/mc.hint.zh
|
||||
#usr/share/mc/mc.hint.sr
|
||||
#usr/share/mc/mc.menu.sr
|
||||
usr/share/mc/mc.hlp
|
||||
usr/share/mc/mc.lib
|
||||
usr/share/mc/mc.menu
|
||||
#usr/share/mc/mc.menu.sr
|
||||
#usr/share/mc/syntax
|
||||
usr/share/mc/syntax/Syntax
|
||||
usr/share/mc/syntax/ada95.syntax
|
||||
usr/share/mc/syntax/aspx.syntax
|
||||
usr/share/mc/syntax/assembler.syntax
|
||||
usr/share/mc/syntax/c.syntax
|
||||
usr/share/mc/syntax/changelog.syntax
|
||||
usr/share/mc/syntax/cs.syntax
|
||||
usr/share/mc/syntax/diff.syntax
|
||||
usr/share/mc/syntax/dos.syntax
|
||||
usr/share/mc/syntax/eiffel.syntax
|
||||
usr/share/mc/syntax/fortran.syntax
|
||||
usr/share/mc/syntax/html.syntax
|
||||
usr/share/mc/syntax/idl.syntax
|
||||
usr/share/mc/syntax/java.syntax
|
||||
usr/share/mc/syntax/js.syntax
|
||||
usr/share/mc/syntax/latex.syntax
|
||||
usr/share/mc/syntax/lisp.syntax
|
||||
usr/share/mc/syntax/lsm.syntax
|
||||
usr/share/mc/syntax/lua.syntax
|
||||
usr/share/mc/syntax/m4.syntax
|
||||
usr/share/mc/syntax/mail.syntax
|
||||
usr/share/mc/syntax/makefile.syntax
|
||||
@@ -82,7 +89,9 @@ usr/share/mc/syntax/pascal.syntax
|
||||
usr/share/mc/syntax/perl.syntax
|
||||
usr/share/mc/syntax/php.syntax
|
||||
usr/share/mc/syntax/po.syntax
|
||||
usr/share/mc/syntax/povray.syntax
|
||||
usr/share/mc/syntax/python.syntax
|
||||
usr/share/mc/syntax/ruby.syntax
|
||||
usr/share/mc/syntax/sh.syntax
|
||||
usr/share/mc/syntax/slang.syntax
|
||||
usr/share/mc/syntax/smalltalk.syntax
|
||||
@@ -94,20 +103,3 @@ usr/share/mc/syntax/tcl.syntax
|
||||
usr/share/mc/syntax/texinfo.syntax
|
||||
usr/share/mc/syntax/unknown.syntax
|
||||
usr/share/mc/syntax/xml.syntax
|
||||
#usr/share/mc/term
|
||||
#usr/share/mc/term/README.xterm
|
||||
usr/share/mc/term/ansi.ti
|
||||
usr/share/mc/term/linux.ti
|
||||
usr/share/mc/term/vt100.ti
|
||||
usr/share/mc/term/xterm.ad
|
||||
usr/share/mc/term/xterm.tcap
|
||||
usr/share/mc/term/xterm.ti
|
||||
usr/share/mc/extfs/iso9660
|
||||
usr/share/mc/syntax/aspx.syntax
|
||||
usr/share/mc/syntax/assembler.syntax
|
||||
usr/share/mc/syntax/cs.syntax
|
||||
usr/share/mc/syntax/eiffel.syntax
|
||||
usr/share/mc/syntax/idl.syntax
|
||||
usr/share/mc/syntax/lua.syntax
|
||||
usr/share/mc/syntax/povray.syntax
|
||||
usr/share/mc/syntax/ruby.syntax
|
||||
|
||||
@@ -236,17 +236,17 @@ CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
#
|
||||
# Console Utilities
|
||||
#
|
||||
# CONFIG_CHVT is not set
|
||||
# CONFIG_CLEAR is not set
|
||||
CONFIG_CHVT=y
|
||||
CONFIG_CLEAR=y
|
||||
# CONFIG_DEALLOCVT is not set
|
||||
# CONFIG_DUMPKMAP is not set
|
||||
# CONFIG_LOADFONT is not set
|
||||
# CONFIG_LOADKMAP is not set
|
||||
CONFIG_LOADFONT=y
|
||||
CONFIG_LOADKMAP=y
|
||||
# CONFIG_OPENVT is not set
|
||||
# CONFIG_RESET is not set
|
||||
# CONFIG_SETCONSOLE is not set
|
||||
CONFIG_SETCONSOLE=y
|
||||
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
|
||||
# CONFIG_SETKEYCODES is not set
|
||||
CONFIG_SETKEYCODES=y
|
||||
# CONFIG_SETLOGCONS is not set
|
||||
|
||||
#
|
||||
@@ -266,7 +266,7 @@ CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
# CONFIG_AWK is not set
|
||||
CONFIG_AWK=y
|
||||
# CONFIG_FEATURE_AWK_MATH is not set
|
||||
# CONFIG_ED is not set
|
||||
# CONFIG_PATCH is not set
|
||||
@@ -502,7 +502,7 @@ CONFIG_FEATURE_IFCONFIG_STATUS=y
|
||||
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_HW is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
|
||||
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
||||
# CONFIG_IFUPDOWN is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
|
||||
@@ -517,10 +517,10 @@ CONFIG_FEATURE_IFCONFIG_STATUS=y
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
|
||||
# CONFIG_FEATURE_INETD_RPC is not set
|
||||
# CONFIG_IP is not set
|
||||
# CONFIG_FEATURE_IP_ADDRESS is not set
|
||||
# CONFIG_FEATURE_IP_LINK is not set
|
||||
# CONFIG_FEATURE_IP_ROUTE is not set
|
||||
CONFIG_IP=y
|
||||
CONFIG_FEATURE_IP_ADDRESS=y
|
||||
CONFIG_FEATURE_IP_LINK=y
|
||||
CONFIG_FEATURE_IP_ROUTE=y
|
||||
# CONFIG_FEATURE_IP_TUNNEL is not set
|
||||
# CONFIG_FEATURE_IP_SHORT_FORMS is not set
|
||||
# CONFIG_IPADDR is not set
|
||||
@@ -545,7 +545,7 @@ CONFIG_ROUTE=y
|
||||
# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
|
||||
# CONFIG_TELNETD is not set
|
||||
# CONFIG_FEATURE_TELNETD_INETD is not set
|
||||
CONFIG_TFTP=y
|
||||
# CONFIG_TFTP is not set
|
||||
# CONFIG_FEATURE_TFTP_GET is not set
|
||||
# CONFIG_FEATURE_TFTP_PUT is not set
|
||||
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
|
||||
@@ -608,14 +608,14 @@ CONFIG_ASH_JOB_CONTROL=y
|
||||
CONFIG_ASH_ALIAS=y
|
||||
CONFIG_ASH_MATH_SUPPORT=y
|
||||
# CONFIG_ASH_MATH_SUPPORT_64 is not set
|
||||
# CONFIG_ASH_GETOPTS is not set
|
||||
# CONFIG_ASH_BUILTIN_ECHO is not set
|
||||
# CONFIG_ASH_BUILTIN_TEST is not set
|
||||
CONFIG_ASH_GETOPTS=y
|
||||
CONFIG_ASH_BUILTIN_ECHO=y
|
||||
CONFIG_ASH_BUILTIN_TEST=y
|
||||
# CONFIG_ASH_CMDCMD is not set
|
||||
# CONFIG_ASH_MAIL is not set
|
||||
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_ASH_RANDOM_SUPPORT is not set
|
||||
# CONFIG_ASH_EXPAND_PRMT is not set
|
||||
CONFIG_ASH_EXPAND_PRMT=y
|
||||
# CONFIG_HUSH is not set
|
||||
# CONFIG_LASH is not set
|
||||
# CONFIG_MSH is not set
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
* ccache-2.4
|
||||
* cdrtools-2.01
|
||||
* cftp-0.12
|
||||
* clamav-0.88.6
|
||||
* clamav-0.88.7
|
||||
* coreutils-5.96
|
||||
* cups-1.2.2
|
||||
@@ -84,7 +83,6 @@
|
||||
* glib-2.9.6
|
||||
* glibc-2.3.6
|
||||
* gmp-4.2
|
||||
* gnump3d-2.9.8
|
||||
* gnump3d-2.9.9.9
|
||||
* gnupg-1.4.5
|
||||
* grep-2.5.1a
|
||||
@@ -142,7 +140,6 @@
|
||||
* make-3.80
|
||||
* man-db-2.4.3
|
||||
* man-pages-2.34
|
||||
* mc-4.6.0
|
||||
* mc-4.6.1
|
||||
* memtest86+-1.65
|
||||
* mingetty_1.07
|
||||
@@ -195,7 +192,7 @@
|
||||
* rp-pppoe-3.8
|
||||
* rrdtool-1.2.15
|
||||
* rsync-2.6.8
|
||||
* samba-3.0.23b
|
||||
* samba-3.0.23d
|
||||
* screen-4.0.2
|
||||
* sed-4.1.5
|
||||
* setserial-2.17
|
||||
@@ -239,6 +236,5 @@
|
||||
* xmbmon205
|
||||
* xvidcore-1.1.0
|
||||
* yasuc-0.4.1
|
||||
* zaptel-1.2.10
|
||||
* zaptel-1.4.0
|
||||
* zlib-1.2.3
|
||||
|
||||
5
lfs/mc
5
lfs/mc
@@ -72,8 +72,9 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --without-x --disable-nls \
|
||||
--with-screen=mcslang --with-samba
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr \
|
||||
--without-x --disable-nls \
|
||||
--with-samba
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make install
|
||||
@rm -rf $(DIR_APP)
|
||||
|
||||
@@ -47,13 +47,6 @@ case "${1}" in
|
||||
# Remove possible leftover files
|
||||
rm -f CONFIG_ROOT/red/{active,device,dial-on-demand,dns1,dns2,local-ipaddress,remote-ipaddress,resolv.conf}
|
||||
|
||||
# This won't actually do anything unless a PCMCIA controller was
|
||||
# detected at install time, because /etc/pcmcia.conf won't exist.
|
||||
/etc/rc.d/rc.pcmcia start
|
||||
# Now, just in case we found a PCMCIA USB controller, we'll need to reload
|
||||
# the USB here.
|
||||
/usr/local/bin/resetusb
|
||||
|
||||
# The 'for' loop force driver loading order
|
||||
for NIC in 0 1 2 3; do
|
||||
ETHX="eth${NIC}"
|
||||
@@ -83,12 +76,6 @@ case "${1}" in
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d /proc/bus/pccard ]; then
|
||||
boot_mesg "Initializing PCMCIA cardbus modems"
|
||||
modprobe serial_cb
|
||||
evaluate_retval
|
||||
fi
|
||||
|
||||
boot_mesg "Setting up IPFire firewall rules"
|
||||
/etc/rc.d/init.d/firewall start; evaluate_retval
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define CDROM_INSTALL 0
|
||||
#define URL_INSTALL 1
|
||||
#define DISK_INSTALL 2
|
||||
#define INST_FILECOUNT 5600
|
||||
#define INST_FILECOUNT 6600
|
||||
#define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
|
||||
|
||||
int raid_disk = 0;
|
||||
@@ -288,23 +288,6 @@ int main(int argc, char *argv[])
|
||||
fprintf(flog, "Manual FDISK selected.\n");
|
||||
fdisk = 1;
|
||||
}
|
||||
if (strstr (line, "nopcmcia") == NULL) {
|
||||
fprintf(flog, "Initializing PCMCIA controllers.\n");
|
||||
pcmcia = initialize_pcmcia();
|
||||
if (pcmcia) {
|
||||
fprintf (flog, "Detected PCMCIA Controller: %s.\n", pcmcia);
|
||||
sprintf(commandstring, "/sbin/modprobe %s", pcmcia);
|
||||
mysystem("/sbin/modprobe pcmcia_core");
|
||||
mysystem(commandstring);
|
||||
mysystem("/sbin/modprobe ds");
|
||||
/* pcmcia netcard drivers are not available from Boot floppy,
|
||||
* they will be loaded from Drivers floppy later */
|
||||
} else {
|
||||
fprintf (flog, "Detected No PCMCIA Controller.\n");
|
||||
}
|
||||
} else {
|
||||
fprintf(flog, "Skipping PCMCIA detection.\n");
|
||||
}
|
||||
if (strstr (line, "nousb") == NULL) {
|
||||
fprintf(flog, "Initializing USB controllers.\n");
|
||||
initialize_usb();
|
||||
@@ -697,30 +680,6 @@ int main(int argc, char *argv[])
|
||||
/* Rename uname */
|
||||
rename ("/harddisk/bin/uname.bak", "/harddisk/bin/uname");
|
||||
|
||||
/* Write PCMCIA Config */
|
||||
if (pcmcia) {
|
||||
handle = fopen("/harddisk/etc/modules.conf", "a");
|
||||
if (handle != NULL) {
|
||||
fprintf (handle, "# PCMCIA Settings\n");
|
||||
fprintf (handle, "alias pcmcia-controller %s\n", pcmcia);
|
||||
fclose(handle);
|
||||
}
|
||||
}
|
||||
|
||||
handle = fopen("/harddisk/etc/pcmcia.conf", "w");
|
||||
if (handle != NULL) {
|
||||
if (pcmcia) {
|
||||
fprintf (handle, "PCMCIA=yes\n");
|
||||
fprintf (handle, "PCIC=%s\n", pcmcia);
|
||||
} else {
|
||||
fprintf (handle, "PCMCIA=no\n");
|
||||
fprintf (handle, "PCIC=\n");
|
||||
}
|
||||
fprintf (handle, "CARDMGR_OPTS=\n");
|
||||
fprintf (handle, "SCHEME=\n");
|
||||
fclose(handle);
|
||||
}
|
||||
|
||||
/* *always* write disk configuration */
|
||||
if (!(write_disk_configs(&hdparams))){
|
||||
errorbox(ctr[TR_ERROR_WRITING_CONFIG]);
|
||||
|
||||
@@ -24,89 +24,47 @@ extern struct nic nics[];
|
||||
|
||||
int networkmenu(struct keyvalue *ethernetkv)
|
||||
{
|
||||
int i;
|
||||
int count;
|
||||
char nics;
|
||||
char number;
|
||||
char cbValue;
|
||||
int rc;
|
||||
char driver[STRING_SIZE] = "";
|
||||
char driveroptions[STRING_SIZE] = "";
|
||||
struct keyvalue *kv = initkeyvalues();
|
||||
int result = 0;
|
||||
char commandstring[STRING_SIZE];
|
||||
char address[STRING_SIZE], netmask[STRING_SIZE];
|
||||
FILE *handle;
|
||||
int done;
|
||||
char description[1000];
|
||||
char message[1000];
|
||||
char title[STRING_SIZE];
|
||||
done = 0;
|
||||
|
||||
/* Detect and count nics */
|
||||
count = mysystem("/bin/probenic.sh count");
|
||||
fprintf(flog, "Number of detected nics: %s\n", count);
|
||||
|
||||
/* sprintf(commandstring, "/bin/probenic.sh");
|
||||
sprintf(message, ctr[TR_PROBING_FOR_NICS]);
|
||||
runcommandwithstatus(commandstring, message); */
|
||||
|
||||
/* handle = fopen("/nicdriver", "r");
|
||||
fgets(nics, STRING_SIZE, handle);
|
||||
fclose(handle); */
|
||||
|
||||
/* fprintf(flog, "Detected NIC drivers: %s\n",driver); */
|
||||
|
||||
/* sprintf (title, "%s %s - %s", NAME, VERSION, SLOGAN);
|
||||
sprintf(message, ctr[TR_FOUND_NIC], NAME, description);
|
||||
newtWinMessage(title, ctr[TR_OK], message); */
|
||||
|
||||
newtComponent form, checkbox, rb[count], button;
|
||||
newtOpenWindow(10, 5, 60, 11, "Checkboxes and Radio buttons");
|
||||
|
||||
for (i = 1; i <= 2; i++)
|
||||
while (!done)
|
||||
{
|
||||
fprintf(flog, "Scan: %d\n", i);
|
||||
snprintf(commandstring, STRING_SIZE, "/bin/probenic.sh %i", i);
|
||||
mysystem(commandstring);
|
||||
if ((handle = fopen("/nicdriver", "r")) == NULL) {
|
||||
errorbox(ctr[TR_ERROR]);
|
||||
goto EXIT;
|
||||
}
|
||||
fgets(driver, STRING_SIZE, handle);
|
||||
fclose(handle);
|
||||
findnicdescription(driver, description);
|
||||
if ( i == 0 )
|
||||
rb[i] = newtRadiobutton(1, i+2, description, 1, NULL);
|
||||
rc = newtWinTernary(ctr[TR_CONFIGURE_NETWORKING], ctr[TR_PROBE],
|
||||
ctr[TR_SELECT], ctr[TR_CANCEL], ctr[TR_CONFIGURE_NETWORKING_LONG]);
|
||||
|
||||
if (rc == 0 || rc == 1)
|
||||
{
|
||||
probecards(driver, driveroptions);
|
||||
if (!strlen(driver))
|
||||
errorbox(ctr[TR_PROBE_FAILED]);
|
||||
else
|
||||
{
|
||||
findnicdescription(driver, description);
|
||||
sprintf (title, "%s v%s - %s", NAME, VERSION, SLOGAN);
|
||||
sprintf(message, ctr[TR_FOUND_NIC], NAME, description);
|
||||
newtWinMessage(title, ctr[TR_OK], message);
|
||||
}
|
||||
}
|
||||
else if (rc == 2)
|
||||
choosecards(driver, driveroptions);
|
||||
else
|
||||
rb[i] = newtRadiobutton(1, i+2, description, 0, rb[i-1]);
|
||||
}
|
||||
|
||||
button = newtButton(1, count+3, "OK");
|
||||
|
||||
form = newtForm(NULL, NULL, 0);
|
||||
newtFormAddComponent(form, checkbox);
|
||||
for (i = 1; i <= 2; i++) {
|
||||
fprintf(flog, "Add: %d\n", i);
|
||||
newtFormAddComponent(form, rb[i]);
|
||||
done = 1;
|
||||
|
||||
if (strlen(driver))
|
||||
done = 1;
|
||||
}
|
||||
newtFormAddComponent(form, button);
|
||||
|
||||
newtRunForm(form);
|
||||
newtFinished();
|
||||
|
||||
for (i = 1; i <= 2; i++)
|
||||
if (newtRadioGetCurrent(rb[0]) == rb[i])
|
||||
printf("radio button picked: %d\n", i);
|
||||
newtFormDestroy(form);
|
||||
|
||||
|
||||
/* snprintf(commandstring, STRING_SIZE, "/bin/probenic.sh 1");
|
||||
mysystem(commandstring);
|
||||
if ((handle = fopen("/nicdriver", "r")) == NULL) {
|
||||
errorbox(ctr[TR_ERROR]);
|
||||
|
||||
if (!strlen(driver))
|
||||
goto EXIT;
|
||||
}
|
||||
fgets(driver, STRING_SIZE, handle);
|
||||
fprintf(flog, "Green nic driver: %s\n", driver);
|
||||
fclose(handle); */
|
||||
|
||||
/* Default is a GREEN nic only. */
|
||||
/* Smoothie is not untarred yet, so we have to delay actually writing the
|
||||
@@ -134,8 +92,6 @@ int networkmenu(struct keyvalue *ethernetkv)
|
||||
result = 1;
|
||||
|
||||
EXIT:
|
||||
freekeyvalues(kv);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
MODULES=$(/bin/kudzu -qps -t 30 -c NETWORK | grep driver | cut -d ' ' -f 2 | sort)
|
||||
|
||||
if [ "$1" == "count" ]; then
|
||||
echo $(echo $MODULES | wc -l)
|
||||
/bin/kudzu -qps -t 30 -c NETWORK | grep driver | wc -l | awk '{ print $1 }' > /drivercount
|
||||
exit 0
|
||||
else
|
||||
NUMBER=$1
|
||||
fi
|
||||
|
||||
@@ -1,99 +1,104 @@
|
||||
/* SmoothWall libsmooth.
|
||||
*
|
||||
* This program is distributed under the terms of the GNU General Public
|
||||
* Licence. See the file COPYING for details.
|
||||
*
|
||||
* (c) Lawrence Manning, 2001
|
||||
* Contains prototypes for library functions.
|
||||
*
|
||||
* $Id: libsmooth.h,v 1.4.2.3 2005/10/30 23:25:35 franck78 Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ___LIBSMOOTH_H
|
||||
#define ___LIBSMOOTH_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <wchar.h>
|
||||
#include <locale.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <newt.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/mount.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#include <linux/cdrom.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include "langs.h"
|
||||
|
||||
#define STRING_SIZE 1023
|
||||
|
||||
#define ADDRESS 0
|
||||
#define NETADDRESS 1
|
||||
#define NETMASK 2
|
||||
#define DHCP 3
|
||||
#define NETCHANGE_TOTAL 4
|
||||
|
||||
struct keyvalue
|
||||
{
|
||||
char key[STRING_SIZE];
|
||||
char value[STRING_SIZE];
|
||||
struct keyvalue *next;
|
||||
};
|
||||
|
||||
/* for stuff in net.c */
|
||||
struct nic
|
||||
{
|
||||
char *description;
|
||||
char *modulename;
|
||||
};
|
||||
|
||||
/* libsmooth.c */
|
||||
void reboot(void);
|
||||
void stripnl(char *s);
|
||||
int mysystem(char *command);
|
||||
void errorbox(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, ...);
|
||||
int runcommandwithstatus(char *command, char *message);
|
||||
int runhiddencommandwithstatus(char *command, char *message);
|
||||
int checkformodule(char *module);
|
||||
int replace(char filename1[], char *from, char *to);
|
||||
char* get_version(void);
|
||||
|
||||
/* netstuff.c */
|
||||
int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
|
||||
char *defaultdhcphostname);
|
||||
int gettype(char *type);
|
||||
int setnetaddress(struct keyvalue *kv, char *colour);
|
||||
void networkdialogcallbacktype(newtComponent cm, void *data);
|
||||
int interfacecheck(struct keyvalue *kv, char *colour);
|
||||
int probecards(char *driver, char *driveroptions);
|
||||
int choosecards(char *driver, char *driveroptions);
|
||||
int manualdriver(char *driver, char *driveroptions);
|
||||
int countcards(void);
|
||||
int findnicdescription(char *modulename, char *description);
|
||||
|
||||
/* data.c */
|
||||
struct keyvalue *initkeyvalues(void);
|
||||
void freekeyvalues(struct keyvalue *head);
|
||||
int readkeyvalues(struct keyvalue *head, char *filename);
|
||||
int writekeyvalues(struct keyvalue *head, char *filename);
|
||||
int findkey(struct keyvalue *head, char *key, char *value);
|
||||
void appendkeyvalue(struct keyvalue *head, char *key, char *value);
|
||||
void replacekeyvalue(struct keyvalue *head, char *key, char *value);
|
||||
|
||||
#endif
|
||||
|
||||
/* SmoothWall libsmooth.
|
||||
*
|
||||
* This program is distributed under the terms of the GNU General Public
|
||||
* Licence. See the file COPYING for details.
|
||||
*
|
||||
* (c) Lawrence Manning, 2001
|
||||
* Contains prototypes for library functions.
|
||||
*
|
||||
* $Id: libsmooth.h,v 1.4.2.3 2005/10/30 23:25:35 franck78 Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ___LIBSMOOTH_H
|
||||
#define ___LIBSMOOTH_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <wchar.h>
|
||||
#include <locale.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <newt.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/mount.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#include <linux/cdrom.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include "langs.h"
|
||||
|
||||
#define STRING_SIZE 1023
|
||||
|
||||
#define ADDRESS 0
|
||||
#define NETADDRESS 1
|
||||
#define NETMASK 2
|
||||
#define DHCP 3
|
||||
#define NETCHANGE_TOTAL 4
|
||||
|
||||
struct keyvalue
|
||||
{
|
||||
char key[STRING_SIZE];
|
||||
char value[STRING_SIZE];
|
||||
struct keyvalue *next;
|
||||
};
|
||||
|
||||
/* for stuff in net.c */
|
||||
struct nic
|
||||
{
|
||||
char *description;
|
||||
char *modulename;
|
||||
};
|
||||
struct driver
|
||||
{
|
||||
char *description;
|
||||
char *modulename;
|
||||
};
|
||||
|
||||
/* libsmooth.c */
|
||||
void reboot(void);
|
||||
void stripnl(char *s);
|
||||
int mysystem(char *command);
|
||||
void errorbox(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, ...);
|
||||
int runcommandwithstatus(char *command, char *message);
|
||||
int runhiddencommandwithstatus(char *command, char *message);
|
||||
int checkformodule(char *module);
|
||||
int replace(char filename1[], char *from, char *to);
|
||||
char* get_version(void);
|
||||
|
||||
/* netstuff.c */
|
||||
int changeaddress(struct keyvalue *kv, char *colour, int typeflag,
|
||||
char *defaultdhcphostname);
|
||||
int gettype(char *type);
|
||||
int setnetaddress(struct keyvalue *kv, char *colour);
|
||||
void networkdialogcallbacktype(newtComponent cm, void *data);
|
||||
int interfacecheck(struct keyvalue *kv, char *colour);
|
||||
int probecards(char *driver, char *driveroptions);
|
||||
int choosecards(char *driver, char *driveroptions);
|
||||
int manualdriver(char *driver, char *driveroptions);
|
||||
int countcards(void);
|
||||
int findnicdescription(char *modulename, char *description);
|
||||
|
||||
/* data.c */
|
||||
struct keyvalue *initkeyvalues(void);
|
||||
void freekeyvalues(struct keyvalue *head);
|
||||
int readkeyvalues(struct keyvalue *head, char *filename);
|
||||
int writekeyvalues(struct keyvalue *head, char *filename);
|
||||
int findkey(struct keyvalue *head, char *key, char *value);
|
||||
void appendkeyvalue(struct keyvalue *head, char *key, char *value);
|
||||
void replacekeyvalue(struct keyvalue *head, char *key, char *value);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -284,33 +284,11 @@ int replace(char filename1[], char *from, char *to)
|
||||
/* Include enabled languages */
|
||||
#ifdef LANG_EN_ONLY
|
||||
#include "lang_en.c"
|
||||
#elifdef LANG_ALL
|
||||
#include "lang_bz.c"
|
||||
#include "lang_cs.c"
|
||||
#include "lang_da.c"
|
||||
#include "lang_de.c"
|
||||
#include "lang_en.c"
|
||||
#include "lang_es.c"
|
||||
#include "lang_fi.c"
|
||||
#include "lang_fr.c"
|
||||
#include "lang_el.c"
|
||||
#include "lang_it.c"
|
||||
#include "lang_hu.c"
|
||||
#include "lang_la.c"
|
||||
#include "lang_nl.c"
|
||||
#include "lang_no.c"
|
||||
#include "lang_pl.c"
|
||||
#include "lang_pt.c"
|
||||
#include "lang_sk.c"
|
||||
#include "lang_so.c"
|
||||
#include "lang_sv.c"
|
||||
#include "lang_tr.c"
|
||||
#include "lang_vi.c"
|
||||
#else
|
||||
#include "lang_de.c"
|
||||
#include "lang_en.c"
|
||||
|
||||
#endif
|
||||
|
||||
// returns a pointer to the actual running version number of IPFire.
|
||||
// Successive updates increase effective version but not VERSION !
|
||||
char g_title[STRING_SIZE] = "";
|
||||
@@ -321,7 +299,7 @@ char* get_version(void) {
|
||||
fclose (f_title);
|
||||
if (g_title[strlen(g_title) - 1] == '\n') g_title[strlen(g_title) - 1] = '\0';
|
||||
} else {
|
||||
sprintf (g_title, "%s v%s - %s", NAME, VERSION, SLOGAN);
|
||||
sprintf (g_title, "%s %s - %s", NAME, VERSION, SLOGAN);
|
||||
}
|
||||
return g_title;
|
||||
}
|
||||
|
||||
@@ -413,30 +413,88 @@ struct nic nics[] = {
|
||||
/* Funky routine for loading all drivers (cept those are already loaded.). */
|
||||
int probecards(char *driver, char *driveroptions)
|
||||
{
|
||||
int c;
|
||||
char **sections;
|
||||
char drivercount;
|
||||
int rc;
|
||||
int choice;
|
||||
int done = 0;
|
||||
char message[1000];
|
||||
char commandstring[STRING_SIZE];
|
||||
FILE *handle;
|
||||
char line[STRING_SIZE];
|
||||
|
||||
sprintf(commandstring, "/bin/probenic.sh 1");
|
||||
sprintf(message, ctr[TR_PROBING_FOR_NICS]);
|
||||
runcommandwithstatus(commandstring, message);
|
||||
|
||||
if ((handle = fopen("/nicdriver", "r")))
|
||||
{
|
||||
char *driver;
|
||||
/* Count all nics. */
|
||||
mysystem("/bin/probenic.sh count");
|
||||
if ((handle = fopen("/drivercount", "r")))
|
||||
fgets(line, STRING_SIZE-1, handle);
|
||||
fclose(handle);
|
||||
line[strlen(line) - 1] = 0;
|
||||
driver = strtok(line, ".");
|
||||
fprintf(flog, "Detected NIC driver %s\n",driver);
|
||||
if (strlen(driver) > 1) {
|
||||
strcpy(driveroptions, "");
|
||||
return 1;
|
||||
}
|
||||
fclose(handle);
|
||||
//system("rm -f /drivercount");
|
||||
line[strlen(line) - 1] = 0;
|
||||
drivercount = strtok(line, ".");
|
||||
fprintf(flog, "Detected %s NICs in your system.\n", drivercount);
|
||||
if (!drivercount > 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
sections = malloc(drivercount * sizeof(char *));
|
||||
|
||||
struct driver drivers[drivercount];
|
||||
strcpy(drivers[0].modulename, "pcnet32");
|
||||
|
||||
fprintf(flog, "TEST0.\n");
|
||||
c = 0;
|
||||
while (drivers[c - 1].modulename)
|
||||
{
|
||||
sections[c] = drivers[c - 1].description;
|
||||
fprintf(flog, "TEST1.\n");
|
||||
c++;
|
||||
}
|
||||
sections[c] = NULL;
|
||||
fprintf(flog, "TEST2.\n");
|
||||
|
||||
strcpy(driver, "");
|
||||
strcpy(driveroptions, "");
|
||||
|
||||
done = 0; choice = 1;
|
||||
while (!done)
|
||||
{
|
||||
rc = newtWinMenu(ctr[TR_SELECT_NETWORK_DRIVER],
|
||||
ctr[TR_SELECT_NETWORK_DRIVER_LONG], 50, 5, 5, 6,
|
||||
sections, &choice, ctr[TR_OK], ctr[TR_CANCEL], NULL);
|
||||
if (rc == 0 || rc == 1)
|
||||
{
|
||||
if (choice > 0)
|
||||
{
|
||||
/* Find module number, load module. */
|
||||
c = choice - 1;
|
||||
|
||||
if (!checkformodule(nics[c].modulename))
|
||||
{
|
||||
sprintf(commandstring, "/sbin/modprobe %s", nics[c].modulename);
|
||||
sprintf(message, ctr[TR_LOOKING_FOR_NIC], nics[c].description);
|
||||
if (runcommandwithstatus(commandstring, message) == 0)
|
||||
{
|
||||
strcpy(driver, nics[c].modulename);
|
||||
strcpy(driveroptions, "");
|
||||
done = 1;
|
||||
}
|
||||
else
|
||||
errorbox(ctr[TR_UNABLE_TO_LOAD_DRIVER_MODULE]);
|
||||
}
|
||||
else
|
||||
errorbox(ctr[TR_THIS_DRIVER_MODULE_IS_ALREADY_LOADED]);
|
||||
}
|
||||
else
|
||||
{
|
||||
manualdriver(driver, driveroptions);
|
||||
if (strlen(driver))
|
||||
done = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
done = 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user