libidav/utils.c

changeset 225
a297c2e28fa1
parent 189
0d04ccf6747b
child 228
c0175372c35d
equal deleted inserted replaced
224:4b55f05f4e00 225:a297c2e28fa1
50 #include <openssl/evp.h> 50 #include <openssl/evp.h>
51 #include <openssl/bio.h> 51 #include <openssl/bio.h>
52 #include <openssl/buffer.h> 52 #include <openssl/buffer.h>
53 #include <openssl/rand.h> 53 #include <openssl/rand.h>
54 54
55 #include "webdav.h"
55 #include "utils.h" 56 #include "utils.h"
56 #include "crypto.h" 57 #include "crypto.h"
57 #include "webdav.h" 58 #include "session.h"
58 59
59 static size_t extractval(sstr_t str, char *result, char delim) { 60 static size_t extractval(sstr_t str, char *result, char delim) {
60 size_t n = 0; 61 size_t n = 0;
61 for(size_t i = 0; i < str.length ; i++) { 62 for(size_t i = 0; i < str.length ; i++) {
62 if(isdigit(str.ptr[i])) { 63 if(isdigit(str.ptr[i])) {
503 } 504 }
504 505
505 char* util_encrypt_str(DavSession *sn, char *str, char *key) { 506 char* util_encrypt_str(DavSession *sn, char *str, char *key) {
506 DavKey *k = dav_context_get_key(sn->context, key); 507 DavKey *k = dav_context_get_key(sn->context, key);
507 if(!k) { 508 if(!k) {
508 // TODO: session error 509 sn->error = DAV_ERROR;
510 sstr_t err = ucx_sprintf("Key %s not found", key);
511 dav_session_set_errstr(sn, err.ptr);
512 free(err.ptr);
509 return NULL; 513 return NULL;
510 } 514 }
511 515
512 return util_encrypt_str_k(sn, str, k); 516 return util_encrypt_str_k(sn, str, k);
513 } 517 }
520 } 524 }
521 525
522 char* util_decrypt_str(DavSession *sn, char *str, char *key) { 526 char* util_decrypt_str(DavSession *sn, char *str, char *key) {
523 DavKey *k = dav_context_get_key(sn->context, key); 527 DavKey *k = dav_context_get_key(sn->context, key);
524 if(!k) { 528 if(!k) {
525 // TODO: session error 529 sn->error = DAV_ERROR;
530 sstr_t err = ucx_sprintf("Key %s not found", key);
531 dav_session_set_errstr(sn, err.ptr);
532 free(err.ptr);
526 return NULL; 533 return NULL;
527 } 534 }
528 535
529 return util_decrypt_str_k(sn, str, k); 536 return util_decrypt_str_k(sn, str, k);
530 } 537 }

mercurial