Backup of large files fails with Error 3309 (Close failed)

I've successfully backed up over 20GB of data in smaller files (1-5MB JPEGs). My attempts to back up larger (>100MB) AVI files is failing with:

Error:Failed to up load file "". Error 3309 (Close failed).

I was wondering if this has anything to do with a timeout occurring while some sort of file verification was being done. If so, is there a timeout I can tweak?

Thanks

RE: What version of .net?

OK, https is a red herring--let's try something else. There's a bug in AIMCC 1.6 that login can fail if the local machine's system clock is way off. Is your clock way off?

RE: What version of .net?

Sorry for the delay in reply - been sidetracked.

I'm not sure what is meant by "way" off, but no, my computer's time was about 2 seconds off of the NIST time site. So I would guess no, it's not way off.

I'm going to see if my network guys will clear a hole through port 5190 to see if logging in without setting any preferences works. But if you have any other suggestions in the meantime (in case they turn me down), I'd love to hear it.

And thanks so much for the help/suggestions so far....

What version of .net?

When you create the prefshook, you need to set the prefshook to the IAccSession before you set an item. Please see the acshbuddy sample that corresponds to the version of Visual Studio.net you are using. For example:

// create our preference hook and then pass it
// to Open AIM
PrefsHook prefs = new PrefsHook();
s.PrefsHook = prefs;

prefs.SetValue("aimcc.connect.host.port", (object)"80");

In the prefshook file, again depending upon what version of .net you are using implements a dictionary object. If you are using .net framework 2.0 or better, you would declare a Dictionary object:

private Dictionary prefDict;

Then you would write to the dictionary object:

public void SetValue(string specifier, object value)
{
try
{
prefDict[specifier] = (string)value;
}
catch (KeyNotFoundException)
{
prefDict.Add(specifier, (string)value);
}
}

RE: What version of .net?

I've tried it on 2.0 and 3.5 The code you have above is (more or less) how it is implemented in the sample code (which is all I'm trying to get running at this point). The main problem is the lack of initialization of the private DictionaryEntry[] array to hold the elements.

As per the comments in the PrefsHook.cs sample page, I went to this page (actually the comments reference that URL without the "(80)"). I copied the code there and used that instead. I then hardcoded some initialization values for the host address and port and that seems to work...at least as far as the session preferences getting set. I'm still having trouble actually getting connected.

I ran tcpview and I can see that I'm getting connected to aol over port 80 and then the connection just ends. In the code the status goes from connecting->validating->transferring then a delay, then the OnStateChange event fires again with a status of Offline. Not really sure what's going on there.

Thanks for the help.

RE: What version of .net?

What's the value of the AccResult parameter when OnStateChange(offline) fires?

RE: What version of .net?

hr = ACC_E_CONNECT_ERROR

I'm not 100% sure what's going on because I know connecting to login.oscar.aol.com:80 works from within the firewall (those values work perfectly via Trillian).

When I run the exact same code on a box outside the firewall I see connections to the following:

my-vip10.mc.aol.com:https
jawsvip-dtc03.evip.aol.com:http
64.12.28.110:47873
oam-m-m11.blue.aol.com:47873

Then after a few minutes, the my-vip10.mc.aol.com:https connection disappears (with no events fired from the ones included in the sample). I cannot see/send IM's from the sample app outside the firewall, but I do sign on successfully with the sample code outside the firewall.

This conversation has veered from the original post topic, so I'm happy moving this to a new topic if any moderators deem it appopriate (I believe that the preferences are being set properly, which was the original topic of the post).

As usual, thanks for all the help.

RE: What version of .net?

You're connecting via an https proxy? "Note: HTTPS servers may disconnect unexpectedly."

RE: What version of .net?

No - the connections noted in the previous post are what show up in tcpmon when I specify "login.oscar.aol.com" as the server and the port as "80". The https connection only shows up when I run the bot (as do the others). And again, the https one disappears. But why is it there in the first place? I have no idea.

Re: Using Preferences in C#

I'll call this to the attention of the author of the C# sample so he can respond.

In the mean time, note that the port is an AOL server port. If you have an issue with a firewall, usually that only pertains to ports on your machine.

Re: Using Preferences in C#

I did a netmon scan of the interaction between my box and the AIM box. Here's a summary:

1: My box connects with 205.188.101.136 (port 80) with a TCP SYN
2: 205.188.101.136  (port 80) connects to my box with a TCP SYN ACK
3: My box connects with 205.188.101.136 (port 80) with a TCP ACK
4: My box connects with 205.188.101.136 (port 80) over HTTP to /aim/start OSCARSession. Here are the arguments
	a: %25...[long string periodically separated by '%' which is %25]
	clientName: chooga4444%20%28key%3D[Key here]%29
	clientVersions: 0
	f: xml
	k: [Key here]
	ts: 1210084627
	sig_sha256: [hash here]
	...
	Host: api.oscar.aol.com
5: 205.188.101.136 (port 80) connects to my box over HTTP with the following payload:
	<?xml version="1.0" encoding="UTF-8"?>
	<response xmlns="http://developer.aim.com/xsd/aim.xsd">
		<statusCode>200</statusCode>
		<statusText>Ok</statusText>
		<data>
			<host>64.12.28.108</host>
			<port>47873</port>
			<cookie>...</cookie>
		</data>
	</response>

From there my box initiates shutdown of the TCP connection. Not sure what's going on.

Connection Problem

The xml that you show above reflects a server problem that will be fixed in the next few days. The port 47873 should be port 443. This is due to be resolved on May 14th. After that's resolved you'll just have to make sure that port 443 is not blocked by your firewall.

Re: Using Preferences in C#

The server port is exactly what I want to specify. Our company firewall blocks outbound calls to the normal chat destination ports. Most of the folks here just use meebo or configure their clients (like trillian) to use port 80 for Yahoo and AOL.

Thanks for the help.