<div dir="ltr">    Hello , friends. I want to tell you about a bug in Erlang:<br><br>    I have a trouble with using flag '-name' when startup 'erl'. I attached simple sample, where you can see this problem. <br>
<br>In shell input:<br>_____________________________________________________<br>user@alf:~$ erl -name a@alf -setcookie test<br>(a@alf)><br>_____________________________________________________<br>where 'a' — nodename and 'alf' — hostname<br>
<br>In other shell input:<br>_____________________________________________________<br>user@alf:~$ erl -sname b@alf -setcookie test<br>(b@alf)><br>_____________________________________________________<br>And iput :<br>_____________________________________________________<br>
(b@alf)>net_adm:ping(a@alf).<br>pong<br>_____________________________________________________<br>You will see pong, but you runs 'erl' with different flag '-name' and<br>'-sname'.<br><br>How can i see, in the net_kernel.erl module, invalid processing flag 'longname' when hi include '@hostname' <br>
<br>Tested by Erlang 16B03, kernel-2.16.4<br><br>I can offer the option of a patch that fixes this problem. The person who is responsible for supporting ssh has the discretion to take it as it is, or can make own fix.<br>
________________________________________________________________<br>Left base folder: /home/konstantin/erlang/otp_src_R16B03 <br>Right base folder: /home/konstantin/erlang/otp_src_R16B03_patch <br>--- lib/kernel/src/net_kernel.erl    2013-12-19 11:02:00.000000000 <br>
+++ lib/kernel/src/net_kernel.erl    2013-12-19 10:42:17.000000000 <br>@@ -1229,13 +1229,23 @@ <br> <br> create_hostpart(Name, LongOrShortNames) -> <br>     {Head,Host} = lists:splitwith(fun($@)->false;(_)->true end, <br>
                   atom_to_list(Name)), <br>     Host1 = case {Host,LongOrShortNames} of <br>         {[$@,_|_],longnames} -> <br>-            {ok,Host}; <br>+            case lists:member($., Host) of <br>+            true -> <br>
+                {ok, Host}; <br>+            false -> <br>+                case {inet_db:res_option(domain)} of <br>+                    {D} when is_list(D), length(D) > 0 -> <br>+                        {ok, Host ++ "." ++ D}; <br>
+                    _ -> <br>+                        {error, long} <br>+                end <br>+            end; <br>         {[$@,_|_],shortnames} -> <br>             case lists:member($.,Host) of <br>             true -> {error,short}; <br>
             _ -> {ok,Host} <br>             end; <br>         {_,shortnames} -><br>________________________________________________________________<br><br>With best regards,<br>Malikov Constantin, software developer, Eltex.<br>

</div>