Mercurial > pidgin
comparison src/protocols/simple/simple.c @ 13085:3382d7aa9ca3
[gaim-migrate @ 15447]
correctly parse NTLM realm
committer: Tailor Script <tailor@pidgin.im>
| author | Thomas Butter <tbutter> |
|---|---|
| date | Tue, 31 Jan 2006 21:35:43 +0000 |
| parents | 31a3a9af1494 |
| children | a91a8a28f61f |
comparison
equal
deleted
inserted
replaced
| 13084:31a3a9af1494 | 13085:3382d7aa9ca3 |
|---|---|
| 43 #include "sipmsg.h" | 43 #include "sipmsg.h" |
| 44 #include "dnssrv.h" | 44 #include "dnssrv.h" |
| 45 #include "ntlm.h" | 45 #include "ntlm.h" |
| 46 | 46 |
| 47 static char *gentag() { | 47 static char *gentag() { |
| 48 // return g_strdup("0e3f151"); | |
| 49 return g_strdup_printf("%04d%04d", rand() & 0xFFFF, rand() & 0xFFFF); | 48 return g_strdup_printf("%04d%04d", rand() & 0xFFFF, rand() & 0xFFFF); |
| 50 } | 49 } |
| 51 | 50 |
| 52 static char *genbranch() { | 51 static char *genbranch() { |
| 53 return g_strdup_printf("z9hG4bK%04X%04X%04X%04X%04X", | 52 return g_strdup_printf("z9hG4bK%04X%04X%04X%04X%04X", |
| 311 if(!strncmp(source, attrname, len)) { | 310 if(!strncmp(source, attrname, len)) { |
| 312 tmp = source + len; | 311 tmp = source + len; |
| 313 tmp2 = g_strstr_len(tmp, strlen(tmp), "\""); | 312 tmp2 = g_strstr_len(tmp, strlen(tmp), "\""); |
| 314 if(tmp2) | 313 if(tmp2) |
| 315 retval = g_strndup(tmp, tmp2 - tmp); | 314 retval = g_strndup(tmp, tmp2 - tmp); |
| 315 else | |
| 316 retval = g_strdup(tmp); | |
| 316 } | 317 } |
| 317 | 318 |
| 318 return retval; | 319 return retval; |
| 319 } | 320 } |
| 320 | 321 |
| 336 if(!g_strncasecmp(hdr, "NTLM", 4)) { | 337 if(!g_strncasecmp(hdr, "NTLM", 4)) { |
| 337 gaim_debug_info("simple", "found NTLM\n"); | 338 gaim_debug_info("simple", "found NTLM\n"); |
| 338 auth->type = 2; | 339 auth->type = 2; |
| 339 if(!strstr(hdr, "gssapi-data")) { | 340 if(!strstr(hdr, "gssapi-data")) { |
| 340 gaim_debug_info("simple","here"); | 341 gaim_debug_info("simple","here"); |
| 341 parts = g_strsplit(hdr, " ", 0); | 342 parts = g_strsplit(hdr+5, "\", ", 0); |
| 342 i = 0; | 343 i = 0; |
| 343 auth->realm = "SIP Communications Service"; | |
| 344 while(parts[i]) { | 344 while(parts[i]) { |
| 345 gaim_debug_info("simple","parts[i] %s\n",parts[i]); | 345 gaim_debug_info("simple","parts[i] %s\n",parts[i]); |
| 346 if((tmp = parse_attribute("targetname=\"", | 346 if((tmp = parse_attribute("targetname=\"", |
| 347 parts[i]))) { | 347 parts[i]))) { |
| 348 auth->target = tmp; | 348 auth->target = tmp; |
