On Mon, Mar 14, 2011 at 10:27:00AM +0000, Alan Buxey wrote:
radmin can indeed inject packets and give you reply.... ie
radmin> inject ? inject to <ipaddr> <port> - Inject packets to the destination IP and port. inject from <ipaddr> - Inject packets as if they came from <ipaddr> inject file <input-file> <output-file> - Inject packet from input-file>, with results sent to <output-file>
Thank you. For what it's worth, I *did* go and read the manpage, carefully, before replying. The 'inject' option is not mentioned there. Have you got an example of its use? It seems rather broken to me. I do have mode=rw set. radmin> inject inject to <ipaddr> <port> - Inject packets to the destination IP and port. inject from <ipaddr> - Inject packets as if they came from <ipaddr> inject file <input-file> <output-file> - Inject packet from input-file>, with results sent to <output-file> radmin> inject to 127.0.0.1 1812 ERROR: Unknown socket type radmin> inject from 127.0.0.1 ERROR: You must specify "inject to" before using "inject from" radmin> inject file /home/brian/test.in /home/brian/test.out $ Meanwhile, radiusd -X running in a different window shows: radmin> inject to 127.0.0.1 1812 Ready to process requests. radmin> inject from 127.0.0.1 Ready to process requests. radmin> inject file /home/brian/test.in /home/brian/test.out Segmentation fault $ The contents of /home/brian/test.in are simply: User-Name = "steve" User-Password = "testing" If I rerun radiusd -X under gdb, here's where it crashes: Ready to process requests. radmin> inject file /home/brian/test.in /home/brian/test.out Program received signal SIGSEGV, Segmentation fault. 0x0000000000411b74 in command_inject_file (listener=0x7b11b0, argc=<value optimised out>, argv=0x7fffffffdaf0) at /usr/include/bits/string3.h:52 52 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); (gdb) bt #0 0x0000000000411b74 in command_inject_file (listener=0x7b11b0, argc=<value optimised out>, argv=0x7fffffffdaf0) at /usr/include/bits/string3.h:52 #1 0x0000000000415fc5 in command_domain_recv (listener=0x7b11b0, pfun=<value optimised out>, prequest=<value optimised out>) at command.c:2196 #2 0x000000000042a050 in event_socket_handler (xel=<value optimised out>, fd=<value optimised out>, ctx=<value optimised out>) at event.c:3423 #3 0x00007ffff7bd1bdb in fr_event_loop (el=0x7a8810) at event.c:411 #4 0x000000000041c74a in main (argc=2, argv=<value optimised out>) at radiusd.c:406 (gdb) Regards, Brian.