aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--util-src/encodings.c6
-rw-r--r--util/sasl.lua5
2 files changed, 5 insertions, 6 deletions
diff --git a/util-src/encodings.c b/util-src/encodings.c
index ac24ebcf..5fe2c805 100644
--- a/util-src/encodings.c
+++ b/util-src/encodings.c
@@ -7,19 +7,17 @@
#define _CRT_SECURE_NO_DEPRECATE
#include <string.h>
-#include <malloc.h>
+#include <stdlib.h>
#include "lua.h"
#include "lauxlib.h"
/***************** BASE64 *****************/
-#define uint unsigned int
-
static const char code[]=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-static void base64_encode(luaL_Buffer *b, uint c1, uint c2, uint c3, int n)
+static void base64_encode(luaL_Buffer *b, unsigned int c1, unsigned int c2, unsigned int c3, int n)
{
unsigned long tuple=c3+256UL*(c2+256UL*c1);
int i;
diff --git a/util/sasl.lua b/util/sasl.lua
index 0f03647f..f5ef04b8 100644
--- a/util/sasl.lua
+++ b/util/sasl.lua
@@ -11,6 +11,7 @@ local math = require "math"
local type = type
local error = error
local print = print
+local idna_ascii = require "util.encodings".stringprep.saslprep.to_ascii
module "sasl"
@@ -130,7 +131,7 @@ local function new_digest_md5(realm, password_handler)
elseif Y == false then return "failure", "account-disabled" end
local A1 = Y..":"..response["nonce"]..":"..response["cnonce"]--:authzid
- local A2 = "AUTHENTICATE:"..protocol.."/"..domain
+ local A2 = "AUTHENTICATE:"..protocol.."/"..idna_ascii(domain)
local HA1 = md5(A1, true)
local HA2 = md5(A2, true)
@@ -140,7 +141,7 @@ local function new_digest_md5(realm, password_handler)
if response_value == response["response"] then
-- calculate rspauth
- A2 = ":"..protocol.."/"..domain
+ A2 = ":"..protocol.."/"..idna_ascii(domain)
HA1 = md5(A1, true)
HA2 = md5(A2, true)