Hallo,
ich habe ein großes Problem.
Ich muss meinen bisherigen tftp-server auf tftp-hpa umwandeln. Dieser muss vorher slipstreamfähig gemacht werden. Dazu habe ich folgenden Patch von einem Suse-Admin bekommen:
Dieser Admin hat mir das Paket bereits vorgepatcht und ich habe es dann nur noch kompiliert.
Als Startparameter gebe ich die folgende Mode-Datei an:
Leider sagt er mir immer, dass etwas an dem Mode nicht stimmt.
Ich vermute, dass es Probleme gibt, weil ich ein Debian Etch fahre und er wie schon gesagt, ein Suse Linux.
Leider kenne ich die Unterschiede zwischen den beiden Distris nicht so gut, im das ausschließen zu können. Fällt euch irgendetwas auf? Danke im Voraus...
ich habe ein großes Problem.
Ich muss meinen bisherigen tftp-server auf tftp-hpa umwandeln. Dieser muss vorher slipstreamfähig gemacht werden. Dazu habe ich folgenden Patch von einem Suse-Admin bekommen:
Code:
diff -urN tftp-hpa-0.48/tftpd/tftpd.c tftp-hpa-0.48-opsi/tftpd/tftpd.c
--- tftp-hpa-0.48/tftpd/tftpd.c 2007-01-31 00:51:05.000000000 +0100
+++ tftp-hpa-0.48-opsi/tftpd/tftpd.c 2007-08-08 15:29:02.000000000 +0200
@@ -1082,6 +1082,8 @@
const char **dirp;
char stdio_mode[3];
+ int is_fifo = 0;
+
tsize_ok = 0;
*errmsg = NULL;
@@ -1148,6 +1150,11 @@
return (EACCESS);
}
tsize = stbuf.st_size;
+
+ if ( (is_fifo = S_ISFIFO(stbuf.st_mode)) ) {
+ tsize = FIFO_MAX_SIZE;
+ }
+
/* We don't know the tsize if conversion is needed */
tsize_ok = !pf->f_convert;
} else {
diff -urN tftp-hpa-0.48/tftpd/tftpd.h tftp-hpa-0.48-opsi/tftpd/tftpd.h
--- tftp-hpa-0.48/tftpd/tftpd.h 2007-01-31 00:51:05.000000000 +0100
+++ tftp-hpa-0.48-opsi/tftpd/tftpd.h 2007-08-08 14:24:19.000000000 +0200
@@ -18,6 +18,8 @@
#ifndef TFTPD_TFTPD_H
#define TFTPD_TFTPD_H
+#define FIFO_MAX_SIZE 16384 /* Maximum bytes to read from a named pipe */
+
void set_signal(int, void (*)(int), int);
void *tfmalloc(size_t);
char *tfstrdup(const char *);
Dieser Admin hat mir das Paket bereits vorgepatcht und ich habe es dann nur noch kompiliert.
Als Startparameter gebe ich die folgende Mode-Datei an:
Code:
ri ^[a-z]: # Remove "drive letters"
#r ^[^/] /tftpboot/\0 # Convert non-absolute files
ri ^/tftpboot/
rg \\ / # Convert backslashes to slashes
rg \# @ # Convert hash marks to @ signs
rg /../ /..no../ # Convert /../ to /..no../
e ^ok/ # These are always ok
a \.pvt$ # Reject requests for private files
Leider sagt er mir immer, dass etwas an dem Mode nicht stimmt.
Ich vermute, dass es Probleme gibt, weil ich ein Debian Etch fahre und er wie schon gesagt, ein Suse Linux.
Leider kenne ich die Unterschiede zwischen den beiden Distris nicht so gut, im das ausschließen zu können. Fällt euch irgendetwas auf? Danke im Voraus...