diff options
| author | Martin Willi <martin@strongswan.org> | 2008-08-19 15:19:45 +0000 |
|---|---|---|
| committer | Martin Willi <martin@strongswan.org> | 2008-08-19 15:19:45 +0000 |
| commit | ec24987164336a56f28bf40699c03bf1a7f1713c (patch) | |
| tree | 789658ef15828b846c4cce01e1f38bb56abafeb7 /src/charon/plugins/nm/nm_plugin.c | |
| parent | 62556b2b45af559aa5d48a8373a744da092ffaca (diff) | |
| download | strongswan-ec24987164336a56f28bf40699c03bf1a7f1713c.tar.bz2 strongswan-ec24987164336a56f28bf40699c03bf1a7f1713c.tar.xz | |
certificate based gateway authentication
prototype PSK user authentication with auth-dialog
Diffstat (limited to 'src/charon/plugins/nm/nm_plugin.c')
| -rw-r--r-- | src/charon/plugins/nm/nm_plugin.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/charon/plugins/nm/nm_plugin.c b/src/charon/plugins/nm/nm_plugin.c index aa9552878..353742346 100644 --- a/src/charon/plugins/nm/nm_plugin.c +++ b/src/charon/plugins/nm/nm_plugin.c @@ -17,6 +17,7 @@ #include "nm_plugin.h" #include "nm_service.h" +#include "nm_creds.h" #include <daemon.h> #include <processing/jobs/callback_job.h> @@ -33,7 +34,15 @@ struct private_nm_plugin_t { */ nm_plugin_t public; + /** + * Glib main loop for a thread, handles DBUS calls + */ GMainLoop *loop; + + /** + * credential set registered at the daemon + */ + nm_creds_t *creds; }; /** @@ -44,7 +53,7 @@ static job_requeue_t run(private_nm_plugin_t *this) NMStrongswanPlugin *plugin; GMainLoop *loop; - plugin = nm_strongswan_plugin_new(); + plugin = nm_strongswan_plugin_new(this->creds); this->loop = loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(loop); @@ -64,6 +73,8 @@ static void destroy(private_nm_plugin_t *this) { g_main_loop_quit(this->loop); } + charon->credentials->remove_set(charon->credentials, &this->creds->set); + this->creds->destroy(this->creds); free(this); } @@ -83,6 +94,9 @@ plugin_t *plugin_create() g_thread_init(NULL); } + this->creds = nm_creds_create(); + charon->credentials->add_set(charon->credentials, &this->creds->set); + charon->processor->queue_job(charon->processor, (job_t*)callback_job_create((callback_job_cb_t)run, this, NULL, NULL)); |
