Ignore:
Timestamp:
Oct 30, 2006, 12:03:44 AM (18 years ago)
Author:
rainer
Message:

Update trunk to samhain 2.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/cutest_sh_utils.c

    r34 r68  
    77#include "sh_utils.h"
    88
     9void Test_sh_util_acl_compact (CuTest *tc) {
     10  char * ret = 0;
     11  char   inp1[] = "user::r--\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw-  #effective: r--\nmask::r--\nother::r--\n";
     12  char   inp2[] = "use\n\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw-  #effective: r--\nmask::r--\nother::r--\n";
     13  char   inp3[] = "user:\177\145\177\122:r--\nuser:lisa:rwx\t\t#effective: r--\ngroup::r--\ngroup:toolies:rw-  #effective: r--\nmask::r--\nother::r--\n";
     14 
     15  ret = sh_util_acl_compact (inp1, strlen(inp1));
     16  CuAssertPtrNotNull(tc, ret);
     17  CuAssertStrEquals(tc, "u::r--,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--",
     18                    ret);
     19
     20  ret = sh_util_acl_compact (inp2, strlen(inp2));
     21  CuAssertPtrNotNull(tc, ret);
     22  CuAssertStrEquals(tc, "use,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--",
     23                    ret);
     24
     25  ret = sh_util_acl_compact (inp3, strlen(inp3));
     26  CuAssertPtrNotNull(tc, ret);
     27  CuAssertStrEquals(tc, "u:eR:r--,u:lisa:rwx,g::r--,g:toolies:rw-,m::r--,o::r--",
     28                    ret);
     29
     30  return;
     31}
     32
    933void Test_sh_util_strdup_ok (CuTest *tc) {
    1034  char * ret = 0;
     
    108132
    109133  return;
     134}
     135
     136void Test_sh_util_utf8_ok (CuTest *tc) {
     137  int ret = 0;
     138#if defined(SH_WITH_CLIENT) || defined(SH_STANDALONE)
     139  unsigned char seq[16];
     140  unsigned char input[16] = "foobar";
     141
     142  seq[0] = 0x00;
     143  ret = sh_util_valid_utf8(seq);
     144  CuAssertIntEquals(tc, ret, S_TRUE);
     145
     146  seq[0] = 0xd7; seq[1] = 0x90; seq[2] = 0x00;
     147  ret = sh_util_valid_utf8(seq);
     148  CuAssertIntEquals(tc, ret, S_TRUE);
     149
     150  seq[0] = 0xed; seq[1] = 0x9f; seq[2] = 0xbf; seq[3] = 0x00;
     151  ret = sh_util_valid_utf8(seq);
     152  CuAssertIntEquals(tc, ret, S_TRUE);
     153
     154  seq[0] = 0xee; seq[1] = 0x80; seq[2] = 0x80; seq[3] = 0x00;
     155  ret = sh_util_valid_utf8(seq);
     156  CuAssertIntEquals(tc, ret, S_TRUE);
     157
     158  seq[0] = 0xef; seq[1] = 0xbf; seq[2] = 0xbd; seq[3] = 0x00;
     159  ret = sh_util_valid_utf8(seq);
     160  CuAssertIntEquals(tc, ret, S_TRUE);
     161
     162  seq[0] = 0xf4; seq[1] = 0x8f; seq[2] = 0xbf; seq[3] = 0xbf; seq[4] = 0x00;
     163  ret = sh_util_valid_utf8(seq);
     164  CuAssertIntEquals(tc, ret, S_TRUE);
     165
     166  seq[0] = 0xf4; seq[1] = 0x90; seq[2] = 0x80; seq[3] = 0x80; seq[4] = 0x00;
     167  ret = sh_util_valid_utf8(seq);
     168  CuAssertIntEquals(tc, ret, S_TRUE);
     169
     170  seq[0] = 0xd7; seq[1] = 0x90; seq[2] = 0xd7; seq[3] = 0x90; seq[4] = 0x00;
     171  ret = sh_util_valid_utf8(seq);
     172  CuAssertIntEquals(tc, ret, S_TRUE);
     173
     174  /* cont. char */
     175
     176  seq[0] = 0x80; seq[1] = 0x00;
     177  ret = sh_util_valid_utf8(seq);
     178  CuAssertIntEquals(tc, ret, S_FALSE);
     179
     180  seq[0] = 0xbf; seq[1] = 0x00;
     181  ret = sh_util_valid_utf8(seq);
     182  CuAssertIntEquals(tc, ret, S_FALSE);
     183
     184  /* overlong */
     185
     186  seq[0] = 0xc0; seq[1] = 0xaf; seq[2] = 0x00; 
     187  ret = sh_util_valid_utf8(seq);
     188  CuAssertIntEquals(tc, ret, S_FALSE);
     189
     190  seq[0] = 0xe0; seq[1] = 0x8f; seq[2] = 0xaf;  seq[3] = 0x00; 
     191  ret = sh_util_valid_utf8(seq);
     192  CuAssertIntEquals(tc, ret, S_FALSE);
     193
     194  seq[0] = 0xf0; seq[1] = 0x80; seq[2] = 0x80;  seq[3] = 0xaf; seq[4] = 0x00; 
     195  ret = sh_util_valid_utf8(seq);
     196  CuAssertIntEquals(tc, ret, S_FALSE);
     197
     198  /* overlong */
     199
     200  seq[0] = 0xc1; seq[1] = 0xbf; seq[2] = 0x00; 
     201  ret = sh_util_valid_utf8(seq);
     202  CuAssertIntEquals(tc, ret, S_FALSE);
     203
     204  seq[0] = 0xe0; seq[1] = 0x9f; seq[2] = 0xbf;  seq[3] = 0x00; 
     205  ret = sh_util_valid_utf8(seq);
     206  CuAssertIntEquals(tc, ret, S_FALSE);
     207
     208  seq[0] = 0xf0; seq[1] = 0x8f; seq[2] = 0xbf;  seq[3] = 0xbf; seq[4] = 0x00; 
     209  ret = sh_util_valid_utf8(seq);
     210  CuAssertIntEquals(tc, ret, S_FALSE);
     211
     212  /* overlong */
     213
     214  seq[0] = 0xc0; seq[1] = 0x80; seq[2] = 0x00; 
     215  ret = sh_util_valid_utf8(seq);
     216  CuAssertIntEquals(tc, ret, S_FALSE);
     217
     218  seq[0] = 0xe0; seq[1] = 0x80; seq[2] = 0x80;  seq[3] = 0x00; 
     219  ret = sh_util_valid_utf8(seq);
     220  CuAssertIntEquals(tc, ret, S_FALSE);
     221
     222  seq[0] = 0xf0; seq[1] = 0x80; seq[2] = 0x80;  seq[3] = 0x80; seq[4] = 0x00; 
     223  ret = sh_util_valid_utf8(seq);
     224  CuAssertIntEquals(tc, ret, S_FALSE);
     225
     226  /* cont missing */
     227
     228  seq[0] = 0xd7; seq[1] = 0x20; seq[3] = 0x00;
     229  ret = sh_util_valid_utf8(seq);
     230  CuAssertIntEquals(tc, ret, S_FALSE);
     231
     232  seq[0] = 0xee; seq[1] = 0x80; seq[2] = 0x20; seq[3] = 0x00;
     233  ret = sh_util_valid_utf8(seq);
     234  CuAssertIntEquals(tc, ret, S_FALSE);
     235
     236  seq[0] = 0xf4; seq[1] = 0x8f; seq[2] = 0xbf; seq[3] = 0x20; seq[4] = 0x00;
     237  ret = sh_util_valid_utf8(seq);
     238  CuAssertIntEquals(tc, ret, S_FALSE);
     239
     240
     241  ret = sh_util_obscure_ok ("0x01,0x02,0x03");
     242  CuAssertIntEquals(tc, ret, 0);
     243
     244  ret = sh_util_valid_utf8 (input);
     245  CuAssertIntEquals(tc, ret, S_TRUE);
     246
     247  input[0] = '\t';
     248  ret = sh_util_valid_utf8 (input);
     249  CuAssertIntEquals(tc, ret, S_FALSE);
     250
     251  input[0] = 0x01;
     252  ret = sh_util_valid_utf8 (input);
     253  CuAssertIntEquals(tc, ret, S_TRUE);
     254
     255  input[0] = 0x02;
     256  ret = sh_util_valid_utf8 (input);
     257  CuAssertIntEquals(tc, ret, S_TRUE);
     258
     259  input[0] = 0x03;
     260  ret = sh_util_valid_utf8 (input);
     261  CuAssertIntEquals(tc, ret, S_TRUE);
     262
     263  input[0] = 0x04;
     264  ret = sh_util_valid_utf8 (input);
     265  CuAssertIntEquals(tc, ret, S_FALSE);
     266
     267
     268#else
     269  CuAssertIntEquals(tc, ret, 0);
     270#endif
    110271}
    111272
Note: See TracChangeset for help on using the changeset viewer.