View Issue Details

IDProjectCategoryView StatusLast Update
0000425LDMud 3.3Networkingpublic2022-10-06 21:22
Reporterlynx Assigned ToGnomi  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionunable to reproduce 
Product Version3.3.712 
Summary0000425: support for dyndns'ed machines
Descriptionit has worked until approx 620 that i could pass my dyndns name to
the driver and it would figure out its ip number itself, but it no
longer works since "we" added the patch for multihomed bind, which
is actually useful in a server situation. so in my situation the
driver would bail out from connecting with a "bind during net_connect"
perror. i'm not sure if this is within the plan but for myself i solved
the issue by putting an if around the bind ensuring if the user actually
did pass an ip address. if not, then the bind is not expected anyway.
the result looks like this (make it nicer if != 0 is incorrect):

        /* On multihomed machines it is important to bind the socket to
         * the proper IP address.
         */
        if (host_ip_addr_template.sin_addr.s_addr != 0) {
            ret = bind(d, (struct sockaddr *) &host_ip_addr_template, sizeof(host_ip_addr_template));
            if (ret == -1) {
                perror("bind during net_connect");
                rc = errno;
                break;
            }
        }

i hope this is useful, or you have a different masterplan on how to handle this.
TagsNo tags attached.

Relationships

related to 0000616 resolvedfufu LDMud 3.3 IPv6 support is broken. 
related to 0000826 closed LDMud 3.5 Is a constant source IP address for connecting remote hosts really necessary? 

Activities

lynx

2009-05-22 05:16

reporter   ~0001133

This change has proven to be a good one in the last 3 years.

And some people may just have all reasons to run a MUD behind dynamic DNS.

fufu

2009-05-23 17:31

manager   ~0001147

I'll look at this. I think that the idea is sound, but I hope there's a better check than comparing s_addr with 0.

fufu

2021-04-09 00:32

manager   ~0002576

(I'm relinquishing this because I have no longer an opinion on what the right behavior is. Sorry for dropping the ball 12 years ago...)

Gnomi

2022-10-06 21:22

manager   ~0002691

I don't understand why bind fails with given an INADDR_ANY address (it might be unnecessary to bind on all addresses, but shouldn't fail, as there are usually free ports on all addresses).
So I would like to know the error message that perror() gave.

I'm closing this bug, as it is really old and I'm not expecting an answer. But if this problem persists, please reopen it and provide more information.

Issue History

Date Modified Username Field Change
2005-12-13 12:55 lynx New Issue
2009-05-22 05:16 lynx Note Added: 0001133
2009-05-23 17:29 fufu Relationship added related to 0000616
2009-05-23 17:31 fufu Note Added: 0001147
2009-05-23 17:31 fufu Assigned To => fufu
2009-05-23 17:31 fufu Status new => assigned
2021-04-09 00:29 fufu Assigned To fufu =>
2021-04-09 00:29 fufu Status assigned => new
2021-04-09 00:32 fufu Note Added: 0002576
2021-04-16 19:27 zesstra Relationship added related to 0000826
2022-10-06 21:22 Gnomi Assigned To => Gnomi
2022-10-06 21:22 Gnomi Status new => closed
2022-10-06 21:22 Gnomi Resolution open => unable to reproduce
2022-10-06 21:22 Gnomi Note Added: 0002691