int getcopyconfigitemint(char *section, char *key, int def, int *value) {
char buf[50];
sstring *ini;
+ int r;
snprintf(buf, sizeof(buf), "%d", def);
- ini = getcopyconfigitem(section, key, buf, 6);
+ ini = getcopyconfigitem(section, key, buf, 15);
if(!ini)
return 0;
- if(!protectedatoi(ini->content, value))
+ r = protectedatoi(ini->content, value);
+ freesstring(ini);
+ if(!r)
return 0;
return 1;
return err;
}
-
-rijndaelcbc *rijndaelcbc_init(unsigned char *key, int keybits, unsigned char *iv, int decrypt) {
- rijndaelcbc *ret = (rijndaelcbc *)ntmalloc(sizeof(rijndaelcbc) + RKLENGTH(keybits) * sizeof(unsigned long));
- if(!ret)
- return NULL;
-
- ret->rk = (unsigned long *)(ret + 1);
-
- memcpy(ret->prevblock, iv, 16);
-
- if(decrypt) {
- ret->nrounds = rijndaelSetupDecrypt(ret->rk, key, keybits);
- } else {
- ret->nrounds = rijndaelSetupEncrypt(ret->rk, key, keybits);
- }
- return ret;
-}
-
-void rijndaelcbc_free(rijndaelcbc *c) {
- ntfree(c);
-}
-
-unsigned char *rijndaelcbc_encrypt(rijndaelcbc *c, unsigned char *ptblock) {
- int i;
- unsigned char *p = c->prevblock, *p2 = c->scratch;
- for(i=0;i<16;i++)
- *p2++ = *p++ ^ *ptblock++;
-
- rijndaelEncrypt(c->rk, c->nrounds, c->scratch, c->prevblock);
- return c->prevblock;
-}
-
-unsigned char *rijndaelcbc_decrypt(rijndaelcbc *c, unsigned char *ctblock) {
- int i;
- unsigned char *p = c->prevblock, *p2 = c->scratch;
-
- rijndaelDecrypt(c->rk, c->nrounds, ctblock, c->scratch);
-
- for(i=0;i<16;i++)
- *p2++^=*p++;
-
- memcpy(c->prevblock, ctblock, 16);
- return c->scratch;
-}