Thu, 23 Feb 2023 06:00:48 -0600
IRCv3: Port to our new SASL library named Hasl
Testing Done:
Connected to a local ergo and verfied that `PLAIN` worked with the right password and that it fell back to `EXTERNAL` with the wrong password, before giving up.
Reviewed at https://reviews.imfreedom.org/r/2236/
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | IRCV3_SOURCES = [ |
|
41951
00c472cd0fff
Create PurpleIRCv3Capabilities for managing capabilities for each connection
Gary Kramlich <grim@reaperworld.com>
parents:
41941
diff
changeset
|
2 | 'purpleircv3capabilities.c', |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
3 | 'purpleircv3connection.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
4 | 'purpleircv3core.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
5 | 'purpleircv3messagehandlers.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
6 | 'purpleircv3parser.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
7 | 'purpleircv3protocol.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
8 | 'purpleircv3protocolim.c', |
|
42023
5bda87b90d8d
Implement SASL for IRCv3 using GSASL
Gary Kramlich <grim@reaperworld.com>
parents:
41951
diff
changeset
|
9 | 'purpleircv3sasl.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
10 | ] |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
11 | |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
12 | IRCV3_HEADERS = [ |
|
41951
00c472cd0fff
Create PurpleIRCv3Capabilities for managing capabilities for each connection
Gary Kramlich <grim@reaperworld.com>
parents:
41941
diff
changeset
|
13 | 'purpleircv3capabilities.h', |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
14 | 'purpleircv3connection.h', |
|
41774
170078e728c0
Implement a parser for ircv3 and add unit tests to it.
Gary Kramlich <grim@reaperworld.com>
parents:
41750
diff
changeset
|
15 | 'purpleircv3core.h', |
|
41796
ebe4ff278b02
Use the parser on ircv3 messages and handle pings
Gary Kramlich <grim@reaperworld.com>
parents:
41783
diff
changeset
|
16 | 'purpleircv3messagehandlers.h', |
|
41774
170078e728c0
Implement a parser for ircv3 and add unit tests to it.
Gary Kramlich <grim@reaperworld.com>
parents:
41750
diff
changeset
|
17 | 'purpleircv3parser.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | 'purpleircv3protocol.h', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
19 | 'purpleircv3protocolim.h', |
|
42023
5bda87b90d8d
Implement SASL for IRCv3 using GSASL
Gary Kramlich <grim@reaperworld.com>
parents:
41951
diff
changeset
|
20 | 'purpleircv3sasl.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | ] |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | if DYNAMIC_IRCV3 |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | ircv3_resources = gnome.compile_resources('ircv3resource', |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | 'resources/ircv3.gresource.xml', |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | source_dir : 'resources', |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | c_name : 'purple_ircv3') |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | IRCV3_SOURCES += ircv3_resources |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
30 | ircv3_prpl = shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS, |
|
41941
355bd17297f0
Set the C standard to C99 and set warning_level to 2 for the IRCv3 Protocol Plugin
Gary Kramlich <grim@reaperworld.com>
parents:
41916
diff
changeset
|
31 | c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'], |
|
42081
16ef7725e459
IRCv3: Port to our new SASL library named Hasl
Gary Kramlich <grim@reaperworld.com>
parents:
42073
diff
changeset
|
32 | dependencies : [libpurple_dep, glib, gio, hasl, ws2_32], |
|
41941
355bd17297f0
Set the C standard to C99 and set warning_level to 2 for the IRCv3 Protocol Plugin
Gary Kramlich <grim@reaperworld.com>
parents:
41916
diff
changeset
|
33 | install : true, |
|
42073
31532581724a
Set our global C standard to C17 and warning_level to 2
Gary Kramlich <grim@reaperworld.com>
parents:
42023
diff
changeset
|
34 | install_dir : PURPLE_PLUGINDIR) |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir()) |
|
41822
b84eec06ff62
Fix build with IRCv3 turned off
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41796
diff
changeset
|
37 | |
|
b84eec06ff62
Fix build with IRCv3 turned off
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41796
diff
changeset
|
38 | subdir('tests') |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | endif |