Opened 13 years ago
Closed 13 years ago
#59 closed Bug / Defect (wontfix)
Tap version condition error on Win32
Reported by: | agrandville | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Generic / unclassified | Version: | OpenVPN 2.1.2 / 2.1.3 (Community Ed) |
Severity: | Not set (select this one, unless your'e a OpenVPN developer) | Keywords: | |
Cc: |
Description
line 4014 of the tun.c file I found this condition:
if (!(info[0] == TAP_WIN32_MIN_MAJOR && info[1] >= TAP_WIN32_MIN_MINOR)) msg (M_FATAL, "ERROR: This version of " PACKAGE_NAME " requires a TAP-Win32 driver that is at least version %d.%d -- If you recently upgraded your " PACKAGE_NAME " distribution, a reboot is probably required at this point to get Windows to see the new driver.",TAP_WIN32_MIN_MAJOR,TAP_WIN32_MIN_MINOR);
Does it matter if info[0] is greater than TAP_WIN32_MIN_MAJOR ?
Change History (4)
comment:1 follow-up: 2 Changed 13 years ago by
comment:2 Changed 13 years ago by
Replying to cron2:
I agree with you about the backward compatibility of the differents TAP implementations and I think the correct condition must be :
if (!(info[0] > TAP_WIN32_MIN_MAJOR || (info[0] == TAP_WIN32_MIN_MAJOR && info[1]>= TAP_WIN32_MIN_MINOR)))
comment:3 Changed 13 years ago by
Actually, thinking more about this, dazo and I think the check is meant to fail if the major version changes - since this would be a "major change" to the tap driver, and we don't yet know why this would be done, and whether it will be compatible...
comment:4 Changed 13 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
I concur to cron2's summary. If the major version changes, it might be due to the need of doing incompatible changes against earlier version for a new feature to be implemented. This is the only way we have now to state that something changes the compatibility. If a feature change preserves the compatibility, only the minor version number should change.
Thus I'm closing this ticket.
Replying to agrandville:
If info[0] is greater, it means that a TAP driver version has been found that is more recent than anything this code knows about - and the assumption is that all newer versions of the TAP driver will only add functionality, but never make incompatible changes. Older versions are known to miss functionality, but (to my knowledge) no version with an major version below TAP_WIN32_WIN_MAJOR has ever been released.
So this code is fine.