--- a/lm_ssl.c Mon Feb 16 01:32:12 2009 +0200
+++ b/lm_ssl.c Fri Feb 20 23:07:43 2009 +0200
@@ -5,6 +5,7 @@
#include <loudmouth/loudmouth.h>
#include <stdio.h>
+#include "config.h"
#include "util.h"
#include "lm_types.h"
@@ -40,7 +41,7 @@
// XXX lm_ssl_unref (ssl);
luaL_pushenum (cb->L, status, llm_ssl_status);
if (lua_pcall (cb->L, 2, 0, 0)) {
- // XXX lua_error (cb->L);
+ E ("SSL callback error: %s", lua_tostring (cb->L, -1));
lua_pop (cb->L, 1);
return LM_SSL_RESPONSE_CONTINUE;
}
@@ -82,7 +83,6 @@
if (lua_objlen (L, 1) > 46)
string2fingerprint (fingerprint, buffer);
ssl = lm_ssl_new (buffer, NULL, NULL, NULL);
- lua_pop (L, 1);
} else {
llm_callback_t *cb;
gchar buffer[16] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
@@ -101,10 +101,10 @@
ssl = lm_ssl_new ((args > 1) ? buffer : NULL, (LmSSLFunction)llm_ssl_callback,
cb, (GDestroyNotify)llm_callback_destroy);
- lua_pop (L, 1);
}
llm_ssl_bless (L, ssl);
lm_ssl_unref (ssl); // XXX
+ D ("SSL %X created", (int) ssl);
return 1;
}
@@ -116,7 +116,6 @@
{
luaL_argcheck (L, lua_islightuserdata (L, 1), 1, "lm ssl lightuserdata expected");
llm_ssl_bless (L, lua_touserdata (L, 1));
- lua_remove (L, -2);
return 1;
}
@@ -149,7 +148,6 @@
fingerprint[12], fingerprint[13], fingerprint[14], fingerprint[15]);
lua_pushlstring (L, buffer, 47);
}
- lua_remove (L, -2);
return 1;
}
@@ -160,15 +158,14 @@
{
llm_ssl_t *object = luaL_checklm_ssl (L, 1);
lua_pushlightuserdata (L, object->ssl);
- lua_remove (L, -2);
return 1;
}
static int llm_ssl_gc (lua_State *L)
{
llm_ssl_t *object = luaL_checklm_ssl (L, 1);
+ D ("SSL %X gc called", (int) object);
lm_ssl_unref (object->ssl);
- lua_pop (L, 1);
return 0;
}