[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

rpc.statd won't run when rootfs mounted readonly



Hi,

I have a problem with rpc.statd. We run our linux machines as diskless clients,
they mount their root fs via nfs from a server. For security reasons i would
like to export the root fs readonly. However, rpc.statd will not run. It exits
without an error message, but reports

Sep 26 15:33:48 rpc.statd[680]: Version 1.0 Starting
Sep 26 15:33:53 rpc.statd[681]: unable to register (statd, 1, udp).

via syslog.
I did an strace of the whole thing but am unable to locate the error. I append
it to this message, maybe someone can help (I am not familiar with network
programming).

########################## strace output ####################################
647   execve("/sbin/rpc.statd", ["rpc.statd"], [/* 19 vars */]) = 0
647   uname({sys="Linux", node="reno", ...}) = 0
647   brk(0)                            = 0x804ff74
647   open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
647 open("/usr/local/kde/lib/i586/mmx/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/kde/lib/i586/mmx", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/kde/lib/i586/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/kde/lib/i586", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/kde/lib/mmx/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/kde/lib/mmx", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/kde/lib/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
647   stat64("/usr/local/kde/lib", {st_mode=S_IFDIR|0755, st_size=17920, ...}) = 0
647 open("/usr/local/lib/i586/mmx/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/lib/i586/mmx", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/lib/i586/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/lib/i586", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/lib/mmx/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/lib/mmx", 0xbffff0c4) = -1 ENOENT (No such file or directory) 647 open("/usr/local/lib/libwrap.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) 647 stat64("/usr/local/lib", {st_mode=S_IFDIR|S_ISGID|0775, st_size=2048, ...}) = 0
647   open("/etc/ld.so.cache", O_RDONLY) = 3
647   fstat64(3, {st_mode=S_IFREG|0644, st_size=40661, ...}) = 0
647   old_mmap(NULL, 40661, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
647   close(3)                          = 0
647   open("/lib/libwrap.so.0", O_RDONLY) = 3
647 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@ \0\000"..., 1024) = 1024
647   fstat64(3, {st_mode=S_IFREG|0644, st_size=24328, ...}) = 0
647   old_mmap(NULL, 29092, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001e000
647   mprotect(0x40024000, 4516, PROT_NONE) = 0
647 old_mmap(0x40024000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x40024000 647 old_mmap(0x40025000, 420, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40025000
647   close(3)                          = 0
647 open("/usr/local/kde/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 647 open("/usr/local/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
647   open("/lib/libnsl.so.1", O_RDONLY) = 3
647 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 ;\0\000"..., 1024) = 1024
647   fstat64(3, {st_mode=S_IFREG|0644, st_size=69472, ...}) = 0
647   old_mmap(NULL, 80988, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40026000
647   mprotect(0x40037000, 11356, PROT_NONE) = 0
647 old_mmap(0x40037000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x40037000 647 old_mmap(0x40038000, 7260, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40038000
647   close(3)                          = 0
647 open("/usr/local/kde/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) 647 open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
647   open("/lib/libc.so.6", O_RDONLY)  = 3
647 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 1024) = 1024
647   fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
647 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4003a000
647   old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4003b000
647   mprotect(0x4014e000, 40160, PROT_NONE) = 0
647 old_mmap(0x4014e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113000) = 0x4014e000 647 old_mmap(0x40154000, 15584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40154000
647   close(3)                          = 0
647   munmap(0x40014000, 40661)         = 0
647   getpid()                          = 647
647   brk(0)                            = 0x804ff74
647   brk(0x8050104)                    = 0x8050104
647   brk(0x8051000)                    = 0x8051000
647   brk(0x8054000)                    = 0x8054000
647   time([1033046254])                = 1033046254
647   open("/etc/localtime", O_RDONLY)  = 3
647   fstat64(3, {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
647 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000 647 read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\10"..., 4096) = 837
647   close(3)                          = 0
647   munmap(0x40014000, 4096)          = 0
647   getpid()                          = 647
647   rt_sigaction(SIGPIPE, {0x40107f28, [], 0x4000000}, {SIG_DFL}, 8) = 0
647   socket(PF_UNIX, SOCK_DGRAM, 0)    = 3
647   fcntl64(3, F_SETFD, FD_CLOEXEC)   = 0
647   connect(3, {sin_family=AF_UNIX, path="/dev/log"}, 16) = 0
647   send(3, "<29>Sep 26 15:17:34 rpc.statd[64"..., 56, 0) = 56
647   rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
647   fork()                            = 648
648   setsid()                          = 648
648   chdir("/var/lib/nfs/" <unfinished ...>
647   _exit(0)                          = ?
648   <... chdir resumed> )             = 0
648   open("/dev/null", O_RDWR)         = 4
648   close(0)                          = 0
648   dup2(4, 0)                        = 0
648   close(1)                          = 0
648   dup2(4, 1)                        = 1
648   close(2)                          = 0
648   dup2(4, 2)                        = 2
648   getrlimit(0x7, 0xbffffc54)        = 0
648   close(3)                          = 0
648   close(4)                          = 0

[1024 file closes removed]

close(1020)                       = -1 EBADF (Bad file descriptor)
648   close(1021)                       = -1 EBADF (Bad file descriptor)
648   close(1022)                       = -1 EBADF (Bad file descriptor)
648   close(1023)                       = -1 EBADF (Bad file descriptor)
648 rt_sigaction(SIGHUP, {0x804ad5c, [HUP], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0 648 rt_sigaction(SIGINT, {0x804ad5c, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0 648 rt_sigaction(SIGTERM, {0x804ad5c, [TERM], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
648   rt_sigaction(SIGCHLD, {SIG_IGN}, {SIG_DFL}, 8) = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
648   getpid()                          = 648
648 bind(3, {sin_family=AF_INET, sin_port=htons(824), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
648   ioctl(4, 0x8912, 0xbfffdc24)      = 0
648   ioctl(4, 0x8913, 0xbfffdc2c)      = 0
648   ioctl(4, 0x8913, 0xbfffdc2c)      = 0
648   ioctl(4, 0x8913, 0xbfffdc2c)      = 0
648   close(4)                          = 0
648   gettimeofday({1033046254, 794199}, NULL) = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
648 bind(4, {sin_family=AF_INET, sin_port=htons(825), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
648   ioctl(4, 0x5421, [1])             = 0
648   setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
648 sendto(4, "\\\267\"\320\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0"..., 56, 0, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("134.102.176.57")}}, 16) = -1 EINVAL (Invalid argument)
648   close(4)                          = 0
648   open("/var/lib/nfs/state", O_RDWR|O_CREAT, 0600) = 4
648   read(4, "\25\0\0\0", 4)           = 4
648   lseek(4, 0, SEEK_SET)             = 0
648   write(4, "\27\0\0\0", 4)          = 4
648   fsync(4)                          = 0
648   close(4)                          = 0
648   uname({sys="Linux", node="reno", ...}) = 0
648   gettimeofday({1033046254, 799811}, NULL) = 0
648   getpid()                          = 648
648   open("/etc/resolv.conf", O_RDONLY) = 4
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=51, ...}) = 0
648 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
648   read(4, "search ant.uni-bremen.de\nnameser"..., 4096) = 51
648   read(4, "", 4096)                 = 0
648   close(4)                          = 0
648   munmap(0x40014000, 4096)          = 0
648   socket(PF_UNIX, SOCK_STREAM, 0)   = 4
648 connect(4, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or directory)
648   close(4)                          = 0
648   open("/etc/nsswitch.conf", O_RDONLY) = 4
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=560, ...}) = 0
648 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
648   read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 560
648   read(4, "", 4096)                 = 0
648   close(4)                          = 0
648   munmap(0x40014000, 4096)          = 0
648 open("/usr/local/kde/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 648 open("/usr/local/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
648   open("/etc/ld.so.cache", O_RDONLY) = 4
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=40661, ...}) = 0
648   old_mmap(NULL, 40661, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40014000
648   close(4)                          = 0
648   open("/lib/libnss_files.so.2", O_RDONLY) = 4
648 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\35\0\000"..., 1024) = 1024
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=32668, ...}) = 0
648   old_mmap(NULL, 36112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40158000
648   mprotect(0x40160000, 3344, PROT_NONE) = 0
648 old_mmap(0x40160000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x7000) = 0x40160000
648   close(4)                          = 0
648   munmap(0x40014000, 40661)         = 0
648   open("/etc/host.conf", O_RDONLY)  = 4
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=26, ...}) = 0
648 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
648   read(4, "order hosts,bind\nmulti on\n", 4096) = 26
648   read(4, "", 4096)                 = 0
648   close(4)                          = 0
648   munmap(0x40014000, 4096)          = 0
648   open("/etc/hosts", O_RDONLY)      = 4
648   fcntl64(4, F_GETFD)               = 0
648   fcntl64(4, F_SETFD, FD_CLOEXEC)   = 0
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=317, ...}) = 0
648 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
648   read(4, "127.0.0.1\tnewhost\tlocalhost\n\n64."..., 4096) = 317
648   read(4, "", 4096)                 = 0
648   close(4)                          = 0
648   munmap(0x40014000, 4096)          = 0
648 open("/usr/local/kde/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 648 open("/usr/local/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
648   open("/etc/ld.so.cache", O_RDONLY) = 4
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=40661, ...}) = 0
648   old_mmap(NULL, 40661, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40014000
648   close(4)                          = 0
648   open("/lib/libnss_dns.so.2", O_RDONLY) = 4
648 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\000"..., 1024) = 1024
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=12176, ...}) = 0
648   old_mmap(NULL, 15144, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40161000
648   mprotect(0x40164000, 2856, PROT_NONE) = 0
648 old_mmap(0x40164000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x2000) = 0x40164000
648   close(4)                          = 0
648 open("/usr/local/kde/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 648 open("/usr/local/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
648   open("/lib/libresolv.so.2", O_RDONLY) = 4
648 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\'\0"..., 1024) = 1024
648   fstat64(4, {st_mode=S_IFREG|0644, st_size=56480, ...}) = 0
648   old_mmap(NULL, 65312, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40165000
648   mprotect(0x40172000, 12064, PROT_NONE) = 0
648 old_mmap(0x40172000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xd000) = 0x40172000 648 old_mmap(0x40173000, 7968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40173000
648   close(4)                          = 0
648   munmap(0x40014000, 40661)         = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
648 connect(4, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("134.102.176.16")}}, 28) = 0
648   send(4, ">&\1\0\0\1\0\0\0\0\0\0\4reno\3ant\nuni-bremen"..., 40, 0) = 40
648   gettimeofday({1033046254, 834117}, NULL) = 0
648   poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
648 recvfrom(4, ">&\205\200\0\1\0\1\0\1\0\1\4reno\3ant\nuni-bremen"..., 1024, 0, {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("134.102.176.16")}}, [16]) = 94
648   close(4)                          = 0
648   stat64("/var/lib/nfs/sm", {st_mode=S_IFDIR|0700, st_size=512, ...}) = 0
648   stat64("/var/lib/nfs/sm.bak", {st_mode=S_IFDIR|0700, st_size=512, ...}) = 0
648 open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
648   open("/var/lib/nfs/sm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
648   fstat64(4, {st_mode=S_IFDIR|0700, st_size=512, ...}) = 0
648   fcntl64(4, F_SETFD, FD_CLOEXEC)   = 0
648   brk(0x8059000)                    = 0x8059000
648   getdents64(0x4, 0x80525e0, 0x4000, 0) = 48
648   getdents64(0x4, 0x80525e0, 0x4000, 0) = 0
648   close(4)                          = 0
648   open("/var/lib/nfs/sm.bak", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
648   fstat64(4, {st_mode=S_IFDIR|0700, st_size=512, ...}) = 0
648   fcntl64(4, F_SETFD, FD_CLOEXEC)   = 0
648   getdents64(0x4, 0x80525e0, 0x4000, 0) = 48
648   getdents64(0x4, 0x80525e0, 0x4000, 0) = 0
648   close(4)                          = 0
648 getsockname(0, 0xbffffc6c, [16]) = -1 ENOTSOCK (Socket operation on non-socket)
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
648   ioctl(4, 0x8912, 0xbfffdbb4)      = 0
648   ioctl(4, 0x8913, 0xbfffdbbc)      = 0
648   ioctl(4, 0x8913, 0xbfffdbbc)      = 0
648   ioctl(4, 0x8913, 0xbfffdbbc)      = 0
648   close(4)                          = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
648 bind(4, {sin_family=AF_INET, sin_port=htons(826), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
648   ioctl(4, 0x5421, [1])             = 0
648   setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
648 sendto(4, "l>\217\261\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\2"..., 56, 0, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("134.102.176.57")}}, 16) = -1 EINVAL (Invalid argument)
648   close(4)                          = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
648   setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
648 bind(4, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0 648 bind(4, {sin_family=AF_INET, sin_port=htons(827), sin_addr=inet_addr("0.0.0.0")}}, 16) = -1 EINVAL (Invalid argument) 648 bind(4, {sin_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}}, 16) = -1 EINVAL (Invalid argument) 648 getsockname(4, {sin_family=AF_INET, sin_port=htons(1024), sin_addr=inet_addr("0.0.0.0")}}, [16]) = 0
648   setsockopt(4, SOL_IP, IP_PKTINFO, [1], 4) = 0
648   getrlimit(0x7, 0xbffffb48)        = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
648   ioctl(5, 0x8912, 0xbfffdb64)      = 0
648   ioctl(5, 0x8913, 0xbfffdb6c)      = 0
648   ioctl(5, 0x8913, 0xbfffdb6c)      = 0
648   ioctl(5, 0x8913, 0xbfffdb6c)      = 0
648   close(5)                          = 0
648   socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 5
648 bind(5, {sin_family=AF_INET, sin_port=htons(828), sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
648   ioctl(5, 0x5421, [1])             = 0
648   setsockopt(5, SOL_IP, IP_RECVERR, [1], 4) = 0
648 sendto(5, "x\343Bq\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\1\0\0"..., 56, 0, {sin_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("134.102.176.57")}}, 16) = -1 EINVAL (Invalid argument)
648   write(2, "Cannot register service: RPC: Un"..., 71) = 71
648   time([1033046254])                = 1033046254
648   getpid()                          = 648
648   rt_sigaction(SIGPIPE, {0x40107f28, [], 0x4000000}, {SIG_DFL}, 8) = 0
648 send(3, "<27>Sep 26 15:17:34 rpc.statd[64"..., 72, 0) = -1 ENOTCONN (Transport endpoint is not connected)
648   close(3)                          = 0
648   socket(PF_UNIX, SOCK_DGRAM, 0)    = 3
648   fcntl64(3, F_SETFD, FD_CLOEXEC)   = 0
648   connect(3, {sin_family=AF_UNIX, path="/dev/log"}, 16) = 0
648   send(3, "<27>Sep 26 15:17:34 rpc.statd[64"..., 72, 0) = 72
648   rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
648   _exit(1)                          = ?
#############################################################################
Regards

Heinrich Rebehn

University of Bremen
Physics / Electrical and Electronics Engineering
- Department of Telecommunications -

E-mail: mailto:rebehn@ant.uni-bremen.de
Phone : +49/421/218-4664
Fax   :            -3341







Reply to: