Apparently ipaddr works. 20090910 git + patches realms.c { "src_ipaddr", PW_TYPE_STRING_PTR, 0, &hs_srcipaddr, NULL }, Is this correct? This is the bt #0 0xb7cab8eb in strlen () from /lib/i686/cmov/libc.so.6 #1 0xb7c78198 in vfprintf () from /lib/i686/cmov/libc.so.6 #2 0xb7c982e4 in vsnprintf () from /lib/i686/cmov/libc.so.6 #3 0xb7c7e602 in snprintf () from /lib/i686/cmov/libc.so.6 #4 0x08056039 in listen_alloc (type_name=0x1 <Address 0x1 out of bounds>) at listen.c:666 #5 0x08056dac in proxy_new_listener (ipaddr=0x809b1bc, exists=1) at listen.c:830 #6 0x0806b60e in home_server_create_callback (ctx=0x81e72c8, data=0xbffff3a0) at realms.c:2231 #7 0xb7fd1c0e in WalkNodeInOrder (X=0x809b4a0, callback=0x806b5d0 <home_server_create_callback>, context=0x81e72c8) at rbtree.c:544 #8 0x0806b594 in home_server_create_listeners (ctx=0x81e68a0) at realms.c:2261 #9 0x080569ca in listen_init (config=0x8081020, head=0xbffff718) at listen.c:1262 #10 0x08069dcf in radius_event_init (cs=0x8081020, spawn_flag=0) at event.c:3597 #11 0x0805e728 in main (argc=2, argv=0xbffff8b4) at radiusd.c:346
Joe Maimon wrote:
Apparently ipaddr works.
20090910 git + patches
Ok...
realms.c
{ "src_ipaddr", PW_TYPE_STRING_PTR, 0, &hs_srcipaddr, NULL },
Is this correct?
For... what? That specifies the source IP. "ipaddr" specifies the destination IP.
This is the bt
#0 0xb7cab8eb in strlen () from /lib/i686/cmov/libc.so.6 #1 0xb7c78198 in vfprintf () from /lib/i686/cmov/libc.so.6 #2 0xb7c982e4 in vsnprintf () from /lib/i686/cmov/libc.so.6 #3 0xb7c7e602 in snprintf () from /lib/i686/cmov/libc.so.6 #4 0x08056039 in listen_alloc (type_name=0x1 <Address 0x1 out of bounds>) at listen.c:666
There's no variable "type_name" in listen.c. Your local patches are breaking the server. Alan DeKok.
Alan DeKok wrote:
Joe Maimon wrote:
Apparently ipaddr works.
20090910 git + patches
Ok...
realms.c
{ "src_ipaddr", PW_TYPE_STRING_PTR, 0, &hs_srcipaddr, NULL },
Is this correct?
For... what? That specifies the source IP. "ipaddr" specifies the destination IP.
Is PW_TYPE_STRING_PTR correct or should it be PW_TYPE_IPADDR, like ipaddr is.
This is the bt
#0 0xb7cab8eb in strlen () from /lib/i686/cmov/libc.so.6 #1 0xb7c78198 in vfprintf () from /lib/i686/cmov/libc.so.6 #2 0xb7c982e4 in vsnprintf () from /lib/i686/cmov/libc.so.6 #3 0xb7c7e602 in snprintf () from /lib/i686/cmov/libc.so.6 #4 0x08056039 in listen_alloc (type_name=0x1 <Address 0x1 out of bounds>) at listen.c:666
There's no variable "type_name" in listen.c. Your local patches are breaking the server.
Yes there is and it is not from any of my patches. ./git-20090910/radiusd/src/main/listen.c:rad_listen_t *listen_alloc(const char *type_name) ./git-20090910/radiusd/src/main/listen.c: snprintf(buffer, sizeof(buffer), "frs_%s", type_name);
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
Joe Maimon wrote:
Is PW_TYPE_STRING_PTR correct or should it be PW_TYPE_IPADDR, like ipaddr is.
It should be PW_TYPE_STRING_PTR.
There's no variable "type_name" in listen.c. Your local patches are breaking the server.
Yes there is and it is not from any of my patches.
./git-20090910/radiusd/src/main/listen.c:rad_listen_t *listen_alloc(const char *type_name) ./git-20090910/radiusd/src/main/listen.c: snprintf(buffer, sizeof(buffer), "frs_%s", type_name);
Hmm... you're using the git "master" branch. Don't do that. Use "stable". 2.1.x comes from the "stable" branch. The "master" branch has a number of other changes made, such as moving the listeners to modules. I'm not even sure that it compiles after applying the latest TCP patches. Alan DeKok.
Alan DeKok wrote:
Joe Maimon wrote:
Hmm... you're using the git "master" branch. Don't do that. Use "stable". 2.1.x comes from the "stable" branch.
The "master" branch has a number of other changes made, such as moving the listeners to modules. I'm not even sure that it compiles after applying the latest TCP patches.
I dont mind, I am kinda used to snapshotting HEAD. Anyways, here is the problem, RAD_LISTEN_PROXY is not (char*)"proxy" Not quite sure the right way to get that value in there. listen.c: if (!old) { /* * The socket MUST already exist if we're binding * to an address while proxying. * * If we're initializing the server, it's OK for the * socket to NOT exist. */ if (!exists) return NULL; this = listen_alloc(RAD_LISTEN_PROXY); sock = this->data; sock->ipaddr = *ipaddr; } else {
Joe Maimon wrote:
I dont mind, I am kinda used to snapshotting HEAD.
Except that all of the development is done on the stable branch.
Anyways, here is the problem, RAD_LISTEN_PROXY is not (char*)"proxy"
Not quite sure the right way to get that value in there.
I have no idea, and I don't really have time to go look at it. All of that code is being massively re-written in the stable branch in order to support TCP. I'd suggest just using the stable branch. It works and it's maintained. Alan DeKok.
Joe Maimon wrote:
Thats not quite how it is described on git.freeradius.org
MAJOR development, like re-structuring code from the server core into modules.
So you are saying that the stable branch is equivalent to cvs HEAD?
There's no real comparison. The master branch is broken right now. I'm not sure it's worth fixing it. Alan DeKok.
participants (2)
-
Alan DeKok -
Joe Maimon