Increment VERSION_MINOR to account for the lower VERSION_REVISION in Git (40) compared to VERSION_REVISION in SVN (2340).
This way, rosev_ircsystem 1.0.2340 is properly recognized as being older than rosev_ircsystem 1.1.40.
Fix IPv6 support: These days, you only need a single AF_INET6 socket to accept both IPv4 and IPv6 clients.
Separate sockets for each protocol aren't needed anymore and only make things worse (like "Address already in use" error or unsupported IPV6_V6ONLY socket option).
ONLINE-657
svn path=/trunk/rosev_ircsystem/; revision=2340
Replace use_certificate_file by use_certificate_chain_file to present all dependent certificates as well.
svn path=/trunk/rosev_ircsystem/; revision=2254
- Use SSL/TLS for the IRC Server in the next monthly meeting.
- Solve all "I'm late, give me a log" and "I need the log for writing minutes" problems once and for all by making the LogBot autogenerated logs available over a website accessible for all meeting participants.
svn path=/trunk/rosev_ircsystem/; revision=2251
Modify the add_irc_users.php script to fetch the meeting participants from our new LDAP directory instead of managing another CSV file.
svn path=/trunk/rosev_ircsystem/; revision=2162
- Fix an off-by-one mistake resulting in the recent crashes. Add an assertion to prevent such things from happening in the future.
- Increase buffer size for network clients. Should improve performance when clients send multiple long lines.
Thanks to Pierre for the crash backtrace!
This update should be applied ASAP on all servers running rosev_ircsystem.
svn path=/trunk/rosev_ircsystem/; revision=2041
Add a SIGHUP handler for the Unix build, which doesn't do anything. This prevents abnormal terminations through "service rosev_ircsystem reload" at least.
svn path=/trunk/rosev_ircsystem/; revision=1315
Fix the C locale setting introduced in r1290.
The previous change didn't work and simply omitted the SVN revision in the build. The new method is copied from CMake's "FindSubversion.cmake".
svn path=/trunk/rosev_ircsystem/; revision=1305
Support FreeNode's alternative /NS IDENTIFY <nickname> <password> syntax instead of just /NS IDENTIFY <password>.
We just ignore the first parameter though, because the IRC Server only supports authentication for the currently used nickname.
svn path=/trunk/rosev_ircsystem/; revision=1304
Add a small script for inviting users to an IRC meeting, creating random passwords for them and sending an appropriate E-Mail.
svn path=/trunk/rosev_ircsystem/; revision=1275
Flush the output buffer after writing each log line, so that we don't lose anything if the server crashes during a discussion.
svn path=/trunk/rosev_ircsystem/; revision=1274
Save us "some" code by letting the server do the MODE change and not a ChanServ virtual client.
Requires to loosen some asserts in virtual clients that didn't expect such messages from the server.
Thanks to Pierre for the hint.
svn path=/trunk/rosev_ircsystem/; revision=1273
- Add a dummy ChanServ implementation for compatibility reasons.
If a client internally has voice status, our dummy ChanServ implementation needs to publicly give him this status, so that others can see the status without issueing a manual /NAMES command.
Needs a not so nice workaround for ensuring that this mode change is done after all clients have received the JOIN message.
- Fix the RPL_MYINFO reply now that we at least support voice status.
- Add another #ifdef to "precomp.h" to differentiate between Windows and Unix builds.
svn path=/trunk/rosev_ircsystem/; revision=1272
- Add an "EXCLUDE" option to VoteBot for excluding specific nicknames from voting if necessary.
This IRC Server now conforms to revised ReactOS Deutschland e.V. articles of association about voting in virtual general assemblies :-)
- Small code simplifications
svn path=/trunk/rosev_ircsystem/; revision=1271
- Allow everybody (also unidentified users) to participate as observers in IRC discussions.
This feature is configurable per channel.
- Implement basic client statuses (NoStatus and Voice) to distinguish between participating members and observers.
This requires changing the per-channel client set to a client map (CClient object -> Client status).
- Distinguish between the statuses in logs generated by the built-in LogBot.
- Don't include observers when running a vote using the built-in VoteBot.
- Move the UserPasshashMap from CNickServ to CConfiguration, because we need to check whether the nickname is protected at NICK messages.
Rename "NickServ_Users.ini" to "Users.ini" to reflect this change.
- Update the documentation accordingly.
svn path=/trunk/rosev_ircsystem/; revision=1269
- Support at least server-given QUIT messages.
- Change the ping interval and timeout to more aggressive values to notice unexpected disconnections faster.
svn path=/trunk/rosev_ircsystem/; revision=1240
- Fix VoteBot logic. It was faulty when another VoteBot administrator tried to submit his vote.
- Increase the identification timeout to 240 seconds.
svn path=/trunk/rosev_ircsystem/; revision=1239
- Add the forgotten "pidfile" option to the main configuration file (only required if we're running under a Posix environment)
- Don't fail on Win32 if this option is specified anyway
- Only delete the pidfile if we have created it ourselves
- Report a proper service error code if an exception occurs when running as an NT service
- Return a proper value if an exception occurs when running as a Posix daemon
svn path=/trunk/rosev_ircsystem/; revision=1237
- Fix Subversion revision detection
- Add a --version option to just print the program version
- Set svn:ignore to "build*" (useful if you use these directories for building)
svn path=/trunk/rosev_ircsystem/; revision=1236
- Don't check m_UninstallService on Posix systems, it only exists in the Win32 version
- Fix the Posix daemon part
- Looks like requiring Boost 1.40 or later was a bit optimistic. Change the actual requirement to 1.44 or later.
- Link to pthread on Posix systems (required)
svn path=/trunk/rosev_ircsystem/; revision=1235
Add a custom multiplatform IRC Server written from scratch for closed user groups (like foundation general assemblies).
It is written in C++ using Boost and OpenSSL libraries. Will be used for the upcoming ReactOS Deutschland e.V. general assembly.
svn path=/trunk/rosev_ircsystem/; revision=1234