Ok, I changed my code to go the other way around, like others have suggested.
Here is what I got:
void pushbuffer(byte inStr)
if (authStr[m_pushbackindex]==inStr) m_pushbackindex++; else m_pushbackindex=0;
if (authStr[m_pushbackindex]==0) auth=true;
if (m_pushbackindex==32) m_pushbackindex=0;
if (strncmp("GET / ", m_pushback, 5)==0) reqtype=1;
if (strncmp("GET /wifi", m_pushback, 9)==0) reqtype=2;
if (strncmp("GET /r", m_pushback, 6)==0) reqtype=3;
Thanks for the tips
Only thing is I found out that the above code was also dropping data.
So, after a little troubleshooting on my code I found out that the delays from the onewire library were too long and I think were causing the serial buffer to fill up.
So, I just created a lot of if conditions to go check for serial data when I'm handling the onewire data.
Thanks a lot for your help!!