1
0
Fork 0
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:
Alexey Shchepin 2003-10-09 18:09:05 +00:00
parent 8e7106dd74
commit 7df146166a
12 changed files with 263 additions and 136 deletions

View file

@ -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);

View file

@ -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,

View file

@ -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}]