69 Commits

Author SHA1 Message Date
hawken93
a35e5b4f9d Change coding style 2014-10-03 23:30:37 +02:00
hawken93
f153922759 no patching unrelated stuff 2014-10-03 17:43:50 +02:00
Enrico Scholz
0236ee5eaa PROXY: implemented native proxy support
This patch creates a hook into the net_connect*() methods which call a
method to connect to a proxy.

Previous solution to send certain strings in the normal IRC dialog was
some kind of hack as most proxies require some kind of negotation.

E.g. HTTP proxies sent a 'HTTP/1.0 200 Connection established' HTTP header
and clients have to wait for it.  Else, sent bytes of the following IRC
login will be dropped silently.

With old method, it is also impossible to tunnel SSL IRC connections
through the proxy as proxy speaks plain text or a special protocol while
e.g. 'CONNECT ... HTTP/1.0' will be encrypted with key of IRC server.

There are further enhancements possible: the whole net_connect stuff
should be made asynchronously. Currently, only the hostname is resolved
in the background (which makes little sense of local proxies usually).
2014-10-03 15:06:20 +02:00
David Leadbeater
7949e4c53f Initialize in6 correctly
This is technically wrong as it then gets used as an IPv4 sockaddr, but it only
needs to be some 0s so this is easier than changing the IPADDR data structure or
adding a new API.
2014-07-06 19:56:13 +01:00
David Leadbeater
beec29c305 Make configure checks able to build with -Werror
Also fix a few compiler warnings, this combined with pull #82 allows me to build
with CFLAGS="-Werror -Wall".
2014-07-06 18:56:17 +01:00
David Hill
5419a4b360 Fix compiler warning.
network.c:63:2: warning: missing braces around initializer [-Wmissing-braces]
network.c:63:2: warning: (near initialization for 'ip4_any.ip.__u6_addr') [-Wmissing-braces]
2014-06-20 00:41:52 -04:00
David Hill
138d4f4555 Replace deprecated g_io_channel_close with g_io_channel_shutdown.
g_io_channel_close flushes the buffer and does not return errors.
g_io_channel_shutdown(handle, TRUE, NULL) keeps that behavior.
2014-06-15 15:23:29 -04:00
Geert Hauwaerts
03359ba0fe - Applied a patch from Jaroslav Škarvada (FTBFS if "-Werror=format-security" flag is used | https://bugzilla.redhat.com/show_bug.cgi?id=1037139)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5229 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-01-10 20:29:42 +00:00
Jase Thew
ec83dd762a Fix segfault generated by SSL disconnections. (Bug #752)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5170 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-16 17:50:31 +00:00
Alexander Færøy
df1d7a7814 glib iochannel fixes from exg.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5137 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 20:04:15 +00:00
Emanuele Giaquinta
1d9db4db9a Remove unused variable.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5028 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-02-28 21:41:47 +00:00
Emanuele Giaquinta
474699f14d Remove unneeded casts.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4647 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-11-20 13:34:45 +00:00
Timo Sirainen
8e178969ac Removed special error==1 handling from net_gethosterror(). It wasn't used
anymore, and even when it originally was used it was wrong.



git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4551 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-06-10 19:37:06 +00:00
Wouter Coekaerts
9c2d621cc6 Oops. Update address correctly now.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b Update FSF address
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Jochen Eisinger
4de9baf8f1 Removed all srand calls and added a single srand invokation in at startup
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4264 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-03-26 08:42:34 +00:00
Jochen Eisinger
47704b800d prefixed all calls to rand() with a call to srand(time(NULL)), so we get
halfway random behaviour.



git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4263 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-03-25 21:59:57 +00:00
Timo Sirainen
638794878d When looking up IP addresses, return random IP instead of the first one.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4077 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-19 16:12:40 +00:00
Valentin Batz
674eec8fd2 Remove the inline declarations, patch by nailbiter
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4040 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-15 08:46:35 +00:00
Timo Sirainen
b538b3bfe8 EAI_NODATA is depricated and doesn't exist everywhere anymore
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3224 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-28 14:27:24 +00:00
Timo Sirainen
1d31048105 unsigned long -> gsize
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3131 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-10-11 01:53:51 +00:00
Timo Sirainen
9ae4779c87 64bit fixes by Stefan Fent
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3129 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-10-06 23:53:51 +00:00
Timo Sirainen
a619fe9a2c Network fixes. DCC fixes for IPv6 + BSDs.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3124 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-07-09 23:34:41 +00:00
Timo Sirainen
0743ce0e39 Compiler warning fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3054 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-12-10 16:36:26 +00:00
Timo Sirainen
7fc3a951cd and remove outdated comment :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3033 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-11-29 13:38:48 +00:00
Timo Sirainen
bae71dff48 If bind() fails when connecting, don't fallback to default address. Should
make it easier to notice invalid settings or figure out why it's not
working..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3032 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-11-29 13:38:21 +00:00
Timo Sirainen
b669dfaaaa net_gethostbyaddr() was pretty much broken.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3031 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-11-28 23:43:42 +00:00
Timo Sirainen
13effe87e4 removed the stupid error-parameters from net_connect*() calls. errno can be
used just fine.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2889 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-08-26 19:05:14 +00:00
Timo Sirainen
eddc3d90c6 net_ip2host() and net_host2ip() now treat any IPv6 IPs as 0.0.0.0, if IPv6
support isn't enabled in irssi. Also DCC's human readable IP address is
taken from DCC SEND request directly with IPv6.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2825 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-26 16:52:36 +00:00
Timo Sirainen
6f7485b8fa net_connect*() contains now error parameter, so it can be used to properly
check the errno if connect() fails.

Added support for connecting to named UNIX sockets. Some cleanups with
session handling / server connecting as well.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2819 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-19 14:43:16 +00:00
Timo Sirainen
be0e7f04b7 if gethostbyname() failed, the return value was returned incorrectly
(accidentally cvs committed it after some of my test)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2516 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-18 19:48:35 +00:00
Timo Sirainen
4646cb7ec9 still one isxdigit() -> i_isxdigit()
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2510 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-17 19:41:34 +00:00
Timo Sirainen
9575eecb39 Removed some old backwards compatibility code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2411 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-10 11:04:08 +00:00
Timo Sirainen
0edf041e14 ..and of course I broke IPv4 net_gethostbyname() with it :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2359 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-29 23:11:22 +00:00
Timo Sirainen
13eb6379e7 OK, looks like I was doing stupid things with IPv6 hostname lookups :) Back
when I originally wrote that code, there wasn't any man pages for them and I
couldn't really find any good docs either, so I just copy&pasted some code
from somewhere and it seemed to work. Anyway, it was doing reverse name
lookup for uninitialized host name which really wasn't a good idea :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2358 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-29 22:16:40 +00:00
Timo Sirainen
f2a4a97668 net_gethostbyname() fix for ipv6.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2357 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-29 21:26:41 +00:00
Timo Sirainen
f4897860b5 toupper(), tolower(), isspace(), is..etc..() aren't safe with chars in some
systems, use our own is_...() functions now instead.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2348 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-27 20:45:59 +00:00
Timo Sirainen
41e92b3062 the same #ifdef { parsing problem..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2296 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-04 21:28:26 +00:00
Timo Sirainen
26d9da61c8 net_listen(): when socket() failed because we tried to use IPv6, we should
have falled back to IPv4, but wrong errno was checked.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2248 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-14 22:19:54 +00:00
Timo Sirainen
712f3b383d net_listen(): if creating IPv6 socket fails because of EPROTONOSUPPORT, try
without IPv6.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1979 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-10 20:15:24 +00:00
Timo Sirainen
9abd857618 net_connect(): if bind() fails, set the address back to INADDR_ANY to make sure it doesn't leave the socket in buggy state.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1978 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-07 14:35:00 +00:00
Timo Sirainen
c2b2d45bd6 Getting rid of gettext, moved some _(..) texts to themes and left some error
messages hard coded.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1503 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-05-17 20:13:59 +00:00
Timo Sirainen
4a967a5d5c moved stuff from net-internal.h to network.h. HPUX needed one of the
#includes in there to work.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1409 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-18 21:39:24 +00:00
Timo Sirainen
adec7641f0 net_listen() works now properly with --enable-ipv6 and a system that doesn't
have a working IPv6 support


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1382 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-14 22:26:00 +00:00
Timo Sirainen
62bd2045bb union { .. } addr removed from IPADDR - it hasn't been actually used
for a long time..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1339 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 03:00:35 +00:00
Timo Sirainen
4c7b07ed3f IPv6 fixes. Everything now keeps both v4 and v6 addresses in memory and
at connect() time it's decided which one should be used.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1334 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-04 01:47:13 +00:00
Timo Sirainen
481f4bc327 /SET resolve_prefer_ipv6 - should we prefer IPv6 or IPv4 addresses in
host name resolving. /SERVER ADD: added options -4 and -6. Fixed crash
at startup if server didn't have chat network set. "Connecting to xxx
[ip]" is now displayed before calling connect(), so if it fails we'll
still get the IP it's trying to connect to.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1268 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-20 16:23:28 +00:00
Timo Sirainen
8938a0f42b /CONNECT, /SERVER: added -4 and -6 options for specifying if we should
connect to IPv4 or IPv6 address of the server. If -host or /SET
hostname is set irssi determines from it if it should use IPv4 or v6.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1192 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-09 21:26:50 +00:00
Timo Sirainen
babf7c77ac net_getservbyport() - Get name of TCP service
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1134 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-18 02:23:35 +00:00
Timo Sirainen
0d62878d6e Fixed some signedness warnings and memdebug.h should compile now fine
with -ansi.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1124 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-15 23:36:11 +00:00