b = ReadFileEx(hFile, lpBuffer, nNumberOfBytesToRead, lpOverlapped, lpCompletionRoutine);
e = GetLastError();
if ((e == ERROR_BROKEN_PIPE) || (e == ERROR_IO_PENDING))
{
b = TRUE;
e = ERROR_IO_PENDING;
}
# netstat -nap | grep :22
tcp 0 0 0.0.0.0:2280 0.0.0.0:* LISTEN 11925/wineserver
tcp 0 0 0.0.0.0:2210 0.0.0.0:* LISTEN 11925/wineserver
tcp 0 0 0.0.0.0:2243 0.0.0.0:* LISTEN 11925/wineserver
tcp 0 0 0.0.0.0:2211 0.0.0.0:* LISTEN 11925/wineserver
This is cumbersome, I also hope they fix it in v.4b4.wine loader.exe "dude.exe --server" fixpipe.dll
sleep 30
wine loader.exe "dude.exe --web" fixpipe.dll
command line can be used, which will gracefully shut down all running server instances.wine "dude.exe" --stop-server
1. routeros has nothing to do with dude, they are not related+1 for Linux Dude !
it ROS not a port of linux? I'm not seeing why it would be that
difficult
I'm sick of my Dude server getting hacked and would love to
run it on Linux not virus feeding windows
Answer 1: Normis, yes it does, as Dude "runs on top of" RouterOS, and RouterOS runs "on top of" linux. And so 900mhzdude's (and mine above) question was about why Dude can't run on 'regular' linux, as it runs on RouterOS, which is, underneith it, linux.1. routeros has nothing to do with dude, they are not related+1 for Linux Dude !
it ROS not a port of linux? I'm not seeing why it would be that
difficult
I'm sick of my Dude server getting hacked and would love to
run it on Linux not virus feeding windows
2. why is your dude getting hacked and how exactly?
Just wait until someone else makes something like Dude and people will flock over to that. Not getting support for obvious things such as what's being discussed (understandably for a free product, but why make it at all?), not being back to back up one version or restore another. Frankly I'm still wondering why the pings always come back <1 or a multiple of 10. I see <1ms or 10ms on almost every ping. I know most of the network is reachable in 2-6ms with 32 byte pings.Answer 1: Normis, yes it does, as Dude "runs on top of" RouterOS, and RouterOS runs "on top of" linux. And so 900mhzdude's (and mine above) question was about why Dude can't run on 'regular' linux, as it runs on RouterOS, which is, underneith it, linux.1. routeros has nothing to do with dude, they are not related+1 for Linux Dude !
it ROS not a port of linux? I'm not seeing why it would be that
difficult
I'm sick of my Dude server getting hacked and would love to
run it on Linux not virus feeding windows
2. why is your dude getting hacked and how exactly?
I guess we just want to know 'why' Dude doesn't run on linux native. I know you guys are busy, but I'm not liking your non-relevant responses to some of these questions. Do you remember GRE debate for a few years? That only made people more angry because we weren't getting 'real' responses from support, but rather getting answers making us users feel like it's our fault, or that we shouldn't be using such a standard protocol in networking equipment.
Just some thoughts.
GRE is natively supported in RouterOS, by the way.remember GRE debate for a few years? That only made people more angry because we weren't getting 'real' responses from support, but rather getting answers making us users feel like it's our fault, or that we shouldn't be using such a standard protocol in networking equipment.
I know GRE is in v5, I'm very happy about thatGRE is natively supported in RouterOS, by the way.remember GRE debate for a few years? That only made people more angry because we weren't getting 'real' responses from support, but rather getting answers making us users feel like it's our fault, or that we shouldn't be using such a standard protocol in networking equipment.
What is a "real" response? At the time we didn't know if we will support it or not.
Having said all this, it seems a bit strange that the question you responded to was 'misunderstood'. It may have something to do the understanding the context of the posting, however with a title like "Dude for Linux", it would be difficult to misinterpret.it ROS not a port of linux? I'm not seeing why it would be that
difficult
Right, so that makes sense.Dude doesn't run on top of RouterOS. It's exclusively a windows program. You are talking about the Dude agent NPK package. This is where the misunderstanding came from
Web-access under wine is also discussed here:
http://forum.mikrotik.com/viewtopic.php?f=8&t=43962
Under Wine 1.2 on Centos 5 async ReadFileEx/WriteFileEx on named pipes used between Dude server and web-interface instances can return an error that Dude does not expect - ERROR_BROKEN_PIPE. In addition when ERROR_IO_PENDING is returned, Wine considers async read/write operation failed (returning FALSE), whereas Windows considers is completed successfully (returning TRUE)...
Anyway, long story short, it IS an easy fix. The following snippet can be used to handle ReadFileEx/WriteFileEx result for better Wine compatibility:I've made a dll which hooks ReadFileEx and WriteFileEx once injected to dude.exe process and performs the above. This way web-instance handles named pipes correctly under Wine, opens the ports and accepts connections:Code: Select allb = ReadFileEx(hFile, lpBuffer, nNumberOfBytesToRead, lpOverlapped, lpCompletionRoutine); e = GetLastError(); if ((e == ERROR_BROKEN_PIPE) || (e == ERROR_IO_PENDING)) { b = TRUE; e = ERROR_IO_PENDING; }
There's a caveat, Dude server and web-interface instances need to be started in sequence with sufficient delay, both with this injected dll for this to work, e.g.Code: Select all# netstat -nap | grep :22 tcp 0 0 0.0.0.0:2280 0.0.0.0:* LISTEN 11925/wineserver tcp 0 0 0.0.0.0:2210 0.0.0.0:* LISTEN 11925/wineserver tcp 0 0 0.0.0.0:2243 0.0.0.0:* LISTEN 11925/wineserver tcp 0 0 0.0.0.0:2211 0.0.0.0:* LISTEN 11925/wineserver
This is cumbersome, I also hope they fix it in v.4b4.wine loader.exe "dude.exe --server" fixpipe.dll
sleep 30
wine loader.exe "dude.exe --web" fixpipe.dll
PS For those who run dude as a service, for stopping the servicecommand line can be used, which will gracefully shut down all running server instances.wine "dude.exe" --stop-server
It is easy to start Dude automatically on Linux using Xvfb:Using wine absolutely sucks for a service. Has anyone posted a definitive guide to running dude as a service on Linux?
I really need a way of starting and stopping the dude server automatically like any other Linux daemon, without a login.
Xvfb :1&
export DISPLAY=:1
cd /home/monitor/.wine/drive_c/Program\ Files/Dude/
WINEDEBUG=-all wine dude.exe &
i agree with you, most people use windows, but if RouterOS is linux based, and it support the dude server, how diffucult its to release a Dude server for linux?.more people use windows than linux, it's a fact. we have very few requests like this, less than one per month. use Wine, it works perfect.
i agree with you, most people use windows, but if RouterOS is linux based, and it support the dude server, how diffucult its to release a Dude server for linux?.more people use windows than linux, it's a fact. we have very few requests like this, less than one per month. use Wine, it works perfect.
regards.!
It's political issue, not the development.i agree with you, most people use windows, but if RouterOS is linux based, and it support the dude server, how diffucult its to release a Dude server for linux?.more people use windows than linux, it's a fact. we have very few requests like this, less than one per month. use Wine, it works perfect.
regards.!
I thinking that your thinking it's very simple.more people use windows than linux, it's a fact. we have very few requests like this, less than one per month. use Wine, it works perfect.
Can you tell more about version / linux distro you use ?Update: In my latest testing of winbox in wine, the drag and drop functionality totally works! Now the only issue is the font rendering is a little wonky. Is there a font I'm missing that winbox uses on windows that I can install for wine use?
I've got the same idea but I've spent a bit more time on that.To tell the truth, between first noticing Dude package for ROS x86 and getting the idea "woohoo, I'll rip it out of there!" wasn't more than half a second for meThe excitement was quickly gone in about twenty minutes when I realized it won't function without some MikroTik process also running in the system. And even if it worked, it would probably violate some licence.