Mixed feelings

My 19 year old son T-Man didn't come home last night because he said he was working on homework all night as his friend's house.  I believe him because of who he was with and I know that's how he's managed to get work done before.  
So needless to say, he slept all day and then when he got up at 6:30 PM he asked me if I'd buy him cigarettes.  The deal is - I will only buy them on school days - which is only 3x's a week.  This was an off day but he begged me to buy them early so that I won't have to tomorrow.  NOT.  Last time he was up all night he didn't go to school the next day but he doesn't seem to recall that.  No matter.  I'm sticking to my guns.  Husband is out of town golfing so I knew something like this would happen because my husband would cave in (although he's getting better).  So he swears at me and turned on the radio full blast. 
And if that wasn't enough - he had to tell me that the reason he started doing drugs because I was an authoritative parent when he was growing up.  I asked him what he meant by that and he said that I wouldn't allow him to have a girlfriend in 7th grade.  If that's the worst thing I did -- wow -- shame on me.  He reminded him that he hung out with her anyway and (from what I recall) we drove him and a bunch of kids that included her to the movies.  Although I wasn't happy about him hanging out with her (she appeared to be a very fast girl) he did and he knew I knew.  I told him that her mom used to call me a lot because she caught her daughter and boys at her house.  He was starting to really worry me then and for good reason.  Little did he know, however, that the "insult" he threw at me was actually a compliment because, like most parents of a child with an addiction, I would wonder if I was the reason he got into drugs.  Was I too lenient?  Did I not set enough boundaries?  Although he left in a huff and was verbally abusive to me ~ and because of that incident - he probably won't go to school tomorrow to spite me - I feel better.