59 59 214 556 381 ../../lib/kerberos_v5/kerberos_v5.c(557): _gsasl_kerberos_v5_server_step 59 59 214 105 381 ../../lib/kerberos_v5/server.c(106): _gsasl_kerberos_v5_server_step 40 44 153 88 277 ../../lib/kerberos_v5/client.c(89): _gsasl_kerberos_v5_client_step 40 44 153 109 277 ../../lib/kerberos_v5/kerberos_v5.c(110): _gsasl_kerberos_v5_client_step 38 39 138 107 267 ../../lib/scram/server.c(108): _gsasl_scram_sha1_server_step 38 38 86 242 146 ../../lib/digest-md5/printer.c(243): digest_md5_print_response 37 48 95 349 171 ../../lib/digest-md5/parser.c(350): parse_response 37 39 140 130 260 ../../lib/scram/client.c(131): _gsasl_scram_sha1_client_step 37 37 162 78 236 ../../lib/digest-md5/digesthmac.c(79): digest_md5_hmac 36 36 94 73 168 ../../lib/digest-md5/printer.c(74): digest_md5_print_challenge 33 33 38 45 71 ../../lib/digest-md5/getsubopt.c(46): digest_md5_getsubopt 31 31 80 39 127 ../../lib/scram/parser.c(40): scram_parse_client_first 31 31 69 167 108 ../../lib/scram/parser.c(168): scram_parse_server_first 29 43 95 111 203 ../../lib/digest-md5/parser.c(112): parse_challenge 27 29 91 94 185 ../../lib/digest-md5/client.c(95): _gsasl_digest_md5_client_step 27 27 66 276 104 ../../lib/scram/parser.c(277): scram_parse_client_final 26 28 98 79 197 ../../lib/gs2/client.c(80): _gsasl_gs2_client_step 26 28 96 142 198 ../../lib/digest-md5/server.c(143): _gsasl_digest_md5_server_step 25 25 112 33 174 ../../lib/digest-md5/test-parser.c(34): main 23 32 98 1876 163 ../../lib/src/obsolete.c(1877): pmap 22 24 91 77 178 ../../lib/gssapi/client.c(78): _gsasl_gssapi_client_step 18 21 78 122 159 ../../lib/gs2/server.c(123): _gsasl_gs2_server_step 16 19 73 120 146 ../../lib/gssapi/server.c(121): _gsasl_gssapi_server_step 16 18 59 55 106 ../../lib/securid/client.c(56): _gsasl_securid_client_step 15 21 64 2057 119 ../../lib/src/obsolete.c(2058): _gsasl_obsolete_callback 14 15 55 39 89 ../../lib/securid/server.c(40): _gsasl_securid_server_step 14 14 26 42 50 ../../lib/gs2/gs2wrap.c(43): gs2_parse_request 13 15 50 60 87 ../../lib/login/server.c(61): _gsasl_login_server_step 13 13 59 36 114 ../../lib/plain/server.c(37): _gsasl_plain_server_step 13 13 24 83 39 ../../lib/gs2/gs2parser.c(84): gs2_encode 12 12 40 121 76 ../../lib/digest-md5/session.c(122): digest_md5_decode 12 12 35 52 73 ../../lib/src/init.c(53): register_builtin_mechs 12 12 25 984 50 ../../lib/kerberos_v5/kerberos_v5.c(985): _gsasl_kerberos_v5_server_decode 12 12 25 534 50 ../../lib/kerberos_v5/server.c(535): _gsasl_kerberos_v5_server_decode 12 12 23 487 46 ../../lib/kerberos_v5/server.c(488): _gsasl_kerberos_v5_server_encode 12 12 23 366 46 ../../lib/kerberos_v5/client.c(367): _gsasl_kerberos_v5_client_encode 12 12 21 938 45 ../../lib/kerberos_v5/kerberos_v5.c(939): _gsasl_kerberos_v5_server_encode 12 12 21 387 45 ../../lib/kerberos_v5/kerberos_v5.c(388): _gsasl_kerberos_v5_client_encode 12 12 19 52 49 ../../lib/digest-md5/validate.c(53): digest_md5_validate_response 12 12 15 115 26 ../../lib/digest-md5/validate.c(116): digest_md5_validate 11 13 13 33 37 ../../lib/scram/validate.c(34): scram_valid_client_first 11 11 22 53 42 ../../lib/scram/printer.c(54): scram_print_client_first 10 11 53 60 105 ../../lib/ntlm/ntlm.c(61): _gsasl_ntlm_client_step 10 10 27 46 50 ../../lib/src/md5pwd.c(47): gsasl_simple_getpass 10 10 23 68 39 ../../lib/digest-md5/nonascii.c(69): utf8tolatin1ifpossible 10 10 13 96 29 ../../lib/scram/validate.c(97): scram_valid_client_final 9 9 28 295 54 ../../lib/gs2/client.c(296): _gsasl_gs2_client_encode 9 9 28 274 54 ../../lib/gssapi/client.c(275): _gsasl_gssapi_client_encode 9 9 26 47 50 ../../lib/src/saslprep.c(48): gsasl_saslprep 9 9 25 37 45 ../../lib/src/suggest.c(38): gsasl_client_suggest_mechanism 9 9 18 381 32 ../../lib/scram/parser.c(382): scram_parse_server_final 8 8 34 63 62 ../../lib/cram-md5/server.c(64): _gsasl_cram_md5_server_step 8 8 27 350 52 ../../lib/gs2/client.c(351): _gsasl_gs2_client_decode 8 8 27 329 52 ../../lib/gssapi/client.c(330): _gsasl_gssapi_client_decode 8 8 22 40 40 ../../lib/src/xstart.c(41): setup 8 8 18 33 41 ../../lib/gs2/gs2parser.c(34): gs2_parser 8 8 11 71 24 ../../lib/scram/validate.c(72): scram_valid_server_first 8 8 11 413 29 ../../lib/kerberos_v5/client.c(414): _gsasl_kerberos_v5_client_decode 8 8 10 433 30 ../../lib/kerberos_v5/kerberos_v5.c(434): _gsasl_kerberos_v5_client_decode 7 7 45 47 68 ../../lib/digest-md5/session.c(48): digest_md5_encode 7 7 37 39 66 ../../lib/cram-md5/client.c(40): _gsasl_cram_md5_client_step 7 7 36 60 61 ../../lib/gs2/server.c(61): _gsasl_gs2_server_start 7 7 36 58 61 ../../lib/gssapi/server.c(59): _gsasl_gssapi_server_start 7 7 25 64 40 ../../lib/kerberos_v5/server.c(65): _gsasl_kerberos_v5_server_start 7 7 25 515 40 ../../lib/kerberos_v5/kerberos_v5.c(516): _gsasl_kerberos_v5_server_start 7 7 18 41 31 ../../lib/digest-md5/printer.c(42): comma_append 7 7 16 37 37 ../../lib/src/register.c(38): gsasl_register 7 7 15 533 34 ../../lib/digest-md5/parser.c(534): parse_finish 6 6 7 33 18 ../../lib/digest-md5/validate.c(34): digest_md5_validate_challenge 6 6 26 36 47 ../../lib/plain/client.c(37): _gsasl_plain_client_step 6 6 24 67 39 ../../lib/scram/server.c(68): _gsasl_scram_sha1_server_start 6 6 23 32 34 ../../lib/src/xfinish.c(33): gsasl_finish 6 6 20 25 35 ../../lib/src/listmech.c(26): _gsasl_listmech 6 6 17 32 28 ../../lib/src/done.c(33): gsasl_done 6 6 15 85 31 ../../lib/src/xstep.c(86): gsasl_step64 6 6 13 73 34 ../../lib/gs2/test-parser.c(74): main 5 7 22 36 54 ../../lib/digest-md5/qop.c(37): digest_md5_qopstr2qops 5 5 8 74 18 ../../lib/src/callback.c(75): gsasl_callback 5 5 5 98 13 ../../lib/digest-md5/server.c(99): _gsasl_digest_md5_hexdigit_to_char 5 5 5 90 9 ../../lib/scram/client.c(91): hexdigit_to_char 5 5 20 1768 35 ../../lib/src/obsolete.c(1769): gsasl_md5pwd_get_password 5 5 15 40 27 ../../lib/digest-md5/nonascii.c(41): latin1toutf8 5 5 13 115 28 ../../lib/src/obsolete.c(116): _gsasl_step 5 5 11 282 20 ../../lib/gs2/server.c(283): _gsasl_gs2_server_finish 5 5 11 267 20 ../../lib/gssapi/server.c(268): _gsasl_gssapi_server_finish 5 5 11 204 25 ../../lib/src/obsolete.c(205): _gsasl_step64 4 5 22 57 43 ../../lib/login/client.c(58): _gsasl_login_client_step 4 4 9 277 17 ../../lib/gs2/client.c(278): _gsasl_gs2_client_finish 4 4 9 256 17 ../../lib/gssapi/client.c(257): _gsasl_gssapi_client_finish 4 4 9 25 14 ../../lib/src/xstart.c(26): find_mechanism 4 4 9 206 17 ../../lib/src/error.c(207): gsasl_strerror 4 4 9 151 22 ../../lib/src/property.c(152): gsasl_property_set_raw 4 4 8 30 25 ../../lib/anonymous/server.c(31): _gsasl_anonymous_server_step 4 4 7 99 17 ../../lib/scram/printer.c(100): scram_print_server_first 4 4 7 25 11 ../../lib/src/supportp.c(26): _gsasl_support_p 4 4 7 141 16 ../../lib/scram/printer.c(142): scram_print_server_final 4 4 7 120 17 ../../lib/scram/printer.c(121): scram_print_client_final 4 4 5 126 13 ../../lib/scram/validate.c(127): scram_valid_server_final 4 4 20 64 33 ../../lib/digest-md5/server.c(65): _gsasl_digest_md5_server_start 4 4 18 63 30 ../../lib/digest-md5/client.c(64): _gsasl_digest_md5_client_start 4 4 16 59 30 ../../lib/scram/client.c(60): _gsasl_scram_sha1_client_start 4 4 13 88 26 ../../lib/src/obsolete.c(89): gsasl_server_listmech 4 4 13 45 26 ../../lib/src/obsolete.c(46): gsasl_client_listmech 4 4 11 138 21 ../../lib/src/init.c(139): gsasl_init 4 4 10 57 19 ../../lib/cram-md5/digest.c(58): cram_md5_digest 4 4 10 380 23 ../../lib/digest-md5/server.c(381): _gsasl_digest_md5_server_decode 4 4 10 356 23 ../../lib/digest-md5/server.c(357): _gsasl_digest_md5_server_encode 4 4 10 33 28 ../../lib/external/server.c(34): _gsasl_external_server_step 4 4 10 319 23 ../../lib/digest-md5/client.c(320): _gsasl_digest_md5_client_decode 4 4 10 295 23 ../../lib/digest-md5/client.c(296): _gsasl_digest_md5_client_encode 3 3 9 33 19 ../../lib/external/client.c(34): _gsasl_external_client_step 3 3 9 33 19 ../../lib/anonymous/client.c(34): _gsasl_anonymous_client_step 3 3 8 26 14 ../../lib/tests/test-error.c(27): main 3 3 8 25 20 ../../lib/src/xcode.c(26): _gsasl_code 3 3 8 1727 16 ../../lib/src/obsolete.c(1728): gsasl_stringprep_trace 3 3 8 1693 16 ../../lib/src/obsolete.c(1694): gsasl_stringprep_saslprep 3 3 7 230 18 ../../lib/src/property.c(231): gsasl_property_get 3 3 7 118 11 ../../lib/scram/client.c(119): hex_p 3 3 6 73 13 ../../lib/src/base64.c(74): gsasl_base64_from 3 3 6 43 13 ../../lib/src/base64.c(44): gsasl_base64_to 3 3 6 389 15 ../../lib/digest-md5/printer.c(390): digest_md5_print_finish 3 3 5 102 12 ../../lib/digest-md5/validate.c(103): digest_md5_validate_finish 3 3 3 44 8 ../../lib/src/version.c(45): gsasl_check_version 3 3 3 37 7 ../../lib/src/mechname.c(38): gsasl_mechanism_name 3 3 3 244 8 ../../lib/src/error.c(245): gsasl_strerror_name 3 3 14 77 24 ../../lib/kerberos_v5/kerberos_v5.c(78): _gsasl_kerberos_v5_client_start 3 3 14 64 23 ../../lib/cram-md5/challenge.c(65): cram_md5_challenge 3 3 14 56 24 ../../lib/kerberos_v5/client.c(57): _gsasl_kerberos_v5_client_start 3 3 11 81 24 ../../lib/src/xstart.c(82): start 3 3 11 610 20 ../../lib/digest-md5/parser.c(611): digest_md5_parse_finish 3 3 11 589 20 ../../lib/digest-md5/parser.c(590): digest_md5_parse_response 3 3 11 568 20 ../../lib/digest-md5/parser.c(569): digest_md5_parse_challenge 3 3 11 513 21 ../../lib/src/obsolete.c(514): gsasl_decode_inline 3 3 11 473 21 ../../lib/src/obsolete.c(474): gsasl_encode_inline 3 3 11 119 22 ../../lib/digest-md5/server.c(120): _gsasl_digest_md5_set_hashed_secret 3 3 10 44 18 ../../lib/cram-md5/server.c(45): _gsasl_cram_md5_server_start 3 19 39 25 84 ../../lib/src/property.c(26): map 2 2 8 35 12 ../../lib/digest-md5/free.c(36): digest_md5_free_challenge 2 2 8 2040 16 ../../lib/src/obsolete.c(2041): _gsasl_obsolete_property_map 2 2 7 44 15 ../../lib/ntlm/ntlm.c(45): _gsasl_ntlm_client_start 2 2 7 41 15 ../../lib/login/client.c(42): _gsasl_login_client_start 2 2 7 39 15 ../../lib/securid/client.c(40): _gsasl_securid_client_start 2 2 7 341 14 ../../lib/digest-md5/server.c(342): _gsasl_digest_md5_server_finish 2 2 7 280 14 ../../lib/digest-md5/client.c(281): _gsasl_digest_md5_client_finish 2 2 6 46 13 ../../lib/login/server.c(47): _gsasl_login_server_start 2 2 6 148 12 ../../lib/login/server.c(149): _gsasl_login_server_finish 2 2 5 95 14 ../../lib/src/xcode.c(96): gsasl_decode 2 2 5 63 14 ../../lib/src/xcode.c(64): gsasl_encode 2 2 5 50 14 ../../lib/src/xstep.c(51): gsasl_step 2 2 4 91 9 ../../lib/src/crypto.c(92): gsasl_hmac_md5 2 2 4 69 8 ../../lib/src/crypto.c(70): gsasl_md5 2 2 4 193 10 ../../lib/src/property.c(194): gsasl_property_fast 2 2 4 138 9 ../../lib/src/crypto.c(139): gsasl_hmac_sha1 2 2 4 114 8 ../../lib/src/crypto.c(115): gsasl_sha1 2 2 4 107 10 ../../lib/scram/client.c(108): sha1_hex_to_byte 2 2 4 101 10 ../../lib/login/client.c(102): _gsasl_login_client_finish 2 2 3 68 8 ../../lib/kerberos_v5/kerberos_v5.c(69): _gsasl_kerberos_v5_client_init 2 2 3 55 8 ../../lib/kerberos_v5/server.c(56): _gsasl_kerberos_v5_server_init 2 2 3 506 8 ../../lib/kerberos_v5/kerberos_v5.c(507): _gsasl_kerberos_v5_server_init 2 2 3 47 8 ../../lib/kerberos_v5/client.c(48): _gsasl_kerberos_v5_client_init 2 2 3 431 7 ../../lib/src/obsolete.c(432): gsasl_randomize 2 2 2 971 5 ../../lib/src/obsolete.c(972): gsasl_client_callback_qop_get 2 2 2 930 5 ../../lib/src/obsolete.c(931): gsasl_client_callback_anonymous_get 2 2 2 887 5 ../../lib/src/obsolete.c(888): gsasl_client_callback_service_get 2 2 2 842 5 ../../lib/src/obsolete.c(843): gsasl_client_callback_pin_get 2 2 2 798 5 ../../lib/src/obsolete.c(799): gsasl_client_callback_passcode_get 2 2 2 755 5 ../../lib/src/obsolete.c(756): gsasl_client_callback_password_get 2 2 2 712 5 ../../lib/src/obsolete.c(713): gsasl_client_callback_authorization_id_get 2 2 2 669 5 ../../lib/src/obsolete.c(670): gsasl_client_callback_authentication_id_get 2 2 2 1626 5 ../../lib/src/obsolete.c(1627): gsasl_server_callback_service_get 2 2 2 1582 5 ../../lib/src/obsolete.c(1583): gsasl_server_callback_gssapi_get 2 2 2 1537 5 ../../lib/src/obsolete.c(1538): gsasl_server_callback_securid_get 2 2 2 1488 5 ../../lib/src/obsolete.c(1489): gsasl_server_callback_cipher_get 2 2 2 1444 5 ../../lib/src/obsolete.c(1445): gsasl_server_callback_maxbuf_get 2 2 2 1399 5 ../../lib/src/obsolete.c(1400): gsasl_server_callback_qop_get 2 2 2 1356 5 ../../lib/src/obsolete.c(1357): gsasl_server_callback_realm_get 2 2 2 1314 5 ../../lib/src/obsolete.c(1315): gsasl_server_callback_anonymous_get 2 2 2 1272 5 ../../lib/src/obsolete.c(1273): gsasl_server_callback_external_get 2 2 2 125 6 ../../lib/src/property.c(126): gsasl_property_set 2 2 2 1187 5 ../../lib/src/obsolete.c(1188): gsasl_server_callback_cram_md5_get 2 2 2 1144 5 ../../lib/src/obsolete.c(1145): gsasl_server_callback_retrieve_get 2 2 2 1101 5 ../../lib/src/obsolete.c(1102): gsasl_server_callback_validate_get 2 2 2 1058 5 ../../lib/src/obsolete.c(1059): gsasl_client_callback_realm_get 2 2 2 1016 5 ../../lib/src/obsolete.c(1017): gsasl_client_callback_maxbuf_get 2 2 15 375 22 ../../lib/scram/server.c(376): _gsasl_scram_sha1_server_finish 2 2 11 391 18 ../../lib/scram/client.c(392): _gsasl_scram_sha1_client_finish 2 2 11 1857 18 ../../lib/src/obsolete.c(1858): gsasl_base64_decode 2 2 11 1822 19 ../../lib/src/obsolete.c(1823): gsasl_base64_encode 2 2 10 60 18 ../../lib/gs2/client.c(61): _gsasl_gs2_client_start 2 2 10 58 18 ../../lib/gssapi/client.c(59): _gsasl_gssapi_client_start 1 1 7 585 14 ../../lib/kerberos_v5/server.c(586): _gsasl_kerberos_v5_server_finish 1 1 7 48 12 ../../lib/digest-md5/free.c(49): digest_md5_free_response 1 1 7 1035 14 ../../lib/kerberos_v5/kerberos_v5.c(1036): _gsasl_kerberos_v5_server_finish 1 1 5 32 10 ../../lib/scram/tokens.c(33): scram_free_client_first 1 1 4 52 9 ../../lib/scram/tokens.c(53): scram_free_client_final 1 1 4 464 10 ../../lib/kerberos_v5/kerberos_v5.c(465): _gsasl_kerberos_v5_client_finish 1 1 4 443 10 ../../lib/kerberos_v5/client.c(444): _gsasl_kerberos_v5_client_finish 1 1 3 43 8 ../../lib/scram/tokens.c(44): scram_free_server_first 1 1 3 1662 11 ../../lib/src/obsolete.c(1663): gsasl_stringprep_nfkc 1 1 2 91 16 ../../lib/digest-md5/qop.c(92): digest_md5_qops2qopstr 1 1 2 62 7 ../../lib/scram/tokens.c(63): scram_free_server_final 1 1 2 166 7 ../../lib/ntlm/ntlm.c(167): _gsasl_ntlm_client_finish 1 1 2 162 7 ../../lib/securid/client.c(163): _gsasl_securid_client_finish 1 1 2 126 7 ../../lib/cram-md5/server.c(127): _gsasl_cram_md5_server_finish 1 1 1 994 6 ../../lib/src/obsolete.c(995): gsasl_client_callback_maxbuf_set 1 1 1 950 5 ../../lib/src/obsolete.c(951): gsasl_client_callback_qop_set 1 1 1 92 6 ../../lib/src/listmech.c(93): gsasl_server_mechlist 1 1 1 908 6 ../../lib/src/obsolete.c(909): gsasl_client_callback_anonymous_set 1 1 1 865 6 ../../lib/src/obsolete.c(866): gsasl_client_callback_service_set 1 1 1 820 5 ../../lib/src/obsolete.c(821): gsasl_client_callback_pin_set 1 1 1 775 6 ../../lib/src/obsolete.c(776): gsasl_client_callback_passcode_set 1 1 1 732 6 ../../lib/src/obsolete.c(733): gsasl_client_callback_password_set 1 1 1 73 6 ../../lib/src/listmech.c(74): gsasl_client_mechlist 1 1 1 689 7 ../../lib/src/obsolete.c(690): gsasl_client_callback_authorization_id_set 1 1 1 65 5 ../../lib/src/supportp.c(66): gsasl_server_support_p 1 1 1 646 7 ../../lib/src/obsolete.c(647): gsasl_client_callback_authentication_id_set 1 1 1 626 5 ../../lib/src/obsolete.c(627): gsasl_server_suggest_mechanism 1 1 1 61 5 ../../lib/digest-md5/free.c(62): digest_md5_free_finish 1 1 1 605 5 ../../lib/src/obsolete.c(606): gsasl_appinfo_get 1 1 1 586 5 ../../lib/src/obsolete.c(587): gsasl_appinfo_set 1 1 1 567 5 ../../lib/src/obsolete.c(568): gsasl_application_data_get 1 1 1 548 5 ../../lib/src/obsolete.c(549): gsasl_application_data_set 1 1 1 52 5 ../../lib/src/crypto.c(53): gsasl_random 1 1 1 48 5 ../../lib/src/supportp.c(49): gsasl_client_support_p 1 1 1 449 5 ../../lib/src/obsolete.c(450): gsasl_ctx_get 1 1 1 43 5 ../../lib/src/callback.c(44): gsasl_callback_set 1 1 1 42 7 ../../lib/scram/printer.c(43): scram_escape 1 1 1 412 5 ../../lib/src/obsolete.c(413): gsasl_server_application_data_get 1 1 1 40 5 ../../lib/src/free.c(41): gsasl_free 1 1 1 391 6 ../../lib/src/obsolete.c(392): gsasl_server_application_data_set 1 1 1 371 5 ../../lib/src/obsolete.c(372): gsasl_server_ctx_get 1 1 1 36 5 ../../lib/src/crypto.c(37): gsasl_nonce 1 1 1 355 5 ../../lib/src/obsolete.c(356): gsasl_client_application_data_get 1 1 1 34 5 ../../lib/digest-md5/nonascii.c(35): to_uchar 1 1 1 334 6 ../../lib/src/obsolete.c(335): gsasl_client_application_data_set 1 1 1 314 5 ../../lib/src/obsolete.c(315): gsasl_client_ctx_get 1 1 1 298 5 ../../lib/src/obsolete.c(299): gsasl_server_finish 1 1 1 283 5 ../../lib/src/obsolete.c(284): gsasl_client_finish 1 1 1 266 7 ../../lib/src/obsolete.c(267): gsasl_server_step_base64 1 1 1 244 7 ../../lib/src/obsolete.c(245): gsasl_client_step_base64 1 1 1 196 7 ../../lib/src/obsolete.c(197): gsasl_server_step 1 1 1 167 5 ../../lib/src/callback.c(168): gsasl_session_hook_get 1 1 1 166 7 ../../lib/src/obsolete.c(167): gsasl_client_step 1 1 1 1604 6 ../../lib/src/obsolete.c(1605): gsasl_server_callback_service_set 1 1 1 1560 6 ../../lib/src/obsolete.c(1561): gsasl_server_callback_gssapi_set 1 1 1 1515 6 ../../lib/src/obsolete.c(1516): gsasl_server_callback_securid_set 1 1 1 147 5 ../../lib/src/callback.c(148): gsasl_session_hook_set 1 1 1 1466 6 ../../lib/src/obsolete.c(1467): gsasl_server_callback_cipher_set 1 1 1 1422 6 ../../lib/src/obsolete.c(1423): gsasl_server_callback_maxbuf_set 1 1 1 1378 5 ../../lib/src/obsolete.c(1379): gsasl_server_callback_qop_set 1 1 1 136 5 ../../lib/src/xstart.c(137): gsasl_server_start 1 1 1 1335 5 ../../lib/src/obsolete.c(1336): gsasl_server_callback_realm_set 1 1 1 1292 6 ../../lib/src/obsolete.c(1293): gsasl_server_callback_anonymous_set 1 1 1 127 5 ../../lib/src/callback.c(128): gsasl_callback_hook_get 1 1 1 1250 6 ../../lib/src/obsolete.c(1251): gsasl_server_callback_external_set 1 1 1 1230 5 ../../lib/src/obsolete.c(1231): gsasl_server_callback_digest_md5_get 1 1 1 1208 6 ../../lib/src/obsolete.c(1209): gsasl_server_callback_digest_md5_set 1 1 1 118 5 ../../lib/src/xstart.c(119): gsasl_client_start 1 1 1 1165 6 ../../lib/src/obsolete.c(1166): gsasl_server_callback_cram_md5_set 1 1 1 1122 6 ../../lib/src/obsolete.c(1123): gsasl_server_callback_retrieve_set 1 1 1 112 6 ../../lib/digest-md5/server.c(113): _gsasl_digest_md5_hex_to_char 1 1 1 1079 6 ../../lib/src/obsolete.c(1080): gsasl_server_callback_validate_set 1 1 1 107 5 ../../lib/src/callback.c(108): gsasl_callback_hook_set 1 1 1 1037 5 ../../lib/src/obsolete.c(1038): gsasl_client_callback_realm_set 1 1 1 100 6 ../../lib/scram/client.c(101): hex_to_char Cyclomatic Complexity report for GNU SASL Back to GNU SASL Homepage

GNU SASL Cyclomatic Complexity Report

Report generated at: Fri Nov 06 11:26:36 CET 2009

Resume

Total number of functions 265
Number of low risk functions 223
Number of moderate risk functions 21
Number of high risk functions 19
Number of untestable functions 2

Details for all functions

Used ranges:

  Cyclomatic Complexity Risk Evaluation
  0 - 10 Simple module, without much risk
  11 - 20 More complex module, moderate risk
  21 - 50 Complex module, high risk
  greater than 50 Untestable module, very high risk

Function Name Cyclomatic
Complexity
Number of
Statements
Number of
Lines
Source File
_gsasl_kerberos_v5_server_step 59 214 381 lib/kerberos_v5/kerberos_v5.c
_gsasl_kerberos_v5_server_step 59 214 381 lib/kerberos_v5/server.c
_gsasl_kerberos_v5_client_step 44 153 277 lib/kerberos_v5/client.c
_gsasl_kerberos_v5_client_step 44 153 277 lib/kerberos_v5/kerberos_v5.c
_gsasl_scram_sha1_server_step 39 138 267 lib/scram/server.c
digest_md5_print_response 38 86 146 lib/digest-md5/printer.c
parse_response 48 95 171 lib/digest-md5/parser.c
_gsasl_scram_sha1_client_step 39 140 260 lib/scram/client.c
digest_md5_hmac 37 162 236 lib/digest-md5/digesthmac.c
digest_md5_print_challenge 36 94 168 lib/digest-md5/printer.c
digest_md5_getsubopt 33 38 71 lib/digest-md5/getsubopt.c
scram_parse_client_first 31 80 127 lib/scram/parser.c
scram_parse_server_first 31 69 108 lib/scram/parser.c
parse_challenge 43 95 203 lib/digest-md5/parser.c
_gsasl_digest_md5_client_step 29 91 185 lib/digest-md5/client.c
scram_parse_client_final 27 66 104 lib/scram/parser.c
_gsasl_gs2_client_step 28 98 197 lib/gs2/client.c
_gsasl_digest_md5_server_step 28 96 198 lib/digest-md5/server.c
main 25 112 174 lib/digest-md5/test-parser.c
pmap 32 98 163 lib/src/obsolete.c
_gsasl_gssapi_client_step 24 91 178 lib/gssapi/client.c
_gsasl_gs2_server_step 21 78 159 lib/gs2/server.c
_gsasl_gssapi_server_step 19 73 146 lib/gssapi/server.c
_gsasl_securid_client_step 18 59 106 lib/securid/client.c
_gsasl_obsolete_callback 21 64 119 lib/src/obsolete.c
_gsasl_securid_server_step 15 55 89 lib/securid/server.c
gs2_parse_request 14 26 50 lib/gs2/gs2wrap.c
_gsasl_login_server_step 15 50 87 lib/login/server.c
_gsasl_plain_server_step 13 59 114 lib/plain/server.c
gs2_encode 13 24 39 lib/gs2/gs2parser.c
digest_md5_decode 12 40 76 lib/digest-md5/session.c
register_builtin_mechs 12 35 73 lib/src/init.c
_gsasl_kerberos_v5_server_decode 12 25 50 lib/kerberos_v5/kerberos_v5.c
_gsasl_kerberos_v5_server_decode 12 25 50 lib/kerberos_v5/server.c
_gsasl_kerberos_v5_server_encode 12 23 46 lib/kerberos_v5/server.c
_gsasl_kerberos_v5_client_encode 12 23 46 lib/kerberos_v5/client.c
_gsasl_kerberos_v5_server_encode 12 21 45 lib/kerberos_v5/kerberos_v5.c
_gsasl_kerberos_v5_client_encode 12 21 45 lib/kerberos_v5/kerberos_v5.c
digest_md5_validate_response 12 19 49 lib/digest-md5/validate.c
digest_md5_validate 12 15 26 lib/digest-md5/validate.c
scram_valid_client_first 13 13 37 lib/scram/validate.c
scram_print_client_first 11 22 42 lib/scram/printer.c
  _gsasl_ntlm_client_step 11 53 105 lib/ntlm/ntlm.c
  gsasl_simple_getpass 10 27 50 lib/src/md5pwd.c
  utf8tolatin1ifpossible 10 23 39 lib/digest-md5/nonascii.c
  scram_valid_client_final 10 13 29 lib/scram/validate.c
  _gsasl_gs2_client_encode 9 28 54 lib/gs2/client.c
  _gsasl_gssapi_client_encode 9 28 54 lib/gssapi/client.c
  gsasl_saslprep 9 26 50 lib/src/saslprep.c
  gsasl_client_suggest_mechanism 9 25 45 lib/src/suggest.c
  scram_parse_server_final 9 18 32 lib/scram/parser.c
  _gsasl_cram_md5_server_step 8 34 62 lib/cram-md5/server.c
  _gsasl_gs2_client_decode 8 27 52 lib/gs2/client.c
  _gsasl_gssapi_client_decode 8 27 52 lib/gssapi/client.c
  setup 8 22 40 lib/src/xstart.c
  gs2_parser 8 18 41 lib/gs2/gs2parser.c
  scram_valid_server_first 8 11 24 lib/scram/validate.c
  _gsasl_kerberos_v5_client_decode 8 11 29 lib/kerberos_v5/client.c
  _gsasl_kerberos_v5_client_decode 8 10 30 lib/kerberos_v5/kerberos_v5.c
  digest_md5_encode 7 45 68 lib/digest-md5/session.c
  _gsasl_cram_md5_client_step 7 37 66 lib/cram-md5/client.c
  _gsasl_gs2_server_start 7 36 61 lib/gs2/server.c
  _gsasl_gssapi_server_start 7 36 61 lib/gssapi/server.c
  _gsasl_kerberos_v5_server_start 7 25 40 lib/kerberos_v5/server.c
  _gsasl_kerberos_v5_server_start 7 25 40 lib/kerberos_v5/kerberos_v5.c
  comma_append 7 18 31 lib/digest-md5/printer.c
  gsasl_register 7 16 37 lib/src/register.c
  parse_finish 7 15 34 lib/digest-md5/parser.c
  digest_md5_validate_challenge 6 7 18 lib/digest-md5/validate.c
  _gsasl_plain_client_step 6 26 47 lib/plain/client.c
  _gsasl_scram_sha1_server_start 6 24 39 lib/scram/server.c
  gsasl_finish 6 23 34 lib/src/xfinish.c
  _gsasl_listmech 6 20 35 lib/src/listmech.c
  gsasl_done 6 17 28 lib/src/done.c
  gsasl_step64 6 15 31 lib/src/xstep.c
  main 6 13 34 lib/gs2/test-parser.c
  digest_md5_qopstr2qops 7 22 54 lib/digest-md5/qop.c
  gsasl_callback 5 8 18 lib/src/callback.c
  _gsasl_digest_md5_hexdigit_to_char 5 5 13 lib/digest-md5/server.c
  hexdigit_to_char 5 5 9 lib/scram/client.c
  gsasl_md5pwd_get_password 5 20 35 lib/src/obsolete.c
  latin1toutf8 5 15 27 lib/digest-md5/nonascii.c
  _gsasl_step 5 13 28 lib/src/obsolete.c
  _gsasl_gs2_server_finish 5 11 20 lib/gs2/server.c
  _gsasl_gssapi_server_finish 5 11 20 lib/gssapi/server.c
  _gsasl_step64 5 11 25 lib/src/obsolete.c
  _gsasl_login_client_step 5 22 43 lib/login/client.c
  _gsasl_gs2_client_finish 4 9 17 lib/gs2/client.c
  _gsasl_gssapi_client_finish 4 9 17 lib/gssapi/client.c
  find_mechanism 4 9 14 lib/src/xstart.c
  gsasl_strerror 4 9 17 lib/src/error.c
  gsasl_property_set_raw 4 9 22 lib/src/property.c
  _gsasl_anonymous_server_step 4 8 25 lib/anonymous/server.c
  scram_print_server_first 4 7 17 lib/scram/printer.c
  _gsasl_support_p 4 7 11 lib/src/supportp.c
  scram_print_server_final 4 7 16 lib/scram/printer.c
  scram_print_client_final 4 7 17 lib/scram/printer.c
  scram_valid_server_final 4 5 13 lib/scram/validate.c
  _gsasl_digest_md5_server_start 4 20 33 lib/digest-md5/server.c
  _gsasl_digest_md5_client_start 4 18 30 lib/digest-md5/client.c
  _gsasl_scram_sha1_client_start 4 16 30 lib/scram/client.c
  gsasl_server_listmech 4 13 26 lib/src/obsolete.c
  gsasl_client_listmech 4 13 26 lib/src/obsolete.c
  gsasl_init 4 11 21 lib/src/init.c
  cram_md5_digest 4 10 19 lib/cram-md5/digest.c
  _gsasl_digest_md5_server_decode 4 10 23 lib/digest-md5/server.c
  _gsasl_digest_md5_server_encode 4 10 23 lib/digest-md5/server.c
  _gsasl_external_server_step 4 10 28 lib/external/server.c
  _gsasl_digest_md5_client_decode 4 10 23 lib/digest-md5/client.c
  _gsasl_digest_md5_client_encode 4 10 23 lib/digest-md5/client.c
  _gsasl_external_client_step 3 9 19 lib/external/client.c
  _gsasl_anonymous_client_step 3 9 19 lib/anonymous/client.c
  main 3 8 14 lib/tests/test-error.c
  _gsasl_code 3 8 20 lib/src/xcode.c
  gsasl_stringprep_trace 3 8 16 lib/src/obsolete.c
  gsasl_stringprep_saslprep 3 8 16 lib/src/obsolete.c
  gsasl_property_get 3 7 18 lib/src/property.c
  hex_p 3 7 11 lib/scram/client.c
  gsasl_base64_from 3 6 13 lib/src/base64.c
  gsasl_base64_to 3 6 13 lib/src/base64.c
  digest_md5_print_finish 3 6 15 lib/digest-md5/printer.c
  digest_md5_validate_finish 3 5 12 lib/digest-md5/validate.c
  gsasl_check_version 3 3 8 lib/src/version.c
  gsasl_mechanism_name 3 3 7 lib/src/mechname.c
  gsasl_strerror_name 3 3 8 lib/src/error.c
  _gsasl_kerberos_v5_client_start 3 14 24 lib/kerberos_v5/kerberos_v5.c
  cram_md5_challenge 3 14 23 lib/cram-md5/challenge.c
  _gsasl_kerberos_v5_client_start 3 14 24 lib/kerberos_v5/client.c
  start 3 11 24 lib/src/xstart.c
  digest_md5_parse_finish 3 11 20 lib/digest-md5/parser.c
  digest_md5_parse_response 3 11 20 lib/digest-md5/parser.c
  digest_md5_parse_challenge 3 11 20 lib/digest-md5/parser.c
  gsasl_decode_inline 3 11 21 lib/src/obsolete.c
  gsasl_encode_inline 3 11 21 lib/src/obsolete.c
  _gsasl_digest_md5_set_hashed_secret 3 11 22 lib/digest-md5/server.c
  _gsasl_cram_md5_server_start 3 10 18 lib/cram-md5/server.c
  map 19 39 84 lib/src/property.c
  digest_md5_free_challenge 2 8 12 lib/digest-md5/free.c
  _gsasl_obsolete_property_map 2 8 16 lib/src/obsolete.c
  _gsasl_ntlm_client_start 2 7 15 lib/ntlm/ntlm.c
  _gsasl_login_client_start 2 7 15 lib/login/client.c
  _gsasl_securid_client_start 2 7 15 lib/securid/client.c
  _gsasl_digest_md5_server_finish 2 7 14 lib/digest-md5/server.c
  _gsasl_digest_md5_client_finish 2 7 14 lib/digest-md5/client.c
  _gsasl_login_server_start 2 6 13 lib/login/server.c
  _gsasl_login_server_finish 2 6 12 lib/login/server.c
  gsasl_decode 2 5 14 lib/src/xcode.c
  gsasl_encode 2 5 14 lib/src/xcode.c
  gsasl_step 2 5 14 lib/src/xstep.c
  gsasl_hmac_md5 2 4 9 lib/src/crypto.c
  gsasl_md5 2 4 8 lib/src/crypto.c
  gsasl_property_fast 2 4 10 lib/src/property.c
  gsasl_hmac_sha1 2 4 9 lib/src/crypto.c
  gsasl_sha1 2 4 8 lib/src/crypto.c
  sha1_hex_to_byte 2 4 10 lib/scram/client.c
  _gsasl_login_client_finish 2 4 10 lib/login/client.c
  _gsasl_kerberos_v5_client_init 2 3 8 lib/kerberos_v5/kerberos_v5.c
  _gsasl_kerberos_v5_server_init 2 3 8 lib/kerberos_v5/server.c
  _gsasl_kerberos_v5_server_init 2 3 8 lib/kerberos_v5/kerberos_v5.c
  _gsasl_kerberos_v5_client_init 2 3 8 lib/kerberos_v5/client.c
  gsasl_randomize 2 3 7 lib/src/obsolete.c
  gsasl_client_callback_qop_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_anonymous_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_service_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_pin_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_passcode_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_password_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_authorization_id_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_authentication_id_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_service_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_gssapi_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_securid_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_cipher_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_maxbuf_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_qop_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_realm_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_anonymous_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_external_get 2 2 5 lib/src/obsolete.c
  gsasl_property_set 2 2 6 lib/src/property.c
  gsasl_server_callback_cram_md5_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_retrieve_get 2 2 5 lib/src/obsolete.c
  gsasl_server_callback_validate_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_realm_get 2 2 5 lib/src/obsolete.c
  gsasl_client_callback_maxbuf_get 2 2 5 lib/src/obsolete.c
  _gsasl_scram_sha1_server_finish 2 15 22 lib/scram/server.c
  _gsasl_scram_sha1_client_finish 2 11 18 lib/scram/client.c
  gsasl_base64_decode 2 11 18 lib/src/obsolete.c
  gsasl_base64_encode 2 11 19 lib/src/obsolete.c
  _gsasl_gs2_client_start 2 10 18 lib/gs2/client.c
  _gsasl_gssapi_client_start 2 10 18 lib/gssapi/client.c
  _gsasl_kerberos_v5_server_finish 1 7 14 lib/kerberos_v5/server.c
  digest_md5_free_response 1 7 12 lib/digest-md5/free.c
  _gsasl_kerberos_v5_server_finish 1 7 14 lib/kerberos_v5/kerberos_v5.c
  scram_free_client_first 1 5 10 lib/scram/tokens.c
  scram_free_client_final 1 4 9 lib/scram/tokens.c
  _gsasl_kerberos_v5_client_finish 1 4 10 lib/kerberos_v5/kerberos_v5.c
  _gsasl_kerberos_v5_client_finish 1 4 10 lib/kerberos_v5/client.c
  scram_free_server_first 1 3 8 lib/scram/tokens.c
  gsasl_stringprep_nfkc 1 3 11 lib/src/obsolete.c
  digest_md5_qops2qopstr 1 2 16 lib/digest-md5/qop.c
  scram_free_server_final 1 2 7 lib/scram/tokens.c
  _gsasl_ntlm_client_finish 1 2 7 lib/ntlm/ntlm.c
  _gsasl_securid_client_finish 1 2 7 lib/securid/client.c
  _gsasl_cram_md5_server_finish 1 2 7 lib/cram-md5/server.c
  gsasl_client_callback_maxbuf_set 1 1 6 lib/src/obsolete.c
  gsasl_client_callback_qop_set 1 1 5 lib/src/obsolete.c
  gsasl_server_mechlist 1 1 6 lib/src/listmech.c
  gsasl_client_callback_anonymous_set 1 1 6 lib/src/obsolete.c
  gsasl_client_callback_service_set 1 1 6 lib/src/obsolete.c
  gsasl_client_callback_pin_set 1 1 5 lib/src/obsolete.c
  gsasl_client_callback_passcode_set 1 1 6 lib/src/obsolete.c
  gsasl_client_callback_password_set 1 1 6 lib/src/obsolete.c
  gsasl_client_mechlist 1 1 6 lib/src/listmech.c
  gsasl_client_callback_authorization_id_set 1 1 7 lib/src/obsolete.c
  gsasl_server_support_p 1 1 5 lib/src/supportp.c
  gsasl_client_callback_authentication_id_set 1 1 7 lib/src/obsolete.c
  gsasl_server_suggest_mechanism 1 1 5 lib/src/obsolete.c
  digest_md5_free_finish 1 1 5 lib/digest-md5/free.c
  gsasl_appinfo_get 1 1 5 lib/src/obsolete.c
  gsasl_appinfo_set 1 1 5 lib/src/obsolete.c
  gsasl_application_data_get 1 1 5 lib/src/obsolete.c
  gsasl_application_data_set 1 1 5 lib/src/obsolete.c
  gsasl_random 1 1 5 lib/src/crypto.c
  gsasl_client_support_p 1 1 5 lib/src/supportp.c
  gsasl_ctx_get 1 1 5 lib/src/obsolete.c
  gsasl_callback_set 1 1 5 lib/src/callback.c
  scram_escape 1 1 7 lib/scram/printer.c
  gsasl_server_application_data_get 1 1 5 lib/src/obsolete.c
  gsasl_free 1 1 5 lib/src/free.c
  gsasl_server_application_data_set 1 1 6 lib/src/obsolete.c
  gsasl_server_ctx_get 1 1 5 lib/src/obsolete.c
  gsasl_nonce 1 1 5 lib/src/crypto.c
  gsasl_client_application_data_get 1 1 5 lib/src/obsolete.c
  to_uchar 1 1 5 lib/digest-md5/nonascii.c
  gsasl_client_application_data_set 1 1 6 lib/src/obsolete.c
  gsasl_client_ctx_get 1 1 5 lib/src/obsolete.c
  gsasl_server_finish 1 1 5 lib/src/obsolete.c
  gsasl_client_finish 1 1 5 lib/src/obsolete.c
  gsasl_server_step_base64 1 1 7 lib/src/obsolete.c
  gsasl_client_step_base64 1 1 7 lib/src/obsolete.c
  gsasl_server_step 1 1 7 lib/src/obsolete.c
  gsasl_session_hook_get 1 1 5 lib/src/callback.c
  gsasl_client_step 1 1 7 lib/src/obsolete.c
  gsasl_server_callback_service_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_gssapi_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_securid_set 1 1 6 lib/src/obsolete.c
  gsasl_session_hook_set 1 1 5 lib/src/callback.c
  gsasl_server_callback_cipher_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_maxbuf_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_qop_set 1 1 5 lib/src/obsolete.c
  gsasl_server_start 1 1 5 lib/src/xstart.c
  gsasl_server_callback_realm_set 1 1 5 lib/src/obsolete.c
  gsasl_server_callback_anonymous_set 1 1 6 lib/src/obsolete.c
  gsasl_callback_hook_get 1 1 5 lib/src/callback.c
  gsasl_server_callback_external_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_digest_md5_get 1 1 5 lib/src/obsolete.c
  gsasl_server_callback_digest_md5_set 1 1 6 lib/src/obsolete.c
  gsasl_client_start 1 1 5 lib/src/xstart.c
  gsasl_server_callback_cram_md5_set 1 1 6 lib/src/obsolete.c
  gsasl_server_callback_retrieve_set 1 1 6 lib/src/obsolete.c
  _gsasl_digest_md5_hex_to_char 1 1 6 lib/digest-md5/server.c
  gsasl_server_callback_validate_set 1 1 6 lib/src/obsolete.c
  gsasl_callback_hook_set 1 1 5 lib/src/callback.c
  gsasl_client_callback_realm_set 1 1 5 lib/src/obsolete.c

Copyright (c) 2007, 2008 Free Software Foundation Inc.