Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/5CTp5 function name: (null) number of ops: 221 compiled vars: !0 = $duo, !1 = $key, !2 = $vals, !3 = $prefix, !4 = $expire, !5 = $time, !6 = $exp, !7 = $val, !8 = $b64, !9 = $cookie, !10 = $sig, !11 = $ikey, !12 = $ts, !13 = $parts, !14 = $u_prefix, !15 = $u_b64, !16 = $u_sig, !17 = $cookie_parts, !18 = $user, !19 = $u_ikey, !20 = $skey, !21 = $akey, !22 = $username, !23 = $duo_sig, !24 = $app_sig, !25 = $sig_response, !26 = $auth_sig, !27 = $auth_user, !28 = $app_user line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 4 0 E > ROPE_INIT 215 ~30 '%3C%3Fphp%0A%0Aclass+Duo+%7B%0A%09const+DUO_PREFIX+%3D+%22TX%22%3B%0A%09const+APP_PREFIX+%3D+%22APP%22%3B%0A%09const+AUTH_PREFIX+%3D+%22AUTH%22%3B%0A%0A%09const+DUO_EXPIRE+%3D+300%3B%0A%09const+APP_EXPIRE+%3D+3600%3B%0A%0A%09const+IKEY_LEN+%3D+20%3B%0A%09const+SKEY_LEN+%3D+40%3B%0A%09const+AKEY_LEN+%3D+40%3B+%2F%2F+if+this+changes+you+have+to+change+ERR_AKEY%0A%0A%09const+ERR_USER+%3D+%27ERR%7CThe+username+passed+to+sign_request%28%29+is+invalid.%27%3B%0A%09const+ERR_IKEY+%3D+%27ERR%7CThe+Duo+integration+key+passed+to+sign_request%28%29+is+invalid.%27%3B%0A%09const+ERR_SKEY+%3D+%27ERR%7CThe+Duo+secret+key+passed+to+sign_request%28%29+is+invalid.%27%3B%0A%09const+ERR_AKEY+%3D+%27ERR%7CThe+application+secret+key+passed+to+sign_request%28%29+must+be+at+least+40+characters.%27%3B+%0A%0A%09private+static+function+sign_vals%28' 23 1 ROPE_ADD 1 ~30 ~30, !1 2 ROPE_ADD 2 ~30 ~30, '%2C+' 3 ROPE_ADD 3 ~30 ~30, !2 4 ROPE_ADD 4 ~30 ~30, '%2C+' 5 ROPE_ADD 5 ~30 ~30, !3 6 ROPE_ADD 6 ~30 ~30, '%2C+' 7 ROPE_ADD 7 ~30 ~30, !4 8 ROPE_ADD 8 ~30 ~30, '%2C+' 9 ROPE_ADD 9 ~30 ~30, !5 10 ROPE_ADD 10 ~30 ~30, '%3DNULL%29+%7B+%0A%09%09' 24 11 ROPE_ADD 11 ~30 ~30, !6 12 ROPE_ADD 12 ~30 ~30, '+%3D+%28' 13 ROPE_ADD 13 ~30 ~30, !5 14 ROPE_ADD 14 ~30 ~30, '+%3F+' 15 ROPE_ADD 15 ~30 ~30, !5 16 ROPE_ADD 16 ~30 ~30, '+%3A+time%28%29%29+%2B+' 17 ROPE_ADD 17 ~30 ~30, !4 18 ROPE_ADD 18 ~30 ~30, '%3B%0A%09%09' 25 19 ROPE_ADD 19 ~30 ~30, !7 20 ROPE_ADD 20 ~30 ~30, '+%3D+' 21 ROPE_ADD 21 ~30 ~30, !2 22 ROPE_ADD 22 ~30 ~30, '+.+%27%7C%27+.+' 23 ROPE_ADD 23 ~30 ~30, !6 24 ROPE_ADD 24 ~30 ~30, '%3B%0A%09%09' 26 25 ROPE_ADD 25 ~30 ~30, !8 26 ROPE_ADD 26 ~30 ~30, '+%3D+base64_encode%28' 27 ROPE_ADD 27 ~30 ~30, !7 28 ROPE_ADD 28 ~30 ~30, '%29%3B%0A%09%09' 27 29 ROPE_ADD 29 ~30 ~30, !9 30 ROPE_ADD 30 ~30 ~30, '+%3D+' 31 ROPE_ADD 31 ~30 ~30, !3 32 ROPE_ADD 32 ~30 ~30, '+.+%27%7C%27+.+' 33 ROPE_ADD 33 ~30 ~30, !8 34 ROPE_ADD 34 ~30 ~30, '%3B%0A%0A%09%09' 29 35 ROPE_ADD 35 ~30 ~30, !10 36 ROPE_ADD 36 ~30 ~30, '+%3D+hash_hmac%28%22sha1%22%2C+' 37 ROPE_ADD 37 ~30 ~30, !9 38 ROPE_ADD 38 ~30 ~30, '%2C+' 39 ROPE_ADD 39 ~30 ~30, !1 40 ROPE_ADD 40 ~30 ~30, '%29%3B%0A%09%09return+' 30 41 ROPE_ADD 41 ~30 ~30, !9 42 ROPE_ADD 42 ~30 ~30, '+.+%27%7C%27+.+' 43 ROPE_ADD 43 ~30 ~30, !10 44 ROPE_ADD 44 ~30 ~30, '%3B%0A%09%7D%0A%0A%09private+static+function+parse_vals%28' 33 45 ROPE_ADD 45 ~30 ~30, !1 46 ROPE_ADD 46 ~30 ~30, '%2C+' 47 ROPE_ADD 47 ~30 ~30, !7 48 ROPE_ADD 48 ~30 ~30, '%2C+' 49 ROPE_ADD 49 ~30 ~30, !3 50 ROPE_ADD 50 ~30 ~30, '%2C+' 51 ROPE_ADD 51 ~30 ~30, !11 52 ROPE_ADD 52 ~30 ~30, '%2C+' 53 ROPE_ADD 53 ~30 ~30, !5 54 ROPE_ADD 54 ~30 ~30, '%3DNULL%29+%7B%0A%09%09' 34 55 ROPE_ADD 55 ~30 ~30, !12 56 ROPE_ADD 56 ~30 ~30, '+%3D+%28' 57 ROPE_ADD 57 ~30 ~30, !5 58 ROPE_ADD 58 ~30 ~30, '+%3F+' 59 ROPE_ADD 59 ~30 ~30, !5 60 ROPE_ADD 60 ~30 ~30, '+%3A+time%28%29%29%3B%0A%0A%09%09' 36 61 ROPE_ADD 61 ~30 ~30, !13 62 ROPE_ADD 62 ~30 ~30, '+%3D+explode%28%27%7C%27%2C+' 63 ROPE_ADD 63 ~30 ~30, !7 64 ROPE_ADD 64 ~30 ~30, '%29%3B%0A%09%09if+%28count%28' 37 65 ROPE_ADD 65 ~30 ~30, !13 66 ROPE_ADD 66 ~30 ~30, '%29+%21%3D%3D+3%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%09%09list%28' 40 67 ROPE_ADD 67 ~30 ~30, !14 68 ROPE_ADD 68 ~30 ~30, '%2C+' 69 ROPE_ADD 69 ~30 ~30, !15 70 ROPE_ADD 70 ~30 ~30, '%2C+' 71 ROPE_ADD 71 ~30 ~30, !16 72 ROPE_ADD 72 ~30 ~30, '%29+%3D+' 73 ROPE_ADD 73 ~30 ~30, !13 74 ROPE_ADD 74 ~30 ~30, '%3B%0A%0A%09%09' 42 75 ROPE_ADD 75 ~30 ~30, !10 76 ROPE_ADD 76 ~30 ~30, '+%3D+hash_hmac%28%22sha1%22%2C+' 77 ROPE_ADD 77 ~30 ~30, !14 78 ROPE_ADD 78 ~30 ~30, '+.+%27%7C%27+.+' 79 ROPE_ADD 79 ~30 ~30, !15 80 ROPE_ADD 80 ~30 ~30, '%2C+' 81 ROPE_ADD 81 ~30 ~30, !1 82 ROPE_ADD 82 ~30 ~30, '%29%3B%0A%09%09if+%28hash_hmac%28%22sha1%22%2C+' 43 83 ROPE_ADD 83 ~30 ~30, !10 84 ROPE_ADD 84 ~30 ~30, '%2C+' 85 ROPE_ADD 85 ~30 ~30, !1 86 ROPE_ADD 86 ~30 ~30, '%29+%21%3D%3D+hash_hmac%28%22sha1%22%2C+' 87 ROPE_ADD 87 ~30 ~30, !16 88 ROPE_ADD 88 ~30 ~30, '%2C+' 89 ROPE_ADD 89 ~30 ~30, !1 90 ROPE_ADD 90 ~30 ~30, '%29%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%0A%09%09if+%28' 47 91 ROPE_ADD 91 ~30 ~30, !14 92 ROPE_ADD 92 ~30 ~30, '+%21%3D%3D+' 93 ROPE_ADD 93 ~30 ~30, !3 94 ROPE_ADD 94 ~30 ~30, '%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%0A%09%09' 51 95 ROPE_ADD 95 ~30 ~30, !17 96 ROPE_ADD 96 ~30 ~30, '+%3D+explode%28%27%7C%27%2C+base64_decode%28' 97 ROPE_ADD 97 ~30 ~30, !15 98 ROPE_ADD 98 ~30 ~30, '%29%29%3B%0A%09%09if+%28count%28' 52 99 ROPE_ADD 99 ~30 ~30, !17 100 ROPE_ADD 100 ~30 ~30, '%29+%21%3D%3D+3%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%09%09list%28' 55 101 ROPE_ADD 101 ~30 ~30, !18 102 ROPE_ADD 102 ~30 ~30, '%2C+' 103 ROPE_ADD 103 ~30 ~30, !19 104 ROPE_ADD 104 ~30 ~30, '%2C+' 105 ROPE_ADD 105 ~30 ~30, !6 106 ROPE_ADD 106 ~30 ~30, '%29+%3D+' 107 ROPE_ADD 107 ~30 ~30, !17 108 ROPE_ADD 108 ~30 ~30, '%3B%0A%0A%09%09if+%28' 57 109 ROPE_ADD 109 ~30 ~30, !19 110 ROPE_ADD 110 ~30 ~30, '+%21%3D%3D+' 111 ROPE_ADD 111 ~30 ~30, !11 112 ROPE_ADD 112 ~30 ~30, '%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%09%09if+%28' 60 113 ROPE_ADD 113 ~30 ~30, !12 114 ROPE_ADD 114 ~30 ~30, '+%3E%3D+intval%28' 115 ROPE_ADD 115 ~30 ~30, !6 116 ROPE_ADD 116 ~30 ~30, '%29%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%0A%09%09return+' 64 117 ROPE_ADD 117 ~30 ~30, !18 118 ROPE_ADD 118 ~30 ~30, '%3B%0A%09%7D%0A%0A%09public+static+function+signRequest%28' 67 119 ROPE_ADD 119 ~30 ~30, !11 120 ROPE_ADD 120 ~30 ~30, '%2C+' 121 ROPE_ADD 121 ~30 ~30, !20 122 ROPE_ADD 122 ~30 ~30, '%2C+' 123 ROPE_ADD 123 ~30 ~30, !21 124 ROPE_ADD 124 ~30 ~30, '%2C+' 125 ROPE_ADD 125 ~30 ~30, !22 126 ROPE_ADD 126 ~30 ~30, '%2C+' 127 ROPE_ADD 127 ~30 ~30, !5 128 ROPE_ADD 128 ~30 ~30, '%3DNULL%29+%7B%0A%09%09if+%28%21isset%28' 68 129 ROPE_ADD 129 ~30 ~30, !22 130 ROPE_ADD 130 ~30 ~30, '%29+%7C%7C+strlen%28' 131 ROPE_ADD 131 ~30 ~30, !22 132 ROPE_ADD 132 ~30 ~30, '%29+%3D%3D%3D+0%29+%7B%0A%09%09%09return+self%3A%3AERR_USER%3B%0A%09%09%7D%0A%09%09if+%28strpos%28' 71 133 ROPE_ADD 133 ~30 ~30, !22 134 ROPE_ADD 134 ~30 ~30, '%2C+%27%7C%27%29+%21%3D%3D+FALSE%29+%7B%0A%09%09%09return+self%3A%3AERR_USER%3B%0A%09%09%7D%0A%09%09if+%28%21isset%28' 74 135 ROPE_ADD 135 ~30 ~30, !11 136 ROPE_ADD 136 ~30 ~30, '%29+%7C%7C+strlen%28' 137 ROPE_ADD 137 ~30 ~30, !11 138 ROPE_ADD 138 ~30 ~30, '%29+%21%3D%3D+self%3A%3AIKEY_LEN%29+%7B%0A%09%09%09return+self%3A%3AERR_IKEY%3B%0A%09%09%7D%0A%09%09if+%28%21isset%28' 77 139 ROPE_ADD 139 ~30 ~30, !20 140 ROPE_ADD 140 ~30 ~30, '%29+%7C%7C+strlen%28' 141 ROPE_ADD 141 ~30 ~30, !20 142 ROPE_ADD 142 ~30 ~30, '%29+%21%3D%3D+self%3A%3ASKEY_LEN%29+%7B%0A%09%09%09return+self%3A%3AERR_SKEY%3B%0A%09%09%7D%0A%09%09if+%28%21isset%28' 80 143 ROPE_ADD 143 ~30 ~30, !21 144 ROPE_ADD 144 ~30 ~30, '%29+%7C%7C+strlen%28' 145 ROPE_ADD 145 ~30 ~30, !21 146 ROPE_ADD 146 ~30 ~30, '%29+%3C+self%3A%3AAKEY_LEN%29+%7B%0A%09%09%09return+self%3A%3AERR_AKEY%3B%0A%09%09%7D%0A%0A%09%09' 84 147 ROPE_ADD 147 ~30 ~30, !2 148 ROPE_ADD 148 ~30 ~30, '+%3D+' 149 ROPE_ADD 149 ~30 ~30, !22 150 ROPE_ADD 150 ~30 ~30, '+.+%27%7C%27+.+' 151 ROPE_ADD 151 ~30 ~30, !11 152 ROPE_ADD 152 ~30 ~30, '%3B%0A%0A%09%09' 86 153 ROPE_ADD 153 ~30 ~30, !23 154 ROPE_ADD 154 ~30 ~30, '+%3D+self%3A%3Asign_vals%28' 155 ROPE_ADD 155 ~30 ~30, !20 156 ROPE_ADD 156 ~30 ~30, '%2C+' 157 ROPE_ADD 157 ~30 ~30, !2 158 ROPE_ADD 158 ~30 ~30, '%2C+self%3A%3ADUO_PREFIX%2C+self%3A%3ADUO_EXPIRE%2C+' 159 ROPE_ADD 159 ~30 ~30, !5 160 ROPE_ADD 160 ~30 ~30, '%29%3B%0A%09%09' 87 161 ROPE_ADD 161 ~30 ~30, !24 162 ROPE_ADD 162 ~30 ~30, '+%3D+self%3A%3Asign_vals%28' 163 ROPE_ADD 163 ~30 ~30, !21 164 ROPE_ADD 164 ~30 ~30, '%2C+' 165 ROPE_ADD 165 ~30 ~30, !2 166 ROPE_ADD 166 ~30 ~30, '%2C+self%3A%3AAPP_PREFIX%2C+self%3A%3AAPP_EXPIRE%2C+' 167 ROPE_ADD 167 ~30 ~30, !5 168 ROPE_ADD 168 ~30 ~30, '%29%3B%0A%0A%09%09return+' 89 169 ROPE_ADD 169 ~30 ~30, !23 170 ROPE_ADD 170 ~30 ~30, '+.+%27%3A%27+.+' 171 ROPE_ADD 171 ~30 ~30, !24 172 ROPE_ADD 172 ~30 ~30, '%3B%0A%09%7D%0A%0A%09public+static+function+verifyResponse%28' 92 173 ROPE_ADD 173 ~30 ~30, !11 174 ROPE_ADD 174 ~30 ~30, '%2C+' 175 ROPE_ADD 175 ~30 ~30, !20 176 ROPE_ADD 176 ~30 ~30, '%2C+' 177 ROPE_ADD 177 ~30 ~30, !21 178 ROPE_ADD 178 ~30 ~30, '%2C+' 179 ROPE_ADD 179 ~30 ~30, !25 180 ROPE_ADD 180 ~30 ~30, '%2C+' 181 ROPE_ADD 181 ~30 ~30, !5 182 ROPE_ADD 182 ~30 ~30, '%3DNULL%29+%7B%0A%09%09list%28' 93 183 ROPE_ADD 183 ~30 ~30, !26 184 ROPE_ADD 184 ~30 ~30, '%2C+' 185 ROPE_ADD 185 ~30 ~30, !24 186 ROPE_ADD 186 ~30 ~30, '%29+%3D+explode%28%27%3A%27%2C+' 187 ROPE_ADD 187 ~30 ~30, !25 188 ROPE_ADD 188 ~30 ~30, '%29%3B%0A%0A%09%09' 95 189 ROPE_ADD 189 ~30 ~30, !27 190 ROPE_ADD 190 ~30 ~30, '+%3D+self%3A%3Aparse_vals%28' 191 ROPE_ADD 191 ~30 ~30, !20 192 ROPE_ADD 192 ~30 ~30, '%2C+' 193 ROPE_ADD 193 ~30 ~30, !26 194 ROPE_ADD 194 ~30 ~30, '%2C+self%3A%3AAUTH_PREFIX%2C+' 195 ROPE_ADD 195 ~30 ~30, !11 196 ROPE_ADD 196 ~30 ~30, '%2C+' 197 ROPE_ADD 197 ~30 ~30, !5 198 ROPE_ADD 198 ~30 ~30, '%29%3B%0A%09%09' 96 199 ROPE_ADD 199 ~30 ~30, !28 200 ROPE_ADD 200 ~30 ~30, '+%3D+self%3A%3Aparse_vals%28' 201 ROPE_ADD 201 ~30 ~30, !21 202 ROPE_ADD 202 ~30 ~30, '%2C+' 203 ROPE_ADD 203 ~30 ~30, !24 204 ROPE_ADD 204 ~30 ~30, '%2C+self%3A%3AAPP_PREFIX%2C+' 205 ROPE_ADD 205 ~30 ~30, !11 206 ROPE_ADD 206 ~30 ~30, '%2C+' 207 ROPE_ADD 207 ~30 ~30, !5 208 ROPE_ADD 208 ~30 ~30, '%29%3B%0A%0A%09%09if+%28' 98 209 ROPE_ADD 209 ~30 ~30, !27 210 ROPE_ADD 210 ~30 ~30, '+%21%3D%3D+' 211 ROPE_ADD 211 ~30 ~30, !28 212 ROPE_ADD 212 ~30 ~30, '%29+%7B%0A%09%09%09return+null%3B%0A%09%09%7D%0A%0A%09%09return+' 102 213 ROPE_ADD 213 ~30 ~30, !27 214 ROPE_END 214 ~29 ~30, '%3B%0A%09%7D%0A%7D%0A%0A%3F%3E' 3 215 ASSIGN !0, ~29 108 216 INIT_FCALL 'md5' 217 SEND_VAR !0 218 DO_ICALL $139 219 ECHO $139 220 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0