lm_ssl.c
changeset 6 90073cbb535d
parent 4 5770be2d5f3f
child 9 50f55d494efb
--- 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;
 }