Replies: 26 comments 33 replies
-
|
Broken link - gives 404. |
Beta Was this translation helpful? Give feedback.
-
|
I been playing around with openwatcom and made a script to build ngircd this is my build script this is the error i do not understand. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
sorry its very late here, so may call it a night, i posted a incorrect error file, this is the correct error file |
Beta Was this translation helpful? Give feedback.
-
|
im actually stuck, wondered if maybe you could give me some pointers or insight, code that is throwing the error. |
Beta Was this translation helpful? Give feedback.
-
|
is this what you had in mind? |
Beta Was this translation helpful? Give feedback.
-
|
progress is coming along slowly, I have not abandoned this project, just running into some watcom specific obscurities |
Beta Was this translation helpful? Give feedback.
-
|
any idea whats going on with this /home/arduino/source/elks/libc/include/sys/time.h(8): Error! E1009: Expecting ';' but found 'struct' many thanks in advance. |
Beta Was this translation helpful? Give feedback.
-
|
ecc was the answer to my problems, I have been exclusively using that as my tool of choice, Turns out my issue was that watcom was parsing some code intended for a gnu compiler in one of its header files, specifically porttab.h, im slowly getting into the mindset with working with watcom. less hand holding unlike other friendlier modern compilers. |
Beta Was this translation helpful? Give feedback.
-
|
i have been working on this on and off for months, 10 mins here, 5 mins there, i have a compiling binary now not actually ran it, will try it later today/tomorrow and upload to github |
Beta Was this translation helpful? Give feedback.
-
|
ghaerr defiantly want to run it past you before i release anything! sorry i was abit premature about this working. As you know compiling and working 2 totally different things! it does load, but as soon as i connect to it, seg faults, i really wish to figure this out on my own, been a big uphill battle! in the meantime On the ssh thread i have gifted ssl lib i managed to get building, again as we know building and working 2 different things! |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
ironed out the stack bugs, i think maybe this is ready for testing, just wrestling with qemu on my debian stock box |
Beta Was this translation helpful? Give feedback.
-
|
Here i present ngircd for elks. Tested with multiple local irc clients, not tested more then 4 connections. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
to run the daemon you need to pass -n flag to it essential otherwise it seg faults out, -f flag for its conf file, as for irc client i am just using hexchat, but any client including tinyirc will be fine, Large model yes, as for an address for you to access this on, unfortunately i have a very good deal with my isp, and with that deal i do not have a public ip! |
Beta Was this translation helpful? Give feedback.
-
|
tinyirc need to be ran like this to satisfy ngircd daemon tinyirc -d testuser 10.0.2.16 6667 |
Beta Was this translation helpful? Give feedback.
-
|
is tinyirc in elks same as what they include with debian? i was assuming its been unchanged for decades |
Beta Was this translation helpful? Give feedback.
-
|
If I start the daemon on the console using: I can then run the ELKS tiny IRC client on two terminals (the console /dev/tty1 and the serial line /dev/ttyS0), I run on each: The first execution of tinyirc comes back with: The second one asks for another Nick, I respond 'test'. Then typing on either IRC client just says "***Nowhere to send". Is this expected behaviour? I can't actually get the clients and server to do anything. Sorry for the dumb questions, just trying to test, and tinyirc has no instructions. How is it that the two clients are supposed to talk with each other? Does the client or server support /join commands? Is there a list of commands supported? I have tried the following, but nothing appears anywhere: Trying to exit either of the clients with ^D (is there another way?) results in an infinite loop. Trying to run tinyirc again says "Bind failed: Try again". I suspect this is because the server socket is not marked to be reused. To fix this, look at telnetd.c or httpd.c and use something like the following code: |
Beta Was this translation helpful? Give feedback.
-
|
I have not figured out process forking yet, but have fixed the ngircd networking code. seems to release clients correctly now, and correctly parse there port now. |
Beta Was this translation helpful? Give feedback.
-
|
Something like this should work to fork to become a daemon: The daemon can then write to stdout or stderr, they both go to the same place, /dev/console. These outputs may want to be further restricted to |
Beta Was this translation helpful? Give feedback.
-
No, that won't do much, as it appears that ngIRCd is using 129K of RAM, with only 14K of unused heap available. The program is simply extremely huge for ELKS. I would guess that ngIRCd might be using fork() to service each new client, in which case the system would run out of memory in 4-5 connections. If that's the case, a complete redesign might be necessary or desirable. OTOH, if fork() is not used for clients, then the heap can be increased to max available (up to 64K minus existing data segment including all the strings, etc) using the I would suggest deleting most of the info strings, or hiding most of them behind a macro so that they're not taking up valuable heap space. As I come to understand IRC a bit more, I think that a simple, small IRC server could be written from scratch using just 10-20% of the memory requirements of ngIRCd. I tried getting elkscmd/tinyirc/tinyircd.c to compile, but it looks to have not been modified in 30 years, and likely hasn't been compiled in that long either. Even theDebian which distributes tinyirc doesn't include or compile tinyircd. OTOH, you may be looking for a large, very capable server. But a limit of 5 users doesn't seem to work well for that. Keep in mind though that ELKS doesn't even allow more than 20 file descriptors, so 15-17 would be the max number of connections ever, and more than 5 connections will require recompiling the kernel with MAX_POLLFD set to higher than 5 in limits.h if select() is used. I mention all this not to discourage development on ngIRCd, but to understand the extreme limitations of ELKS and other real mode operating systems. One must be keep an eye out for memory usage at al times. |
Beta Was this translation helpful? Give feedback.
-
|
README or wiki page on ELKS' wiki so that people can get the general picture of what is available, how to configure and use it. https://en.wikipedia.org/wiki/Matrix_(protocol) For example Mastodon, Slack and Discord are quite popular now. See bwlow:
|
Beta Was this translation helpful? Give feedback.
-
|
just a quick note to anyone following this thread, i added brief better instructions to the ngircd daemon, |
Beta Was this translation helpful? Give feedback.





Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
you may find this interesting.
https://github.com/mikechambers84/ngIRCd-DOS
Beta Was this translation helpful? Give feedback.
All reactions