Signed-off-by: Holger Eitzenberger <holger@xxxxxxxxxxxxxxxx> Index: ulogd-netfilter/include/ulogd/common.h =================================================================== --- ulogd-netfilter.orig/include/ulogd/common.h +++ ulogd-netfilter/include/ulogd/common.h @@ -47,4 +47,6 @@ #define pr_debug(fmt, ...) #endif /* DEBUG */ +int set_sockbuf_len(int fd, int rcv_len, int snd_len); + #endif /* COMMON_H */ Index: ulogd-netfilter/src/common.c =================================================================== --- /dev/null +++ ulogd-netfilter/src/common.c @@ -0,0 +1,52 @@ +/* + * common.c + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Holger Eitzenberger <holger@xxxxxxxxxxxxxxxx>, 2007. + */ +#include <ulogd/ulogd.h> +#include <ulogd/common.h> +#include <sys/types.h> +#include <sys/socket.h> + + +int +set_sockbuf_len(int fd, int rcv_len, int snd_len) +{ + int ret; + + pr_debug("%s: fd=%d rcv-len=%d snd-len\n", __func__, fd, rcv_len, + snd_len); + + if (snd_len > 0) { + ret = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &snd_len, + sizeof(snd_len)); + if (ret < 0) { + ulogd_log(ULOGD_ERROR, "setsockopt: SO_SNDBUF: %m\n"); + return -1; + } + } + + if (rcv_len > 0) { + ret = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcv_len, + sizeof(rcv_len)); + if (ret < 0) { + ulogd_log(ULOGD_ERROR, "setsockopt: SO_RCVBUF: %m\n"); + return -1; + } + } + + return 0; +} Index: ulogd-netfilter/src/Makefile.am =================================================================== --- ulogd-netfilter.orig/src/Makefile.am +++ ulogd-netfilter/src/Makefile.am @@ -5,5 +5,5 @@ AM_CPPFLAGS = $(all_includes) -I$(top_sr sbin_PROGRAMS = ulogd -ulogd_SOURCES = ulogd.c ifi.c select.c timer.c signal.c conffile.c +ulogd_SOURCES = ulogd.c ifi.c select.c timer.c signal.c common.c conffile.c ulogd_LDFLAGS = -export-dynamic -lpthread -- - To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html