Commit Graph

45 Commits

Author SHA1 Message Date
Colin Finck
5e1f3e28fe
[SCRIPTS] Remove all nickname characters not allowed by rosev_ircsystem.
Just in case we ever need to use this IRC Server for monthly meetings again.
2019-01-11 08:47:35 +01:00
Colin Finck
45de08e663
[SCRIPTS] Derive the IRC username from the LDAP displayName now that we're using the ReactOS Website LDAP Directory.
Also add another nickname replacement that just became necessary.
2018-12-20 18:33:06 +01:00
Colin Finck
08ad7e4fc7
Fix Git check to get a correct VERSION_REVISION. 2018-11-29 15:16:47 +01:00
Colin Finck
e98e0c32b2 Support /NICKSERV next to /NS, both are equally valid abbreviations for /MSG NickServ.
Dedicated to Mark Jansen and his HexChat :)
2018-11-09 18:14:36 +01:00
Colin Finck
fca8ecfcf2 Redefine VERSION_REVISION for Git to the number of revisions in this branch as reported by "git rev-list HEAD --count".
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.
2018-11-07 17:39:02 +01:00
Colin Finck
1839a9c634 Fix build under Ubuntu 18.04 by explicitly compiling with C++98 semantics. 2018-11-07 17:28:01 +01:00
Colin Finck
badc2b6a8b Fix trailing spaces in CMakeLists.txt 2018-11-07 17:25:41 +01:00
Colin Finck
63c9460526 [ROSEV_IRCSYSTEM]
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
2017-06-01 09:50:49 +00:00
Colin Finck
518dd592f1 [ROSEV_IRCSYSTEM]
Add a systemd script

svn path=/trunk/rosev_ircsystem/; revision=2303
2016-11-07 15:01:51 +00:00
Colin Finck
d5a007a396 [ROSEV_IRCSYSTEM]
Move the Meeting IRC Server to a new location.


svn path=/trunk/rosev_ircsystem/; revision=2261
2016-02-29 09:07:12 +00:00
Colin Finck
0646aec404 [ROSEV_IRCSYSTEM]
Replace use_certificate_file by use_certificate_chain_file to present all dependent certificates as well.

svn path=/trunk/rosev_ircsystem/; revision=2254
2015-11-26 22:19:20 +00:00
Colin Finck
e19191330f [ROSEV_IRCSYSTEM]
Add the port number to the ircs:// URL to account for broken IRC clients.

svn path=/trunk/rosev_ircsystem/; revision=2253
2015-11-26 21:16:21 +00:00
Colin Finck
08aaa04715 [MEETING]
- 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
2015-10-29 21:59:56 +00:00
Colin Finck
89a5ab7153 [ROSEV_IRCSYSTEM]
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
2015-01-17 23:43:51 +00:00
Pierre Schweitzer
1514270a44 [ROSEV-IRCSYSTEM]
Disable SSLv3 support

svn path=/trunk/rosev_ircsystem/; revision=2145
2014-10-15 05:16:01 +00:00
Colin Finck
a8397c5f2f [ROSEV_IRCSYSTEM]
Fix a typo

svn path=/trunk/rosev_ircsystem/; revision=2104
2014-04-14 12:06:02 +00:00
Colin Finck
6aea08839d [ROSEV_IRCSYSTEM]
Fix some -Wconversion-null warnings emitted by newer GCC versions.

svn path=/trunk/rosev_ircsystem/; revision=2080
2013-12-31 15:32:15 +00:00
Colin Finck
08d1c295bf [ROSEV_IRCSYSTEM]
VoteBot: Fix the "Abstention" option being added multiple times if you enter "NEW" multiple times.

svn path=/trunk/rosev_ircsystem/; revision=2079
2013-12-31 15:24:01 +00:00
Colin Finck
6a0fa8200a [ROSEV_IRCSYSTEM]
- 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
2013-06-05 08:52:43 +00:00
Colin Finck
9da094c421 [ROSEV_IRCSYSTEM]
- Fix build for MSVC2010

svn path=/trunk/rosev_ircsystem/; revision=2036
2013-05-31 10:02:50 +00:00
Pierre Schweitzer
91225c3477 [ROSEV_IRCSYSTEM]
Fix a typo (and obviously a bug) in channel names control

svn path=/trunk/rosev_ircsystem/; revision=1379
2012-02-28 20:46:09 +00:00
Colin Finck
fedac51d2d [ROSEV_IRCSYSTEM]
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
2011-08-27 18:06:24 +00:00
Colin Finck
3e1fd31448 [ROSEV_IRCSYSTEM]
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
2011-06-26 11:30:03 +00:00
Colin Finck
a159bf10b4 [ROSEV_IRCSYSTEM]
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
2011-06-26 10:57:00 +00:00
Colin Finck
8d8922fc7b [ROSEV_IRCSYSTEM]
Remove an obsolete comment :-)

svn path=/trunk/rosev_ircsystem/; revision=1293
2011-05-29 09:24:18 +00:00
Colin Finck
fa76f9223a Use the second overload of shutdown() to ignore any errors while shutting down the socket (like endpoint being closed already).
Fixes bug #6074.

svn path=/trunk/rosev_ircsystem/; revision=1292
2011-05-28 22:57:11 +00:00
Pierre Schweitzer
6e77cbd8c1 [ROSEV_IRCSYSTEM]
Minimum boost required release is 1.44

svn path=/trunk/rosev_ircsystem/; revision=1291
2011-05-28 12:55:07 +00:00
Pierre Schweitzer
8b46596fba [ROSEV_IRCSYSTEM]
Fix version.h generation for non english systems.
Thanks here go to Sylvain for the hint ;-)

svn path=/trunk/rosev_ircsystem/; revision=1290
2011-05-27 20:58:05 +00:00
Colin Finck
40da49aff5 [ROSEV_IRCSYSTEM]
Fix VERSION_COPYRIGHT

svn path=/trunk/rosev_ircsystem/; revision=1277
2011-03-28 22:56:24 +00:00
Colin Finck
4759157fb2 [ROSEV_IRCSYSTEM]
Insert the nickname lowercased into m_ExcludedNicknames, because it's used for searching.

svn path=/trunk/rosev_ircsystem/; revision=1276
2011-03-28 22:53:54 +00:00
Colin Finck
fc5fca33f9 [ROSEV_IRCSYSTEM]
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
2011-03-28 13:37:09 +00:00
Colin Finck
1848960770 [ROSEV_IRCSYSTEM]
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
2011-03-28 12:19:08 +00:00
Colin Finck
4f6ae9fe66 [ROSEV_IRCSYSTEM]
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
2011-03-27 21:05:31 +00:00
Colin Finck
87ecf2fe91 [ROSEV_IRCSYSTEM]
- 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
2011-03-27 19:12:52 +00:00
Colin Finck
93cb8627d0 [ROSEV_IRCSYSTEM]
- 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
2011-03-27 16:29:56 +00:00
Colin Finck
9f3df6b2c1 [ROSEV_IRCSYSTEM]
- Add a simple Upstart script for running rosev_ircsystem as a daemon under Unix environments.

svn path=/trunk/rosev_ircsystem/; revision=1270
2011-03-27 13:42:45 +00:00
Colin Finck
107d4ceef9 [ROSEV_IRCSYSTEM]
- 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
2011-03-27 13:35:44 +00:00
Colin Finck
77d5571a45 [ROSEV_IRCSYSTEM]
- Implement /NS GHOST in case we need to reclaim a nickname after an unexpected disconnection

svn path=/trunk/rosev_ircsystem/; revision=1241
2010-12-12 12:03:13 +00:00
Colin Finck
4b73b625a0 [ROSEV_IRCSYSTEM]
- 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
2010-12-12 09:56:24 +00:00
Colin Finck
4795dd1a8b [ROSEV_IRCSYSTEM]
- 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
2010-12-11 16:46:57 +00:00
Colin Finck
08203495d5 Forgot this..
svn path=/trunk/rosev_ircsystem/; revision=1238
2010-12-11 10:06:47 +00:00
Colin Finck
5bb183d4e9 [ROSEV_IRCSYSTEM]
- 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
2010-12-11 10:03:17 +00:00
Colin Finck
f199b7e54a [ROSEV_IRCSYSTEM]
- 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
2010-12-09 22:58:19 +00:00
Colin Finck
b8def92d5f [ROSEV_IRCSYSTEM]
- 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
2010-12-09 21:46:36 +00:00
Colin Finck
272d08d8d3 [ROSEV_IRCSYSTEM]
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
2010-12-09 20:16:51 +00:00