Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On 12/11/15 06:05, Philipp Marek wrote:
> Hi Jeffrey,
>
>> We're using DRBD with heartbeat and we're seeing an error if we configure
>> a host with an all-numeric hostname.
>>
>> ---------------------------------
>> Starting DRBD resources:
>> //etc/drbd.conf:37: Parse error: 'TK_STRING | '('' expected.
>> but got '123456' (TK 281)
>> ---------------------------------
>>
>> Line 37 of the drbd.conf file is the "on <host> {" line. In this case, the hostname being used is "123456".
> ...
>> This seems like a bug to me, but I haven't found reference to anyone else
>> having the problem, so I thought I'd see if there's a solution that I'm
>> missing. Seems to me that the parse_hosts() function should accept
>> TK_STING or TK_INTEGER.
> Yeah, right, basically.
>
> The workaround is to enclose the hostname in quotes, as in
>
> on "123456" {
> ...
> }
>
>
>
> To be honest, this is the first time I've ever heard of a full-numeric
> hostname; I guess that quite some other things might go wrong this way,
> because IPv4 addresses don't *have* *to* have the dots in them:
>
> # getent hosts 123456
> 0.1.226.64 123456
>
> This is using the inet_pton() function (inet_aton() works the same),
> so I don't think we want to support purely numeric hostnames.
>
> If we ever allow to use DNS names in the DRBD configuration files'
> "address" items, should "address 123456:1234" be parsed as IPv4 or via
> host name lookup? Would you risk that your definition "1234567" suddenly
> gets mapped to a 123457.com domain, as soon as someone added that one,
> "just because" your resolv.conf contains "search .com"?
>
>
> I've seen similar problems with programs that wrote IP addresses via
> "%03d.%03d.%03d.%03d" - the leading zeroes make the digits get interpreted
> as octal numbers...
Also rather complicated by the fact that numbers are directly
translatable to IP addresses - e.g 192.168.1.1 = 0xc0a80101 = 3232235777
and running `ping 3232235777` will ping 192.168.1.1
I thought all numeric hostnames were not allowed...
T