summaryrefslogtreecommitdiff
path: root/include/socket.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove crappy, unsafe (and now unneeded!) casts.Gravatar w00t2008-09-081-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10476 e03df62e-2008-0410-955e-edbf42e46eb7
* Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, ↵Gravatar w00t2008-09-081-8/+10
| | | | | | create ClientListenSocket and inherit from ListenSocketBase to create User objects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10469 e03df62e-2008-0410-955e-edbf42e46eb7
* Add incoming IP to OnAcceptReadyGravatar w00t2008-09-081-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10467 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up some of the internals a bit, making things a bit more extensible and ↵Gravatar w00t2008-09-071-0/+15
| | | | | | future proof. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10462 e03df62e-2008-0410-955e-edbf42e46eb7
* Start moving IO hooking from being bufferedsocket based to residing in ↵Gravatar w00t2008-09-071-0/+2
| | | | | | EventHandler, this will pave the way for a generic listener type, and also simplifies a lot of code. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10447 e03df62e-2008-0410-955e-edbf42e46eb7
* for realGravatar pippijn2008-06-121-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9898 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert CIDR matching and wildcard matching to operate on std::stringsGravatar brain2008-05-091-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9681 e03df62e-2008-0410-955e-edbf42e46eb7
* We were lucky this one didnt bring down the whole devnet (see cmd_part.cpp diff)Gravatar brain2008-04-071-0/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9400 e03df62e-2008-0410-955e-edbf42e46eb7
* Clear up header insanityGravatar w00t2008-02-031-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-1/+1
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* Craquity craq De-craq!Gravatar brain2007-08-231-27/+0
| | | | | | | | | | This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+225
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-225/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2007-06-171-3/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7382 e03df62e-2008-0410-955e-edbf42e46eb7
* - Made the recvfrom wrapper a bit neater.Gravatar burlex2007-06-141-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7314 e03df62e-2008-0410-955e-edbf42e46eb7
* Some general syntax cleanups.Gravatar pippijn2007-06-141-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7304 e03df62e-2008-0410-955e-edbf42e46eb7
* Windows support. Tested and working to compile on freebsd and linux. Next ↵Gravatar w00t2007-05-191-9/+27
| | | | | | step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactor port binding, warning not yet tested fullyGravatar brain2007-05-111-1/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6982 e03df62e-2008-0410-955e-edbf42e46eb7
* Stuff to make dns work protocol-independentGravatar brain2007-02-051-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6506 e03df62e-2008-0410-955e-edbf42e46eb7
* Not safe for use yetGravatar brain2007-02-051-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6502 e03df62e-2008-0410-955e-edbf42e46eb7
* Smart tricks to allow for ipv4 and ipv6 bindings on client ports. WARNING, ↵Gravatar brain2007-02-051-1/+1
| | | | | | NOT FINISHED YET git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6501 e03df62e-2008-0410-955e-edbf42e46eb7
* Add port type identifiersGravatar brain2007-01-011-0/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6196 e03df62e-2008-0410-955e-edbf42e46eb7
* Change description for insp_aton since only a positive return means ↵Gravatar peavey2006-12-301-1/+6
| | | | | | convertion was a success. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6169 e03df62e-2008-0410-955e-edbf42e46eb7
* Unload as many modules as we can on restart, and close listenersGravatar brain2006-12-231-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6068 e03df62e-2008-0410-955e-edbf42e46eb7
* And now, just to force you to recompile the *whole* ircd.. updated headers ↵Gravatar w00t2006-12-151-6/+3
| | | | | | on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket error state stuffGravatar brain2006-10-311-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
* Document ListenSocket classGravatar brain2006-08-181-0/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4968 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-1/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Document irc::socket namespace members/classesGravatar brain2006-08-121-4/+74
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4902 e03df62e-2008-0410-955e-edbf42e46eb7
* So much stuff changed in this one, i forgot most of it.Gravatar brain2006-08-101-2/+0
| | | | | | | Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
* Move the socket functions like insp_ntoa into their own namespace. They ↵Gravatar brain2006-08-101-15/+22
| | | | | | arent really sensible to put into a class, but namespacing them out discourages developers from directly using them without explicitly saing 'using irc::sockets::BindPorts' or whatever first. Some functions such as insp_ntoa are already 'exposed' by headers that use them so 'using irc::sockets::inet_ntoa' isnt required. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4828 e03df62e-2008-0410-955e-edbf42e46eb7
* Move Blocking/NonBlocking to socket.cpp and make inlineGravatar brain2006-08-091-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4806 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow nick!ident@ and ident@ portions in a CIDR mask if given, use match() ↵Gravatar brain2006-08-061-0/+1
| | | | | | without CIDR against that portion. This allows for CIDR operhosts while still matching idents (AND CIDR CHANNEL BANS) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4739 e03df62e-2008-0410-955e-edbf42e46eb7
* Support CIDR, CIDR zline, /oper and CIDR <connect> tags. NOTE: With CIDR ↵Gravatar brain2006-08-061-0/+1
| | | | | | oper, ident field is not supported (yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4732 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix CIDR functions so they workGravatar brain2006-08-061-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4731 e03df62e-2008-0410-955e-edbf42e46eb7
* This might well be the last commit to this dns resolver in its current form. ↵Gravatar brain2006-08-011-0/+2
| | | | | | With a bit of luck, we can make a better (always-threaded) one git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4612 e03df62e-2008-0410-955e-edbf42e46eb7
* The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵Gravatar brain2006-08-011-0/+3
| | | | | | this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
* AF_INET -> define to AF_FAMILY, will be either AF_INET or AF_INET6Gravatar brain2006-08-011-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4610 e03df62e-2008-0410-955e-edbf42e46eb7
* Die windows die.Gravatar om2006-04-111-12/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3871 e03df62e-2008-0410-955e-edbf42e46eb7
* Route some more stuff through socket.h and hash_map.h. Add #define ↵Gravatar om2006-04-101-1/+2
| | | | | | protection to timer.h and remove some unneeded includes and externs from timer.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3869 e03df62e-2008-0410-955e-edbf42e46eb7
* Routing more socket includes through socket.hGravatar om2006-04-101-1/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
* Shuffle some more includes around, const reference a few functions in inspircd.*Gravatar om2006-04-091-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3854 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove uneccessary socket includes now included in socket.hGravatar om2006-04-081-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3851 e03df62e-2008-0410-955e-edbf42e46eb7
* Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵Gravatar om2006-04-081-337/+13
| | | | | | going into inspircd.*, doesn't look like I've broken anything... :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7
* - first steps towards a working IPv6 port. I'll work more on this tomorrow. :-PGravatar nenolod2006-04-081-4/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3845 e03df62e-2008-0410-955e-edbf42e46eb7
* Regression for buffering of socketsGravatar brain2006-03-261-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3760 e03df62e-2008-0410-955e-edbf42e46eb7
* Commented a lot of stuff that hasnt been commented since 1.0.2Gravatar brain2006-03-121-0/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3695 e03df62e-2008-0410-955e-edbf42e46eb7
* Complete removal of all stl stuff hereGravatar brain2006-03-111-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3686 e03df62e-2008-0410-955e-edbf42e46eb7
* Completely removed the dequeGravatar brain2006-03-111-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3685 e03df62e-2008-0410-955e-edbf42e46eb7