mirror of
https://github.com/processone/ejabberd
synced 2025-10-05 02:29:34 +02:00
* src/ejabberd_c2s.erl: Added authentification logging
* src/ejabberd_listener.erl: Added logging of accepted connections * src/stringprep/stringprep_drv.c: Cleanup * src/jd2ejd.erl: Added support for iq:private importing * src/mod_configure.erl: Fixed user removal * src/mod_private.erl: Added remove_user/1 * doc/guide.tex: Updated * src/mod_disco.erl: Added "extra_domains" option SVN Revision: 146
This commit is contained in:
parent
8e7106dd74
commit
7df146166a
12 changed files with 263 additions and 136 deletions
|
@ -37,7 +37,7 @@ static void stringprep_erl_stop(ErlDrvData handle)
|
|||
* library
|
||||
*/
|
||||
|
||||
void canonical_ordering(int *str, int len)
|
||||
static void canonical_ordering(int *str, int len)
|
||||
{
|
||||
int i, j, t;
|
||||
int last, next;
|
||||
|
@ -232,13 +232,6 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
}
|
||||
|
||||
info = GetUniCharInfo(uc);
|
||||
//if(info & prohibit) {
|
||||
// *rbuf = rstring;
|
||||
// driver_free(str32);
|
||||
// return 1;
|
||||
//}
|
||||
|
||||
//printf("Got %x\r\n", uc);
|
||||
|
||||
if(!(info & B1Mask))
|
||||
{
|
||||
|
@ -247,34 +240,10 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
{
|
||||
ruc = uc + GetDelta(info);
|
||||
ADD_DECOMP(ruc);
|
||||
|
||||
//info = GetUniCharDecompInfo(ruc);
|
||||
//if(info >= 0) {
|
||||
// decomp_len = GetDecompLen(info);
|
||||
// decomp_shift = GetDecompShift(info);
|
||||
// for(j = 0; j < decomp_len; j++) {
|
||||
// ADD_UCHAR32(str32, str32pos, str32len,
|
||||
// decompList[decomp_shift + j]);
|
||||
// }
|
||||
//} else {
|
||||
// ADD_UCHAR32(str32, str32pos, str32len, ruc);
|
||||
//}
|
||||
|
||||
//info = GetUniCharDecompInfo(ruc);
|
||||
//if(info >= 0) {
|
||||
// printf("Decomposition %x: ", ruc);
|
||||
// for(j = 0; j < GetDecompLen(info); j++) {
|
||||
// printf("%x ", decompList[GetDecompShift(info) + j]);
|
||||
// }
|
||||
// printf("\r\n");
|
||||
//}
|
||||
|
||||
//ADD_UCHAR(ruc);
|
||||
} else {
|
||||
mc = GetMC(info);
|
||||
for(j = 1; j <= mc[0]; j++) {
|
||||
ruc = mc[j];
|
||||
//printf("Char %x cclass %d\r\n", ruc, GetUniCharCClass(ruc));
|
||||
ADD_DECOMP(ruc);
|
||||
}
|
||||
}
|
||||
|
@ -292,19 +261,8 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
return 1;
|
||||
}
|
||||
|
||||
//printf("\r\n");
|
||||
//printf("DECOMPOSED:\t");
|
||||
//for(i = 0; i < str32pos; i++)
|
||||
// printf("%4x ", str32[i]);
|
||||
//printf("\r\n");
|
||||
|
||||
canonical_ordering(str32, str32pos);
|
||||
|
||||
//printf("ORDERED:\t");
|
||||
//for(i = 0; i < str32pos; i++)
|
||||
// printf("%4x ", str32[i]);
|
||||
//printf("\r\n");
|
||||
|
||||
comp_pos = 1;
|
||||
comp_starter_pos = 0;
|
||||
ch1 = str32[0];
|
||||
|
@ -314,7 +272,6 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
{
|
||||
ch2 = str32[i];
|
||||
cclass2 = GetUniCharCClass(ch2);
|
||||
//printf("Compose: %x + %x = %x\r\n", ch1, ch2, compose(ch1, ch2));
|
||||
if(cclass1 == 0 && cclass2 > cclass_prev && (ruc = compose(ch1, ch2))) {
|
||||
ch1 = ruc;
|
||||
} else {
|
||||
|
@ -332,11 +289,6 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
str32[comp_starter_pos] = ch1;
|
||||
str32pos = comp_pos;
|
||||
|
||||
//printf("COMPOSED:\t");
|
||||
//for(i = 0; i < str32pos; i++)
|
||||
// printf("%4x ", str32[i]);
|
||||
//printf("\r\n");
|
||||
|
||||
for(i = 0; i < str32pos; i++)
|
||||
{
|
||||
ruc = str32[i];
|
||||
|
@ -349,9 +301,6 @@ static int stringprep_erl_control(ErlDrvData drv_data,
|
|||
ADD_UCHAR(ruc);
|
||||
}
|
||||
|
||||
//printf("Compose: %x\r\n", compose(0x438, 0x301));
|
||||
//printf("Pos: %d\r\n", pos);
|
||||
|
||||
rstring[0] = 1;
|
||||
*rbuf = rstring;
|
||||
driver_free(str32);
|
||||
|
|
|
@ -77,9 +77,8 @@ static unsigned char cclassPageMap[] = {
|
|||
};
|
||||
|
||||
/*
|
||||
* The groupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a unique
|
||||
* set of character attributes.
|
||||
* The cclassGroupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a combining class number.
|
||||
*/
|
||||
|
||||
static unsigned char cclassGroupMap[] = {
|
||||
|
@ -297,9 +296,9 @@ static unsigned char decompPageMap[] = {
|
|||
};
|
||||
|
||||
/*
|
||||
* The groupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a unique
|
||||
* set of character attributes.
|
||||
* The decompGroupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a length and
|
||||
* shift of decomposition sequence in decompList
|
||||
*/
|
||||
|
||||
static int decompGroupMap[] = {
|
||||
|
@ -839,7 +838,7 @@ static int decompGroupMap[] = {
|
|||
};
|
||||
|
||||
/*
|
||||
* Each group represents a unique set of character attributes. The attributes...
|
||||
* List of decomposition sequences
|
||||
*/
|
||||
|
||||
static int decompList[] = {
|
||||
|
@ -1295,8 +1294,6 @@ static int decompList[] = {
|
|||
* Unicode character tables.
|
||||
*/
|
||||
|
||||
//#define GetUniCharInfo(ch) (groups[groupMap[(pageMap[(((int)(ch)) & 0xffff) >> CCLASS_OFFSET_BITS] << CCLASS_OFFSET_BITS) | ((ch) & ((1 << CCLASS_OFFSET_BITS)-1))]])
|
||||
|
||||
#define GetUniCharDecompInfo(ch) (decompGroupMap[(decompPageMap[(((int)(ch)) & 0xffff) >> DECOMP_OFFSET_BITS] << DECOMP_OFFSET_BITS) | ((ch) & ((1 << DECOMP_OFFSET_BITS)-1))])
|
||||
|
||||
#define GetDecompShift(info) ((info) & 0xffff)
|
||||
|
@ -1556,7 +1553,7 @@ static int compGroupMap[] = {
|
|||
};
|
||||
|
||||
/*
|
||||
* ...
|
||||
* Lists of compositions for characters that appears only in one composition
|
||||
*/
|
||||
|
||||
static int compFirstList[][2] = {
|
||||
|
@ -1612,6 +1609,10 @@ static int compSecondList[][2] = {
|
|||
{1575, 1570}, {1575, 1573}
|
||||
};
|
||||
|
||||
/*
|
||||
* Compositions matrix
|
||||
*/
|
||||
|
||||
static int compBothList[144][37] = {
|
||||
{
|
||||
8179, 8060, 974, 0, 8032, 0, 8033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
|
|
@ -423,9 +423,8 @@ static unsigned char cclassPageMap\[\] = {"
|
|||
puts $f "};
|
||||
|
||||
/*
|
||||
* The groupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a unique
|
||||
* set of character attributes.
|
||||
* The cclassGroupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a combining class number.
|
||||
*/
|
||||
|
||||
static unsigned char cclassGroupMap\[\] = {"
|
||||
|
@ -476,9 +475,9 @@ static unsigned char decompPageMap\[\] = {"
|
|||
puts $f "};
|
||||
|
||||
/*
|
||||
* The groupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a unique
|
||||
* set of character attributes.
|
||||
* The decompGroupMap is indexed by combining the alternate page number with
|
||||
* the page offset and returns a group number that identifies a length and
|
||||
* shift of decomposition sequence in decompList
|
||||
*/
|
||||
|
||||
static int decompGroupMap\[\] = {"
|
||||
|
@ -502,7 +501,7 @@ static int decompGroupMap\[\] = {"
|
|||
puts $f "};
|
||||
|
||||
/*
|
||||
* Each group represents a unique set of character attributes. The attributes...
|
||||
* List of decomposition sequences
|
||||
*/
|
||||
|
||||
static int decompList\[\] = {"
|
||||
|
@ -529,8 +528,6 @@ static int decompList\[\] = {"
|
|||
* Unicode character tables.
|
||||
*/
|
||||
|
||||
//#define GetUniCharInfo(ch) (groups\[groupMap\[(pageMap\[(((int)(ch)) & 0xffff) >> CCLASS_OFFSET_BITS\] << CCLASS_OFFSET_BITS) | ((ch) & ((1 << CCLASS_OFFSET_BITS)-1))\]\])
|
||||
|
||||
#define GetUniCharDecompInfo(ch) (decompGroupMap\[(decompPageMap\[(((int)(ch)) & 0xffff) >> DECOMP_OFFSET_BITS\] << DECOMP_OFFSET_BITS) | ((ch) & ((1 << DECOMP_OFFSET_BITS)-1))\])
|
||||
|
||||
#define GetDecompShift(info) ((info) & 0xffff)
|
||||
|
@ -588,7 +585,7 @@ static int compGroupMap\[\] = {"
|
|||
puts $f "};
|
||||
|
||||
/*
|
||||
* ...
|
||||
* Lists of compositions for characters that appears only in one composition
|
||||
*/
|
||||
|
||||
static int compFirstList\[\]\[2\] = {"
|
||||
|
@ -627,6 +624,10 @@ static int compSecondList\[\]\[2\] = {"
|
|||
puts $f $line
|
||||
puts $f "};
|
||||
|
||||
/*
|
||||
* Compositions matrix
|
||||
*/
|
||||
|
||||
static int compBothList\[[llength $comp_x_list]\]\[[llength $comp_y_list]\] = {"
|
||||
set lastx [expr {[llength $comp_x_list] - 1}]
|
||||
set lasty [expr {[llength $comp_y_list] - 1}]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue