Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. <<<<<<< HEAD
  2. //DEBUG( "Ok, lets see about that string\n" );
  3. BOOL both = request->content && request->uri->queryRaw ? TRUE : FALSE;
  4. if( request->content != NULL ) size += strlen( request->content );
  5. if( request->uri->queryRaw != NULL ) size += strlen( request->uri->queryRaw );
  6. //DEBUG( "Putting them in a combined string\n" );
  7.  
  8. int fullsize = size + ( both ? 2 : 1 );
  9. char *allArgs = calloc( 1, fullsize );
  10. char *allArgsNew = calloc( 1, fullsize+100 );
  11.  
  12. if( both == TRUE )
  13. sprintf( allArgs, "%s&%s", request->content, request->uri->queryRaw );
  14. else if( request->content )
  15. sprintf( allArgs, "%s", request->content );
  16. else sprintf( allArgs, "%s", request->uri->queryRaw );
  17. //DEBUG( "Put them together: %s\n", allArgs );
  18.  
  19. char *sessptr = NULL;
  20. if( ( sessptr = strstr( allArgs, "sessionid" ) ) != NULL )
  21. {
  22. int i=0;
  23. int j=0;
  24. //int overwrite = 0;
  25.  
  26. //int startpos = (sessptr - allArgs) + 10; // end of sessionid text + =
  27. int startpos = (sessptr - allArgs);
  28. /*
  29. int endpos = 0;
  30. for( endpos = startpos ; endpos < size ; i++ )
  31. {
  32. if( allArgs[ i ] == '&' )
  33. {
  34. break;
  35. }
  36. }*/
  37.  
  38. BOOL overwrite = FALSE;
  39. for( i=0 ; i < fullsize ; i++ )
  40. {
  41. if( i >= startpos && overwrite == FALSE )
  42. {
  43. char tmp[ 255 ];
  44.  
  45. if( allArgs[ i ] == '&' )
  46. {
  47. j += sprintf( tmp, "sessionid=%s&", loggedSession->us_MasterSession );
  48. strcat( allArgsNew, tmp );
  49. overwrite = TRUE;
  50. }
  51. if( i == fullsize - 1 )
  52. {
  53. j += sprintf( tmp, "sessionid=%s", loggedSession->us_MasterSession );
  54. strcat( allArgsNew, tmp );
  55. overwrite = TRUE;
  56. }
  57. }
  58. else
  59. {
  60. allArgsNew[ j ] = allArgs[ i ];
  61. j++;
  62. }
  63. }
  64. /*
  65.  
  66.  
  67. DEBUG(" pos %d lastpos %d -----> %s ---- mastersessionptr %p\n", pos, i, allArgs, loggedSession->us_MasterSession );
  68.  
  69. sprintf( allArgsNew, "sessionid=%s&", loggedSession->us_MasterSession );
  70.  
  71. // text is on the front
  72. if( sessptr != allArgs )
  73. {
  74. strncat( allArgsNew, allArgs, (sessptr - allArgs) );
  75. }
  76.  
  77. //{
  78.  
  79.  
  80. // add last part
  81. if( (i+1) < fullsize )
  82. {
  83. strcat( allArgsNew, &(allArgs[ i+1]) );
  84. }*/
  85. //}
  86. }
  87. else
  88. {
  89. strcpy( allArgsNew, allArgs );
  90. }
  91.  
  92. ERROR("ALLAGRS \n\n\n\n\n %s\n\n%s\n\n", allArgs, allArgsNew );
  93. =======
  94. char *allArgs = NULL;
  95.  
  96. if( request->h_RequestSource == HTTP_SOURCE_HTTP )
  97. {
  98. //DEBUG( "Ok, lets see about that string\n" );
  99. BOOL both = request->content && request->uri->queryRaw ? TRUE : FALSE;
  100. if( request->content != NULL ) size += strlen( request->content );
  101. if( request->uri->queryRaw != NULL ) size += strlen( request->uri->queryRaw );
  102. //DEBUG( "Putting them in a combined string\n" );
  103. allArgs = calloc( 1, size + ( both ? 2 : 1 ) );
  104. if( both == TRUE )
  105. sprintf( allArgs, "%s&%s", request->content, request->uri->queryRaw );
  106. else if( request->content )
  107. sprintf( allArgs, "%s", request->content );
  108. else sprintf( allArgs, "%s", request->uri->queryRaw );
  109. //DEBUG( "Put them together: %s\n", allArgs );
  110. }
  111. else
  112. {
  113. int i;
  114.  
  115. for( ; i < request->parsedPostContent->table_size; i++ )
  116. {
  117. HashmapElement e;
  118. e = request->parsedPostContent->data[i];
  119. if( e.inUse == TRUE )
  120. {
  121. if( e.data != NULL )
  122. {
  123. size += strlen( e.data );
  124. }
  125. if( e.key != NULL )
  126. {
  127. size += strlen( e.key );
  128. }
  129.  
  130. size += 10;
  131. }
  132. }
  133.  
  134. if( size > 0 )
  135. {
  136. if( ( allArgs = calloc( size, sizeof(char) ) ) != NULL )
  137. {
  138. i = 0;
  139. for( ; i < request->parsedPostContent->table_size; i++ )
  140. {
  141. HashmapElement e;
  142. e = request->parsedPostContent->data[i];
  143. if( e.inUse == TRUE )
  144. {
  145. if( allArgs[0] != 0 )
  146. {
  147. strcat( allArgs, "&" );
  148. }
  149.  
  150. if( e.key != NULL )
  151. {
  152. strcat( allArgs, e.key );
  153. }
  154.  
  155. if( e.data != NULL )
  156. {
  157. strcat( allArgs, "=" );
  158. strcat( allArgs, e.data );
  159. }
  160. }
  161. }
  162. }
  163. }
  164. }
  165.  
  166. DEBUG("All args %s\n", allArgs );
  167.  
  168. >>>>>>> bf5ec30dca5a31a62674fd2e23e01c0b5a6b4f01
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement