Показать сообщение отдельно
Старый 06.10.2009, 12:41   #2
40KHYTbIU
 
Аватар для 40KHYTbIU
 
Регистрация: 06.10.2009
Сообщений: 9
По умолчанию

Отличная статья, мне очень помогла.
Набросал небольшой скрипт для определения fingerprint строки:

Цитата #!/bin/sh

RET="myserver.mydomain:4090"

SCL_STDOUT=/tmp/kerio-kvc.stdout
SCL_STDERR=/tmp/kerio-kvc.stderr
SCL_EXIT=/tmp/kerio-kvc.exit

set +e; echo | openssl s_client -ssl3 -connect "$RET" > $SCL_STDOUT 2>$SCL_STDERR; echo $? > $SCL_EXIT;

if [ `cat $SCL_EXIT` == 0 ]; then
cat $SCL_STDOUT | openssl x509 -fingerprint -md5 -noout | sed s'/.*=//';
rm -f $SCL_STDOUT $SCL_STDERR $SCL_EXIT;
fi
Так же написал патч для новых ядер, прошу протестировать, коннект есть, а пинг не идет и доступа к сети тоже =):

Цитата --- net_dev.c.orig 2009-06-08 18:10:45.000000000 +0400
+++ net_dev.c 2009-10-06 12:19:22.000000000 +0400
@@ -293,17 +293,21 @@
struct net_device_stats *stats = NULL;
struct vnet *vnet = vnet_dev();

+ static const struct net_device_ops dummy_netdev_ops = {
+ .ndo_open = net_dev_open,
+ .ndo_stop = net_dev_close,
+ .ndo_init = net_dev_init,
+ .ndo_do_ioctl = net_dev_ioctl,
+ .ndo_start_xmit = net_dev_send,
+ .ndo_get_stats = net_dev_get_stats,
+ };
+
TRACE(LOG_INFO, "%s: ==>", __FUNC__);

ether_setup(dev);

- dev->open = net_dev_open;
- dev->stop = net_dev_close;
- dev->init = net_dev_init;
+ dev->netdev_ops = &dummy_netdev_ops;
dev->destructor = net_dev_free;
- dev->hard_start_xmit = net_dev_send;
- dev->do_ioctl = net_dev_ioctl;
- dev->get_stats = net_dev_get_stats;
dev->hard_header_len = ETH_HLEN; /* 14 */
dev->addr_len = ETH_ALEN; /* 6 */
dev->mtu = 1446;
Я только учусь, так что буду рад поправкам.

Последний раз редактировалось 40KHYTbIU; 07.10.2009 в 13:39.
40KHYTbIU вне форума   Ответить с цитированием Вверх